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'