Weighted random early detection explained

Weighted random early detection (WRED) is a queueing discipline for a network scheduler suited for congestion avoidance.[1] It is an extension to random early detection (RED) where a single queue may have several different sets of queue thresholds. Each threshold set is associated to a particular traffic class.

For example, a queue may have lower thresholds for lower priority packet. A queue buildup will cause the lower priority packets to be dropped, hence protecting the higher priority packets in the same queue. In this way quality of service prioritization is made possible for important packets from a pool of packets using the same buffer.[2]

It is more likely that standard traffic will be dropped instead of higher prioritized traffic.

Restrictions

On Cisco switches WRED is restricted to

Non-IP traffic will be dropped more often than TCP/IP traffic because it is treated with the lowest possible precedence.

Functional Description

WRED proceeds in this order when a packet arrives:

Calculation of average queue size

The average queue size depends on the previous average as well as the current size of the queue. The calculation formula is given below:

avg=o*(1-2-n)+c*(2-n)

where

n

is the user-configurable exponential weight factor,

o

is the old average and

c

is the current queue size. The previous average is more important for high values of

n

. Peaks and lows in queue size are smoothed by a high value. For low values of

n

, the average queue size is close to the current queue size.

Notes and References

  1. Web site: Congestion Avoidance Overview . Cisco . 2014-02-28 . https://web.archive.org/web/20140228234024/https://www.cisco.com/c/en/us/td/docs/ios/12_2/qos/configuration/guide/fqos_c/qcfconav.html . 28 February 2014 . dead.
  2. Web site: Class-Based Weighted Fair Queueing and Weighted Random Early Detection . Cisco . 2020-05-07.