Cubic Tcp
CUBIC TCP is an advanced network congestion avoidance algorithm specifically designed for the Transmission Control Protocol, which is widely used for managing internet connections. Unlike earlier algorithms, CUBIC is tailored to achieve high bandwidth connections more reliably and efficiently, particularly over networks with substantial bandwidth-delay products.
CUBIC TCP is a derivative of Binary Increase Congestion (BIC) TCP, which was initially implemented in Linux kernels 2.6.8 and later. The CUBIC algorithm later became the default in subsequent Linux kernels starting from version 2.6. This progression marked a significant shift in how congestion control was managed in Linux-based systems.
The primary innovation of CUBIC lies in its use of a cubic function to model the window size of data packets over time, specifically since the last congestion event. This cubic function provides two notable components to the growth of the congestion window:
Independence from Round-Trip Time (RTT): Unlike traditional algorithms such as TCP New Reno, where the congestion window growth was heavily reliant on the cadence of RTTs, CUBIC decouples window size growth from RTTs. This means that the algorithm does not unfairly advantage flows with shorter RTTs, allowing for more equitable bandwidth allocation across different network conditions.
Cubic Growth of Congestion Window: The cubic function allows the window to expand more aggressively after a congestion event has subsided, which accelerates the time required to reach maximum throughput again. The inflection point of the cubic curve is set to the window size before the last congestion event, allowing for a smooth and efficient recovery.
CUBIC has been widely adopted across various systems and platforms due to its ability to efficiently manage high-speed internet connections. It is used by default in several operating systems, including versions of the Linux kernel. Additionally, CUBIC TCP is part of the TCP congestion control suite, which includes other protocols like Compound TCP and TCP Veno.
CUBIC TCP continues to be a critical component for achieving reliable and efficient data transmission across complex network infrastructures. Its innovative approach to congestion avoidance has significantly influenced the design and implementation of modern TCP/IP protocols.