ICMP Overview


The Internet Control Message Protocol (ICMP) is a network-layer Internet protocol that provides message packets to report errors and other information regarding IP packet processing back to the source. ICMP is documented in RFC 792. 

What does an ICMP do?

Announces network errors such as a host or entire portion of the network being unreachable, due to some failure. A TCP or UDP packet directed at a port number with no receiver attached is also reported via ICMP.

Announces network congestion when a router begins buffering too many packets, due to an inability to transmit them as fast as they are being received, it generates ICMP Source Quench messages. Directed at the sender, these messages cause the rate of packet transmission to be slow. Of course, generating too many Source Quench messages would cause even more network congestion, so they are used sparingly.

Assists in troubleshooting and network discovery. ICMP supports an Echo function, which just sends a packet on a round-trip between two hosts. Ping, is based on this feature. Ping transmits a series of packets, measuring average round-trip times and computes loss percentages.

Announces Timeouts If an IP packet's TTL field drops to zero, the router discarding the packet often generates an ICMP packet. TraceRoute is a tool which maps network routes by sending packets with small TTL values and watches the ICMP timeout announcements.

Copyright © 2004-2012, ZOHO Corp. All Rights Reserved.