The Committed Information Rate (CIR) is a fundamental concept in telecommunications and computer networking, particularly within the context of Service Level Agreements (SLAs) for Frame Relay, ATM, and modern Carrier Ethernet circuits. It represents the guaranteed bandwidth that a network service provider commits to delivering to a customer under normal network conditions.
Unlike simple "access speed" (port speed), the CIR is a logical throughput guarantee. While a physical connection might support 100 Mbps (the Access Rate), the customer might only pay for a CIR of 50 Mbps. This ensures that the provider prioritizes the first 50 Mbps of traffic, while any traffic exceeding this limit (up to the Access Rate) is marked as "Burstable" or "Excess" and may be dropped if the network is congested.
The CIR Formula
The calculation of CIR relies on the relationship between the amount of data permitted to pass through the network and the time interval during which this data is measured.
CIR = Bc / Tc
Where:
Bc (Committed Burst Size): The maximum amount of data (usually expressed in bits) that the network agrees to transfer under normal conditions during a specific time interval.
Tc (Committed Time Interval): The time period (in seconds) over which the committed burst size is measured.
CIR (Committed Information Rate): The average rate of information transfer (bits per second).
Why Use a CIR Calculator?
Network engineers and administrators use this calculation to configure traffic shaping and policing policies on routers and switches. By correctly calculating the relationship between Burst Size ($B_c$) and the Time Interval ($T_c$), engineers can ensure that traffic shapers are configured to smooth out data transmission, preventing packet drops at the provider's ingress point.
For example, if you have a contract for a 10 Mbps CIR, the provider measures this over small time slices (Tc). If the Tc is set to 125ms, the device is allowed to transmit 1.25 Megabits ($B_c$) every 125ms. If the device attempts to send 2 Megabits in that 125ms window, the excess is considered "Burst Excess" ($B_e$) and is liable to be discarded or queued depending on the configuration.
Related Concepts
EIR (Excess Information Rate): This is the bandwidth available above the CIR up to the maximum Access Rate. It is not guaranteed. It is calculated using the Excess Burst Size ($B_e$).
Traffic Policing vs. Shaping: Policing discards traffic that exceeds the CIR immediately. Shaping buffers the excess traffic in a queue and transmits it when bandwidth becomes available, smoothing the output rate to match the CIR.
function calculateCIR() {
// Get input values
var bcInput = document.getElementById("burstSize").value;
var bcUnit = document.getElementById("burstUnit").value;
var tcInput = document.getElementById("timeInterval").value;
var tcUnit = document.getElementById("timeUnit").value;
var resultBox = document.getElementById("results");
// Validate inputs
if (bcInput === "" || tcInput === "" || bcInput < 0 || tcInput <= 0) {
alert("Please enter valid positive numbers for Burst Size and Time Interval.");
resultBox.style.display = "none";
return;
}
// Convert Burst Size to Bits (Bc)
// Unit values: 1 (bits), 1000 (Kb), 1000000 (Mb), 8 (Bytes), 8000 (KB)
var bcBits = parseFloat(bcInput) * parseFloat(bcUnit);
// Convert Time to Seconds (Tc)
// Unit values: 1 (s), 0.001 (ms)
var tcSeconds = parseFloat(tcInput) * parseFloat(tcUnit);
// Perform Calculation: CIR = Bc / Tc
// Result is in Bits Per Second (bps)
var cirBps = bcBits / tcSeconds;
// Calculate variations
var cirKbps = cirBps / 1000;
var cirMbps = cirKbps / 1000;
// Display Results
document.getElementById("resBps").innerHTML = cirBps.toLocaleString("en-US", {maximumFractionDigits: 0}) + " bps";
document.getElementById("resKbps").innerHTML = cirKbps.toLocaleString("en-US", {maximumFractionDigits: 2}) + " Kbps";
document.getElementById("resMbps").innerHTML = cirMbps.toLocaleString("en-US", {maximumFractionDigits: 4}) + " Mbps";
// Show result box
resultBox.style.display = "block";
}