Congestion Control is the set of mechanisms and algorithms that regulate the rate of data transmission across a network to prevent any sender, link, or node from being overwhelmed by more traffic than it can handle, thereby maintaining overall network stability and fairness. Operating primarily at the transport layer, congestion control algorithms infer network capacity from signals such as packet loss, explicit congestion notification, and round-trip time variations, adjusting sender rates accordingly. Classical implementations include TCP Tahoe, Reno, CUBIC, and BBR; modern variants extend to QUIC, WebRTC, and multipath scenarios where joint path management adds additional complexity.

Content

  • Congestion collapse, where overloaded routers drop packets causing retransmissions that further overload the network, was first observed on the ARPANET in 1986. Van Jacobson’s 1988 paper introduced the slow-start and congestion avoidance algorithms that became TCP Reno, resolving the immediate crisis and establishing the template for end-to-end congestion control that governed internet architecture for decades. The key insight was that hosts must infer congestion from loss signals and reduce their sending rates cooperatively, since the network itself had limited ability to enforce fairness.
  • Modern congestion control algorithms fall into two broad families. Loss-based algorithms such as CUBIC—the default in Linux—use packet loss as the primary congestion signal, growing the congestion window aggressively and backing off sharply on loss. Delay-based algorithms such as BBR (Bottleneck Bandwidth and Round-trip propagation) model the network path using measured throughput and RTT minima to operate near the bandwidth-delay product without filling buffers. QUIC, the transport protocol underlying HTTP/3, implements congestion control in user space, enabling rapid algorithm deployment without kernel patches, and has become a significant deployment vehicle for BBR variants.
  • Congestion control is strategically important because its design determines how equitably bandwidth is shared among competing flows and how applications perceive the network during stress. Poorly designed algorithms can cause unfairness where aggressive senders starve cooperative ones, or oscillation where the network alternates between underutilisation and collapse. In content delivery networks and cloud providers, congestion control tuning is a competitive differentiator—Google’s deployment of BBR at scale reduced median latency by 14% and throughput losses by 18% in reported measurements.
  • By 2024-2025, machine learning approaches to congestion control have moved from research to limited production. Systems such as Pantheon and learned congestion control algorithms train on network traces to adapt sending rates using reinforcement learning, outperforming hand-tuned algorithms on heterogeneous paths. In the context of decentralised applications and peer-to-peer networks that span diverse network conditions globally, adaptive and learned congestion control has become especially relevant. Satellite internet constellations like Starlink, with variable RTTs and high bandwidth-delay products, have prompted renewed algorithm development to handle their distinctive congestion characteristics.