05-17-2009 01:19 PM - edited 03-04-2019 04:47 AM
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...
05-17-2009 03:58 PM
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
05-17-2009 04:52 PM
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.
05-17-2009 05:19 PM
Could you post "show interfaces" and "show policy-map interface" when router under test load so we can see what you're seeing?
05-17-2009 06:02 PM
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
05-17-2009 06:51 PM
Hi Rick,
I decreased the speed by "interface speed 10".
Is this what you were wanting to know?
05-17-2009 06:51 PM
Hi Rick,
I decreased the speed by "interface fas 0/1 speed 10".
Is this what you were wanting to know?
05-17-2009 07:01 PM
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
05-17-2009 07:02 PM
#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???
05-17-2009 07:03 PM
#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???
05-18-2009 02:17 AM
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
05-19-2009 08:16 PM
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
05-19-2009 08:16 PM
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
05-20-2009 03:02 AM
"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.
05-20-2009 02:11 PM
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.
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: