Connected: An Internet Encyclopedia
4.2.2.16 Managing the Window: RFC-793 Section 3.7, page 41

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.15 Retransmission Timeout: RFC-793 Section 3.7, page 41
Next: 4.2.2.17 Probing Zero Windows: RFC-793 Section 3.7, page 42

4.2.2.16 Managing the Window: RFC-793 Section 3.7, page 41

4.2.2.16 Managing the Window: RFC-793 Section 3.7, page 41

A TCP receiver SHOULD NOT shrink the window, i.e., move the right window edge to the left. However, a sending TCP MUST be robust against window shrinking, which may cause the "useable window" (see Section 4.2.3.4) to become negative.

If this happens, the sender SHOULD NOT send new data, but SHOULD retransmit normally the old unacknowledged data between SND.UNA and SND.UNA+SND.WND. The sender MAY also retransmit old data beyond SND.UNA+SND.WND, but SHOULD NOT time out the connection if data beyond the right window edge is not acknowledged. If the window shrinks to zero, the TCP MUST probe it in the standard way (see next Section).

DISCUSSION:

Many TCP implementations become confused if the window shrinks from the right after data has been sent into a larger window. Note that TCP has a heuristic to select the latest window update despite possible datagram reordering; as a result, it may ignore a window update with a smaller window than previously offered if neither the sequence number nor the acknowledgment number is increased.


Next: 4.2.2.17 Probing Zero Windows: RFC-793 Section 3.7, page 42

Connected: An Internet Encyclopedia
4.2.2.16 Managing the Window: RFC-793 Section 3.7, page 41