Congestion Management and Avoidance 183
WRED Drop
With the tail-drop congestion avoidance mechanism, the Catalyst 3550 Family of switches
drops packets when queues reach a certain percentage threshold or become full. The use of
tail drop may result in an undesirable behavior of applications that specifically use TCP/IP.
When a queue becomes full or reaches a certain percentage for packets matching a specific
threshold, the tail drop instantaneously drops packets until the respective queue is no longer
full. When these packet drops occur, TCP/IP applications reduce bandwidth accordingly.
When the queue is no longer full and able to accept more packets, however, TCP/IP appli-
cations begin to increase throughput, which results in another full transmit queue condition.
To utilize the transmit queue more effectively and prevent TCP/IP from increasing and
decreasing throughput at relatively the same time, the condition also known as global
synchronization of TCP, the Catalyst 3550 Family of switches supports WRED. Chapter 2,
in the “Congestion Avoidance” section, discusses global synchronization of TCP in more
detail.
The Catalyst 3550 Family of switches uses the WRED algorithm to randomly drop packets
in a transmit queue before thresholds and queue full conditions. In this manner, multiple
TCP/IP applications randomly reduce bandwidth instead of simultaneously reducing the
transmit rate. Tail-drop conditions may still occur when using the WRED algorithm under
periods of considerable congestion, low-percentage threshold values, or with applications
that do not decrease throughput accordingly. A practical example is using WRED to handle
congestion on an interface to a core switch that carries multiple file transfers and voice
application traffic. To prevent congestion of higher-priority traffic and prevent all the file
transfers from throttling bandwidth at the same time, WRED provides the best solution over
tail dropping.
Configuration and implementation of WRED mirrors tail drop. The Catalyst 3550 Family
of switches utilizes two configurable thresholds that signify percentages to randomly
discard packets. In this manner, the switch is configurable to allow for random drop of
packets with a lower priority over packets with a higher priority. The switch CLI refers to
these thresholds as thresholds-1 and thresholds-2, respectively. The Catalyst 3550 Family
switchport mode trunk
no ip address
wrr-queue dscp-map 2 40 46
!
interface GigabitEthernet0/2
switchport trunk encapsulation dot1q
switchport mode trunk
no ip address
mls qos trust dscp
wrr-queue threshold 1 50 100
!
Example 6-29 Sample Interface Configuration for Congestion Avoidance Using Tail-Drop Thresholds (Continued)