Start Me Up: Determining and Sharing TCP's Initial Congestion Window

When multiple TCP connections are used between the same host pair, they often share a common bottleneck -- especially when they are encapsulated together, e.g. in VPN scenarios. Then, all connections after the first should not have to guess the right initial value for the congestion window, but rather get the appropriate value from other connections. This allows short flows to complete much faster -- but it can also lead to large bursts that cause problems on their own. Prior work used timer-based pacing methods to alleviate this problem; we introduce a new algorithm that ``paces'' packets by instead correctly maintaining the ACK clock, and show its positive impact in combination with a previously presented congestion coupling algorithm.

[1]  Stein Gjessing,et al.  Coupled congestion control for RTP media , 2014, CSWS@SIGCOMM.

[2]  John S. Heidemann,et al.  Effects of ensemble-TCP , 2000, CCRV.

[3]  Lixia Zhang,et al.  Stream Control Transmission Protocol , 2000, RFC.

[4]  Amit Agarwal,et al.  An argument for increasing TCP's initial congestion window , 2010, CCRV.

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

[6]  Adam Wolisz,et al.  Analysis and performance evaluation of the EFCM common congestion controller for TCP connections , 2005, Comput. Networks.

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

[8]  Ryan Hamilton,et al.  QUIC: A UDP-Based Secure and Reliable Transport for HTTP/2 , 2016 .

[9]  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).

[10]  Nandita Dukkipati,et al.  Increasing TCP's Initial Window , 2013, RFC.