46
CBQ
Figure 20 CBQ
Class-based queuing (CBQ) extends WFQ by supporting user-defined classes. When network
congestion occurs, CBQ uses user-defined traffic match criteria to enqueue packets. Before that,
congestion avoidance actions, such as tail drop or WRED and bandwidth restriction check, are
performed before packets are enqueued. When being dequeued, packets are scheduled by WFQ.
CBQ provides the following queues:
•
Emergency
queue
—Enqueues emergent packets. The emergency queue is a FIFO queue
without bandwidth restriction.
•
Low Latency Queuing (LLQ)
—An EF queue. Because packets are fairly treated in CBQ,
delay-sensitive flows like video and voice packets might not be transmitted timely. To solve this
problem, an EF queue was introduced to preferentially transmit delay-sensitive flows. LLQ
combines PQ and CBQ to preferentially transmit delay-sensitive flows like voice packets. When
defining traffic classes for LLQ, you can configure a class of packets to be preferentially
transmitted. Such a class is called a "priority class." The packets of all priority classes are
assigned to the same priority queue. Bandwidth restriction on each class of packets is checked
before the packets are enqueued. During the dequeuing operation, packets in the priority queue
are transmitted first. Packets in other queues are scheduled by using WFQ. To reduce the delay
of the other queues except the priority queue, LLQ assigns the maximum available bandwidth
for each priority class. The bandwidth value polices traffic during congestion. When no
congestion is present, a priority class can use more than the bandwidth assigned to it. During
congestion, the packets of each priority class exceeding the assigned bandwidth are discarded.
•
Bandwidth queuing (BQ)
—An AF queue. The BQ provides strict, exact, guaranteed
bandwidth for AF traffic, and schedules the AF classes proportionally. The system supports up
to 64 AF queues.
•
Default
queue
—A WFQ queue. It transmits the BE traffic by using the remaining interface
bandwidth.
The system matches packets with classification rules in the following order:
•
Match packets with priority classes and then the other classes.
•
Match packets with priority classes in the configuration order.
•
Match packets with other classes in the configuration order.