68
Assume a port provides eight output queues. WRR assigns each queue a weight value (represented
by w7, w6, w5, w4, w3, w2, w1, or w0) to decide the proportion of resources assigned to the queue.
On a 100 Mbps port, you can configure the weight values of WRR queuing to 50, 30, 10, 10, 50, 30,
10, and 10 (corresponding to w7, w6, w5, w4, w3, w2, w1, and w0, respectively). In this way, the
queue with the lowest priority can get a minimum of 5 Mbps of bandwidth. WRR avoids the
disadvantage of SP queuing that packets in low-priority queues might fail to be served for a long
time.
Another advantage of WRR queuing is that when the queues are scheduled in turn, the service time
for each queue is not fixed. If a queue is empty, the next queue will be scheduled immediately. This
improves bandwidth resource use efficiency.
WRR queuing includes the following types:
•
Basic WRR queuing
—Contains multiple queues. You can configure the weight, percentage (or
byte count) for each queue and WRR schedules these queues based on the user-defined
parameters in a round robin manner.
•
Group-based WRR queuing
—All the queues are scheduled by WRR. You can divide the
output queue to WRR priority queue group 1 and WRR priority queue group 2. Round robin
queue scheduling is performed for group 1 first. If group 1 is empty, round robin queue
scheduling is performed for group 2.
•
WRR queuing with the maximum delay
—Assures that packets in the highest-priority queue
are transmitted within the specified maximum delay, which makes it different from basic WRR
queuing.
WFQ queuing
Figure 27 WFQ queuing
WFQ is similar to WRR. They both support scheduling weights in queue length, and can work with
SP scheduling together. The difference is that WRR enables you to set the maximum time a packet
waits in queue, but WFQ enables you to set guaranteed bandwidth a WFQ queue can get during
congestion.
CBQ
CBQ provides one FIFO queue for each user-defined class to buffer traffic of the class. When the
network is congested, CBQ classifies packets into user-defined classes, and assigns different
classes of packets to different queues after performing congestion avoidance and bandwidth
restriction check. When dequeuing packets, CBQ schedules packets from queues in proportion to
their weights.
CBQ provides the following queuing types: