← Back to Labs
TCP Congestion Control
Follow one sender as ACKs grow `cwnd`, a queue fills, loss triggers recovery, and modern algorithms choose different ways to probe the same bottleneck.
cwnd
10 MSS
ssthresh
32 MSS
in flight
8 MSS
RTT
14 ms
delivery rate
12 Mb/s
Mechanism notesWhat the controller is doing
limit = min(rwnd, cwnd)
startup goal: learn path capacity safely
Reading the queueWhy the RTT changed
queue fill: 1 / 12 MSS
short queue: lower latency, less risk of drop
full queue: high delay first, packet loss or ECN later
Step 1 / 7A new flow starts with a small window
The sender has no idea how much capacity the path can handle, so it begins with a small congestion window. The goal is to probe upward without blasting the bottleneck immediately.
Arrow keys to navigate · R to reset
Tap dots to jump to any step