I pinged a host using the minimum TTL value that didn't elicit a 'Time to live exceeded' response to calculate the number of hops between us. When I used traceroute, that number was a little bigger. What is the most reliable method for doing this in general? What are the possible explanations for the behavior I described?

English is not my native language, sorry for any mistakes.

  • 1
    From which operating systems? By default, Windows and Linux-based machine don't use the same method to perform a traceroute.
    – JFL
    Aug 23, 2017 at 9:05
  • 3
    In the modern world you cannot calculate the number of hops (if we are talking about Internet) by traceroute or ping just because of MPLS, tunneling etc. that ISP/service providers implement. Ping and traceroute can have different picture about TTL due to difference in the protocols or just assymetric routing. You can use ping/traceroute just for comparison between two routing paths /destination hosts, but not for calculating the number of hosts. Aug 23, 2017 at 10:16

1 Answer 1


Linux traceroute uses UDP by default, so - depending on the routing policies along the path - different routes may be chosen for traceroute and ping (ICMP echo request).

Even with the same protocol, different routes may be probed due to traffic or other parameters. Sometimes you can see multiple routes being used within the same traceroute call.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.