Search code examples
networkingnetwork-programmingroutertraceroute

In traceroute/tracert why is it possible for the value to be lower further down the route/path?


I'm a bit confused on how it is possible for a router further in the path towards the destination to have a lower value; doesn't the value mean the time it takes to reach that point from the starting router (the machine you ran traceroute on)?

For example line 12 has lower values than line 11 even though it is reached later in the path

enter image description here


Solution

  • Each step in the path is measured at a different time with different ping packets, so the results will vary with the network traffic.

    The way traceroute starts is that it sends a UDP or ICMP datagram with a Time To Live field of 1. Then it waits for a response (or a time out) and does the same thing two more times. That's line 1. Then it increases TTL to 2 and sends that three times. Along the way, it does DNS lookups of the responding IP addresses. By the time you reach TTL 10, several seconds may have elapsed and network conditions may have changed significantly.

    So, if congestion is high at the start of the process, then decreases while the trace is still going, it is possible to see further RTTs which are lower than the nearer RTTs.