The ICMP protocol

Error management

ICMP (Internet Control Message Protocol) is a protocol which makes it possible to manage information relating to errors on networked machines. Considering the few controls that IP protocol carries out, it not only allows errors to be corrected but also informs the protocols of neighboring layers of these errors. So, ICMP protocol is used by all routers, who use it to indicate an error (called a Delivery Problem).

ICMP messages are encapsulated

ICMP error messages are sent over the network in datagram form, like any other data. So, the error messages themselves can be subject to errors.

However, in the event of an error on a datagram carrying an ICMP message, no error message is delivered in order to avoid a "snowball" effect in the event of an incident on the network.

Here is what an ICMP message encapsulated in an IP datagram resembles:

ICMP Message
(8 bits) (8 bits) (16 bits) (variable size)

Meaning of ICMP messages

PING. This command, allowing the network to be tested, sends a datagram to a destination and requests its return.

More information

For more information on ICMP protocol, please refer to RFC792 which explains the protocol in detail:

Ask a question
CCM is a leading international tech website. Our content is written in collaboration with IT experts, under the direction of Jean-François Pillou, founder of CCM reaches more than 50 million unique visitors per month and is available in 11 languages.


This document, titled « The ICMP protocol », is available under the Creative Commons license. Any copy, reuse, or modification of the content should be sufficiently credited to CCM (