A good refresh about traceroute. It is a very common tool for network troubleshooting so it is important to use it wisely
Important points
- ICMP vs UDP: most implementations do UDP (it can be blocked…)
- Every probe is an independent trial!
- Try to identify the characteristics and location of each hop
- If there is a congestion/delay issue in one hop, it has to be carried out to the next hops, if not, it is just prioritizing of the ICMP generation by that router/hop.
- You dont see the reverse path – Ask the other end (if possible) to send the traceroute from its end.
- Border routers between providers can be a hot spot for issues.
- Asymmetric paths can bite you. Try to set the source address in your tests (from the provider IP, from your own space, etc)
- Spot ECMP (in the same hop, you see several different IPs). Multiple unequal length paths can be painful.
- MPLS: most times is hidden (TTL is removed). It can be tricky to spot. But it can be funny when you see the hops (with private IPs 🙂
And if you are more interested in the paths than latency, this can be a good too:
https://github.com/rucarrol/traceflow