Congestion Avoidance Using WRED to Avoid Tail Drops

For most traffic weighted RED (WRED) is preferred congestion avoidance*

For most traffic weighted RED (WRED) is preferred congestion avoidance*

For voice traffic, use low latency queuing (LLQ)

© 2004 Cisco Systems, Inc. All rights re bcran v2.1—10-11

The use of tail drops is a passive queue management mechanism. Active queue management mechanisms drop packets before congestion occurs. Larger-scale networks employ algorithms, such as RED, so they can proactively discard packets to prevent (or delay) tail drops.

RED directs one TCP session at a time to slow down, allowing for fuller use of the bandwidth, and it can thereby prevent the traffic crests and troughs from global TCP synchronization.

WRED extends RED functions by permitting more granular RED drop profiles for different types of traffic. WRED combines RED with IP precedence values or with differentiated services code point (DSCP) values. Before tail drops are required, the router can drop packets based on these IP precedence or DSCP markings.

The figure shows how WRED is implemented, and what parameters influence WRED drop decisions. The WRED algorithm is constantly updated with the calculated average queue size, which is based on the recent history of queue sizes.

The configured WRED profiles define the drop thresholds. When a packet arrives at the output queue, the IP precedence of DSCP value is used to select the correct WRED profile for the packet, and the packet is passed to WRED to perform either a drop or enqueue decision.

Based on the profile and the average queue size, WRED calculates the probability for dropping the current packet and either drops it or passes it to the output queue. If the queue is already full, the packet is tail-dropped. Otherwise, it is eventually transmitted out on the interface.

WRED monitors the average queue depth in the router and determines when to begin packet drops based on the queue depth. When the average queue depth crosses the user-specified minimum threshold, WRED begins to drop packets (both TCP and User Data Protocol [UDP]).

If the average queue depth ever crosses the user-specified maximum threshold, then WRED reverts to tail drop, where all incoming packets might be dropped. The idea behind using WRED is to maintain the queue depth at a level somewhere between the minimum and maximum thresholds, and to implement different drop policies for different classes of traffic.

WRED is only useful when the bulk of the traffic is TCP traffic. With TCP, dropped packets indicate congestion, so the packet source reduces its transmission rate. With other protocols, packet sources might not respond or might resend dropped packets at the same rate; therefore dropping packets does not decrease congestion.

WRED can be used wherever there is a potential bottleneck (a congested link) at an access or edge link of the network. It is normally used in the core routers of a network rather than at the edge of the network. Edge routers assign IP precedence to packets as they enter the network. WRED uses these IP precedences to determine how to treat different types of traffic.

0 0

Post a comment