|
|
4.2.2.2 Use of Push: RFC-793 Section 2.8
Connected: An Internet Encyclopedia
4.2.2.2 Use of Push: RFC-793 Section 2.8
Up:
Connected: An Internet Encyclopedia
Up:
Requests For Comments
Up:
RFC 1122
Up:
4. TRANSPORT PROTOCOLS
Up:
4.2 TRANSMISSION CONTROL PROTOCOL -- TCP
Up:
4.2.2 PROTOCOL WALK-THROUGH
Prev: 4.2.2.1 Well-Known Ports: RFC-793 Section 2.7
Next: 4.2.2.3 Window Size: RFC-793 Section 3.1
4.2.2.2 Use of Push: RFC-793 Section 2.8
4.2.2.2 Use of Push: RFC-793 Section 2.8
When an application issues a series of SEND calls without
setting the PUSH flag, the TCP MAY aggregate the data
internally without sending it. Similarly, when a series of
segments is received without the PSH bit, a TCP MAY queue
the data internally without passing it to the receiving
application.
The PSH bit is not a record marker and is independent of
segment boundaries. The transmitter SHOULD collapse
successive PSH bits when it packetizes data, to send the
largest possible segment.
A TCP MAY implement PUSH flags on SEND calls. If PUSH flags
are not implemented, then the sending TCP: (1) must not
buffer data indefinitely, and (2) MUST set the PSH bit in
the last buffered segment (i.e., when there is no more
queued data to be sent).
The discussion in RFC-793 on pages 48, 50, and 74
erroneously implies that a received PSH flag must be passed
to the application layer. Passing a received PSH flag to
the application layer is now OPTIONAL.
An application program is logically required to set the PUSH
flag in a SEND call whenever it needs to force delivery of
the data to avoid a communication deadlock. However, a TCP
SHOULD send a maximum-sized segment whenever possible, to
improve performance (see Section 4.2.3.4).
- DISCUSSION:
-
When the PUSH flag is not implemented on SEND calls,
i.e., when the application/TCP interface uses a pure
streaming model, responsibility for aggregating any
tiny data fragments to form reasonable sized segments
is partially borne by the application layer.
Generally, an interactive application protocol must set
the PUSH flag at least in the last SEND call in each
command or response sequence. A bulk transfer protocol
like FTP should set the PUSH flag on the last segment
of a file or when necessary to prevent buffer deadlock.
At the receiver, the PSH bit forces buffered data to be
delivered to the application (even if less than a full
buffer has been received). Conversely, the lack of a
PSH bit can be used to avoid unnecessary wakeup calls
to the application process; this can be an important
performance optimization for large timesharing hosts.
Passing the PSH bit to the receiving application allows
an analogous optimization within the application.
Next: 4.2.2.3 Window Size: RFC-793 Section 3.1
Connected: An Internet Encyclopedia
4.2.2.2 Use of Push: RFC-793 Section 2.8
|
|
|
 |

|
 |
|
Protect yourself from cyberstalkers, identity thieves, and those who would snoop on you.
| |
Stop spam from invading your inbox without losing the mail you want. We give you more control over your e-mail than any other service.
| |
Block popups, ads, and malicious scripts while you surf the net through our anonymous proxies.
| |
Participate in Usenet, host your web files, easily send anonymous messages, and more, much more.
| |
All private, all encrypted, all secure, all in an easy to use service, and all for only $5.95 a month!
|
|
Service Details
|
|
 |
|