RFC 3390 (rfc3390) - Page 2 of 15


Increasing TCP's Initial Window



Alternative Format: Original Text Document



RFC 3390            Increasing TCP's Initial Window         October 2002


   The upper bound for the initial window is given more precisely in
   (1):

         min (4*MSS, max (2*MSS, 4380 bytes))                        (1)

   Note: Sending a 1500 byte packet indicates a maximum segment size
   (MSS) of 1460 bytes (assuming no IP or TCP options).  Therefore,
   limiting the initial window's MSS to 4380 bytes allows the sender to
   transmit three segments initially in the common case when using 1500
   byte packets.

   Equivalently, the upper bound for the initial window size is based on
   the MSS, as follows:

       If (MSS RFC 2581 [RFC 2581], which specified that the congestion window be
   initialized to one or two segments.

   This change applies to the initial window of the connection in the
   first round trip time (RTT) of data transmission following the TCP
   three-way handshake.  Neither the SYN/ACK nor its acknowledgment
   (ACK) in the three-way handshake should increase the initial window
   size above that outlined in equation (1).  If the SYN or SYN/ACK is
   lost, the initial window used by a sender after a correctly
   transmitted SYN MUST be one segment consisting of MSS bytes.

   TCP implementations use slow start in as many as three different
   ways: (1) to start a new connection (the initial window); (2) to
   restart transmission after a long idle period (the restart window);
   and (3) to restart transmission after a retransmit timeout (the loss
   window).  The change specified in this document affects the value of
   the initial window.  Optionally, a TCP MAY set the restart window to
   the minimum of the value used for the initial window and the current
   value of cwnd (in other words, using a larger value for the restart
   window should never increase the size of cwnd).  These changes do NOT
   change the loss window, which must remain 1 segment of MSS bytes (to



Allman, et. al.             Standards Track