Formula sheet

Packet Network Latency and Jitter Formula Sheet

Telecommunications formulas for packet-network latency, jitter, propagation delay, serialization delay, queueing delay, bandwidth-delay product, buffer sizing, packet loss, and validation measurements.

This formula sheet collects first-pass calculations for packet-network latency and jitter budgets. It is intended for telecommunications engineers who need to estimate, review, test, or troubleshoot a service before relying on field measurements alone.

The equations are screening tools, not a replacement for measured traffic, device data, QoS configuration review, and acceptance testing. State the service boundary, direction, packet size, packet rate, traffic class, load condition, clock reference, route, and percentile before comparing numbers.

Notation

SymbolMeaningTypical unit
dpath lengthm, km
vpropagation speed in mediumm/s
Lpacket length including relevant headersbit
Rline rate, shaped rate, or class service ratebit/s
\lambdapacket arrival ratepacket/s
\mupacket service ratepacket/s
\rhoutilizationdimensionless
t_{prop}propagation delays
t_{ser}serialization delays
t_{proc}processing delays
t_{queue}queueing delays
t_{sched}scheduler or radio access delays
t_{retx}retransmission or recovery delays
Jjitter or packet-delay variations
PLRpacket loss ratiodimensionless
RTTround-trip times

Use one consistent packet boundary. A payload-only packet size is not the same as an Ethernet frame size, a tunneled packet size, a radio transport block, or a measured packet on a provider handoff.

End-to-End Delay Decomposition

One-way packet latency can be written as:

t_{oneway}=t_{prop}+t_{ser}+t_{proc}+t_{queue}+t_{sched}+t_{retx}+t_{app}

where t_{app} represents endpoint, gateway, firewall, encryption, or application processing when the service boundary includes those functions.

For a multi-hop path:

t_{oneway}=\sum_i t_{prop,i}+\sum_i t_{ser,i}+\sum_i t_{proc,i}+\sum_i t_{queue,i}+\sum_i t_{sched,i}+t_{retx}+t_{app}

Round-trip time is:

RTT=t_{forward}+t_{reverse}

If the path is symmetric, a rough estimate is:

RTT\approx 2t_{oneway}

Do not infer one-way latency from half the RTT unless routes, queues, service classes, and clocks support that assumption.

Propagation Delay

Propagation delay through a medium is:

\displaystyle t_{prop}=\frac{d}{v}

For optical fiber, a common screening value is:

v_{fiber}\approx 2.0\times10^8\ \text{m/s}

or approximately:

t_{fiber}\approx 5\ \mu\text{s/km}

For free-space radio:

v_{radio}\approx 3.0\times10^8\ \text{m/s}

or approximately:

t_{radio}\approx 3.33\ \mu\text{s/km}

Route length may be much longer than map distance because of ducts, rights of way, rings, provider routing, diversity constraints, patch panels, and restoration paths.

Serialization Delay

Serialization delay is the time required to put all packet bits onto a link:

\displaystyle t_{ser}=\frac{L}{R}

For L in bytes:

\displaystyle t_{ser}=\frac{8L_{bytes}}{R}

If a packet traverses several egress links:

\displaystyle t_{ser,total}=\sum_i \frac{L_i}{R_i}

Use the rate that actually controls the queue. That may be the physical interface rate, a shaped provider rate, a radio scheduler allocation, a committed information rate, or a QoS class rate.

Packet Overhead and Goodput

If payload size is L_p and overhead is L_h:

L_{total}=L_p+L_h

Protocol efficiency is:

\displaystyle \eta_p=\frac{L_p}{L_{total}}

Payload goodput from line-rate throughput is:

G=\eta_p R_{delivered}

If packet loss and retransmission are material, a simple first-pass goodput screen is:

G\approx \eta_p R_{delivered}(1-PLR)

This expression is optimistic for protocols whose congestion control or retransmission behavior reduces rate after loss.

Utilization

For an offered bit rate A and service rate R:

\displaystyle \rho=\frac{A}{R}

For packets of length L:

\displaystyle \lambda=\frac{A}{L}
\displaystyle \mu=\frac{R}{L}

and:

\displaystyle \rho=\frac{\lambda}{\mu}

A stable single-server queue requires:

\rho<1

The engineering warning is stronger: delay tails often become unacceptable well before \rho reaches 1. For real-time classes, design review should examine utilization during normal, burst, maintenance, and degraded states.

M/M/1 Queueing Screen

For a simplified M/M/1 screening queue, average time in system is:

\displaystyle W=\frac{1}{\mu-\lambda}

Average queueing time, excluding service time, is:

\displaystyle W_q=\frac{\rho}{\mu(1-\rho)}

Average number of packets in the system is:

L_s=\lambda W

Average queue length is:

L_q=\lambda W_q

These equations assume Poisson arrivals, exponential service time, one server, infinite buffer, and a simple discipline. Packet networks often violate those assumptions. The value of the model is diagnostic: it shows how rapidly delay grows as utilization approaches capacity.

M/M/1 Tail Delay Screen

For an M/M/1 queue, a useful tail screen for time in system is:

