WFQ Configuration

Although WFQ requires a little deeper examination to understand all the underlying concepts, configuration is simple. IOS uses WFQ by default on all serial interfaces with bandwidths set at T/1 and E/1 speeds and below. None of WFQ's parameters can be set for an individual queue, so at most, the WFQ configuration will be one or two lines long. An example configuration for WFQ follows Tables 4-6 and 4-7. Tables 4-6 and 4-7 list the configuration and exec commands related to WFQ respectively.

Table 4-6 Configuration Command Reference for WFQ

Command

Mode and Function

fair-queue [congestive-discard-threshold [dynamic-queues [reservable-queues]]]

Interface configuration mode; enables WFQ, sets the CDT, sets maximum number of queues, and sets the number reserved for RSVP use

hold-queue length {in | out}

Interface configuration mode; changes the length of the hold queue

Table 4-7 Exec Command Reference for WFQ

Command

Function

show queue interface-name interface-number [vc [vpi/] vci]]

Lists information about the packets that are waiting in a queue on the interface

show queueing [custom | fair | priority | random-detect [interface atm-subinterface [vc [[vpi/] vci]]]]

Lists configuration and statistical information about the queuing tool on an interface

In the next example, R3 uses WFQ on its S0/0 interface. R3 marks the packets as they enter E0/0, using CB marking. Two voice calls, plus one FTP download, and a large web page download generate the traffic. The web page is the same one used throughout the book, with competing frames on the left and right side of the page. Note that each of the two frames in the web page uses two separate TCP connections. The marking logic performed by CB marking is as follows:

• HTTP traffic for web pages with "important" in the URL—DSCP AF21

• HTTP traffic for web pages with "not" in the URL—DSCP AF23

Repetitive examples do not help much with WFQ, because there is little to configure. Example 4-3 shows the basic configuration, followed by some show commands. After that, it shows a few of the optional parameters being set. The example uses the familiar network diagram, as repeated in Figure 4-18.

Figure 4-18 Sample WFQ Network—WFQ on R3's S0/0 Interface

1.100

Note: All IP Addresses Begin 192.168

WFQ

Client ^—y

^—X

Server 1

1.100

101 102

101 102

Five Total Flows Created By: Two G.729 Voice Calls

One Web Page, with Split Frames Creating Two TCP Connections, to the Browser at Client1

One FTP Download from Server1 to Client1

301 302

Example 4-3 WFQ Configuration and show Commands

R3#conf t

Enter configuration commands, one per line. End with CNTL/Z. R3(config)#int s 0/0 R3(config-if)#fair-queue R3(config-if)#~Z R3#sh int s 0/0

Serial0/0 is up, line protocol is up Hardware is PowerQUICC Serial

Description: connected to FRS port S0. Single PVC to R1. MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, reliability 255/255, txload 9/255, rxload 8/255 Encapsulation FRAME-RELAY, loopback not set Keepalive set (10 sec)

LMI enq sent 171, LMI stat recvd 163, LMI upd recvd 0, DTE LMI up LMI enq recvd 0, LMI stat sent 0, LMI upd sent 0 LMI DLCI 1023 LMI type is CISCO frame relay DTE

Broadcast queue 0/64, broadcasts sent/dropped 378/2, interface broadcasts 347 Last input 00:00:01, output 00:00:00, output hang never Last clearing of "show interface" counters 00:28:46

Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 8249

Example 4-3 WFQ Configuration and show Commands (Continued) Queueing strategy: weighted fair

Output queue: 126/1000/64/8249 (size/max total/threshold/drops) Conversations 6/7/256 (active/max active/max total) Reserved Conversations 0/0 (allocated/max allocated) Available Bandwidth 1158 kilobits/sec 5 minute input rate 52000 bits/sec, 97 packets/sec 5 minute output rate 58000 bits/sec, 78 packets/sec 36509 packets input, 2347716 bytes, 0 no buffer Received 0 broadcasts, 0 runts, 0 giants, 0 throttles 1 input errors, 0 CRC, 1 frame, 0 overrun, 0 ignored, 0 abort 28212 packets output, 2623792 bytes, 0 underruns 0 output errors, 0 collisions, 5 interface resets 0 output buffer failures, 0 output buffers swapped out 10 carrier transitions DCD=up DSR=up DTR=up RTS=up CTS=up R3#show queueing fair Current fair queue configuration:

