EN
Back to the archive

The encyclopedia · Engineering & Operations · Technical decision · 1993–1998

RED dropped packets before the buffer filled to stop TCP collapse

Routers drop a few packets early and at random so TCP backs off before the buffer fills, instead of all flows timing out together.

Lawrence Berkeley National Laboratory

the move

A full router buffer drops a burst of packets and every TCP sender sees it, halves its window, then all ramp back up together, hit the buffer again and collapse in lock-step. Tail-drop maximises that synchronisation.

Floyd and Jacobson argued for active queue management: monitor an average of the queue and start dropping or marking a fraction of packets before it actually fills. The fraction is low when the average is low and grows as the average approaches the limit.

The result is that senders get gentle, staggered feedback instead of one harsh wave, so the queue stays short and throughput stays high without everyone thrashing in unison.

why it works

  • Probabilistic early drop tells flows to slow down gradually.
  • Randomness de-synchronises senders that otherwise collapse together.
  • Keeping the average queue short reduces delay, not just loss.
the payoffDrop a little early and randomly, not all when fullclever

what transfers

Signal a problem early and softly to many actors rather than let it hit one hard limit; randomising who hears it first is what stops everyone reacting at the same moment.

what came after

RED became the reference idea behind active queue management and influenced the development of newer schemes such as CoDel and FQ-CoDel, though its own parameters proved hard to tune in the field.

references

spotted an error? The archive wants to know.

same kind of clever