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 towards the destination, and capturing the IP that responds with the ICMP TTL exceeded error.
Our traceroute test sends three probes to each hop. Parallelisation is used to ensure that the test completes quickly. The open source traceroute client "mtr" (https://github.com/traviscross/mtr) is used for carrying out the traceroute measurements.
The round-trip times, the standard deviation of the round-trip times of the responses from each hop and the packet loss are recorded. Each hop's IP address is recorded separately, for each probe, thus allowing load balancing to be identified.
Example
An unhappy Lithuanian contacted us about their poor Netflix performance, despite their 100 Mbps connection. We used the Traceroute test to discover the problem extended far beyond this single user! We identified a routing issue between Telia Lithuania and Netflix’s CDN, which means 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 our traffic is traversing many more intermediate networks, increasing the likelihood of our traffic hitting congestion at some point.