Interface

Serial0/0 Serial0/1

Discard Dynamic Reserved threshold queues queues

64 256 0

64 256 0

Link Priority queues queues

R3#show queueing fair int s 0/0

Current fair queue configuration:

Interface

Serial0/0

Discard Dynamic Reserved threshold queues queues 64 256 0

Link Priority queues queues

R3# show queue s 0/0

Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 11027 Queueing strategy: weighted fair

Output queue: 79/1000/64/11027 (size/max total/threshold/drops) Conversations 4/8/256 (active/max active/max total) Reserved Conversations 0/0 (allocated/max allocated) Available Bandwidth 1158 kilobits/sec

! Next stanza lists info about one of the VoIP calls

(depth/weight/total drops/no-buffer drops/interleaves) 37/5397/1359/0/0 Conversation 15, linktype: ip, length: 64

source: 192.168.3.254, destination: 192.168.2.251, id: 0x013B, ttl: 253, TOS: 184 prot: 17, source port 16772, destination port 19232 ! Next stanza lists info about one of the VoIP calls

(depth/weight/total drops/no-buffer drops/interleaves) 37/5397/1359/0/0 Conversation 125, linktype: ip, length: 64

source: 192.168.3.254, destination: 192.168.2.251, id: 0x0134, ttl: 253, TOS: 184 prot: 17, source port 16638, destination port 19476

! Next stanza lists info about one of the HTTP TCP connections

(depth/weight/total drops/no-buffer drops/interleaves) 1/10794/36/0/0 Conversation 33, linktype: ip, length: 1404

Example 4-3 WFQ Configuration and show Commands (Continued)

source: 192.168.3.100, destination: 192.168.1.100, id: 0xFF50, ttl: 127, TOS: 72 prot: 6, source port 80, destination port 1067

! Next stanza lists info about one of the HTTP TCP connections

(depth/weight/total drops/no-buffer drops/interleaves) 2/10794/34/0/0 Conversation 34, linktype: ip, length: 1404

source: 192.168.3.100, destination: 192.168.1.100, id: 0xFF53, ttl: 127, TOS: 88 prot: 6, source port 80, destination port 1068

! Notice the TOS values versus the weight in the last two stanzas!

R3#configure terminal

Enter configuration commands, one per line. End with CNTL/Z. R3(config)#int s 0/0 R3(config-if)#fair-queue 100 64 10 R3(config-if)#hold-queue 500 out R3(config-if)#~Z !

R3#show interface serial 0/0

Serial0/0 is up, line protocol is up Hardware is PowerQUICC Serial

Description: connected to FRS port S0. Single PVC to R1. MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, reliability 255/255, txload 9/255, rxload 8/255 Encapsulation FRAME-RELAY, loopback not set Keepalive set (10 sec)

198, LMI stat recvd 190, LMI upd recvd 0, DTE LMI up 0, LMI stat sent 0, LMI upd sent 0 LMI type is CISCO frame relay DTE Broadcast queue 0/64, broadcasts sent/dropped 442/2, interface broadcasts 406 Last input 00:00:01, output 00:00:00, output hang never Last clearing of "show interface" counters 00:33:14

Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 12474 Queueing strategy: weighted fair

Output queue: 95/500/100/12474 (size/max total/threshold/drops) Conversations 5/6/64 (active/max active/max total) Reserved Conversations 0/0 (allocated/max allocated) Available Bandwidth 1158 kilobits/sec

! lines omitted for brevity

R3#show queueing fair

Current fair queue configuration:

LMI enq sent LMI enq recvd LMI DLCI 1023

Interface

Discard threshold 100 64

Dynamic queues 64 256

Reserved Link queues queues

10 8

Priority queues 1 1

Serial0/0 Serial0/1 R3#sh queue s 0/0

Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 13567

Example 4-3 WFQ Configuration and show Commands (Continued) Queueing strategy: weighted fair