\displaystyle W_p=\frac{-\ln(1-p)}{\mu-\lambda}

where p is the percentile as a fraction, such as 0.95 for p95.

For queueing time only, the unconditional waiting-time distribution has a probability mass at zero. If p>1-\rho, the queueing-time percentile can be screened as:

\displaystyle W_{q,p}=\frac{\ln\left(\frac{\rho}{1-p}\right)}{\mu-\lambda}

If p\le 1-\rho, then:

W_{q,p}=0

This distinction matters at low utilization. Many packets see no queue, but the tail can still matter during bursts.

G/G/1 Queueing Screen

When traffic is bursty or packet service time is not exponential, Kingman’s approximation gives a useful mean queueing screen:

\displaystyle W_q\approx \frac{\rho}{1-\rho}\frac{c_a^2+c_s^2}{2}\frac{1}{\mu}

where c_a is the coefficient of variation of inter-arrival time and c_s is the coefficient of variation of service time.

Higher burstiness increases delay even when average utilization is unchanged. This is why a network can pass a smooth throughput test and fail under realistic application traffic.

Packet Delay Variation and Jitter

For a sequence of measured one-way delays D_i, mean delay is:

\displaystyle \bar{D}=\frac{1}{N}\sum_{i=1}^{N}D_i

Root-mean-square delay variation is:

\displaystyle J_{rms}=\sqrt{\frac{1}{N}\sum_{i=1}^{N}(D_i-\bar{D})^2}

Consecutive packet-delay variation can be screened as:

J_i=|D_i-D_{i-1}|

Peak-to-peak delay variation over a measurement window is:

J_{pp}=D_{max}-D_{min}

A percentile spread can be more robust than a single maximum:

J_{p95-p50}=D_{95}-D_{50}

Always state which jitter definition is used. Clock jitter, serial-link jitter, and packet-delay variation are related timing concepts but not interchangeable measurements.

Bandwidth-Delay Product

The bandwidth-delay product estimates the amount of data in flight:

BDP=R\cdot RTT

For bytes:

\displaystyle BDP_{bytes}=\frac{R\cdot RTT}{8}

BDP is useful for transport-window sizing, buffer review, and understanding why long-distance high-rate services may need large in-flight data windows even when packet loss is low.

Buffer Drain Time

If a buffer contains B bits and drains at service rate R:

\displaystyle t_{drain}=\frac{B}{R}

If the buffer is specified in bytes:

\displaystyle t_{drain}=\frac{8B_{bytes}}{R}

This delay is not free capacity. A large buffer may reduce loss while creating excessive latency. Real-time services usually need bounded buffers, class separation, active queue management, traffic shaping, or admission control.

Burst Absorption

For a burst arriving at rate R_b into a class served at rate R_s, the excess rate is:

R_{excess}=R_b-R_s

If R_b>R_s for duration T_b, the required temporary buffer is:

B_{req}=(R_b-R_s)T_b

If R_b\le R_s, the burst does not grow the queue under this simple model.

After the burst ends and arrivals drop below the service rate, drain time depends on the difference between service rate and post-burst arrival rate.

Packet Loss Ratio

Packet loss ratio is:

\displaystyle PLR=\frac{N_{lost}}{N_{sent}}

If packets are counted in a class:

\displaystyle PLR_c=\frac{N_{lost,c}}{N_{sent,c}}

Loss should be tied to class, interface, queue, direction, measurement interval, load condition, and counter meaning. Drops before classification, policing drops, tail drops, active queue management drops, radio block errors, and application timeouts may have different engineering causes.

Delay Margin

For a latency requirement t_{req} and calculated percentile latency t_p:

M_t=t_{req}-t_p

For a jitter requirement J_{req} and calculated jitter J_p:

M_J=J_{req}-J_p

Positive margin is not enough if the assumptions are weak. Reserve allowance for measurement uncertainty, clock error, route changes, load growth, maintenance states, firmware changes, security inspection, encryption overhead, and degraded routing.

Measurement Resolution

If timestamp resolution is \Delta t, a simple uncertainty bound for one measured interval using two timestamps is:

\displaystyle u_t\approx \sqrt{2}\frac{\Delta t}{2}

This is only a resolution screen. Real measurement uncertainty can also include clock synchronization error, timestamp placement, software scheduling, packet capture loss, probe bias, asymmetric paths, and sample-size effects.

For a sample of N measured delays, sample mean is:

\displaystyle \bar{D}=\frac{1}{N}\sum_i D_i

Sample standard deviation is:

\displaystyle s_D=\sqrt{\frac{1}{N-1}\sum_i(D_i-\bar{D})^2}

Percentile latency should be reported directly from the measured distribution, not inferred from the average unless the distribution model has been justified.

Worked Example: One-Way p95 Latency and Jitter Screen

A remote monitoring service crosses two 100\ \text{Mbit/s} access links and three 1\ \text{Gbit/s} aggregation/core links. The route contains 60\ \text{km} of fiber-equivalent path length and four packet-forwarding devices. The critical telemetry packet is 1200\ \text{bytes} including relevant headers.

