Field guide · Networking & wireless
Reading a Traceroute
How to read traceroute, tracert and mtr output without drawing the wrong conclusion — which is the usual outcome. Covers why loss at one hop that does not continue is not loss at all, why a latency step that stays is distance rather than a fault, and why the last hop that answers is rarely where the problem is.
Diagram
Which loss is real, and whose network it is in.
Blame the hop with the loss and the big number.
100% loss. This is the problem.
Latency jumped 66 ms. Something is wrong here.
Two findings, both wrong: a hop that drops every probe, and a hop where latency triples. Escalated to the carrier, this gets closed as no fault found.
Questions
Questions people actually ask
- One hop shows 100% loss but the trace completes. Is that a problem?
- No, and this is the single most misread thing in traceroute output. Routers generate ICMP TTL-exceeded replies at low priority, so a busy core router will drop your probes while forwarding real traffic perfectly. Loss only counts when it continues to every hop after it, all the way to the destination. Loss at one hop that clears at the next is the router being too busy to answer a probe. How it forwards real traffic is a different question, and usually a fine one.
- Latency jumps at one hop and stays high. What does that mean?
- That is a real leg of the path — usually a long haul between cities or a peering handoff — and it is the length of that leg, and every hop after it carries the same figure. A jump that carries through to the destination is geography. A spike at one hop that comes back down at the next is that router being slow to answer, which is invisible to your actual traffic.
- The trace stops before reaching the destination. Is the host down?
- Probably not. Most edge firewalls drop ICMP and UDP probes while happily accepting TCP to the service port. A trace that dies at the last few hops usually means something along the way is filtering probes. The path itself may be perfectly healthy. Confirm with a TCP probe to the real port before concluding anything.
- How do I tell whose network the fault is in?
- Find where sustained loss begins and look at whose address space that hop sits in. Private RFC 1918 addresses are your own infrastructure. Anything in 100.64.0.0/10 is carrier-grade NAT — your ISP's internal addressing, not yours, which is worth knowing before you go looking for a switch you do not own. Everything past that belongs to a carrier.
- Why do the three times on each line differ so much?
- They are three separate probes, and each may take a different path where equal-cost routing exists. Wide variation across the three at one hop, with steady times after it, usually means that router is inconsistent about answering rather than that the path is unstable. mtr's larger sample makes this much easier to see than a single traceroute run.
- Is mtr better than traceroute?
- For diagnosis, yes. It runs continuously and gives you loss percentages over many probes rather than three samples, which is what separates a hop that genuinely drops traffic from one that happened to miss a packet. Use traceroute to see the path; use mtr to judge it.
Other guides
Related guides
- 01
Subnetting, Explained
Where the numbers come from, and the meaning behind them. - 02
The OSI Model, Layer by Layer
Seven layers, what each does, and how they hand off. - 03
Active Directory, Explained
Forests, domains, roles, and how a login really works. - 04
Writing a Switch Configuration
From factory default to a switch you would hand over. - 05
VLANs and Trunking
Access, trunk, tagged, native — and which one is the security hole. - 06
Spanning Tree and Switching Loops
Why one patch cord can take a whole floor down in seconds.
Book the work
We do this work
as well as document it
Anyone holding traceroute output and about to tell a carrier the fault is theirs, or about to be told it is yours.
- Free guides
- No sign-up
- Nothing tracked
- Written on the job