10-06-2015 08:20 AM - edited 03-05-2019 02:28 AM
All,
I had a couple more questions about qos brought up to me:
Example:
policy-map Test
class Voice
priority percent 20
class Medium
bandwidth remaining percent 60
class Low
bandwidth remaining percent 30
class class-default
bandwidth remaining percent 10
Let's say the minimums for ease of math is Voice - 5Mb, Medium - 3Mb, Low - 2Mb, Default 1Mb on a 10Mb circuit (I know the math doesn't work...it's just for example)
The policy above is close to what we use in our environment. The question that was brought up was:
1. If the Medium class has hit the guaranteed bandwidth, and it doesn't need any more than the minimum, the low class can share the bandwidth remaining. If the medium class only needs 3Mb, but the Low class needs 7Mb (to equate to the 10Mb), it would be allowed to do so?
2. If so, since there's no cap on either queue, when another flow that needs to match on the Medium class comes in, will it be able to get any bandwidth since it's met the minimum guarantee already. I'm thinking that it won't and the Low queue flow can actually saturate the circuit.
3. Just for clarification, the router will allow the lower classes to use the llq reservation if the llq is not being used, correct?
Thanks!
John
Solved! Go to Solution.
10-06-2015 01:11 PM
Disclaimer
The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
Liability Disclaimer
In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
Posting
Yes Medium can push back Low, if it's under its 2:1 ratio between those two classes. It can also have more than 2:1, if the Low class doesn't want its proportion.
In theory, what the ratios do is guarantee the queues will be dequeued in proportion to their weights. So, if only Medium and Low are fighting for bandwidth, Medium (with your 2:1 bandwidth ratio allocations) will, over time, have twice as many bits/bytes dequeued over Low.
The percentages only hold true if 100% had been actually allocated and all the classes want at least their minimums bandwidths.
10-06-2015 09:52 AM
Disclaimer
The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
Liability Disclaimer
In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
Posting
#1 Yup
#2 If, as you posit, Medium is using 3 Mbps and Low is using 7 Mbps, another Medium flow (or the existing Medium flow[s]) can take bandwidth from the Low class (with your posted policy).
#3 Yup
PS:
John, what might help you to better understand CBWFQ bandwidth assignments, what they really do is assign relative weights. The following policies would effectively work like the one you posted:
policy-map Test
class Voice
priority percent 20
class Medium
bandwidth remaining percent 12
class Low
bandwidth remaining percent 6
class class-default
bandwidth remaining percent 2
policy-map Test
class Voice
priority percent 20
class Medium
bandwidth percent 30
class Low
bandwidth percent 15
class class-default
bandwidth percent 5
What all three policies do is dequeue LLQ first, but limit it to 20% (when it's queued), and divide up available bandwidth, between your Medium, Low and default classes in the ratio of 6:3:1. (NB: ratios also hold if you define bandwidth in bps, too.) If only two of your three non-LLQ are active, they will divide bandwidth still maintaining the same ratios, so for example, if just Medium and default, then their ratio would be 6:1. If a class doesn't need its full bandwidth proportion, the bandwidth is available to other classes. So, you might see Medium to default actually using 1:15.
[edit - PPS:]
The above holds true for ISRs in the IOS versions I've work with (not the very latest), I understand the ASRs are a little more complex.
10-06-2015 11:53 AM
Thanks Joseph! So, does this mean that if the medium class will have the ability to scale the low class back if another medium flow begins?
** Edit **
Also, do you know if there's a way to see how much bandwidth a flow is taking? I don't know of a command, and netflow only shows you a total amount of data transferred...
Thanks!
10-06-2015 01:11 PM
Disclaimer
The Author of this posting offers the information contained within this posting without consideration and with the reader's understanding that there's no implied or expressed suitability or fitness for any purpose. Information provided is for informational purposes only and should not be construed as rendering professional advice of any kind. Usage of this posting's information is solely at reader's own risk.
Liability Disclaimer
In no event shall Author be liable for any damages whatsoever (including, without limitation, damages for loss of use, data or profit) arising out of the use or inability to use the posting's information even if Author has been advised of the possibility of such damage.
Posting
Yes Medium can push back Low, if it's under its 2:1 ratio between those two classes. It can also have more than 2:1, if the Low class doesn't want its proportion.
In theory, what the ratios do is guarantee the queues will be dequeued in proportion to their weights. So, if only Medium and Low are fighting for bandwidth, Medium (with your 2:1 bandwidth ratio allocations) will, over time, have twice as many bits/bytes dequeued over Low.
The percentages only hold true if 100% had been actually allocated and all the classes want at least their minimums bandwidths.
10-06-2015 09:52 AM
Hello.
>> If the Medium class has hit the guaranteed bandwidth, and it doesn't need any more than the minimum, the low class can share the bandwidth remaining. If the medium class only needs 3Mb, but the Low class needs 7Mb (to equate to the 10Mb), it would be allowed to do so?
Yes, even though scheduling would service "Medium" class much better (leading to better latency).
>> If so, since there's no cap on either queue, when another flow that needs to match on the Medium class comes in, will it be able to get any bandwidth since it's met the minimum guarantee already. I'm thinking that it won't and the Low queue flow can actually saturate the circuit.
Any packet (not just a new flow) coming into any class, will be enqueued first!
Scheduling, then, would drain all the queues with weight (but LLQ, as it's serviced first of all) proportional to "bandwidth" - that is why if Medium and Low would try to allocate 10M each, Medium would get twice more bandwidth, than Low (proportion 60 to 30).
>>the router will allow the lower classes to use the llq reservation if the llq is not being used, correct?
If class Voice does not use bandwidth, it may be borrowed by other classes.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide