Traceroute

Traceroute is used to determine the path that traffic takes between a source and a destination. It works by sending packets (typically UDP) with increasing TTLs (time-to-live) towards the destination and capturing the IP that responds with the ICMP TTL exceeded error.

Our traceroute test sends three probes to each hop. We use parallelization to ensure that the test completes quickly. We also use the open source traceroute client "mtr" for carrying out the traceroute measurements.

We record the round-trip times, the standard deviation of the round-trip times of the responses from each hop, and the packet loss. We also record each hop's IP address separately, for each probe, thus allowing us to identify load balancing.

We currently do not support visualization of traceroute tests via the ThousandEyes path trace views.

Traceroute Test Example

An unhappy customer in Lithuania contacted their internet service provider (ISP) about their poor Netflix performance, despite their 100 Mbps connection. The ISP used traceroute to discover that the problem extended far beyond this single user. They identified a routing issue between Telia Lithuania and Netflix’s CDN, which meant that Netflix traffic was sometimes being routed via Washington DC for Lithuanian users. This added more than 90ms versus using the direct path to Frankfurt. All of this extra distance adds not only latency, but also means that traffic is traversing many more intermediate networks, increasing the likelihood of the traffic hitting congestion at some point.

Route A

This traceroute shows the 45.57.74.0/24 going directly to Frankfurt and back, resulting in a good Netflix performance.

Map of short traceroute

Route B

This traceroute shows how traffic to 45.57.75.0/24 is leaving Lithuania, going all the way to Washington, DC, USA and then back to Frankfurt, resulting in a bad Netflix performance.

Map of long traceroute

Last updated