Internet Control Message Protocol
The Internet Message Control Protocol (ICMP) is part of the TCP-IP
suite of protocols. ICMP messages are typically generated in response to
errors in IP datagrams (as specified in
RFC1122) or for diagnostic or routing purposes.
Many commonly used network utilities are based on ICMP messages.
The ping utility (well known on Unix) is implemented using the ICMP "Echo" and "Echo reply"
messages.
The related traceroute command is implemented by transmitting UDP datagrams
with manipulated IP Time-to-live header fields and looking for ICMP "Time to
live exceeded in transit" and "Destination unreachable" messages in response.
Each ICMP message is encapsulated directly within a single IP datagram
and is not reliably delivered.
Further reading: RFC792