ICMPv4 Traceroute Messages
(Page 1 of 2)
The Echo and Echo Reply messages we explored earlier in this section are used for the most basic type of test that can be conducted between two devices: checking if they can communicate. A more sophisticated test can also be performed, to see not just if the devices are able to talk, but discover the exact sequence of routers used to move datagrams between them. In TCP/IP this diagnostic is performed using the traceroute (or tracert) utility.
The first implementation of traceroute used a clever application of Time Exceeded error messages. By sending a test message to a destination first with a Time To Live value of 1, then 2, then 3 and so on, each router in the path between the source and destination would successively discard the test messages and send back a Time Exceeded message, displaying the sequence of routers between the two hosts. This bit of trickery works well enough in general terms, but is suboptimal in a couple of respects. For example, it requires the source device to send one test message for each router in the path, instead of just a single test message. It also doesn't take into account the possibility that the path between two devices may change during the test.
Recognizing these limitations, a new experimental standard was developed in 1993 that defined a more efficient way to conduct a traceroute: RFC 1393, Traceroute Using an IP Option. As the title suggests, this method of doing a traceroute works by having the source device send a single datagram to the destination, containing a special Traceroute IP option. Each router that sees that option as the test message is conducted along the route, responds back to the original source with an ICMP Traceroute message, also defined in RFC 1393.
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.