← Internet Systems Labs

TCP Congestion Control

Slow-start, congestion avoidance, fast recovery

TCP does not know how fast your network is. It guesses, crashes, guesses again. Watch the congestion window ramp, collapse on loss, and settle into a sawtooth — then compare Reno, CUBIC, and BBR on the same channel to see how differently they read the same signal.

RTT80 ms
Packet loss0.10%
Bottleneck50 Mbps
0s5s10s15s20s25s30stime0100200300400cwnd (segments)
current cwnd
1.3
avg throughput
0.15 Mbps
link utilization
0.3%

The sender never observes bandwidth directly. It infers capacity from loss (Reno, CUBIC) or from delay gradients (BBR), and that inference is what you see oscillate.

TCP Congestion Control — Internet Systems Labs · hbar.university