| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
ICMPv4 Time Exceeded Messages (Page 3 of 3) Applications of Time Exceeded Messages As an ICMP error message type, ICMP Time Exceeded messages are usually sent in response to the two conditions described above (TTL or reassembly timer expiration). Generally, Time To Live expiration messages are generated by routers as they try to route a datagram, while reassembly violations are indicated by end hosts. However, there is actually a very clever application of these messages that has nothing to do with reporting errors at all.
The TCP/IP traceroute (or tracert) utility is used to show the sequence of devices over which a datagram is passed on a particular route between a source and destination, as well as the amount of time it takes for a datagram to reach each hop in that route. This utility was originally implemented using Time Exceeded messages by sending datagrams with successively higher TTL values. First, a dummy datagram is sent with a TTL value of 1, causing the first hop in the route to discard the datagram and send back an ICMP Time Exceeded; the time elapsed for this could be measured. Then, a second datagram is sent with a TTL value of 2, causing the second device in the route to report back a Time Exceeded, and so on. By continuing to increase the TTL value we can get reports back from each hop in the route. See the topic describing traceroute for more details on its operation.
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. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||