Congestion avoidance and control
Diagnoses 1980s Internet congestion collapse and adds seven TCP algorithms—including slow-start and fast retransmit—rooted in conservation of packets.
Based on
Congestion avoidance and control
This paper responds to the Internet's first 'congestion collapses' in 1986, when throughput between two sites only 400 yards apart fell from 32 Kbps to 40 bps. Investigating whether Berkeley UNIX (4.3BSD) TCP was misbehaving or could be tuned, the author introduced seven new algorithms into 4BSD TCP: round-trip-time variance estimation, exponential retransmit timer backoff, slow-start, a more aggressive receiver ack policy, dynamic window sizing on congestion, Karn's clamped retransmit backoff, and fast retransmit.
Most of these algorithms follow from a single principle: the packet flow on a connection in equilibrium should be 'conservative,' meaning a new packet is not injected until an old one leaves, which should make the system robust to congestion. Framed this way, congestion control becomes a matter of finding and fixing the places where packet conservation fails—when a connection never reaches equilibrium, a sender injects packets too early, or resource limits block equilibrium. Measurements and beta-tester reports indicated the resulting TCP handled congested Internet conditions well, and these mechanisms became foundational to modern TCP.
Take the next step
Try CoreModels, talk with our team, or explore more resources.