Output queue: 125/500/100/13567 (size/max total/threshold/drops) Conversations 5/7/64 (active/max active/max total) Reserved Conversations 0/0 (allocated/max allocated) Available Bandwidth 1158 kilobits/sec

(depth/weight/total drops/no-buffer drops/interleaves) Conversation 61, linktype: ip, length: 64 source: 192.168.3.254, destination: 192.168.2.251, id: TOS: 184 prot: 17, source port 16638, destination port

(depth/weight/total drops/no-buffer drops/interleaves) Conversation 15, linktype: ip, length: 64 source: 192.168.3.254, destination: 192.168.2.251, id: TOS: 184 prot: 17, source port 16772, destination port

(depth/weight/total drops/no-buffer drops/interleaves) Conversation 34, linktype: ip, length: 1404 source: 192.168.3.100, destination: 192.168.1.100, id: TOS: 88 prot: 6, source port 80, destination port 1068

(depth/weight/total drops/no-buffer drops/interleaves) Conversation 33, linktype: ip, length: 1404 source: 192.168.3.100, destination: 192.168.1.100, id: TOS: 72 prot: 6, source port 80, destination port 1067

(depth/weight/total drops/no-buffer drops/interleaves) Conversation 29, linktype: ip, length: 1404 source: 192.168.3.100, destination: 192.168.1.100, id: TOS: 0 prot: 6, source port 1353, destination port 1065

To enable WFQ, the fair-queue interface subcommand is used. After enabling WFQ, the show interface command output shows the fact that WFQ is enabled. (See the highlighted portion of the first show interface command in Example 4-3.) Note that the hold queue default size of 1000 is shown in the show interface output as well. The show interface command and the show queueing fair commands both list the CDT (default 64), along with the maximum number of queues (256).

The most interesting show command for WFQ is the show queue command. Note that a summary section is listed first, followed by a stanza of output for each active flow. Each stanza lists statistics about the current size, number of drops, and so on. Each stanza also lists the details used for classification. For instance, each stanza of the first show queue command includes a comment added by me. Knowing that two voice calls, one TCP connection for FTP, and two TCP connections for HTTP were being used, I could look at the source and destination addresses and ports numbers and decide which WFQ flows correlated to each of these user flows.

61/5397/654/0/0

0x0134, ttl: 253, 19476

61/5397/653/0/0

0x013B, ttl: 253, 19232

You can understand the usage of the ToS byte by WFQ with a little closer examination of the output of the show queue command. You may recall that the two HTTP transfers were marked with different DSCP values; note that the two HTTP flows in the command output have ToS byte values of 72 and 80. Which of these values corresponds to DSCP AF21 (important HTTP URLs per CB marking) and AF23 ("not" important URLs per CB marking)? Table 4-8 lists the pertinent details needed to correlate DSCP, ToS, and precedence values used in the example.

Table 4-8 DSCP, ToS Byte, and WFQ Weight Values Used in Example 4-3

DSCP Name

Type of Traffic Marked in This Example

Binary DSCP, with Precedence Portion in Bold

Binary ToS, with 0s Padded for Last 2 Bits

ToS Byte

Decimal

Value

(Decimal)

EF

VoIP

101110

10111000

184

5

AF21

HTTP URLs with "important"

010010

01001000

72

2

AF23

HTTP URLs with "not"

010110

01011000

88

2

BE

All else

000000

00000000

0

0

WFQ always weights the packets based on the first 3 bits of the ToS byte—in other words, based on the Precedence field. However, the show queue command output lists the entire contents of the ToS byte, which in this case included 6 bits marked by CB marking, and two trailing binary 0s. Therefore, the ToS byte values in the command lists the same values shown in the table. Even though CB marking marked a different DSCP for each type of HTTP traffic, as far as WFQ is concerned, each receives the same amount of weight. This is because WFQ does not look past the Precedence field when determining the weight.

Finally, the second half of Example 4-3 just shows some configuration changes and the resulting changes in the show command output. The configuration changes the CDT, the maximum number of queues, and the length of the hold queue. The highlighted portions of the show interface, show queueing, and show queue commands reflect the details of the configuration changes.

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