Random early detection (RED) is a queue management algorithm.
In traditional tail drop algorithm 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 global synchronization as all TCP connections "hold back" simultaneously. Networks become under-utilized.
RED addresses these issues. It monitors the average queue size and drops packets based on statistical probabilities. If buffer is almost empty, all incoming packets are accepted. As the queue grows, the probability for dropping an incoming packets grows too. When 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.