AlgoMaster Logo

Congestion Control: Slow Start, AIMD, Reno, Cubic, BBR

High Priority30 min readUpdated August 14, 2026

The endpoints of a TCP connection do not know the path's available capacity when they begin sending. The path may include a fast local network, a slow access link, a busy router, a rate limiter, or several bottlenecks shared with other traffic.

Sending too slowly leaves usable capacity idle. Sending too quickly creates queues, increases latency, and eventually causes packets to be marked or dropped. Retransmitting those losses adds still more traffic.

TCP congestion control continuously searches for a safe sending rate. It uses feedback from acknowledgments, loss, delay, and—in some algorithms—an explicit model of the path. The sender increases its traffic when the path appears able to carry more and reduces it when congestion signals appear.

This chapter builds that control loop from the classic algorithms to modern CUBIC and BBR.

Premium Content

Subscribe to unlock full access to this content and more premium articles.