§1.4.3–1.4.4End-to-End Delay · Throughput

Network layer Kurose & Ross pp. 41–46 · ~14 min read

  • end-to-end delay
  • traceroute
  • throughput
  • bottleneck link

Where you are

  • Application layer
  • Transport layer
  • Network layer you are here
  • Link layer
  • Physical layer

End-to-end delay is the nodal delay added up along the path, and throughput is set by the single slowest link on it.

Words you will meet

  • End-to-end delay — the total time from the sending host to the receiving host.
  • Traceroute — a program that lists every router on a path and the delay to each.
  • Round-trip delay — the time for a probe to reach a router and a reply to come back.
  • Instantaneous throughput — the rate at which the receiver is receiving, right now.
  • Average throughput — the file size divided by how long the transfer took: F/T.
  • Bottleneck link — the slowest link on a path. It alone sets the throughput.

Why this matters

Delay and throughput are the two numbers users actually feel, and they are independent. A satellite link can be fast and slow at once: high throughput, long delay.

Knowing which link is the bottleneck also tells you which upgrade is worth buying. This section makes that concrete enough to compute.

Adding the delays along a path

Section 1.4.1 gave the delay at one router. Now the whole path.

Suppose there are N1N-1 routers between source and destination. Assume the network is uncongested, so queuing delays are negligible. Let every node have the same processing delay dprocd_{\text{proc}} and the same outgoing rate RR, and let every link have the same propagation delay dpropd_{\text{prop}}. Then the nodal delays accumulate into the end-to-end delay :

dend-end=N(dproc+dtrans+dprop)d_{\text{end-end}} = N\,(d_{\text{proc}} + d_{\text{trans}} + d_{\text{prop}})

where dtrans=L/Rd_{\text{trans}} = L/R.

In plain words

This is equation 1.1 grown up. That one counted only transmission time. This one adds processing and propagation. It still leaves queuing out, because queuing is the term that varies, and a formula built from it would not be a formula.

Generalising this to links with different rates, and to an average queuing delay at each node, is the exercise the book leaves to you.

Live calculator — equation 1.2

What each symbol means

  • Nlinks on the path, so N − 1 routers between the hosts (a count)
  • d_procprocessing delay at each node (microseconds)
  • L, Rpacket length and link rate, giving d_trans = L/R (bits, bits/s)
  • d, slink length and propagation speed, giving d_prop = d/s (metres, m/s)

Read aloud: add up what one hop costs, then multiply by the number of hops — assuming nothing had to wait in a queue.

End-to-end delay45.6 ms

d_end-end = N (d_proc + d_trans + d_prop)
d_proc  = 2.00 µs   d_trans = 120 µs   d_prop = 9.00 ms
per hop = 9.12 ms
        = 5 × 9.12 ms
        = 45.6 ms
(queuing is assumed negligible — the one term that would vary)

Change any number above and the arithmetic re-runs, carrying the units through.

Five links of 1,800 km each is roughly Bangkok to Frankfurt. Equation 1.2 assumes every node is identical and nothing queues — generalising it to different rates per link, and to an average queuing delay at each node, is the exercise the book leaves you.

Traceroute: measuring a real path

Traceroute is a simple program that runs on any host. You give it a destination name, and it tells you every router on the way and how long each one took to reach.

The trick is neat. Suppose there are N1N-1 routers between source and destination. The source sends NN special packets toward the destination, marked 1 through NN. When the nnth router receives the packet marked nn, it does not forward it. Instead it sends a short message back to the source, carrying its own name and address. When the destination receives packet NN, it replies too.

The source records how long each reply took, and who sent it. From that it can reconstruct the whole route and the round-trip delay to every router along it. Traceroute repeats the experiment three times, so it actually sends 3N3N packets. It is described in RFC (Request For Comments) 1393.

A real Traceroute: gaia.cs.umass.edu → the University of Sorbonne, Paris
Router nameAddressms
Ten times the delay in one hop. This row is the Atlantic Ocean.
Router 12 answered faster than router 11 — the clearest possible proof that delay is not a fixed property of a path.

Cells marked ⓘ have an explanation — click to read it. Sortable columns have a ↕ in the heading.

Fourteen routers between the two hosts. Each row was measured three times. Two rows are worth clicking.

