26-28
Catalyst 3750 Metro Switch Software Configuration Guide
78-15870-01
Chapter 26      Configuring QoS
Understanding Hierarchical QoS
WRED
Cisco Systems implements a version of Random Early Detection (RED), called WRED, differently from 
other congestion-avoidance techniques. WRED attempts to anticipate and avoid congestion, rather than 
controlling congestion when it occurs. WRED takes advantage of the TCP congestion control to try to 
control the average queue size by signaling end hosts when they should temporarily stop sending 
packets. By randomly dropping packets before periods of high congestion, it tells the packet source to 
decrease its sending rate. Assuming the packet source is using TCP, WRED tells it to decrease its sending 
rate until all the packets reach their destination, meaning that the congestion is cleared. By dropping 
some packets early rather than waiting until the queue is full, WRED avoids dropping large numbers of 
packets at once. 
When a packet arrives and WRED is enabled, these events occur:
• The average queue size is calculated based on the previous average and the current size of the queue. 
The average queue-size calculation is affected by the exponential weight constant setting in the 
random-detect exponential-weight-constant policy-map class configuration command.
• If the average queue size is less than the minimum queue threshold, the arriving packet is queued. 
The minimum queue threshold is configured through the min-threshold option in the random-detect 
{dscp | precedence} policy-map class configuration command.
• If the average queue size is between the minimum queue threshold and the maximum queue 
threshold, the packet is either dropped or queued, depending on the packet-drop probability. The 
packet-drop probability is based on the minimum threshold, the maximum threshold, and the 
mark-probability denominator. The maximum queue threshold is configured through the 
max-threshold option, and the mark-probability denominator is configured through the 
mark-prob-denominator option in the random-detect dscp {dscp | precedence} policy-map class 
configuration command.
• If the average queue size is greater than the maximum queue threshold, the packet is automatically 
dropped.
You enable WRED by using the random-detect policy-map class configuration command at the class 
level. This command allows for preferential drop treatment among packets with different IP precedence 
or DSCP values. The WRED algorithm discards or marks packets destined for a queue when that queue 
is congested. It discards packets fairly and before the queue is full. Packets with high IP-precedence 
values are preferred over packets with low IP-precedence values. For configuration information, see the 
“Configuring an Egress Hierarchical QoS Policy” section on page 26-77.
CBWFQ
CBWFQ provides guaranteed bandwidth to particular traffic classes, such as voice, that are delay 
sensitive, while still fairly serving all other traffic in the network. You define traffic classes based on 
match criteria. Packets satisfying the match criteria for a class constitute the traffic for that class. A 
queue is reserved for each class, and traffic belonging to a class is directed to the queue for that class.
The bandwidth assigned to a class is the minimum bandwidth that is delivered to the class during 
congestion. CBWFQ uses the bandwidth weight to ensure that the queue for the class is serviced fairly.
You enable CBWFQ and specify the minimum bandwidth as a rate in kbps or as a percentage of the 
available bandwidth by using the bandwidth policy-map class configuration command at the class level 
or at the VLAN level. During periods of congestion, the classes are serviced in proportion to their 
configured bandwidth. The amount of bandwidth available to a class is dependent on the amount of 
bandwidth reserved by the parent class. For configuration information, see the “Configuring an Egress 
Hierarchical QoS Policy” section on page 26-77.