Improving TCP startup performance using active measurements: algorithm and evaluation

TCP slow start exponentially increases the congestion window size to detect the proper congestion window for a network path. This often results in significant packet loss, while breaking off slow start using a limited slow start threshold may lead to an overly conservative congestion window size. This problem is especially severe in high speed networks. In this paper we present a new TCP startup algorithm, called paced start, that incorporates an available bandwidth probing technique into the TCP startup algorithm. Paced start is based on the observation that when we view the TCP startup sequence as a sequence of packet trains, the difference between the data packet spacing and the acknowledgement spacing can yield valuable information about the available bandwidth. Slow start ignores this information, while paced start uses it to quickly estimate the proper congestion window for the path. For most flows. Paced Start transitions into congestion avoidance mode faster than Slow Start, has a significantly lower packet loss rate, and avoids the timeout that is often associated with slow start. This paper describes the paced start algorithm and uses simulation and real system experiments to characterize its properties.

[1]  Mark Allman,et al.  An evaluation of TCP with larger initial windows , 1998, CCRV.

[2]  Jon Crowcroft,et al.  A new congestion control scheme: slow start and search (Tri-S) , 1991, CCRV.

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

[4]  Sally Floyd,et al.  The NewReno Modification to TCP's Fast Recovery Algorithm , 2004, RFC.

[5]  Ren Wang,et al.  TCP westwood: Bandwidth estimation for enhanced transport over wireless links , 2001, MobiCom '01.

[6]  Rajesh Krishnan,et al.  A Swifter Start For TCP , 2002 .

[7]  Manish Jain,et al.  End-to-end available bandwidth: measurement methodology, dynamics, and relation with TCP throughput , 2003, TNET.

[8]  Van Jacobson,et al.  Congestion avoidance and control , 1988, SIGCOMM '88.

[9]  Sally Floyd,et al.  Increasing TCP's Initial Window , 1998, RFC.

[10]  Vikram Visweswaraiah,et al.  Improving Restart of Idle TCP Connections , 1999 .

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

[12]  Srinivasan Seshan,et al.  An integrated congestion management architecture for Internet hosts , 1999, SIGCOMM '99.

[13]  Peter Steenkiste,et al.  Evaluation and characterization of available bandwidth probing techniques , 2003, IEEE J. Sel. Areas Commun..

[14]  Manish Jain,et al.  End-to-end available bandwidth: measurement methodology, dynamics, and relation with TCP throughput , 2002, SIGCOMM 2002.

[15]  Proceedings. 11th IEEE International Conference on Network Protocols , 2003, 11th IEEE International Conference on Network Protocols, 2003. Proceedings..

[16]  Larry L. Peterson,et al.  TCP Vegas: End to End Congestion Avoidance on a Global Internet , 1995, IEEE J. Sel. Areas Commun..

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

[18]  Sally Floyd,et al.  The NewReno Modification to TCP's Fast Recovery Algorithm , 2004, RFC.

[19]  Raj Jain,et al.  Analysis of the Increase and Decrease Algorithms for Congestion Avoidance in Computer Networks , 1989, Comput. Networks.

[20]  Randy H. Katz,et al.  TCP Fast Start: A Technique For Speeding Up Web Transfers , 1998 .

[21]  Joseph D. Touch,et al.  TCP Control Block Interdependence , 1997, RFC.

[22]  Paul Barford,et al.  Modeling, measurement and performance of world wide web transactions , 2001 .