COMP347 (Revision 10) | TrustOpen University
Upon completion of this expanded tutorial, students will be able to:
Performance is a critical concern in computer networks. Users expect fast response times, reliable delivery, and sufficient bandwidth for applications. This tutorial provides a rigorous, mathematically‑grounded examination of the core performance metrics: delay, loss, and throughput. We dissect the four components of nodal delay, with a special focus on queuing delay and its dependence on traffic intensity. We then explore packet loss, its causes, and its impact on throughput. The concept of the bottleneck link is introduced, along with the bandwidth‑delay product, which governs TCP's efficiency. We also discuss jitter and its mitigation for real‑time applications. Finally, we introduce fundamental queuing theory models (M/M/1 and M/M/1/K) that enable engineers to quantify and manage network performance.
When a packet travels from source to destination, it encounters four types of delay at each node (router) along the path:
Time to process the packet header, check for errors, and determine the output port. Includes: checksum verification, forwarding table lookup (longest prefix match), and TTL decrement. Typically microseconds or less; often negligible.
Time spent waiting in the output queue before transmission. This is the most variable delay, depending on traffic intensity and burstiness. We will analyse it in detail in Section 2.
Time to push all bits of the packet onto the link. Given by:
where \( L \) is packet length (bits) and \( R \) is link transmission rate (bps). For a 1,500‑byte packet on a 100 Mbps link: 0.12 ms.
Time for the signal to traverse the physical medium. Given by:
where \( d \) is distance (m) and \( s \) is propagation speed (m/s). For fibre: \( s \approx 2 \times 10^8 \) m/s; for copper: \( s \approx 2.3 \times 10^8 \) m/s. Transatlantic fibre (~6000 km) has a one‑way propagation delay of about 30 ms.
Traffic intensity \( \rho \) is defined as:
where \( a \) is the average packet arrival rate (packets/s). This represents the fraction of time the link is busy. The behaviour of queuing delay depends critically on \( \rho \):
For the M/M/1 queue (Poisson arrivals, exponential service times), the average queuing delay is:
where \( \lambda = a \) is arrival rate, \( \mu = R/L \) is service rate (packets/s). As \( \rho \to 1 \), \( W \to \infty \).
Real traffic is bursty (self‑similar), so queuing delays can be much larger than M/M/1 predictions. Traffic shaping and admission control are used to smooth bursts.
Throughput is the rate at which data is successfully delivered from source to destination, measured in bps. It can be instantaneous or average.
For a path with links of rates \( R_1, R_2, \ldots, R_n \), the maximum possible throughput is \( \min(R_i) \) in the absence of congestion. This is the bottleneck link.
The bandwidth‑delay product (BDP) is the amount of data that can be “in flight” in the network:
where \( R \) is the bottleneck link rate and \( RTT \) is the round‑trip time.
TCP's congestion window must be at least as large as BDP to fully utilise the link. If the window is smaller, the link is underutilised. For example, with a 100 Mbps link and 100 ms RTT, BDP = 1.25 MB. TCP's window size must be at least 1.25 MB to achieve full throughput.
Jitter is the variation in packet inter‑arrival times (delay variation). It is measured as the standard deviation of the delay.
Assumes Poisson arrivals, exponential service times, infinite buffer, single server. Key results:
For a buffer of size \( K \) packets (including the one in service), the loss probability is:
This model helps dimension buffers to meet a target loss rate. For example, with \( \rho = 0.8 \) and \( K = 20 \), \( P_{loss} \) is extremely small.
| Application | Sensitivity | Target |
|---|---|---|
| VoIP | Delay, jitter, loss | <150 ms, <30 ms jitter, <1% loss |
| Video conferencing | Delay, jitter, loss | <200 ms, <50 ms jitter, <1% loss |
| Web browsing | Delay (response time) | <2 s page load |
| File transfer | Throughput | High average bandwidth |
| Gaming | Delay, jitter | <50 ms |
Q1: What are the four components of nodal delay?
Processing delay, queuing delay, transmission delay, and propagation delay.
Q2: How is transmission delay calculated?
\( d_{trans} = L / R \), where \( L \) is packet length (bits) and \( R \) is link rate (bps).
Q3: What is traffic intensity and what does it indicate about queuing delay?
\( \rho = L \cdot a / R \). If \( \rho < 1 \), queuing delay is bounded; as \( \rho \to 1 \), delay grows without bound.
Q4: What causes packet loss in a router?
Queue overflow (buffer full) is the primary cause. Also transmission errors.
Q5: What is the bottleneck link?
The link with the smallest transmission rate along an end‑to‑end path, which limits the maximum throughput.
Q6: What is the bandwidth‑delay product and why is it important?
BDP = bandwidth × RTT. It is the amount of data that can be in flight; TCP's window must be at least this large to fully utilise the link.
Q7: What is jitter and how does it affect VoIP?
Jitter is the variation in inter‑arrival times. In VoIP, it causes choppy audio; late packets are discarded.
Q8: In an M/M/1 queue, what is the average queuing delay if \( \lambda = 400 \) packets/s and \( \mu = 800 \) packets/s?
\( \rho = 0.5 \); \( W = \rho / (\mu - \lambda) = 0.5 / (800 - 400) = 0.00125 \) s = 1.25 ms.
Q9: What is the loss probability for an M/M/1/K queue with \( \rho = 0.6 \) and \( K = 10 \)?
\( P_{loss} = (1-0.6) \cdot 0.6^{10} / (1 - 0.6^{11}) \approx 0.4 \cdot 0.0060 / (1 - 0.0036) \approx 0.0024 / 0.9964 \approx 0.0024 \) (0.24%).
Q10: Why is propagation delay independent of packet length?
Propagation delay depends only on distance and signal speed, not on the amount of data.
Q11: How does TCP's congestion window affect throughput?
The window size limits the amount of data in flight; if it is smaller than BDP, the link is underutilised.
Q12: What is the purpose of a playout buffer in real‑time applications?
It buffers packets to smooth out jitter, at the cost of adding delay.
Exercise 1 – End‑to‑end delay calculation
A packet of 2,000 bytes traverses 3 links: Link 1: 100 Mbps, 1,000 km fibre; Link 2: 1 Gbps, 100 km fibre; Link 3: 10 Mbps, 10 km copper. Processing delay per router is 0.5 ms, and there are 2 routers. Calculate the total delay (ignoring queuing).
Packet size = 16,000 bits.
Link 1: d_trans = 16000/10^8 = 0.16 ms; d_prop = 1e6/(2e8) = 5 ms.
Link 2: d_trans = 16000/10^9 = 0.016 ms; d_prop = 1e5/(2e8) = 0.5 ms.
Link 3: d_trans = 16000/10^7 = 1.6 ms; d_prop = 1e4/(2.3e8) ≈ 0.0435 ms.
Processing: 2 routers × 0.5 ms = 1.0 ms.
Total = (0.16+5) + (0.016+0.5) + (1.6+0.0435) + 1.0 = 8.3195 ms.
Exercise 2 – Traffic intensity and queuing
A router has a 10 Mbps link. Packets arrive at 800 packets/s, each 1,500 bytes. (a) Compute traffic intensity. (b) Approximate average queuing delay using M/M/1. (c) If buffer holds 100 packets, estimate loss probability.
L = 1500×8 = 12,000 bits; R = 10 Mbps; λ = 800 pps; μ = R/L = 10^7/12000 ≈ 833.33 pps.
(a) ρ = 800/833.33 = 0.96.
(b) W = ρ / (μ - λ) = 0.96 / (833.33 - 800) = 0.96 / 33.33 ≈ 0.0288 s = 28.8 ms.
(c) P_loss = (1-ρ)ρ^K / (1-ρ^(K+1)) with K=100: ≈ (0.04 * 0.96^100) / (1 - 0.96^101) ≈ 0.04*0.017 / (1 - 0.016) ≈ 0.00068 / 0.984 ≈ 0.00069 (0.069%).
Exercise 3 – Throughput bottleneck
A user has a 100 Mbps home connection, but the server is connected at 10 Mbps. The file is 500 MB. How long will the download take?
Bottleneck = 10 Mbps. File = 500 MB = 4,000 Mbits. Time = 4,000 / 10 = 400 s = 6 min 40 s.
Exercise 4 – Bandwidth‑delay product
A link has bandwidth 10 Mbps and RTT 200 ms. (a) Compute BDP. (b) If TCP window is 64 KB, what is the maximum throughput? (c) What window size is needed for full utilisation?
(a) BDP = 10×10^6 × 0.2 = 2,000,000 bits = 250,000 bytes ≈ 244 KB.
(b) Throughput = 64 KB / 0.2 s = 327,680 bytes/s = 2.62 Mbps.
(c) Required window = BDP = 244 KB.
Exercise 5 – Jitter mitigation
Explain how a playout buffer works and the trade‑off between delay and jitter.
A playout buffer stores received packets and delivers them at a constant rate (e.g., every 20 ms for VoIP). It adds a fixed delay (buffer size / packet rate) but eliminates jitter. Trade‑off: larger buffer smooths more jitter but increases end‑to‑end delay.
Exercise 6 – M/M/1/K loss probability
For an M/M/1/K queue with ρ = 0.7 and K = 15, compute the loss probability.
P_loss = (1-0.7)*0.7^15 / (1 - 0.7^16). 0.7^15 ≈ 0.00475; 0.7^16 ≈ 0.00332. Numerator = 0.3 * 0.00475 = 0.001425; denominator = 1 - 0.00332 = 0.99668. P_loss ≈ 0.00143 (0.143%).
Homework 1 – TCP throughput model
Research the TCP throughput formula: \( Throughput \approx \frac{MSS \cdot C}{RTT \cdot \sqrt{p}} \). Explain each term and how loss affects performance.
MSS = Maximum Segment Size, C = constant (~1.22), p = packet loss probability. Higher loss reduces throughput; higher RTT also reduces throughput.
Homework 2 – RED and AQM
Explain Random Early Detection (RED) and how it helps avoid global synchronisation and reduces average queuing delay.
RED drops packets probabilistically before the queue is full, signalling congestion to TCP senders, which reduces their windows gradually rather than all at once.
Homework 3 – Self‑similar traffic
Why is the M/M/1 model often inaccurate for real Internet traffic? Explain the concept of self‑similarity and its impact on queuing.
Real traffic is bursty across multiple time scales (self‑similar), leading to heavier tails and longer queues than exponential models predict.
Homework 4 – Delay analysis for a satellite link
Calculate the end‑to‑end delay for a 1,500‑byte packet sent over a GEO satellite link (RTT ~550 ms) with a 1 Mbps link. Include transmission and propagation delays.
Transmission = 12000/10^6 = 12 ms. Propagation one‑way = 550/2 = 275 ms. Total one‑way = 287 ms; RTT = 574 ms (including ACK).
Homework 5 – QoS and DiffServ
Explain how DiffServ (Differentiated Services) can be used to provide priority to VoIP traffic, and how it affects delay and loss for different classes.
DiffServ marks packets with DSCP values; routers use per‑hop behaviours (e.g., expedited forwarding) to give priority to VoIP, reducing queuing delay and loss for that class.
This tutorial has provided a comprehensive exploration of network performance metrics:
Understanding these concepts is essential for network design, troubleshooting, and capacity planning. In the next tutorial, we will explore protocol layering and network architectures, providing the framework for how these performance considerations are addressed across different layers.