Relative share of bandwidth in WFQ by IP precedence
| Precedence name |
Value |
Relative share of bandwidth |
| Routine |
0 |
1 |
| Priority |
1 |
2 |
| Immediate |
2 |
3 |
| Flash |
3 |
4 |
| Flash Override |
4 |
5 |
| Critical |
5 |
6 |
| Internetwork Control |
6 |
7 |
| Network Control |
7 |
8 |
These fair queueing algorithms tend to do three things. First,
they prevent individual flows from interfering with one another. Second, they
tend to reduce queueing latency for applications with smaller packets. And
third, they ensure that all of the packets from a given flow are delivered in
the same order that they were sent.
In practice, of course, a router has limited memory resources,
so there is a limit to how many flows it can handle. If the number of flows is
too large or if the volume of traffic is too high, the router will start to have
trouble with the computation. So these algorithms tend to be best on low-speed
interfaces. WFQ is enabled by default on all interfaces with bandwidth of E1
(roughly two Mbps) or less. The only exceptions are interfaces that use SDLC or
LAPB link layer protocols, which require FIFO queuing.
Cisco provides several mechanisms to improve the bandwidth
scaling of queueing algorithms. The first is Distributed Weighted Fair Queueing
(DWFQ), which is only available in routers that have Versatile Interface
Processor (VIP) cards, such as 7500 series routers, or the older 7000 series
with RSP7000 processors. DWFQ is essentially the same as WFQ, except that the
router is able to distribute the queueing calculations to the various VIP
modules. But there is another important difference. DWFQ uses a different
sorting algorithm called Calendar Queueing, which uses much more memory, but
operates much faster. This tradeoff means that you can use DWFQ on a VIP2-50
card containing Port Adapters Modules (PAM) with an aggregate line speed of up
to OC-3. In fact, if the aggregate line speed is greater than a DS-3 (45 Mbps),
we don't recommend using DWFQ on anything slower than a VIP2-50. Cisco claims
that DWFQ can operate at up to OC-3 speeds. However, if you need to support
several interfaces that aggregate to OC-3 speeds on one VIP module, you may want
to consider a different queueing strategy, particularly CBWFQ.
The next popular queueing strategy on Cisco routers,
particularly for higher speed interfaces, is Class-Based Weighted Fair Queueing
(CBWFQ). CBWFQ is similar to WFQ, except that it doesn't group traffic by flows.
Instead, it groups by traffic classes. A class is simply some logical grouping
of traffic. It could be based on IP Precedence values, or source addresses,
input interface, or a variety of other locally useful rules that you can specify
on the router.
The principle advantage to CBWFQ is that it allows you to
expand the functionality of WFQ to higher speeds by eliminating the need to keep
track of a large number of flows. But there is another important advantage to
CBWFQ. The most common and sensible way to use CBWFQ is to assign the classes
according to precedence or DSCP values. You can then manually adjust the
weighting factors for the different classes. As you can see in Table B-4, the standard WFQ weighting
factors give traffic with an IP Precedence value of 1 twice as much bandwidth as
Precedence 0 traffic. However, Precedence 7 traffic gets just under 17 percent
more bandwidth than Precedence 6 traffic. For many applications, these arbitrary
weighting factors are not appropriate. So the ability to adjust these weighting
factors can come in handy if you need to give your highest priority traffic a
larger share of the bandwidth.