Internet Control Messaging Protocol

The Internet Control Messaging Protocol (ICMP) operates at the Transport layer of TCP/IP. It plays a crucial support function: when there is a problem with the reception of data, it alerts the sender with various kinds of error messages. It generally does not transmit data itself, aside from these error codes.

ICMP usually operates in the background of networking activities, and is not often invoked directly by an end user. One important exception to this is the act of pinging a machine. Ping is a fairly ubiquitous tool that repeatedly sends ICMP messages to a target. This can allow us to test network connectivity by letting us know if we're able to reach the destination. It also tests for the latency of connectivity between the two machines. It measures both the time it takes for the ICMP packet to reach its destination and the time it takes to receive an acknowledgment. These values are summed together and provided back to the sender, usually in milliseconds.


Relevant Note(s): Network Protocols