08-15-2011 06:24 AM - edited 03-04-2019 01:17 PM
All,
If I have 3 classes that are set aside bandwidth minimums, is it recommended to also shape within the same class if the line rate is faster than my CIR?
For example:
I have an ethernet handoff (100Mb) from our provider, but our CIR is 50Mb.
I have the following:
policy-map outbound
class high
priority 6000
class medium
bandwidth percent 40
class low
bandwidth percent 30
class class-default
bandwidth percent 20
shaping average 50000000
Would it be recommended to shape medium and low classes as well?
Thanks!
John
Solved! Go to Solution.
08-15-2011 09:54 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
Yes, for a hierarchal policy. Shapers can also support their own queues. (How a shaper's queues are utilized when there are subordinate child policy queues, I've not found well documented. I've occasionally seen what appears to be a shaper maintaining its own queues and the child policy's queues. How the shaper interacts with a child policy is likely IOS and possibly platform dependent.)
A shaper can also be subordinate to a class queue, as in your original policy.
For 100 Mbps, this:
class class-default
bandwidth percent 20
Would define a single queue that should be guaranteed at least 20 Mbps. If nothing else was using bandwidth but this class, this class could use all 100 Mbps.
However, when you have:
class class-default
bandwidth percent 20
shaping average 50000000
You still have the 20 Mbps bandwidth guarantee, but the shaper precludes using more than 50 Mbps (for the class), and on an IOS before HQF (or HQF like QoS), the shaper will use WFQ for flows within the class.
Your other two non-LLQ class could use all available interface bandwidth. Even the LLQ could, if interface not congested, use 100% of the interface bandwidth. (The implicit policer only engages when there are packets in the LLQ, which won't happen until the interface is congested.)
08-15-2011 07:02 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
Whether you need to shape depends much on what your provider does when your traffic is over contract. If they drop it, then it often is a really good idea to shape it to the contracted value.
Assuming the provider enforces CIR for all traffic, then you want to shape for all your traffic before you prioritize it. This can be accomplished using a hierarchal policy.
e.g.:
policy-map shape_4_CIR
class-default
shape average 50000000
service-policy outbound
policy-map outbound
class high
priority 6000
class medium
bandwidth percent 40
class low
bandwidth percent 30
class class-default
bandwidth percent 20
When shaping, often the shaper only accounts for L3 but the provider accounts for L2, i.e. you need to shape for the L2 bandwidth. Since the L2 overhead varies per L3 packet size, you can either shape for worst case or your expected average. Generally shaping 10 to 15% less than nominal bandwidth works well. So, for example, in your case of 50 Mbps CIR, you might want to shape at 45 Mbps.
PS:
If your priority class is really sensitive to timing, since the shaper imposes some overhead and bursts (the latter can be minimized by reducing Tc), you can move it to the parent policy and shape such that there's a "reserved" block of bandwidth. (Also, you many need to decrease Tx ring limit.)
e.g.:
policy-map shape_4_CIR_less_LLQ
class high
priority 6000
police 6000000 #NB: LLQ implicit policer won't see congestion
class-default
shape average 44000000 #NB: didn't allow for L2 in this example - but even more important when timing critical
service-policy outbound
policy-map outbound
class medium
bandwidth percent 40
class low
bandwidth percent 30
class class-default
bandwidth percent 20
08-15-2011 08:49 AM
Joseph,
So is the shaping rate taken into consideration before queueing?
Thanks!
John
08-15-2011 09:54 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
Yes, for a hierarchal policy. Shapers can also support their own queues. (How a shaper's queues are utilized when there are subordinate child policy queues, I've not found well documented. I've occasionally seen what appears to be a shaper maintaining its own queues and the child policy's queues. How the shaper interacts with a child policy is likely IOS and possibly platform dependent.)
A shaper can also be subordinate to a class queue, as in your original policy.
For 100 Mbps, this:
class class-default
bandwidth percent 20
Would define a single queue that should be guaranteed at least 20 Mbps. If nothing else was using bandwidth but this class, this class could use all 100 Mbps.
However, when you have:
class class-default
bandwidth percent 20
shaping average 50000000
You still have the 20 Mbps bandwidth guarantee, but the shaper precludes using more than 50 Mbps (for the class), and on an IOS before HQF (or HQF like QoS), the shaper will use WFQ for flows within the class.
Your other two non-LLQ class could use all available interface bandwidth. Even the LLQ could, if interface not congested, use 100% of the interface bandwidth. (The implicit policer only engages when there are packets in the LLQ, which won't happen until the interface is congested.)
08-15-2011 01:15 PM
Joseph,
QoS really is your forte
Thanks!
John
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