Limited Slow-Start for TCP with Large Congestion Windows

This document describes an optional modification for TCP's slow-start for use with TCP connections with large congestion windows. For TCP connections that are able to use congestion windows of thousands (or tens of thousands) of MSS-sized segments (for MSS the sender's MAXIMUM SEGMENT SIZE), the current slow-start procedure can result in increasing the congestion window by thousands of segments in a single round-trip time. Such an increase can easily result in thousands of packets being dropped in one round-trip time. This is often counter-productive for the TCP flow itself, and is also hard on the rest of the traffic sharing the congested link. This note describes Limited Slow-Start as an optional mechanism for limiting the number of segments by which the congestion window is increased for one window of data during slow-start, in order to improve performance for TCP connections with large congestion windows.

[1]  Amit Aggarwal,et al.  Understanding the performance of TCP pacing , 2000, Proceedings IEEE INFOCOM 2000. Conference on Computer Communications. Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies (Cat. No.00CH37064).

[2]  Craig Partridge,et al.  A Simulation Study of Paced TCP , 2000 .

[3]  Peter Druschel,et al.  TCP: Improving Startup Dynamics by Adaptive Timers and Congestion Control , 1998 .

[4]  Mark Allman,et al.  TCP Congestion Control with Appropriate Byte Counting (ABC) , 2003, RFC.

[5]  Vern Paxson,et al.  TCP Congestion Control , 1999, RFC.

[6]  Janey C. Hoe Improving the start-up behavior of a congestion control scheme for TCP , 1996, SIGCOMM 1996.

[7]  Andrei Gurtov,et al.  TCP Performance in the Presence of Congestion and Corruption Losses , 2002 .

[8]  Vikram Visweswaraiah,et al.  Rate Based Pacing for TCP , 1997 .

[9]  Matthew Mathis,et al.  Forward acknowledgement: refining TCP congestion control , 1996, SIGCOMM '96.