↑ window (packets in flight)
link capacity 1 2 3 4

time, in round trips →

  1. 1
    Slow start. Each ACK adds one packet, so the window doubles every round trip.
  2. 2
    Loss, seen as 3 duplicate ACKs. Fast retransmit resends the packet and the window is cut in half.
  3. 3
    Congestion avoidance. One packet more per round trip until the next loss: the sawtooth.
  4. 4
    Timeout. No ACKs at all: back to one packet, slow start up to ssthresh (dashed), half the old window.