Using Class-Based
Weighted Fair Queuing
Priority Queuing (PQ) and Custom Queuing (CQ) can be used to give certain
types of traffic preferential treatment when congestion occurs on a low-speed
serial link, and Weighted Fair Queuing (WFQ) automatically detects conversations
and attempts to guarantee that no one conversation monopolizes the link.
These mechanisms, however, have some scaling limitations. PQ/CQ simply
cannot scale to handle links much higher than T1, and the WFQ algorithm runs
into problems as traffic increases or if it is stressed by many conversations.
Additionally, it does not run on high-speed interfaces such as ATM. Class-based
weighted fair queuing (CBWFQ) was developed to overcome these issues and
provide a truly scalable QoS solution. CBWFQ carries the WFQ algorithm further
by allowing user-defined classes, which allow greater control over traffic
queuing and bandwidth allocation. CBWFQ provides the power and ease of configuration
of WFQ, along with the flexibility of custom queuing.This advanced
queuing mechanism also incorporates weighted random early detection.WRED
is not necessary for the operation of CBWFQ but works in conjunction with it
to provide more reliable QoS to user-defined classes.We discuss WRED in more
detail later in this chapter.
CBWFQ is a very powerful congestion management mechanism and,
although it is still being developed to be even more robust and intelligent, its
wide platform support and functionality make it an excellent candidate for consideration
as part of your end-to-end QoS solution.