cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
856
Views
0
Helpful
16
Replies

QOS (CBWFQ and Priority)on an 1800 not working

keiza.hes1
Level 1
Level 1

My test bed includes the following; I have a 1800 router connecting two hosts on which I am trying to use CBWFQ. On one host I have two iperf servers on prts -8800 and -5001. On the other host I have three TCP stream connections; 2 to 8800 and one to 5001 (using Iperf).

I expect to see that my two 8800 streams share (equal bandwidth) a minimum of 15% of the available bandwidth and the 5001 to use a minimum of 60% of the available bandiwith. When I set all three streams in action, I see that all share ~33% of the availble bandwidth violating the "5001 expected behaviour" of a minimum of 60%.

class-map match-all allow-man

match access-group 101

class-map match-all allow-default

match access-group 102

policy-map pm1

class allow-man

bandwidth percent 15

class allow-default

bandwidth percent 60

class class-default

fair-queue

access-list 101 permit tcp any any eq 8800

access-list 102 permit tcp any any eq 5001

interface FastEthernet0/1

ip address 172.22.25.111 255.255.255.0

service-policy output pm1

What am I doing wrong??? Incidentally I cannot get Priority based queuing working either...

16 Replies 16

Richard Burts
Hall of Fame
Hall of Fame

radek

CBWFQ does not do anything until the router senses congestion on the interface. Do your hosts send enough traffic through the inbound interface to cause congestion on the outbound interface? (with one inbound interface and one outbound interface of the same capacity I would doubt it)

HTH

Rick

HTH

Rick

Hi Rick,

I see your point. with one interface in and one interface out you can never experience congestion. kind of makes you wonder about the entire point of including CBWFQ in the first case but hey.

Anyway so I set my output interface to 10 MB/s, therefore I have 100 in and 10 out, but I see the same 33% sharing.

Could you post "show interfaces" and "show policy-map interface" when router under test load so we can see what you're seeing?

radek

On a router with only two equal interfaces your point is well taken that CBWFQ is not very useful. But if you add another interface to the router that is slower (perhaps a serial interface or perhaps a truly 10 Mb Ethernet) then congestion is possible and CBWFQ may be useful.

Perhaps you can tell us how you decreased the capacity of one of the FastEthernet interfaces?

HTH

Rick

HTH

Rick

Hi Rick,

I decreased the speed by "interface speed 10".

Is this what you were wanting to know?

Hi Rick,

I decreased the speed by "interface fas 0/1 speed 10".

Is this what you were wanting to know?

Hi Thanks for your time! In response to your question.

FastEthernet0/0 is up, line protocol is up

Hardware is Gt96k FE, address is 0024.14b6.734a (bia 0024.14b6.734a)

Description: 802.1q trunk to switch

MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec, reliability 255/255, txload 1/255, rxload 11/255

Encapsulation 802.1Q Virtual LAN, Vlan ID 1., loopback not set

Keepalive set (10 sec)

Full-duplex, 100Mb/s, 100BaseTX/FX

ARP type: ARPA, ARP Timeout 04:00:00

Last input 00:00:00, output 00:00:00, output hang never

Last clearing of "show interface" counters never

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

Queueing strategy: fifo

Output queue: 0/40 (size/max)

5 minute input rate 4655000 bits/sec, 362 packets/sec

5 minute output rate 137000 bits/sec, 250 packets/sec

762598 packets input, 852537492 bytes

Received 19974 broadcasts, 0 runts, 0 giants, 0 throttles

2 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored

0 watchdog

0 input packets with dribble condition detected

454060 packets output, 33624418 bytes, 0 underruns

0 output errors, 0 collisions, 8 interface resets

0 babbles, 0 late collision, 0 deferred

0 lost carrier, 0 no carrier

0 output buffer failures, 0 output buffers swapped out

FastEthernet0/0.5 is up, line protocol is up

Hardware is Gt96k FE, address is 0024.14b6.734a (bia 0024.14b6.734a)

Description: Second test - VLAN 5

Internet address is 172.22.5.51/24

MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,

reliability 255/255, txload 1/255, rxload 11/255

Encapsulation 802.1Q Virtual LAN, Vlan ID 5.

ARP type: ARPA, ARP Timeout 04:00:00

Last clearing of "show interface" counters never

FastEthernet0/1 is up, line protocol is up

Hardware is Gt96k FE, address is 0024.14b6.734b (bia 0024.14b6.734b)

