Traceroute

Hello Rakshit

Traceroute works by sending out three ICMP packets towards the destination IP. Each of those three packets has a TTL of 1 so that they will only reach the first hop. When they reach the first hop, that router will send an ICMP response. The three times you see in milliseconds is the round trip time of each of those three packets sent.

Next, traceroute sends out another three ICMP packets towards the destination IP with a TTL of 2, so that they reach the second hop in the path, which responds with the round trip time.

Traceroute will continue to increase the TTL until it gets a response from the actual final destination. Then it will stop and it will say “Trace complete.”

Now routers on the Internet can be configured not to respond to ICMP packets. This is often done for security purposes. During traceroute, if packets reach such a router, the default timeout of 2 seconds elapses, and traceroute considers that hop timed out. It then responds with “*” in the place of times and it states “Request timed out”. However traceroute does not end there. It will continue to send the next set of three packets with an increased TTL.

Each time you see * * * Request timed out. it means that the particular router is configured not to respond to ICMP packets.

Now if the final destination is also configured not to respond to ICMP packets, then it may be that the traceroute will never be complete. Traceroute allows for a maximum of 30 hops. Anything higher is considered unreachable, so it doesn’t even try. In the output you are showing above, the actual destination does respond, and once it does, the trace is complete. If it does not, traceroute will continue to attempt the trace, increasing the TTL until 30 hops are reached, where it considers the trace inconclusive.

(You can increase this default maximum hops of 30 to anything up to 255, but anything beyond 30 on the Internet is considered for all intents and purposes unreachable).

I hope this has been helpful!

Laz

3 Likes