Internet Control Message Protocol (ICMP) is a required TCP/IP standard defined in RFC 792, "Internet Control Message Protocol (ICMP)." With ICMP, hosts and routers that use IP communication can report errors and exchange limited control and status information.
ICMP messages are usually sent automatically in one of the following situations:
ICMP messages are encapsulated and sent within IP datagrams, as shown in the following illustration.
ICMP encapsulation in an IP datagramDifferent types of ICMP messages are identified in the ICMP header. Because ICMP messages are carried in IP datagrams, they are unreliable.
The most common ICMP messages are listed and described in the following table.
ICMP message | Description |
---|---|
Echo request | Determines whether an IP node (a host or a router) is available on the network. |
Echo reply | Replies to an ICMP echo request. |
Destination unreachable | Informs the host that a datagram cannot be delivered. |
Source quench | Informs the host to lower the rate at which it sends datagrams because of congestion. |
Redirect | Informs the host of a preferred route. |
Time exceeded | Indicates that the Time-to-Live (TTL) of an IP datagram has expired. |
You can use the ping command to send ICMP echo request messages and record the receipt of ICMP echo reply messages. With these messages, you can detect network or host communication failures and troubleshoot common TCP/IP connectivity problems.
For more information about ICMP, see RFC 792, "Internet Control Message Protocol (ICMP)." For more information about obtaining RFCs, see Obtaining RFCs.