Description: interface test for lab 3

Internet address is 172.22.25.111/24

MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec,

reliability 255/255, txload 116/255, rxload 3/255

Encapsulation ARPA, loopback not set

Keepalive set (10 sec)

Full-duplex, 10Mb/s, 100BaseTX/FX

ARP type: ARPA, ARP Timeout 04:00:00

Last input 00:18:39, output 00:00:02, output hang never

Last clearing of "show interface" counters never

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

Queueing strategy: Class-based queueing

Output queue: 0/1000/64/6702 (size/max total/threshold/drops)

Conversations 0/3/256 (active/max active/max total)

Reserved Conversations 2/2 (allocated/max allocated)

Available Bandwidth 2000 kilobits/sec

5 minute input rate 123000 bits/sec, 245 packets/sec

5 minute output rate 4566000 bits/sec, 355 packets/sec

402224 packets input, 27189236 bytes

Received 17 broadcasts, 0 runts, 0 giants, 0 throttles

7095 input errors, 7095 CRC, 0 frame, 0 overrun, 0 ignored

0 watchdog

0 input packets with dribble condition detected

718667 packets output, 843217599 bytes, 0 underruns

0 output errors, 0 collisions, 16 interface resets

0 babbles, 0 late collision, 0 deferred

0 lost carrier, 0 no carrier

0 output buffer failures, 0 output buffers swapped out

#show policy-map interface fa 0/1

FastEthernet0/1

Service-policy output: pm1

Class-map: allow-man (match-all)

265005 packets, 401190366 bytes

5 minute offered rate 1034000 bps, drop rate 0 bps

Match: access-group 101

Queueing

Output Queue: Conversation 265

Bandwidth 15 (%)

Bandwidth 1500 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 19565/29615878

(depth/total drops/no-buffer drops) 0/0/0

Class-map: allow-default (match-all)

198036 packets, 299794248 bytes

5 minute offered rate 722000 bps, drop rate 0 bps

Match: access-group 102

Queueing

Output Queue: Conversation 266

Bandwidth 60 (%)

Bandwidth 6000 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 11402/17258324

(depth/total drops/no-buffer drops) 0/0/0

....

Hmmmm, no drops!!!

the packets are getting matched but why are they not getting dropped???

#show policy-map interface fa 0/1

FastEthernet0/1

Service-policy output: pm1

Class-map: allow-man (match-all)

265005 packets, 401190366 bytes

5 minute offered rate 1034000 bps, drop rate 0 bps

Match: access-group 101

Queueing

Output Queue: Conversation 265

Bandwidth 15 (%)

Bandwidth 1500 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 19565/29615878

(depth/total drops/no-buffer drops) 0/0/0

Class-map: allow-default (match-all)

198036 packets, 299794248 bytes

5 minute offered rate 722000 bps, drop rate 0 bps

Match: access-group 102

Queueing

Output Queue: Conversation 266

Bandwidth 60 (%)

Bandwidth 6000 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 11402/17258324

(depth/total drops/no-buffer drops) 0/0/0

....

Hmmmm, no drops!!!

the packets are getting matched but why are they not getting dropped???

As Rick suspected, it appears you may not be providing enough traffic for CBWFQ to queue packets, even with the one interface set to 10 Mbps. It's a bit difficult to be sure since you're running with the default 5 minute average (30 second load interval would be better).

For example,

Class-map: allow-default (match-all)

198036 packets, 299794248 bytes

5 minute offered rate 722000 bps, drop rate 0 bps

Match: access-group 102

Queueing

Output Queue: Conversation 266

Bandwidth 60 (%)

Bandwidth 6000 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 11402/17258324

(depth/total drops/no-buffer drops) 0/0/0

11402 / 198036 = 5.76 % have queued

0 in the queue at the moment

In light of your request... here is the result of 3 different UDP streams each set to 100M send rate following the conventions and ports layed out in my first post.

Still I see a sharing of ~33% between the streams.

Any Ideas or experience having the CBWFQ working would be welcomed. Thanks A bunch

r1p5#show policy-map interface fa 0/1

FastEthernet0/1

Service-policy output: pm1

Class-map: allow-man (match-all)

457917 packets, 65024214 bytes

30 second offered rate 14339000 bps, drop rate 9358000 bps

Match: access-group 101

Queueing

Output Queue: Conversation 265

Bandwidth 15 (%)

Bandwidth 1500 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 457912/65023504

(depth/total drops/no-buffer drops) 0/286100/0