Two rows that teach more than the other twelve

Row 8 — the delay jumps from about 7 ms to about 78 ms in one hop. That is a transatlantic fibre link. The extra 70 ms is propagation delay: pure distance. No faster link would remove it.

Rows 11 and 12 — router 12 replied sooner than router 11, even though it is one hop further away. Nothing went backwards. Each hop is probed by a different packet at a different moment, and queuing delay varies with time. A momentarily busier queue made the nearer router look further away.

That second row is worth sitting with. It is the clearest evidence you will see that delay is not a fixed property of a path.

An asterisk means the source received fewer than three replies from that router, because a probe or a reply was lost on the way.

Other delays, outside the routers

Two more delays exist that none of the four components covers.

A host transmitting into a shared medium, such as WiFi (IEEE 802.11 wireless LAN) or a cable modem, may deliberately delay itself. Waiting is part of the protocol for sharing that medium with others. Chapter 6 covers those protocols.

And in VoIP (Voice over IP) , the sending side must first fill a packet with encoded digitised speech before it can hand the packet to the Internet. That packetization delay can be significant, and it affects how good the call sounds.

Throughput

Delay is one measure. The other is throughput .

Consider transferring a large file from host A to host B.

  • Instantaneous throughput is the rate, in bits per second, at which host B is receiving the file at that instant. Many applications display it during a download.
  • Average throughput is F/TF/T, where the file is FF bits and the transfer takes TT seconds.

Different applications care about different things. Internet telephony wants low delay and an instantaneous throughput consistently above a threshold — over 24 kbps for some telephony applications, over 256 kbps for some real-time video. For a file transfer, delay is not critical, but the highest possible throughput is.

Figure 1.19(a) — two links, one router
2 hops: Server → router → Client
Rs = 2 MbpsRc = 1 MbpsServerrouterClient

Drag any device to rearrange the picture. Hover a link to see its rate, delay and length.

Think of bits as fluid and links as pipes. The server cannot pump faster than Rs, and the router cannot forward faster than Rc. Whichever pipe is narrower sets the flow.

Read this diagram as text
  • Server wired link router (2 Mbps)
  • router wired link Client (1 Mbps)

Everyday picture — the book’s own analogy

Think of bits as fluid and communication links as pipes.

The server cannot pump bits through its link faster than RsR_s. The router cannot forward them faster than RcR_c. So if Rs<RcR_s < R_c, the bits flow right through the router and arrive at RsR_s. If Rc<RsR_c < R_s, bits leave the router only at RcR_c — and the backlog waiting at the router grows and grows.

Where the picture breaks: water in a full pipe backs up and eventually stops the pump. Bits do not. The sender keeps sending, the router’s buffer fills, and packets are dropped rather than pushed back. Making the sender slow down needs congestion control, which is chapter 3.

Either way, the throughput is the rate of the slower link:

throughput=min{Rs,Rc}\text{throughput} = \min\{R_s, R_c\}

That slowest link is the bottleneck link . For a path of NN links with rates R1,,RNR_1, \ldots, R_N, the same argument gives min{R1,,RN}\min\{R_1, \ldots, R_N\}.

Live calculator — throughput on an uncongested path

What each symbol means

  • Rsrate of the link from the server to the router (bits per second)
  • Rcrate of the link from the router to the client (bits per second)
  • Fthe size of the file being transferred (bits)

Read aloud: the throughput is whichever link is slower, and nothing else.

Throughput1.00 Mbps

throughput = min{Rs, Rc}
           = min{2.00 Mbps, 1.00 Mbps}
           = 1.00 Mbps   (the client access link is the bottleneck)
transfer   = F / throughput
           = 32,000,000 bits / 1.00 Mbps = 32.0 s

Change any number above and the arithmetic re-runs, carrying the units through.

The book’s example: F = 32 million bits, Rs = 2 Mbps, Rc = 1 Mbps → 32 seconds. Try raising Rs to 10 Mbps. The answer does not move, because Rs was never the constraint.

Why the access network is usually the bottleneck

Now put the server and the client on a real network. The server has an access link of rate RsR_s, the client has one of rate RcR_c, and the links in the core are much faster than both.

The core of today’s Internet is over-provisioned with high-speed links and experiences little congestion. So the core is a wide pipe, and throughput is again min{Rs,Rc}\min\{R_s, R_c\}.