Assume:

ParameterValue
telemetry packet size1200\ \text{bytes}
access link rate100\ \text{Mbit/s}
core link rate1\ \text{Gbit/s}
fiber-equivalent route length60\ \text{km}
forwarding delay per device50\ \mu\text{s}
p95 queueing delay, access classes1.2\ \text{ms} total
p95 queueing delay, core classes0.5\ \text{ms} total
p50 queueing delay, all classes0.4\ \text{ms} total
one-way latency requirement5\ \text{ms} at p95
packet-delay variation target2\ \text{ms} using p95-p50

Packet length in bits:

L=1200(8)=9600\ \text{bit}

Serialization delay on one access link:

\displaystyle t_{ser,100M}=\frac{9600}{100\times10^6}=96\ \mu\text{s}=0.096\ \text{ms}

For two access links:

t_{ser,access}=2(0.096)=0.192\ \text{ms}

Serialization delay on one 1\ \text{Gbit/s} link:

\displaystyle t_{ser,1G}=\frac{9600}{10^9}=9.6\ \mu\text{s}=0.0096\ \text{ms}

For three core links:

t_{ser,core}=3(0.0096)=0.0288\ \text{ms}

Fiber propagation delay:

t_{prop}=60(5\ \mu\text{s/km})=300\ \mu\text{s}=0.300\ \text{ms}

Device processing delay:

t_{proc}=4(50\ \mu\text{s})=200\ \mu\text{s}=0.200\ \text{ms}

p95 queueing delay:

t_{queue,95}=1.2+0.5=1.7\ \text{ms}

p95 one-way latency:

t_{95}=0.192+0.0288+0.300+0.200+1.700=2.421\ \text{ms}

Latency margin:

M_t=5.000-2.421=2.579\ \text{ms}

Using the stated p95-p50 jitter definition:

J_{p95-p50}=t_{queue,95}-t_{queue,50}=1.700-0.400=1.300\ \text{ms}

Jitter margin:

M_J=2.000-1.300=0.700\ \text{ms}

Engineering Comment

The latency budget passes with useful margin, but the jitter margin is smaller. The technical response should not be “the network is fast enough.” It should be: validate queue behavior with burst traffic, confirm class markings on every boundary, set alarms before J_{p95-p50} reaches 2\ \text{ms}, and repeat the calculation for degraded routing.

Worked Example: Queueing Screen for a Reserved Class

A protected class reserves R=8\ \text{Mbit/s} for telemetry packets of 600\ \text{bytes}. The offered load is A=3.5\ \text{Mbit/s}.

Packet length:

L=600(8)=4800\ \text{bit}

Service rate:

\displaystyle \mu=\frac{8\times10^6}{4800}=1667\ \text{packet/s}

Arrival rate:

\displaystyle \lambda=\frac{3.5\times10^6}{4800}=729\ \text{packet/s}

Utilization:

\displaystyle \rho=\frac{729}{1667}=0.437

Average queueing time using the M/M/1 screen:

\displaystyle W_q=\frac{0.437}{1667(1-0.437)}=0.000466\ \text{s}=0.466\ \text{ms}

p95 queueing-time screen:

\displaystyle W_{q,95}=\frac{\ln(0.437/0.05)}{1667-729}=0.00231\ \text{s}=2.31\ \text{ms}

Engineering Comment

The average queueing delay is below half a millisecond, but the p95 screen is about five times larger. That gap is the main lesson. A service can look healthy in averages while p95 or p99 delay threatens voice, control, timing, or telemetry requirements.

Common Mistakes

  1. Comparing a latency requirement with average ping results instead of percentile one-way delay under load.
  2. Using physical interface rate when the effective service rate is a shaped, scheduled, policed, or reserved class rate.
  3. Ignoring packet overhead, tunneling, encryption, or smaller degraded-mode rates.
  4. Treating jitter as one universal quantity without stating whether it is RMS jitter, peak-to-peak variation, consecutive delay variation, or percentile spread.
  5. Assuming redundancy improves latency when the backup path may be longer, lower-rate, or more congested.
  6. Sizing buffers to avoid loss without checking the delay created by draining those buffers.
  7. Declaring a QoS policy valid without verifying classification, marking, scheduling, policing, and drops at every boundary.
  8. Measuring only idle networks instead of normal peak, burst, failover, and maintenance conditions.

Validation Checklist

A defensible latency and jitter calculation should be accompanied by evidence for:

  • service boundary and direction;
  • packet size and overhead model;
  • physical route length and restoration route length;
  • line rates, shaped rates, and reserved class rates;
  • traffic class mapping at each device;
  • device forwarding delay or measured processing delay;
  • queueing assumptions and burst model;
  • percentile definitions and measurement duration;
  • clock synchronization and timestamp method;
  • normal, peak, burst, degraded, and failover test conditions;
  • packet loss counters by class and interface;
  • monitoring thresholds tied to remaining margin.

The calculation is acceptable only when its assumptions are visible enough for another engineer to challenge, repeat, and test.

REF

See also