Class-map: allow-default (match-all)

231200 packets, 32830400 bytes

30 second offered rate 6070000 bps, drop rate 184000 bps

Match: access-group 102

Queueing

Output Queue: Conversation 266

Bandwidth 60 (%)

Bandwidth 6000 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 231199/32830258

(depth/total drops/no-buffer drops) 0/3902/0

Class-map: class-default (match-any)

5 packets, 599 bytes

30 second offered rate 0 bps, drop rate 0 bps

Match: any

Queueing

Flow Based Fair Queueing

Maximum Number of Hashed Queues 256

(total queued/total drops/no-buffer drops) 0/0/0

In light of your request... here is the result of 3 different UDP streams each set to 100M send rate following the conventions and ports layed out in my first post.

Still I see a sharing of ~33% between the streams.

Any Ideas or experience having the CBWFQ working would be welcomed. Thanks A bunch

r1p5#show policy-map interface fa 0/1

FastEthernet0/1

Service-policy output: pm1

Class-map: allow-man (match-all)

457917 packets, 65024214 bytes

30 second offered rate 14339000 bps, drop rate 9358000 bps

Match: access-group 101

Queueing

Output Queue: Conversation 265

Bandwidth 15 (%)

Bandwidth 1500 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 457912/65023504

(depth/total drops/no-buffer drops) 0/286100/0

Class-map: allow-default (match-all)

231200 packets, 32830400 bytes

30 second offered rate 6070000 bps, drop rate 184000 bps

Match: access-group 102

Queueing

Output Queue: Conversation 266

Bandwidth 60 (%)

Bandwidth 6000 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 231199/32830258

(depth/total drops/no-buffer drops) 0/3902/0

Class-map: class-default (match-any)

5 packets, 599 bytes

30 second offered rate 0 bps, drop rate 0 bps

Match: any

Queueing

Flow Based Fair Queueing

Maximum Number of Hashed Queues 256

(total queued/total drops/no-buffer drops) 0/0/0

"Class-map: allow-man (match-all)

457917 packets, 65024214 bytes

30 second offered rate 14339000 bps, drop rate 9358000 bps

Match: access-group 101

Queueing

Output Queue: Conversation 265

Bandwidth 15 (%)

Bandwidth 1500 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 457912/65023504

(depth/total drops/no-buffer drops) 0/286100/0

Class-map: allow-default (match-all)

231200 packets, 32830400 bytes

30 second offered rate 6070000 bps, drop rate 184000 bps

Match: access-group 102

Queueing

Output Queue: Conversation 266

Bandwidth 60 (%)

Bandwidth 6000 (kbps) Max Threshold 64 (packets)

(pkts matched/bytes matched) 231199/32830258

(depth/total drops/no-buffer drops) 0/3902/0 "

14339000 bps, drop rate 9358000 = 4981000 bps

6070000 bps, drop rate 184000 bps = 5886000 bps

Shows your allow-default class is getting more bandwidth than allow-man class, although not at the expected 4:1 ratio. The ratio could also be impacted since only 6 Mbps is offered for allow-default class.

However, to really confirm what's happening, you might need to place another router to receive this traffic and count the rates of the the two classes as received.

Lastly, you say your sending 3 streams, each at 100 Mbps? How do they get into the router? Did you mean 3 streams at 10 Mbps each? The offered rates show 14 and 6 Mbps? If not doing so, try 3 streams, each at 10 Mbps in across a FastEthernet interface, and output interface set to 10 Mbps.

PS:

What's the router's CPU usage look like during these tests? At high Ethernet bandwidths, an 1800 might be overdriven. If it is, expected functioning might not be provided.

Hi,

The above offered rates suggests the observed bandwidths of ~33% +_~7%. The fact that these offered rates do not reflect my specified bandwidth is a problem. Where do these values originate from???

Iperf servers can (and do) display the throughput received at its end (quite different than the 100Mbps sent). This is how I get the ~33% of the traffic streams. Incidently the bandwidth seen at the server end totals ~6-8MBps not 10Mbps!!! Yet another perculiarity, that I dont understand.

In answer to your question, three machines are sending at 100 mbps (ethernet speed and UDP bandwidth in IPERF) into the router. I presume the router is dropping these to a rate of 100mbps of course.

However there is still 100Mbps into the router and 10Mbps out of the router. This fact should mean that we get drops. We do not.

Getting Started

Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community:

Review Cisco Networking products for a $25 gift card