⏱️ Tutorial 4: Delay, Loss, Throughput, and Network Performance

COMP347 (Revision 10) | TrustOpen University

📑 Table of Contents

🎯 Learning Objectives

Upon completion of this expanded tutorial, students will be able to:

🔭 Overview

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.


1. The Four Sources of Packet Delay

When a packet travels from source to destination, it encounters four types of delay at each node (router) along the path:

\( d_{nodal} = d_{proc} + d_{queue} + d_{trans} + d_{prop} \)

1.1 Processing Delay (\( d_{proc} \))

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.

1.2 Queuing Delay (\( d_{queue} \))

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.

1.3 Transmission Delay (\( d_{trans} \))

Time to push all bits of the packet onto the link. Given by:

\( d_{trans} = \frac{L}{R} \)

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.

1.4 Propagation Delay (\( d_{prop} \))

Time for the signal to traverse the physical medium. Given by:

\( d_{prop} = \frac{d}{s} \)

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.


2. Queuing Delay and Traffic Intensity

2.1 Traffic Intensity

Traffic intensity \( \rho \) is defined as:

\( \rho = \frac{L \cdot a}{R} \)

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 \):

2.2 Average Queuing Delay (M/M/1)

For the M/M/1 queue (Poisson arrivals, exponential service times), the average queuing delay is:

\( W = \frac{\rho}{\mu - \lambda} = \frac{\rho}{\mu (1 - \rho)} \)

where \( \lambda = a \) is arrival rate, \( \mu = R/L \) is service rate (packets/s). As \( \rho \to 1 \), \( W \to \infty \).

2.3 Variability and Burstiness

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.


3. Packet Loss: Causes and Impact

3.1 Causes of Loss

3.2 Impact of Loss


4. Throughput and the Bottleneck Link

4.1 Definition

Throughput is the rate at which data is successfully delivered from source to destination, measured in bps. It can be instantaneous or average.

4.2 Bottleneck Link

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.

Example: Home cable: 100 Mbps, ISP backbone: 10 Gbps, server: 1 Gbps. The bottleneck is 100 Mbps.

4.3 Factors Limiting Throughput


5. Bandwidth‑Delay Product and TCP Performance

5.1 Definition

The bandwidth‑delay product (BDP) is the amount of data that can be “in flight” in the network:

\( BDP = R \times RTT \)

where \( R \) is the bottleneck link rate and \( RTT \) is the round‑trip time.

5.2 Significance for TCP

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.


6. Jitter and Real‑Time Applications

6.1 Definition

Jitter is the variation in packet inter‑arrival times (delay variation). It is measured as the standard deviation of the delay.

6.2 Impact

6.3 Mitigation


7. Queuing Theory: M/M/1 and M/M/1/K Models

7.1 M/M/1 Queue

Assumes Poisson arrivals, exponential service times, infinite buffer, single server. Key results:

7.2 M/M/1/K Finite Buffer

For a buffer of size \( K \) packets (including the one in service), the loss probability is:

\( P_{loss} = \frac{(1-\rho)\rho^K}{1-\rho^{K+1}} \)   (for \( \rho \neq 1 \))

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.


8. Practical Performance Considerations

8.1 Application Requirements

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

8.2 Network Design Strategies


📝 Quiz: Tutorial 4

Q1: What are the four components of nodal delay?

Answer

Processing delay, queuing delay, transmission delay, and propagation delay.

Q2: How is transmission delay calculated?

Answer

\( 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?

Answer

\( \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?

Answer

Queue overflow (buffer full) is the primary cause. Also transmission errors.

Q5: What is the bottleneck link?

Answer

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?

Answer

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?

Answer

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?

Answer

\( \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 \)?

Answer

\( 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?

Answer

Propagation delay depends only on distance and signal speed, not on the amount of data.

Q11: How does TCP's congestion window affect throughput?

Answer

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?

Answer

It buffers packets to smooth out jitter, at the cost of adding delay.


✏️ Exercises: Tutorial 4

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).

Solution

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.

Solution

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?

Solution

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?

Solution

(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.

Solution

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.

Solution

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: Tutorial 4

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.

Guidance

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.

Guidance

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.

Guidance

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.

Guidance

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.

Guidance

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.


📌 Summary

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.