I was asked today how to calculate the Bc values. The known formulas always add confusion. So the aim of this article is not to add more confusion, but offer an easy alternate way to calculate the Bc values used with shaping.
First lets review some basic shaping definitions.
CIR (Committed Information Rate)
- Dictates the output rate one aims to average per second on the circuit/interface.
- Book formula : CIR = Bc / (Tc/1000)
- It is the time in milliseconds into which a second is divided for transmission intervals.
- The Tc can’t be adjusted directly, but it can be changed by setting the Bc to a specific value..
- The maximum value of Tc is 125ms (8 intervals per second) and the minimum value is 10ms (100 intervals per second).
- Actually 8ms (125 intervals per second) on distributed platforms. On distributed platforms, the Tc must be defined in 4-ms increments. The nearest multiple of 4 ms within the 10-ms target is 8 ms.
- Book formula : Tc = (Bc / CIR) x 1000
Bc (Committed Burst Rate)
- Bc is the number of committed bits allowed to be sent per interval (Tc) to conform with the target-rate (CIR) per second.
- If Bc worth of bits are sent every interval in a second, the output rate is the CIR.
- Book formula : Bc = CIR x (Tc/1000)
To work out what the Bc value should be on a 512k link, you need to decide what your Tc should be. A big deciding factor is the most used/important application. For data applications doing large file transfers, a larger Tc is generally recommended. For voice you want the smallest possible Tc, to avoid voice packets having to wait a large amount of milliseconds for the next interval before being sent.
Firstly lets calculate using a Tc of 125ms on a 512k pvc. Using the formula above:
Bc = CIR x (TC/1000) Bc = 512000 x (125/1000) Bc = 64000
If we need to use a TC of 10ms on the same pvc:
Bc = CIR x (TC/1000) Bc = 512000 x (10/1000) Bc = 5120
If we need to use a TC of 8ms on the same pvc:
Bc = CIR x (TC/1000) Bc = 512000 x (8/1000) Bc = 4096
It is not difficult, but this usually needs to be worked out on a piece of paper. If you lazy like me, you want to work it out in your head. I do this by simplifying the actual formula.
To get the Bc value, I use the following formula and work out the result much quicker.
Bc = CIR/Intervals per second
To get the intervals per second, 1000ms/Tc.
Example a Tc of 125 ms (1000ms/125ms) = 8 intervals
512000/8 = 64000 Bc 'Tc of 125ms = 8 intervals per second'
Using the rest of the above examples :
512000/100 = 5120 Bc 'Tc of 10ms = 100 intervals per second'
512000/125 = 4096 Bc 'Tc of 8ms = 125 intervals per second'
10 thoughts on “Working out Bc values quickly”
I love ur explanation but i hv a question:
As you said that min intervals are 8 and maximum are 100. What is the criteria to define how many intervals suit the given CIR. Thanks
A question is rarely around how many intervals required.
The intervals is a product of the TC. You will almost always be given 2 parts of the formula whether it be the CIR and TC, or BC and the CIR, etc.
i do understand what u r saying. but i was asking from a service provider point of view where u have only CIR and u hv to decide the Tc & then Bc. So on what bases u decide how many intervals will suit a given CIR as a CIR can be a 100Mb or 128Kb?
From a SP perspective there is no one value that will suite all.
Some SPs leave the defaults values, ie. not specify the BC.
But for a customer it might be better to asses the traffic breakdown to determine the TC. If its is voice traffic primarily, the a small TC would be best. For a large data transfers, a larger TC would be best, else some value in the middle can be used.
Asses it on a case by case basis.
What about Be computation? Any hints?
Using this method, the Be woud be calculated:
Be = ( AIR (Physical Interface Rate) / Interval per second ) – Bc
is CIR can be calculated ?! if i have a 10Mbps shared BW and 100 customers with speed 6/4 Mbps and the data transfer is 40GB/Month !! what is the CIR ?!
All depends on your allocated over-subscription levels if at all.
With no oversubscription, each client having a 64k circuit you should be ok.
Can you tell me what the numbers would be for a T3?