Traceroute is a fantastically popular network troubleshooting tool. It is second in popularity only to ping. The reason is simple. Traceroute quickly shows you what network devices your traffic is going through to reach a destination, and gives an indication of what each of those devices’ performance is. Theoretically, you can quickly tell where your traffic stops, where your traffic is slowed, and what devices are important for this connectivity. Not only is this super helpful, but it’s also intuitive. It aligns with our mental model of how networks work. It just makes sense.
If you’ve been using traceroute though, you know this cheery picture doesn’t match reality. Often times, traceroute doesn’t work. Or it doesn’t show you results that make sense. Traceroute was invented in 1987 and has not kept up with the changes in networking. Today’s networks have far more stringent security, consistently have redundancy, and complex hardware architectures that break or confuse traceroute. Understanding these limitations is the key to deriving correct conclusions from the data traceroute presents.
In this document, we will review how traceroute works, take a look at some common problems, learn how to make the most of traceroute, and introduce an alternative solution.