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 routers between source and destination. Assume the network is uncongested, so queuing delays are negligible. Let every node have the same processing delay and the same outgoing rate , and let every link have the same propagation delay . Then the nodal delays accumulate into the end-to-end delay end-to-end delay Simple The total time a packet takes to travel from the sending host to the receiving host. Precise The accumulation of the nodal delays along the whole path. With N−1 routers between the hosts, negligible queuing, and identical nodes: d_end-end = N(d_proc + d_trans + d_prop), where d_trans = L/R. introduced in ch. 1 — open in glossary :
where .
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.
What each symbol means
- N — links on the path, so N − 1 routers between the hosts (a count)
- d_proc — processing delay at each node (microseconds)
- L, R — packet length and link rate, giving d_trans = L/R (bits, bits/s)
- d, s — link 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 traceroute Simple A program that lists every router on the path to a destination and the delay to each. Precise A program that sends N specially marked packets toward a destination; the nth router along the path returns a message to the source instead of forwarding packet n. The source thereby reconstructs the route and measures the round-trip delay to each router. Described in RFC 1393. introduced in ch. 1 — open in glossary 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 routers between source and destination. The source sends special packets toward the destination, marked 1 through . When the th router receives the packet marked , 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 , 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 packets. It is described in RFC (Request For Comments) Request For Comments The name of an IETF standards document. There are currently nearly 9000 of them. introduced in ch. 1 1393.
| Router name | Address | ms | |
|---|---|---|---|
| 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) IEEE 802.11 wireless LAN Wireless LAN access; a user must be within a few tens of metres of the access point. WiFi is a trade name, not an abbreviation. introduced in ch. 1 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) Voice over IP Carrying telephone calls over a packet-switched network; it suffers an extra packetization delay. introduced in ch. 1 , 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 throughput Simple How many bits per second actually arrive at the receiver. Precise The rate, in bits/second, at which the receiving host receives data. Instantaneous throughput is that rate at an instant; the average throughput of a transfer of F bits taking T seconds is F/T. With no competing traffic it is min{R₁, …, R_N}. introduced in ch. 1 — open in glossary .
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 , where the file is bits and the transfer takes 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.
Two links and a router
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 . The router cannot forward them faster than . So if , the bits flow right through the router and arrive at . If , bits leave the router only at — 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:
That slowest link is the bottleneck link bottleneck link Simple The slowest link on the path; it sets the speed of the whole transfer. Precise The link along a path whose transmission rate is the minimum, and which therefore determines the end-to-end throughput. A link with a high transmission rate can still be the bottleneck if many other flows share it. introduced in ch. 1 — open in glossary . For a path of links with rates , the same argument gives .
What each symbol means
- Rs — rate of the link from the server to the router (bits per second)
- Rc — rate of the link from the router to the client (bits per second)
- F — the 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 sChange 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 , the client has one of rate , 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 .
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.
Unless enough flows share one link
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 , and let it divide its rate equally among the ten.
With Mbps, Mbps and 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.
What each symbol means
- Rs — each server’s access link (bits per second)
- Rc — each client’s access link (bits per second)
- R — the one core link that all the downloads cross (bits per second)
- M — how 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:
- the rates of the links along the path, and
- 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 answered1.Equation 1.2 says d_end-end = N(d_proc + d_trans + d_prop). Which delay is missing, and why?
2.How does Traceroute learn the name of the seventh router on a path?
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.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.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.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.In today's Internet, what usually limits throughput?
What to remember
- Equation 1.2: , assuming no queuing.
- Average throughput is . On an uncongested path it is 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 , not .