RFC 3390 (rfc3390) - Page 3 of 15


Increasing TCP's Initial Window



Alternative Format: Original Text Document



RFC 3390            Increasing TCP's Initial Window         October 2002


   permit the lowest possible window size in the case of severe
   congestion).

2.  Implementation Issues

   When larger initial windows are implemented along with Path MTU
   Discovery [RFC 1191], and the MSS being used is found to be too large,
   the congestion window `cwnd' SHOULD be reduced to prevent large
   bursts of smaller segments.  Specifically, `cwnd' SHOULD be reduced
   by the ratio of the old segment size to the new segment size.

   When larger initial windows are implemented along with Path MTU
   Discovery [RFC 1191], alternatives are to set the "Don't Fragment"
   (DF) bit in all segments in the initial window, or to set the "Don't
   Fragment" (DF) bit in one of the segments.  It is an open question as
   to which of these two alternatives is best; we would hope that
   implementation experiences will shed light on this question.  In the
   first case of setting the DF bit in all segments, if the initial
   packets are too large, then all of the initial packets will be
   dropped in the network.  In the second case of setting the DF bit in
   only one segment, if the initial packets are too large, then all but
   one of the initial packets will be fragmented in the network.  When
   the second case is followed, setting the DF bit in the last segment
   in the initial window provides the least chance for needless
   retransmissions when the initial segment size is found to be too
   large, because it minimizes the chances of duplicate ACKs triggering
   a Fast Retransmit.  However, more attention needs to be paid to the
   interaction between larger initial windows and Path MTU Discovery.

   The larger initial window specified in this document is not intended
   as encouragement for web browsers to open multiple simultaneous TCP
   connections, all with large initial windows.  When web browsers open
   simultaneous TCP connections to the same destination, they are
   working against TCP's congestion control mechanisms [FF99],
   regardless of the size of the initial window.  Combining this
   behavior with larger initial windows further increases the unfairness
   to other traffic in the network.  We suggest the use of HTTP/1.1
   [RFC 2068] (persistent TCP connections and pipelining) as a way to
   achieve better performance of web transfers.

3.  Advantages of Larger Initial Windows

   1.  When the initial window is one segment, a receiver employing
       delayed ACKs [RFC 1122] is forced to wait for a timeout before
       generating an ACK.  With an initial window of at least two
       segments, the receiver will generate an ACK after the second data
       segment arrives.  This eliminates the wait on the timeout (often
       up to 200 msec, and possibly up to 500 msec [RFC 1122]).



Allman, et. al.             Standards Track