05 The record
Papers
The congestion-control literature is unusually readable, and the 1988 work is the document the modern internet rests on.

The record that made the internet behave
The published literature on congestion control is shorter and more readable than you would expect from a body of work this consequential. Most of the ideas that stop the internet from collapsing under its own traffic can be traced to a handful of papers, each tightly argued, each carrying the marks of engineers who had recently watched something break and were determined to explain exactly why.
The foundational document is Van Jacobson and Michael Karels's 1988 paper "Congestion Avoidance and Control," presented at ACM SIGCOMM that August. Jacobson was at Lawrence Berkeley National Laboratory in Berkeley, California, working on the TCP/IP implementation that was quietly holding the early internet together — or rather, not holding it together. In the autumn of 1986, throughput on the path between Lawrence Berkeley Laboratory and UC Berkeley collapsed from 32 kilobits per second to 40 bits per second: a factor of eight hundred, without explanation. That collapse, which Jacobson called a "congestion collapse," was the event the paper explained and the problem it solved. The mechanisms it introduced — slow start, congestion avoidance, fast retransmit, fast recovery — are still mandatory reading for anyone who wants to understand why TCP behaves the way it does under load, and why shaping a connection without understanding those mechanisms produces results that are difficult to predict.
What makes the 1988 paper unusual in the engineering literature is its directness. Jacobson wrote as someone who had instrumented a live network and watched it fail, not as someone speculating from first principles. The mathematics is present but subordinate; the intuition is always visible. The paper identified that TCP senders were not backing off when the network signalled congestion, and that the network had no reliable way to signal congestion until queues overflowed and packets were lost. The fix was to treat packet loss as a signal and to respond to that signal with a halving of the sending rate — congestion avoidance as an emergent property of the protocol rather than a property of the network itself.

What followed, and why it still matters
The 1988 paper established the frame; the papers that followed spent the next two decades pushing at its limits. Sally Floyd, also working at Lawrence Berkeley, became the most important voice in that second wave. Her 1993 paper with Van Jacobson on Random Early Detection — RED — introduced the idea of active queue management: dropping packets probabilistically, before a queue fills completely, as a way of sending a congestion signal earlier and more smoothly than the cliff-edge drop that a full buffer produces. RED was designed to be deployed in routers, pushing the congestion signal into the network rather than leaving senders to infer it from loss. Floyd continued developing variants and analyses of RED through the 1990s, and the Internet Engineering Task Force eventually standardised the underlying approach. The mechanism is discussed in RFC 2309, published in 1998, which the IETF still hosts.
Kathleen Nichols and Van Jacobson returned to the problem two decades later with CoDel — Controlled Delay — described in their 2012 paper "Controlling Queue Delay," published in ACM Queue. CoDel observed that the core problem with RED was parametric: operators had to tune it for their specific link conditions, and the right parameters for a 10-megabit link in 1993 were not the right parameters for a 100-megabit link in 2010. The paper proposed a parameter-free algorithm that measured the minimum delay experienced by packets in a queue over a short sliding window, and triggered drops only when that minimum stayed above a threshold long enough to indicate standing delay rather than a transient burst. CoDel was the clearest published articulation of what bufferbloat actually costs: not the loss of packets, but the accumulation of latency in queues that had been made enormous by cheap memory and never trimmed.
Jim Gettys, whose work at Bell Labs and later at home, testing his own broadband connection, had already named and publicised the bufferbloat problem, was a key figure in the years just before the CoDel paper appeared. Nichols and Jacobson wrote the ACM Queue piece together with a clarity that was unusual for a technical audience — the paper was genuinely intended to be read, not just cited. Dave Taht, working with Gettys through Bufferbloat.net, was central to bringing CoDel and its companion algorithm fq_codel (fair-queuing CoDel, which combined per-flow queuing with the CoDel drop logic) from the paper into the Linux kernel, where it has been available as a queuing discipline since 2012. Luigi Rizzo, based in Pisa, Italy, contributed the dummynet framework and related work on network emulation and queue management that gave researchers and developers a controlled environment in which to test these ideas without access to production infrastructure.
The papers that matter most in this domain share a quality: they are motivated by measurement. Jacobson had packet traces. Floyd had simulation data from the ns network simulator, which her group developed at Lawrence Berkeley specifically to make congestion experiments reproducible. Nichols and Jacobson built CoDel's intuition from observations of how queues actually behave under real traffic, not from the traffic models that had been used to justify large buffers in the first place. The move from theory to instrumented observation and back is visible in the writing — and it is the reason the papers have aged better than the implementations they initially inspired.
Reading them now, the congestion-control literature feels like a conversation that was interrupted repeatedly by the pace of deployment. An idea would be published, implemented, shipped in an operating system or a router firmware, and then frozen in place while the network around it changed. RED was specified and then largely misconfigured for years, because the parameters were difficult to set and operators left them at defaults. CoDel took the lesson from that history and made the algorithm self-tuning. The next generation of work — BBR, QUIC-based congestion control, L4S — is already generating its own papers, and the Internet Engineering Task Force working groups that produced the earlier standards are still the venue where the arguments are formally settled.
The 1988 paper is available through the ACM Digital Library and has been reproduced in several collections. For anyone trying to understand why a shaped connection behaves unexpectedly — why halving a link's capacity does not halve throughput, or why adding delay changes which flows survive — it remains the right place to start.
