cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Announcements
Join Customer Connection to register!
597
Views
0
Helpful
2
Replies
cjinfantino
Beginner

QoS Shaping, exceeding Bc

Hey all,

From Cisco's site, and all other documentation I can find - it clearly states that while shaping, "If not enough tokens are in the bucket to send a packet, the packet either waits until the bucket has enough tokens (in the case of a shaper) or the packet is discarded or marked down (in the case of a policer)."

It also states, "The bucket itself has a specified capacity. If the bucket fills to capacity, newly arriving tokens are discarded and are not available to future packets. Thus, at any time, the largest burst a source can send into the network is roughly proportional to the size of the bucket. A token bucket permits burstiness, but bounds it."

But, on the CLI I configured a shaper that has a Bc of 3200 bits (400 bytes) and a Be of 3200 bits (400 Bytes). So the total the bucket can ever be is 800 Bytes. But if I send a 1500 Bytes packet, say a continous ping of 1500 Bytes, the shaper will send the packets through up to the CIR.

If the theory is true that you can never send a packet greater than the size of the bucket, how are these pings going through? Also, how is the shaper figuring out it should only send X number of 1500 byte packets through to equal the CIR.

Thanks all,

CJ

http://www.cisco.com/en/US/tech/tk543/tk545/technologies_tech_note09186a00800a3a25.shtml#trafficshaping

1 ACCEPTED SOLUTION

Accepted Solutions
Giuseppe Larosa
Hall of Fame Master

Hello CJ,

packets cannot be fragmented so when they are sent they are sent as a whole.

Given the CIR and the TC time interval for a given packet size the router can meter the traffic to be sent against the bucket, if necessary multiple TC intervals = multiple BC blocks must  pass in "silence" to cumulate enough credits between sending packet N and packet N+1 to respect the CIR.

In  other words given the CIR if you use a low Bc you are using a low Tc also as

Tc= Bc/CIR

Actually there is a minimal value for Tc in the IOS implementation. (it should be in the order of 2,5 msec - 10 msec I didn't check)

Hope to help

Giuseppe

View solution in original post

2 REPLIES 2
Giuseppe Larosa
Hall of Fame Master

Hello CJ,

packets cannot be fragmented so when they are sent they are sent as a whole.

Given the CIR and the TC time interval for a given packet size the router can meter the traffic to be sent against the bucket, if necessary multiple TC intervals = multiple BC blocks must  pass in "silence" to cumulate enough credits between sending packet N and packet N+1 to respect the CIR.

In  other words given the CIR if you use a low Bc you are using a low Tc also as

Tc= Bc/CIR

Actually there is a minimal value for Tc in the IOS implementation. (it should be in the order of 2,5 msec - 10 msec I didn't check)

Hope to help

Giuseppe

View solution in original post

OK. That makes sense with what I am seeing on the command line. I suppose it means the theory holds true as well. Technically, the router is only sending the tokens that exist in the bucket every Tc, but some mechanism allows a credit to be established against a packet until there is enough tokens to send the packet.

Thanks for the clarification.

CJ