Table 1.
Overview of the most relevant single-flow TCP CC algorithms.
CC Algorithm | Introduction Year | Type | Features |
---|---|---|---|
Tahoe [22] | 1988 | Loss-based | Slow start, congestion avoidance and a fast retransmit mechanism. |
Reno [27] | 1990 | Loss-based | Introduced fast recovery mechanism. |
NewReno [29] | 1999 | Loss-based | Fast recovery modification to allow multiple retransmissions. |
SACK [30] | 1996 | Loss-based | Selective ACK option. |
Westwood [31] | 2001 | Loss-based | Introduced a faster recovery mechanism that controls the sending rate according to the available bandwidth estimation. |
HighSpeed [32] | 2003 | Loss-based | Introduced a modified TCP response function to allow for a faster cwnd increase and a faster recovery time in situations with a high cwnd size. |
Scalable TCP [33] | 2003 | Loss-based | After each received ACK during the RTT, algorithm increases the cwnd size in proportion with the defined constants. After the packet loss decreases cwnd by a smaller factor, the standard CC is exploited. |
BIC [34] | 2004 | Loss-based | Uses the binary search increase and additive increase techniques to determine the cwnd size. |
CUBIC [35] | 2008 | Loss-based | Uses the cubic function for cwnd control characterised by a steady state and a maximal probing behaviour. |
Vegas [36] | 1994 | Delay-based | Modification of TCP Reno that predicts network congestion before an actual loss of segments occurs. Uses a fine-grained RTT estimation and has a very efficient segment retransmission schedule. |
Vegas+ [37] | 2000 | Delay-based | Modification of TCP Vegas that introduced an aggressive mode to overcome fairness issues when competing with TCP Reno. |
New Vegas [38] | 2005 | Delay-based | Implemented three server-side modifications of TCP Vegas to overcome performance issues in a high latency environment. |
Vegas-A [39] | 2005 | Delay-based | Implemented modified congestion avoidance mechanism to address fairness, rerouting and bias against high bandwidth connections issues of TCP Vegas in wired and satellite networks. |
Vegas-V [40] | 2012 | Delay-based | Modification of TCP Vegas-A that addresses fairness and aggression issues when competing with TCP Vegas, TCP Vegas-A and TCP Reno flows. |
FAST [41] | 2004 | Delay-based | Designed for high-speed long-latency networks. Adjusts the cwnd according to the feedback information of the average RTT and average queuing delay. Uses scaling parameters to effectively utilise the network capacity. |
Compound [42] | 2006 | Hybrid | Based on the loss-based slow start phase. During the congestion avoidance phase, it uses a combination of two components, a standard loss-based and a new scalable delay-based component. |
YeAH [43] | 2007 | Hybrid | Performs a dynamic exchange between a slow mode during the congestion avoidance phase and a fast mode during the fast recovery phase. |
BBRv1 [44] | 2016 | Hybrid | Builds an explicit model of the network using the estimated RTT and the estimated available bottleneck bandwidth in order to prevent congestion. |
BBRv2 [45] | 2018 | Hybrid | Uses ECN signals, improved fairness with CUBIC and lower packet loss rates for the optimisation of the TCP CC performance. |