Weighted-RED (WRED) | Dropping Tools


WRED

WRED is an enhancement to RED that enables a degree of influence over the randomness of the selection of packets to be dropped. WRED factors the weight of the packet into the drop selection process; in Cisco IOS routers, the weight is based on the IP Precedence (IPP) value of the packet, whereas in Cisco Catalyst switches, the weight might be the CoS value of the packet (which is termed CoS-based WRED). To simplify the discussion, IP Precedence-based WRED is discussed, but the principles apply equally to CoS-based WRED.
Within the WRED algorithm, a minimum threshold for a given IPP value determines the queue depth at which packets of a given IPP value will begin to be randomly dropped. Themaximum threshold determines the queue depth at which all packets of a given IPP value will be dropped. These thresholds are configurable, as is the Mark Probability Denominator (MPD), which determines how aggressively the packets of a given IPP value will be dropped. (For example, a mark probability denominator value of 10 indicates that up to 1 in 10 packets of a certain precedence value will be randomly dropped.)
By default, WRED drops packets with lower IPP values sooner than packets with higher IPP values. Figure 1 provides a simplified illustration of WRED operation.

 
Figure 1: Weighted RED operation
WRED is enabled on a per-class basis with the random-detect command, as demonstrated in Example 1. As previously noted, WRED is dependent on queuing; therefore, before WRED can be enabled on a class of traffic, a CBWFQ queuing option, with or without a FQ pre-sorter, needs to be applied to the class. (WRED is not appropriate on the LLQ, which is intended for latency and drop-sensitive traffic.)
Example 1: Enabling WRED on a Per-Class Basis

Router(config)# policy-map WRED
Router(config-pmap)# class TCP
Router(config-pmap-c)# bandwidth percent 30
Router(config-pmap-c)# random-detect
Router(config-pmap-c)# class UDP
Router(config-pmap-c)# bandwidth percent 20
Router(config-pmap-c)# class class-default
Router(config-pmap-c)# fair-queue
Router(config-pmap-c)# random-detect

No comments:

Post a Comment