| Network Traceroute |
|
A traceroute is a modified "ping" packet (echo request). When you "ping" a site, you send over an echo request and that site responds back that it received it. The amount of time it takes for the packet to get to that site and then return to you is the "ping time". The lower this is, the better your connection to the site. This time is usually specified in milliseconds (1/1000 of a second). One of the parameters on a ping packet is "Time to live" (TTL). This is set to some suitably high number (something like 35). As this packet moves through the route to the destination, this number is decremented by 1. If any router sees that the TTL is 0, then it sends the packet back to the computer that sent it. race route plays with this TTL number on outgoing packets. It first sends out a packet with a TTL of 1. The first router that sees this decrements it to 0 and then sends it back. It also sends back its own IP address with the packet. So your computer receives back a packet with an IP address in it - and you have the time it took to traverse this route. Next trace route sends out a packet with a 2 as the TTL. So it can find out what the next computer in the route is. This is repeated until the final destination is reached. At that point, you know the entire path the packet has traversed to reach the destination computer - and the time it takes to get to any of the router in between. Each server in this chain is called a "hop". The last hop in a trace route is actually the round-trip time to the destination server. This is an important concept to understand. You don't add up all the times between you and the destination host - as that time has already been added. The time to the last hop in the chain is exactly the same is if you'd used a ping utility to that host. A trace route utility is actually two utilities - ping AND trace route. |