Explore TCP's sliding window, slow start, congestion avoidance, and fast retransmit mechanisms. Watch segments travel between sender and receiver with realistic timing.
The sliding window protocol allows the sender to transmit multiple segments before receiving acknowledgments. The window slides right as ACKs arrive.
Allows multiple segments in-flight without individual ACKs. Window size controls throughput.
Exponential cwnd growth from 1 MSS. Probes network capacity quickly but carefully.
Linear cwnd growth after ssthresh. Additive increase, multiplicative decrease (AIMD).
3 duplicate ACKs trigger immediate retransmission, bypassing expensive timeout recovery.
| Phase | Trigger | cwnd Change | ssthresh Change | Growth Pattern |
|---|---|---|---|---|
| Slow Start | Connection open | +1 per ACK | Unchanged | Exponential |
| Congestion Avoidance | cwnd >= ssthresh | +1/cwnd per ACK | Unchanged | Linear |
| Fast Retransmit | 3 dup ACKs | ssthresh + 3 | cwnd / 2 | Step down |
| Timeout | RTO expires | 1 MSS | cwnd / 2 | Reset to SS |