← Lessons

quiz vs the machine

Gold1480

Networking

TCP Congestion Control

How TCP probes for bandwidth and backs off when the network is full.

5 min read · core · beat Gold to climb

The problem

If every sender blasts data as fast as it can, shared links overflow, routers drop packets, and throughput collapses. Congestion control is how TCP discovers a safe sending rate and adapts as conditions change.

The core mechanism

TCP maintains a congestion window, the amount of unacknowledged data it allows in flight. It grows the window while things go well and shrinks it on signs of congestion.

  • Slow start grows the window exponentially until it reaches a threshold or sees loss.
  • Congestion avoidance then grows it linearly, probing gently for more bandwidth.
  • A loss event signals congestion and triggers a sharp reduction.

Loss versus delay

Classic algorithms treat packet loss as the congestion signal. Newer ones like BBR instead model the bottleneck bandwidth and round trip time directly, aiming to keep queues short rather than waiting for loss. The goal in all cases is fairness, so competing flows converge to roughly equal shares of a link.

Key idea

Congestion control tunes how much data is in flight, growing it cautiously and backing off when the network signals overload.

Check yourself

Answer to earn rating on the learn ladder.

1. What does the congestion window limit?

2. How does slow start grow the window?

3. What signal does BBR use instead of loss?