Delay, loss, and throughput

Overview of delay

A data packet travels from a source host, through a series of routers, to a destination host.

At each node (host or router), the packet experiences several types of delays:

Delay Type Description Characteristics Duration
\( d_{\text{proc}} \) Processing delay Time to examine the packet header and determine where to direct the packet (can also include the time needed to check for bit errors) Very short in high-speed routers Microseconds
\( d_{\text{queue}} \) Queuing delay Time the packet waits in the buffer before being transmitted Varies significantly based on current traffic levels Microseconds to milliseconds
\( d_{\text{trans}} \) Transmission delay Time required to push all the packet's bits onto the link; happens before movement (transmission) Depends on packet size and link speed; can be negligible or significant Microseconds to milliseconds
\( d_{\text{prop}} \) Propagation delay Time it takes for the bits to travel from one router to the next; happens during movement (propagation) Depends solely on distance and the transmission medium; bits propagate at the propagation speed of the link d / s, where:
  • d = distance between router A and router B
  • s = propagation speed of the link

These individual delays add up to form the total nodal delay \( d_{\text{nodal}} \), or the total delay at each node:

\[ d_{\text{nodal}} = d_{\text{proc}} + d_{\text{queue}} + d_{\text{trans}} + d_{\text{prop}} \]

Each component's contribution to \( d_{\text{nodal}} \) can vary greatly depending on context (e.g., local network vs. satellite link).

Delay components behave differently depending on the network setup:

Network delays affect the performance of Internet applications.

Queuing delay and packet loss

Queuing delay (\( d_{\text{queue}} \)) is the most complex part of nodal delay:

Traffic intensity affects how congested the queue becomes:

Packet loss due to finite queue capacity:

Performance metrics:

End-to-end delay

End-to-end delay:

If the network is uncongested (no queuing delays), and all nodes are similar, the total delay is:

\[ d_{\text{end-to-end}} = N (d_{\text{proc}} + d_{\text{trans}} + d_{\text{prop}}) \]

Where:

Traceroute helps understand how delays accumulate across the network:

Real-world conditions cause variation in delays:

End-system and application-level delays can also contribute to network delays:

Throughput

Throughput refers to the rate at which data is successfully delivered from sender to receiver, measured in bits per second (bps).

Bottleneck link

Throughput depends on the bottleneck link: in any data transfer path, the slowest link (lowest bandwidth) determines the maximum throughput.

Scenario Formula Explanation Illustration

Path with two links

\( \text{Throughput} = \min(R_s, R_c) \)

  • \( R_s \) = rate from server to router
  • \( R_c \) = rate from router to client
Throughput bottleneck with two links

Path with multiple links

\( \text{Throughput} = \min(R_1, R_2, \dots, R_N) \)

The slowest link ("bottleneck") limits performance

Throughput bottleneck with multiple links

Access links (e.g., home Wi-Fi or ISP connection) are usually the bottleneck.

Core network links are very fast and rarely limit throughput.

Shared link

Suppose a network with 10 clients downloading from 10 servers:

Effect of the share link on end-to-end throughput:

Summary

In ideal conditions with no other traffic:

In real-world conditions, throughput is limited by:

  1. the slowest link in the path
  2. the amount of competing traffic (shared usage)

Previous The network core All ⏎ Next Protocol layers and encapsulation

A Kemar Joint