ICMP (Internet Control Message Protocol) is a network-layer protocol used by routers and hosts to report errors and answer diagnostic queries. It has no ports and does not carry application data.
Why it matters
Ping uses ICMP echo request and echo reply. Traceroute relies on ICMP "time exceeded" replies from each router. "Destination unreachable" and "fragmentation needed" messages let senders adapt, and path MTU discovery depends on them. Blocking all ICMP can therefore cause strange stalls, even though a blocked ping is often harmless.
Example
$ ping -c 1 203.0.113.10
64 bytes from 203.0.113.10: icmp_seq=1 ttl=57 time=12.4 ms
Type 8 (echo request) went out and type 0 (echo reply) came back in 12.4 ms.
Common mistakes
- Dropping every ICMP type in the firewall and breaking path MTU discovery.
- Concluding a server is down because it does not answer ping. Many hosts deliberately ignore it.
- Forgetting that ICMPv6 is essential for IPv6 operation and must not be blocked wholesale.
Related
Get notified when this term updates
Plus occasional practical tips on uptime and monitoring, nothing else. Unsubscribe anytime.
This page is general information written by our editorial team and updated when documentation changes. Servers and providers differ, so test changes safely first. See our editorial policy and disclaimer.