Random early detection

From Wikipedia, the free encyclopedia

Random early detection (RED) is a queue management algorithm. It is also a congestion avoidance algorithm.

In the traditional tail drop algorithm, a router or other network component buffers as many packets as it can, and simply drops the ones it can't buffer. If buffers are constantly full, network is congested. Tail drop distributes buffer space unfairly among traffic flows. Tail drop can also lead to TCP global synchronization as all TCP connections "hold back" simultaneously, and then step forward simultaneously, Networks become under-utilized and flooded by turns.

RED addresses these issues. It monitors the average queue size and drops (or marks when used in conjunction with ECN) packets based on statistical probabilities. If the buffer is almost empty, all incoming packets are accepted. As the queue grows, the probability for dropping an incoming packet grows too. When the buffer is full, the probability has reached 1 and all incoming packets are dropped.

RED is considered more fair than tail drop. The more a host transmits, the more likely it is that its packets are dropped. Early detection helps avoid global synchronization.

RED makes Quality of Service (QoS) differentiation impossible. Weighted RED (WRED) and RED In/Out (RIO) provide early detection with some QoS considerations.

[edit] External links

In other languages