WFQ Summary

WFQ works well for networks where the most delay-sensitive traffic requires less bandwidth than the average flow. Also flows with higher precedence work well, with low-volume, high-precedence flows receiving exceptional treatment. Best of all, WFQ requires no classification configuration. As a result, WFQ provides a great default queuing choice, particularly when traffic characteristics are unpredictable and difficult to qualify.

WFQ works poorly for voice and interactive video traffic, because both need low delay and low jitter. WFQ does not provide a priority queue in order to minimize delay and jitter. Also delay can increase when too many concurrent flows occur, due to WFQ being "too fair," allowing some bandwidth to each flow, which may cause the voice or video flows to not get enough bandwidth.

Table 4-9 summarizes some of the key features of WFQ.

Table 4-9 WFQ Functions and Features

Table 4-9 summarizes some of the key features of WFQ.

Table 4-9 WFQ Functions and Features

WFQ Feature

Explanation

Classification

Classifies without configuration, based on source/destination IP address/ port, protocol type (TCP|UDP), and ToS.

Drop policy

Modified tail drop.

Number of queues

4096.

Maximum queue length

Congestive discard threshold per queue (max 4096), with an overall limit based on the hold queue for all queues (max 4096).

Scheduling inside a single queue

FIFO.

Scheduling among all queues

Serves lowest sequence number (SN). The SN is assigned when the packet is placed into the queue, as a function of length and precedence.

Class-Based WFQ (CBWFQ)

Like the other queuing tools with WFQ in the name, CBWFQ uses features that are similar to some other queuing tools, and completely different from others. CBWFQ is like CQ, in that it can be used to reserve minimum bandwidth for each queue, but it differs from CQ in that you can configure the actual percentage of traffic, rather than a byte count. CBWFQ is like WFQ in that CBWFQ can actually use WFQ inside one particular queue, but it differs from WFQ in that it does not keep up with flows for all the traffic.

Many people find it difficult to keep the details memorized. To help overcome confusion, the features of CBWFQ are covered in the next several pages. At the end of this section, some summary tables list the key features and compare CBWFQ to some of the other queuing tools. To begin the coverage, examine Figure 4-19, which outlines the typical queuing features in sequence.

Figure 4-19 CBWFQ—,Summary of Main Features

1) Classification iC i-mi

Same as CB Marking All IP ACL fields NBAR

Source/Destination MAC Input Interface RTP Port Number Range CoS, DSCP, Precedence MPLS Experimental QoS Group

2) Drop Decision

3) Maximum Number of Queues

4) Maximum Queue Length

5) Scheduling Inside Queue

6) Scheduler Logic

Defaults:

Tail Drop Queue size: 64

2) Drop Decision

3) Maximum Number of Queues

4) Maximum Queue Length

5) Scheduling Inside Queue

6) Scheduler Logic

Defaults:

Tail Drop Queue size: 64

Starting left to right in the figure, CBWFQ classifies packets using the exact same set of fields that CB marking uses to classify packets. In fact, CBWFQ uses the exact same configuration commands, all of which are part of the Modular QoS CLI (MQC) commands described in Chapter 3, "Classification and Marking." CBWFQ's use of MQC makes learning the configuration for CBWFQ easy, assuming you remember how to configure CB marking from the preceding chapter. And unlike WFQ and dWFQ, which use flow-based classifiers, CBWFQ does not classify based on the flow, but on anything you can match with the MQC commands.

NOTE CBWFQ uses the terms "class" and "queue" to refer to the single queue that is associated with a class that can be defined with CBWFQ. The terms "class" and "queue" are often used interchangeably when describing CBWFQ.

CBWFQ supports two types of drop policy, namely tail drop and WRED. Chapter 6, "Congestion Avoidance Through Drop Policies," covers WRED in detail, but the general idea is to discard packets before the queue actually fills, with the intent of making some TCP connections react to the lost packet and slow down sending packets. By having a few TCP connections slow down, the queue may not fill, reducing congestion.

You can enable WRED on any of the 64 queues available with CBWFQ. However, WRED is a good option for some queues, and not for others. If a queue holds on to VoIP payload, for example, you do not really want to drop any packets, because if you drop voice packets, the voice quality degrades. In queues holding less-drop-sensitive traffic, such as data, WRED is a good option, but WRED works poorly in queues holding voice and video traffic.

CBWFQ supports 64 queues, with a maximum and default queue length of 64. All 64 queues can be configured, but one class queue, called class-default, is automatically configured. If the explicitly configured classification does not match a packet, IOS places the packet into the class-default class. You are allowed to change the configuration details regarding this default class, but this one class always exists.

So far, the other queuing tools in this chapter supported only FIFO logic inside a single queue. In fact, some of you may have been wondering why "step 5" was included in illustrations such as the one shown in Figure 4-19. Currently, CBWFQ can use either FIFO or WFQ inside the class-default queue. With Flow-Based WFQ in the class-default queue, when CBWFQ decides to take one or more packets from the queue, it takes the packet with the best sequence number (SN)—just like WFQ normally does.

CBWFQ provides a great advantage by allowing WFQ to be used in the class-default queue. You may recall that WFQ is actually a very good default choice for queuing, because it treats low-volume flows well, and many low-volume flows are also interactive flows. WFQ also treats packets with high precedence well. So, with CBWFQ, for the traffic you know about, you classify it, and reserve the right amount of bandwidth for the class. For the traffic you cannot characterize, you let it default into the class-default queue, where you can dynamically apply some fairness to the default traffic by using WFQ. The capability to reserve bandwidth for some packets, and fairly assign the rest of the bandwidth with WFQ, makes CBWFQ a very powerful queuing tool.

Finally, Cisco does tell us the general idea behind how the CBWFQ scheduler works. The scheduler gives a percentage of the bandwidth to each class, based on the configured values. For instance, four classes, including class-default, may be configured with bandwidth percentages that total 100 percent. The scheduler ensures that each queue receives that percentage of bandwidth. If some queues do not need their bandwidth for a short period, the bandwidth is spread across the other classes. Cisco does not really offer more details about how the scheduler works—so you do not need to worry more about how CDWFQ works for the exams!

Table 4-10 summarizes some of the key features of CBWFQ.

Table 4-10 CBWFQ Functions and Features

Table 4-10 summarizes some of the key features of CBWFQ.

Table 4-10 CBWFQ Functions and Features

CBWFQ Feature

Description

Classification

Classifies based on anything that MQC commands can match, just like CB marking. Includes all extended IP ACL fields, NBAR, incoming interface, CoS, precedence, DSCP, source/destination MAC, MPLS Experimental, QoS group, and RTP port numbers

Drop policy

Tail drop or WRED, configurable per queue.

Number of queues

64.

Table 4-10 CBWFQ Functions and Features (Continued)

CBWFQ Feature

Description

Maximum queue length

64.

Scheduling inside a single queue

FIFO on 63 queues; FIFO or WFQ on class-default queue.

Scheduling among all queues

Algorithm is not published. The result of the scheduler provides a percentage guaranteed bandwidth to each queue.

Advance SEO Techniques

Advance SEO Techniques

Turbocharge Your Traffic And Profits On Auto-Pilot. Would you like to watch visitors flood into your websites by the 1,000s, without expensive advertising or promotions? The fact is, there ARE people with websites doing exactly that right now. How is that possible, you ask? The answer is Advanced SEO Techniques.

Get My Free Ebook


Post a comment