cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
869
Views
5
Helpful
3
Replies

CBWFQ QoS Bandwidth allocation question

Stephen Maurice
Beginner
Beginner

Hi all,

I am setting up a lab to experiment with some bandwidth classes using CBWFQ. My lab scenario is very simple and contains two classes, critical data and scavenger.

Basically, what I am trying to achieve is that I would like either class to be able to take full advantage of the link if no other class is using it, however during heavy utilization, I want the critical data to be able to utilize 90% of the link and scavenger should be scaled back  to 5% so the critical data can pass through without issues. 

I am planning to make a more complex configuration for our production network, with an additional priority class for voice and business class for data with percentages adjusted accordingly. I am just doing this lab to try and prove that one class can't choke out or have to fight for bandwidth with the other. 

I set up two cisco 2901 routers and set the bandwidth command to reflect 100mbps on the "WAN" link. I fired up an iperf session between a client and server to test throughput, and I was able to achieve a little over 90mbps from each class while there was NO other utilization from other classes on the link, so that was good test to prove each class has the ability to use the full link if it is available. 

However, I tried to run an iperf session from both classes at the same time to simulate maximum network congestion on both classes, and my critical data class achieved around 45mbps and my scavenger class achieved 40mbps. It was my understanding the critical should have been able to achieve close to 90mbps and the scavenger would be limited to 5mbps. 

See command output below to see the policy:

class-map match-any SCAVENGER-QOS
match dscp af11
class-map match-any CRITICAL-DATA-QOS
match dscp af31

policy-map RATE_LIMIT_TEST
class CRITICAL-DATA-QOS
bandwidth percent 90
class SCAVENGER-QOS
bandwidth percent 5

interface GigabitEthernet0/0
bandwidth 100000
ip address 10.17.1.1 255.255.255.252
load-interval 30
duplex auto
speed auto
service-policy output RATE_LIMIT_TEST

I examined the policy map during the test as well... how does this make sense? It clearly says in the command output that critical data should have 90000kbps and scavenger 5000kbps, yet it is offering both classes nearly the same amount of bandwidth (40 - 45mbps). Am I not understanding a concept correctly or forgetting a configuration?

PAS_LAB_RTR#show policy-map int g0/0
GigabitEthernet0/0

Service-policy output: RATE_LIMIT_TEST

Class-map: CRITICAL-DATA-QOS (match-any)
271043 packets, 338373438 bytes
30 second offered rate 45042000 bps, drop rate 0000 bps
Match: dscp af31 (26)
271043 packets, 338373438 bytes
30 second rate 45040002 bps
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 271044/338374776
bandwidth 90% (90000 kbps)

Class-map: SCAVENGER-QOS (match-any)
291463 packets, 435690258 bytes
30 second offered rate 42684000 bps, drop rate 0000 bps
Match: dscp af11 (10)
291463 packets, 435690258 bytes
30 second rate 42684000 bps
Queueing
queue limit 64 packets
(queue depth/total drops/no-buffer drops) 1/0/0
(pkts output/bytes output) 291462/435688762
bandwidth 5% (5000 kbps)

Class-map: class-default (match-any)
58 packets, 4509 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: any

queue limit 64 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 58/4759

1 Accepted Solution

Accepted Solutions