|home | alphabetical index|
Internet control message protocolThe Internet Control Message Protocol (ICMP) is part of the TCP-IP suite of protocols. ICMP messages are typically generated in response to errors in IP datagrams (as specified in RFC1122) or for diagnostic or routing purposes.
Although ICMP messages are contained within standard IP datagrams, ICMP messages are usually processed as a special case distinguished from normal IP processing, rather than processed as a normal sub-protocol of IP. In particular, ICMP messages should never be generated as a consequence of ICMP message processing, in order to prevent cascades of ICMP messages.
Many commonly used network utilities are based on ICMP messages. The ping utility (well known on Unix) is implemented using the ICMP "Echo" and "Echo reply" messages. The related traceroute command is implemented by transmitting UDP datagrams with manipulated IP Time-to-live (TTL) header fields and looking for ICMP "Time to live exceeded in transit" and "Destination unreachable" messages in response. Every machine (such as intermediate routers) that forwards an IP datagram has to decrement the TTL by one. If the TTL reaches 0, an ICMP "Time to live exceeded in transit" message is sent to the source of the datagram.
Each ICMP message is encapsulated directly within a single IP datagram and thus, like UDP, ICMP does not guarantee delivery.
List of permitted control messages:
|copyright © 2004 FactsAbout.com|