Many applications require fast data transfer over high speed and long distance networks. However, standard TCP fails to fully utilize the network capacity due to the limitation in its conservative congestion control (CC) algorithm.
Many approaches have been proposed to improve the connection’s throughput by adopting more aggressive loss-based CC algorithms. These algorithms, although can effectively improve the link utilization, have the weakness of poor RTT fairness. Further, they may severely decrease the performance of regular TCP flows that traverse the same network path. On the other hand, pure delay-based approaches that improve the throughput in high-speed network may not work well under the environment where the background traffics are mixed with both delay-based and greedy loss-based flows.
We propose a novel Compound TCP (CTCP) approach, which is a synergy of delay-based and the loss-based approach. In CTCP, we add a scalable delay-based component into the standard TCP Reno congestion avoidance algorithm (i.e., the loss-based component). The sending rate of CTCP is controlled by both two components. Augmented with this new delay-based component, which rapidly increases sending rate when network path is under utilized but gracefully retreats in a busy network when bottleneck queue is built, CTCP has very good bandwidth scalability with improved RTT fairness, and at the same time achieves good TCP-fairness, irrelevant to the windows size.
The novel Compound TCP has the following properties:
- CTCP can efficiently use the network resource and achieve high link utilization.
- CTCP has the similar or even improved RTT fairness regarding to regular TCP.
- CTCP keeps good TCP-friendliness.
Compound TCP has been shipped in Microsoft Windows Vista and later Operating Systems.