Pages

9/29/09

Link Utilization

[Originally Posted in 2009]

I believe that interface utilization is a concept that many don't understand.  To help this, I wanted to take a few minutes to explain a few of the finer points.

Interface utilization numbers are utilization averages (over some duration), even if they don't mention the duration.  At any given moment, an interface is 100% utilized or 0% utilized; it is actively putting bits onto the wire or it's idle.  The notion that an interface may be 10% utilized is confusing because if the interface is actively transmitting data, another frame that tries to exit gets queued behind the current transmission.  The 10% utilization number implies that more bits can be put on the wire immediately, which is false.  10% utilization means that the interface is putting bits on the wire 10% of the time.

Putting bits on the wire relating to one specific frame can take some time.  This time is called the transmission or serialization delay.  The equation to calculate this is:  

frame size (bits) / link speed (bits / second) = seconds to transmit

Here is a sample calculation of a 10 mbps Ethernet link, trying to transmit a 1500 byte packet (with 38 bytes for the Ethernet header)

frame size = 1538 bytes * 8 = 12304 bits
link speed = 10,000,000 bits / second
12304 bits / 10,000,000 bits per second = 0.0012 seconds = 1.2 ms

I am omitting one layer of this calculation, the actual baud and symbol rate; we will tackle that in another article.

As link speeds increase inside the campus, the serialization delay becomes quite short.  This delay is still an issue on slower (T1) links; that same full sized frame can take almost 8ms to transmit!

Serialization delay is important for slower links because even though your link is not 100% utilized, one frame can be slowed down if the interface is busy transmitting another frame.

Calculating the average queue depth, how many packets are (likely) in front of a new frame, is easy when you have the utilization average.  The formula is as follows:

% utilized / (1 - % utilized) = average queue depth

At 50% utilization, the average queue depth is one packet.  At 75% utilization, the average queue depth is three packets.  On the faster campus links, delay isn't significant, but on a T1 getting stuck behind three full sized frames means about 24ms of latency before the first bit can be put on the wire.

Link utilization, transmit queuing, propagation delays, and a myriad of other factors all need to be considered when designing a network.

1 comment: