The encyclopedia · Engineering & Operations · Technical decision · 1986–1988
TCP fixed internet collapse by having senders back off before the network dies.
Jacobson's additive-increase, multiplicative-decrease rule made every sender brake together, ending the 1980s congestion collapses.
Lawrence Berkeley National Laboratory
the move
In October 1986 the early internet suffered its first congestion collapse: throughput from Lawrence Berkeley Lab to UC Berkeley, 400 yards away, fell from 32 Kbps to 40 bps. Hosts were retransmitting lost packets at full speed, flooding the network further.
Van Jacobson's 1988 paper, Congestion Avoidance and Control, explained the mechanism and prescribed the fix: senders should increase their window by one packet per round trip when there is no loss, and halve it when a packet is lost, an additive increase, multiplicative decrease policy.
Because every TCP sender follows the same algorithm, the network reaches a stable, roughly fair equilibrium without any central controller. The idea was adopted into TCP and later codified in RFC 5681 along with slow start, fast retransmit and fast recovery.
why it works
- Loss is a congestion signal every sender already receives, so no extra network machinery is needed.
- Multiplicative decrease responds fast to trouble; additive increase probes capacity slowly.
- All senders sharing the rule means fairness emerges from individual behavior.
- It fixed the failure without changing routers or adding bandwidth.
what transfers
When every actor's rational response makes a shared resource worse, change the rule everyone follows: make the safe action scale up slowly and the harmful action scale down sharply.
what came after
The algorithm became the default behavior of TCP, the transport protocol carrying most internet traffic. RFC 5681, published in 2009, still lists slow start, congestion avoidance, fast retransmit and fast recovery as the standard, and congestion control research grew from this paper into its own field.
references
- Congestion Avoidance and Control (Van Jacobson & Michael Karels, November 1988)
- RFC 5681 — TCP Congestion Control
spotted an error? The archive wants to know.