RFC 2309: Recommendations on Queue Management and Congestion Avoidance in the Internet

2026-05-07

RFC: RFC 2309

Published: April 1998

Authors: Bob Braden, David Clark, Jon Crowcroft, Bruce Davie, Steve Deering, Deborah Estrin, Sally Floyd, Van Jacobson, Greg Minshall, Craig Partridge, Larry Peterson, K. K. Ramakrishnan, Scott Shenker, John Wroclawski, Lixia Zhang

Read the author list again. That is essentially the entire founding pantheon of the modern Internet signing one document — because in 1998, the End-to-End Research Group genuinely feared the Internet was about to collapse under its own success. RFC 2309 is their joint plea to router vendors: stop building dumb tail-drop FIFOs.

The problem it confronts is subtle. TCP only learns about congestion by losing packets. A traditional router queue fills up, then drops every arriving packet until it drains — "tail drop." This sounds fair, but it produces two pathologies the RFC names explicitly:

The RFC's core recommendation is Active Queue Management (AQM): routers should drop (or mark) packets before the queue is full, probabilistically, as a deliberate congestion signal. The reference algorithm it endorses is Sally Floyd and Van Jacobson's RED (Random Early Detection): once average queue depth crosses a low threshold, drop incoming packets with a probability that ramps up linearly to the high threshold. Random selection means the drop probability for a flow is proportional to its share of the bandwidth — implicit fairness, no per-flow state required.

Two design decisions deserve attention:

The history is bittersweet. RED was deployed widely but tuned terribly; its parameters (min_th, max_th, w_q, max_p) are notoriously sensitive to link speed and traffic mix, and most operators set them once and forgot them — or disabled AQM entirely. Bufferbloat got worse through the 2000s as cheap RAM made consumer routers ship with multi-second buffers and no AQM at all.

The redemption came around 2012 with CoDel (Controlled Delay, Nichols & Jacobson) and FQ-CoDel, which replaced RED's queue-length heuristic with a sojourn-time measurement that needs no tuning. RFC 7567 formally updated 2309 in 2015 to recommend these newer algorithms. If you have ever run tc qdisc on Linux and seen fq_codel as the default, or noticed your home router from the last five years finally has decent latency under load — that is RFC 2309's recommendations finally being honored, twenty-some years late.

Read it today for the framing more than the algorithm. The taxonomy of queue pathologies, the responsive-vs-unresponsive distinction, and the insistence that signaling latency matters more than buffer size are still the cleanest available statement of why your network feels slow.

Why it matters: Every modern fight against bufferbloat — CoDel, FQ-CoDel, PIE, ECN deployment — descends directly from this 1998 manifesto warning that dumb tail-drop queues would silently strangle the Internet.

All newsletters