LLMpediaThe first transparent, open encyclopedia generated by LLMs

TCP Cubic

Generated by DeepSeek V3.2
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Expansion Funnel Raw 46 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted46
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
TCP Cubic
NameTCP Cubic
DeveloperSangtae Ha, Injong Rhee, Lisong Xu
Introduced0 2005
Based onTCP BIC
Osi layerTransport layer

TCP Cubic. It is a prominent congestion control algorithm for the Transmission Control Protocol, designed to provide high scalability and stability on high-bandwidth, high-latency networks like the modern Internet. Developed as an evolution of TCP BIC, it uses a cubic function of time since the last congestion event to manage its congestion window growth, aiming for efficient bandwidth utilization while maintaining fairness with other flows. Its design is a standard part of the Linux kernel and is widely deployed across global networks.

Overview

TCP Cubic was created to address limitations in earlier algorithms like TCP Reno and TCP BIC in environments with large bandwidth-delay product connections. The protocol operates by modeling window growth as a cubic function, which allows for rapid window expansion after packet loss while avoiding overly aggressive behavior. Key architects including Sangtae Ha and Injong Rhee published foundational work on the algorithm, which was later integrated into major operating systems. Its adoption was accelerated by support from organizations like the Internet Engineering Task Force and its inclusion in distributions from Red Hat and Canonical Ltd..

Algorithm and operation

The core of TCP Cubic uses a cubic function where the window size is calculated based on the cube of the time elapsed since the last congestion event. This approach differs from the linear increase of TCP NewReno or the concave growth of TCP BIC. During operation, it employs a slow start phase and a congestion avoidance phase, with a fast convergence mechanism to improve fairness. The algorithm also incorporates a technique to emulate TCP Reno for compatibility, ensuring it can compete fairly with flows using older algorithms on shared links like those managed by Comcast or AT&T.

Development and history

TCP Cubic was first proposed in 2005 by researchers including Lisong Xu at North Carolina State University, building directly on the earlier TCP BIC developed for Linux kernel versions 2.6.8. Its development was influenced by the need for better performance on fast long-distance networks, a challenge highlighted in studies from Lawrence Berkeley National Laboratory. Subsequent refinements were documented in Internet Draft submissions to the Internet Engineering Task Force, leading to its standardization. The work of Sangtae Ha was particularly instrumental in its mathematical formulation and testing against benchmarks at institutions like the University of North Carolina at Chapel Hill.

Performance characteristics

In simulations and real-world tests, TCP Cubic demonstrates high throughput and good RTT fairness on networks with high bandwidth-delay product, such as transcontinental links operated by Level 3 Communications. Its cubic growth function allows it to quickly reclaim bandwidth after congestion, outperforming TCP Reno in scenarios with high packet loss. However, under certain conditions, it can exhibit less aggressive growth than TCP BBR, particularly in environments with shallow buffers. Studies from Stanford University and MIT have analyzed its behavior in diverse settings, including data centers managed by Google and content delivery networks like Akamai Technologies.

Comparison with other TCP variants

Compared to TCP NewReno, TCP Cubic is more aggressive in high-speed environments but maintains compatibility through its Reno-emulation mode. Against TCP BIC, it offers smoother window growth and reduced RTT bias, addressing criticisms noted in earlier research from the International Computer Science Institute. Unlike delay-based algorithms like TCP Vegas, it is primarily loss-based, which can lead to different dynamics on links with variable latency, such as satellite internet from Hughes Network Systems. Protocols like Compound TCP from Microsoft and TCP BBR from Google represent alternative approaches, with BBR focusing on bottleneck bandwidth estimation.

Implementation and deployment

TCP Cubic is the default congestion control algorithm in the Linux kernel since version 2.6.19, and it is supported in systems from Canonical Ltd. and Red Hat. Its implementation involves kernel modules that manage the cubic function and state variables, with parameters tunable via sysctl interfaces. Major web companies including Facebook and Netflix deploy it on their servers to enhance streaming performance. The algorithm is also available in other operating systems, such as FreeBSD, and is often evaluated in networking research conducted at places like the University of California, Berkeley and Carnegie Mellon University.

Category:Internet protocols Category:Transmission Control Protocol Category:Network congestion avoidance