Internet control message protocol (ICMP) is one of the core protocols of TCP/IP (transmission control protocol/Internet protocol), the Internet protocol suite.
ICMP is an Internet protocol (IP) that operates at the network layer of the OSI (open systems interconnection) seven-layer model, which is the layer that is responsible for routing. Routing is the moving of packets (i.e., the fundamental unit of data transport on modern computer networks) across the network using the most appropriate paths.
ICMP allows for the generation of test packets, error messages and informational messages related to IP networks. It is widely used by networked computers to send error messages, for example indicating that a requested service is not available or that a host (i.e., computer) or router could not be reached. A common error message generated by ICMP is network unreachable.
Each ICMP message is encapsulated directly within a single IP packet, and thus, as is the case with UDP (user datagram protocol) and in contrast to TCP, delivery is not guaranteed.
ICMP is the network protocol used by the ping and traceroute commands, both of which are among the most basic, but most useful tools for obtaining information about networks.
Created September 25, 2005.