11-24-2012 07:36 AM - edited 03-04-2019 06:13 PM
Friends,
Normal burst size defines the size of token bucket which is the amount of data that can be sent in a given time interval.
Excess burst size defines the amount of data that can be sent if no tokens are available in bucket per time interval. That means, in a given time interval, if the normal burst size is reached, it will borrow a token from excess burst bits.
As per Cisco standards,
Normal burst = CIR * Tc
Excess burst = 2 * Normal burst
For example, on a 1Mbps link, I'm limiting traffic to 512Kbps with 96KB as normal burst and 192KB as excess burst.
rate-limit output 512000000 96000 192000 conform-action transmit exceed-action drop
My questions is,
Does the above command means that I can send traffic with a max rate of 1Mbps since I set excess burst as 192KB ?
Thanks,
Ameen.
11-25-2012 04:30 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
My questions is,Does the above command means that I can send traffic with a max rate of 1Mbps since I set excess burst as 192KB ?
No, in actual fact your data transmission rate is always physical interface "speed".
What the policer will do, if you try to send a volume of data, during the measured time period (Tc), that exceeds what would be transmitted by the measured rate, the excess will be dropped.
PS:
BTW, Be often just seems to effectively create a larger Bc.
11-25-2012 10:37 AM
If the answer is 'No', then what does really meant by excess burst and how is it allocated?
rate-limit output 512000000 96000 192000 conform-action transmit exceed-action drop
Here, CIR = 512Kbps, Normal burst = 96KB, Excess burst = 192KB, Tc = 1.5Sec
That means, during each 1.5sec (Tc), normal allowed traffic is 96KB. If there is more than 96KB to be transferred in a particular Tc, there comes excess burst in to action. In other words, if there is no enough tokens available in the token bucket during a particular Tc, tokens will be borrowed from excess burst bits.
Doesn't it mean that the maximum tokens that can be borrowed in a particular Tc is equal to the size of excess burst? That is, 192KB in above example.
If that's true, then the effective maximum allowed traffic rate becomes 1Mbps; Am I not correct?
11-25-2012 12:28 PM
Ameen Ahmed wrote:
If the answer is 'No', then what does really meant by excess burst and how is it allocated?
rate-limit output 512000000 96000 192000 conform-action transmit exceed-action drop
Here, CIR = 512Kbps, Normal burst = 96KB, Excess burst = 192KB, Tc = 1.5Sec
That means, during each 1.5sec (Tc), normal allowed traffic is 96KB. If there is more than 96KB to be transferred in a particular Tc, there comes excess burst in to action. In other words, if there is no enough tokens available in the token bucket during a particular Tc, tokens will be borrowed from excess burst bits.
Doesn't it mean that the maximum tokens that can be borrowed in a particular Tc is equal to the size of excess burst? That is, 192KB in above example.
If that's true, then the effective maximum allowed traffic rate becomes 1Mbps; Am I not correct?
do 2sec u can have 1Mbps after that the excees token bucket will finish & rate decreas to 512 Kbps
excess token fill again after overload of conform token
11-25-2012 06:44 PM
EHSAN MOHAMMADI wrote:
do 2sec u can have 1Mbps after that the excees token bucket will finish & rate decreas to 512 Kbps
excess token fill again after overload of conform token
How excess token is filled again? After overload of confirm token? What does that mean?
11-26-2012 01:05 AM
Ameen Ahmed wrote:
How excess token is filled again? After overload of confirm token? What does that mean?
assume that ur normal rate is 512000 bps & ur token bucket is empty
without using ur bw 0.5 sec later ur token bucket will be 256000 & after 1sec token bucket will be full (512 Kbps) after that ur exceed bucket starts to fill with 512000 bps or 64000 Bps
if u use bw during this time u should subtract using bw per secound from ur cir (in this case 512000)
11-26-2012 09:07 AM
Hi Ameen,
Your Config:
rate-limit output 512000000 96000 192000 conform-action transmit exceed-action drop
Explanation:
Please note you are actually limiting the flow to 512Mbps here and not 512Kbps, but I'm sure that was just a typo.
The Bc (Burst Committed) value is the size of the "chunks" of data that can be put on the wire at any given time interval. If you divide 96Kbps (CIR) by 512Kbps (Bc) and multiply times 1000 (To get milliseconds) you will get a value of 187.5. This means that every 187.5ms you can put 96Kilobits on the wire, equating to the 512Kbps of CIR you have configured.
The Be (Burst Exceeded) value is like a bank. If you have a time interval (187.5ms in this case) that sends less than the Bc (96Kilobits in this case) it will be deposited into the Be "bank" for use at a later time when needed. The maximum amount of idle credit that can be deposited into the Be "bank" at any given time is what is configured, in this case 192Kilobits.
Caveats:
1) Find our from your ISP what the circuit is contracted for in regards to bursting above the CIR, if the circuit has experienced idle periods. Often times the ISP will support 1 x Bc for your Be value, however they may offer no bursting capability or sometimes 2 or 3 times your Bc value.
2) You do not start with any bits in the Be "bank", they must be accumulated during idle periods.
Thank you,
Mark Sanchez
11-26-2012 11:05 AM
Hi Mark,
Thanks for your nice explanation. You are correct, 512Mbps is a typo.
Please note that the time interval here is 1.5sec (96*8/512) and not 187.5ms, but I'm sure that was just a typo.
1. Do you've a Cisco document to substantiate the explanation regarding filling of Be bucket?
2. Can I really pump a max of 1Mbps using the above rate-limit config? If No, then what's the significance Be? (In a shared network, if no other traffic in network, we should get a transfer speed equal to Be which is 2 * Bc here - That's how shared network evolved, I guess)
3. How the Be bank bits are used? Are they used during every Tc if required?
Thanks,
Ameen Ahmed.
11-26-2012 11:16 AM
Hi Ameed,
That was not a typo, your configuration currently has the Tc being replenished every 187.5ms based on your configuration. On some platforms the minimum (Best for real-time traffic) the minimum Tc is 125ms in which you would divide the CIR/8 to determine.
So for your example if 512Mbps is your CIR and you wish to allot that into 125ms Tc's, you could configure your Bc to be 64Kbps.
Please find the answers to your questions here:
1) http://www.cisco.com/en/US/docs/ios/12_0/qos/configuration/guide/qcpolts.html
2) The Be is used to compensate for idle periods in the network, used most commonly on edge routers with WAN circuits. The Be most commonly would NOT be 2*CIR, but 2*Bc. The total token bucket = Bc + Be. The Be only gets replenished during intervals where less than Bc was transmitted.
3) Correct, the Be bits that are "banked" are used every Tc when the data load can utillize them.
I hope this answers your questions. Please let me know if anything still remains unclear.
11-26-2012 11:26 AM
my english is not good enouph to explain token bucket proccess but u can use this link (police)
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