Traceroute is a tool in the TCP/IP suite that allows a user to determine the path followed by a message from the local system to a specific destination. The information is useful in analyzing network problems and may be significant in applications that wish to know where the information travels in the network.
Traceroute sends data units toward a specified host using an invalid location at the remote host as the final destination. Since the destination is invalid, a failure to deliver message will be returned to the sender. To determine the route taken by the message, the data unit is sent repeatedly, each with a larger number indicating how many times the data unit may be forwarded. The first attempt allows only one step; if the destination is not reachable in one transmission, a failure notice will come back from the first intermediate node that handles it. The data unit is then sent with a permission to forward it one more time. If that is not enough to get the message to the destination machine, another failure response will result. The process continues, incrementing the number of steps allowed, until a failure arrives from the desired destination host or a maximum number of tries is exceeded.
The format of the command invoking traceroute follows. [] TTL means Time To Live and is the measure of the number of times the message may be forwarded. UDP is User Datagram Protocol, the specific transport layer service used to send the message.
TRACEROUTE [-m #] [-q #] [-w #] [-p #] {IP_address | host_name} where -m is the maximum allowable TTL value, measured as the number of hops allowed before the program terminates (default = 30) -q is the number of UDP packets that will be sent with each time-to-live setting (default = 3) -w is the amount of time, in seconds, to wait for an answer from a particular router before giving up (default = 5) -p is the invalid port address at the remote host (default = 33434)