Protocol in Code · Track

ICMP

errors, TTL expiry, and traceroute read off the wreckage of failed packets

5 sessions Course material (English)

Sessions

ICMP track sessions

Session 01

An Error Is a Packet About a Packet

An ICMP error has to tell the original sender what went wrong — but the sender doesn't hand ICMP any context. Where does the diagnosis come from?

Open Session 01
Session 02

Unreachable Has Flavors

"Destination Unreachable" sounds like one failure. Why does it split into four codes, and why does the sender of the message change depending on which one you get?

Open Session 02
Session 03

TTL Is a Hop Budget

Nothing on the network guarantees a packet won't loop forever between routers. What stops it, and who reports back when it doesn't make it?

Open Session 03
Session 04

Time Exceeded Draws the Map

What decides which router answers a probe, and why is an "error" reply the probe's success signal instead of its failure?

Open Session 04
Session 05

Build the Toy Traceroute Loop

If traceroute has no query that asks "where does this path go," how does looping over ttl and reading the wreckage assemble the answer — and what tells the loop when to stop?

Open Session 05