Internet Control Message Protocol (ICMP)
Internet Control Message Protocol (ICMP)
Internet Control Message Protocol
The Internet Control Message Protocol (ICMP) is one of the core protocols of the Internet Protocol Suite. It is chiefly used by the operating systems of networked computers to send error messages indicating, for example, that a requested service is not available or that a host or router could not be reached. ICMP can also be used to relay query messages. It is assigned protocol number 1.
ICMP differs from transport protocols such as TCP and UDP in that it is not typically used to exchange data between systems, nor is it regularly employed by end-user network applications (with the exception of some diagnostic tools like ping and traceroute).
ICMP for Internet Protocol version 4 (IPv4) is also known as ICMPv4. IPv6 has a similar protocol, ICMPv6.
ICMP, often used by router to send messages back to host to indicate problems. Here's common scenarios.
- Echo Request and Echo Reply. For testing.
ping
,traceroute
. - Source Quench. Tell the sender that it's sending too fast.
- Destination Unreachable. e.g. its down
- Time Exceeded. e.g. Too many hops. TTL (Time to Live) reached expiration (zero). e.g. When routing loop occurs. (routing loop can happen when routing table is set manually. Or it can happen anyway.)
- Fragmentation Needed