The conclusion worth carrying forward

The constraining factor for throughput in today’s Internet is typically the access network. Not the core, not the distance, not the number of routers — the link into the building at each end.

Figure 1.20(b) — ten downloads through one core link
3 hops: server 2 → R → R → client 2
RsRsRsbottleneck link, R = 5 MbpsRcRcRcserver 1server 2server 10RRclient 1client 2client 10

Drag any device to rearrange the picture. Hover a link to see its rate, delay and length.

Every one of the ten downloads crosses the same middle link. Its 5 Mbps divided ten ways gives each download 500 kbps — less than either access link can carry.

Read this diagram as text
  • server 1 wired link R (2 Mbps)
  • server 2 wired link R (2 Mbps)
  • server 10 wired link R (2 Mbps)
  • R wired link R (5 Mbps)
  • R wired link client 1 (1 Mbps)
  • R wired link client 2 (1 Mbps)
  • R wired link client 10 (1 Mbps)

Ten servers and ten clients, with ten downloads happening at once, and one link in the core that all ten cross. Let its rate be RR, and let it divide its rate equally among the ten.

With Rs=2R_s = 2 Mbps, Rc=1R_c = 1 Mbps and R=5R = 5 Mbps, each download gets 5 ÷ 10 = 500 kbps of that shared link. That is less than either access link can carry, so the bottleneck has moved into the core.

Live calculator — Figure 1.20(b), when the core becomes the bottleneck

What each symbol means

  • Rseach server’s access link (bits per second)
  • Rceach client’s access link (bits per second)
  • Rthe one core link that all the downloads cross (bits per second)
  • Mhow many downloads share that core link (a count)

Read aloud: each download gets a share of the core link, and its throughput is whichever of the three is smallest.

Throughput per download500 kbps

each download gets R/M of the shared link
           = 5.00 Mbps / 10 = 500 kbps
throughput = min{Rs, Rc, R/M}
           = min{2.00 Mbps, 1.00 Mbps, 500 kbps}
           = 500 kbps   (bottleneck: the shared core link)

Change any number above and the arithmetic re-runs, carrying the units through.

The book’s numbers give 500 kbps each. Now set M = 2 and watch the bottleneck move back to the client access link. A link is not fast or slow in itself — it depends on how many flows are on it.

In plain words

Throughput depends on two things, not one:

  1. the rates of the links along the path, and
  2. the other traffic sharing those links.

A link with a high rate can still be the bottleneck for your transfer if enough other flows are passing through it. “Fast link” is not a property of a link alone.

Check yourself

Check yourself — §1.4.3–1.4.4

0 of 7 answered
  1. 1.Equation 1.2 says d_end-end = N(d_proc + d_trans + d_prop). Which delay is missing, and why?

  2. 2.How does Traceroute learn the name of the seventh router on a path?

  3. 3.predictIn the Traceroute trace, the round-trip delay to router 12 is smaller than the delay to router 11. How is that possible?

    Click the delay cells on rows 11 and 12.

  4. 4.predictIn the Traceroute trace, the delay jumps from about 7 ms at router 7 to about 78 ms at router 8. What happened?

    Click the delay cell on row 8.

  5. 5.predictIn the two-link calculator, set Rs = 2 Mbps and Rc = 1 Mbps. Now raise Rs to 10 Mbps. What happens to the throughput?

    Watch the answer and the line saying which link is the bottleneck.

  6. 6.predictIn the shared-core calculator, 10 downloads share a 5 Mbps core link with Rs = 2 Mbps and Rc = 1 Mbps. Where is the bottleneck?

    Compare R/M against Rs and Rc.

  7. 7.In today's Internet, what usually limits throughput?

What to remember

  • Equation 1.2: dend-end=N(dproc+dtrans+dprop)d_{\text{end-end}} = N(d_{\text{proc}} + d_{\text{trans}} + d_{\text{prop}}), assuming no queuing.
  • Average throughput is F/TF/T. On an uncongested path it is min\min of the link rates — the bottleneck link — so improving any other link changes nothing.
  • In today’s Internet the bottleneck is usually the access network, because the core is over-provisioned. But a fast link shared by enough flows becomes the bottleneck: what matters is R/MR/M, not RR.