cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
2418
Views
0
Helpful
4
Replies

Recommended Shaping

John Blakley
VIP Alumni
VIP Alumni

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

HTH, John *** Please rate all useful posts ***
1 Accepted Solution

Accepted Solutions

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.)

View solution in original post

4 Replies 4

Joseph W. Doherty
Hall of Fame
Hall of Fame

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

Joseph,

So is the shaping rate taken into consideration before queueing?

Thanks!

John

HTH, John *** Please rate all useful posts ***

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.)

Joseph,

QoS really is your forte

Thanks!

John

HTH, John *** Please rate all useful posts ***