Internet Control Message Protocol (ICMP)

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1, Windows Server 2003 with SP2

Internet Control Message Protocol (ICMP)

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:

  • An IP datagram cannot reach its destination.

  • An IP router (gateway) cannot forward datagrams at the current rate of transmission.

  • An IP router redirects the sending host to use a better route to the destination.

ICMP messages are encapsulated and sent within IP datagrams, as shown in the following illustration.

ICMP encapsulation in an IP datagram

Different 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.


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 TCP/IP RFCs