Page 8 | AlliedWare Plus™ OS: Overview of QoS
Queue shapingEach egress port has eight egress queues, which are numbered 0-7 with 7 being the highest
priority queue. Unfortunately, the queues are of a limited length, so packets cannot be added
to them indefinitely; if the switch is congested, the queues may fill up and no more packets
can be added. In this case, packets will inevitably be dropped from the end of the queues,
even if they are high-priority packets. Queue shaping is a general term to describe how the
egress queues can be managed to prevent the indiscriminate dropping of packets from the
tails of the egress queues.
Queue shaping can use Random Early Detection/Discard (RED). RED is a congestion
avoidance mechanism that allows some packets to be dropped before the average egress
queue exceeds the allocated maximum queue length. Lower priority packets are dropped
when severe congestion occurs, with progressively more and higher priority packets dropped
until congestion is eased. This is useful for TCP flows, because the sender will slow the rate
of transmission when it detects a packet loss. Note that using RED on UDP traffic flows is
not recommended because UDP does not reduce the rate of transmission and will simply
retransmit the dropped packets, which will add to the congestion.
The Random Early Discarding of packets from egress queues will typically be configured to
drop more packets with bandwidth class red than those with bandwidth class yellow, and to
drop even less of the packets with bandwidth class green.
RED curves are not the only queue shaping mechanism available. You can instead choose to
use a relatively simple tail-drop scheme. Using this method, you nominate a queue length at
which any further packets will be dropped. This is done for each of the three bandwidth
classes. Obviously, the queue-length threshold for bandwidth class red should be set at a
relatively low value, with the other bandwidth classes having progressively higher values.