What is icmp
Last updated: April 1, 2026
Key Facts
- ICMP is defined in RFC 792 and operates at Layer 3 (Network Layer) of the OSI model as part of the Internet Protocol Suite
- The ping utility uses ICMP Echo Request and Echo Reply messages to test whether a host is reachable and measure response time
- ICMP is used by the traceroute utility to map network paths by sending messages with incrementally increasing TTL values
- ICMP can report various network errors including destination unreachable, time exceeded, and parameter problems
- ICMP messages are identified by type numbers, with types 0-42 and beyond representing different message categories and functions
What is ICMP?
The Internet Control Message Protocol (ICMP) is a core network protocol used to send error messages and diagnostic information across IP networks. Unlike TCP and UDP which carry user data, ICMP is designed to provide feedback about network conditions and issues. ICMP is essential for network troubleshooting and communication between network devices about delivery problems and network status.
How ICMP Works
ICMP operates by encapsulating messages within IP packets. When a network problem occurs—such as a host being unreachable or a router being unable to forward a packet—ICMP generates an error message that is sent back to the source. ICMP can also be used proactively to request information about network conditions. The protocol is connectionless, meaning it doesn't establish a connection before sending messages. Each ICMP message includes a type field that identifies the message category and a code field that provides additional specificity about the condition being reported.
Common ICMP Applications
Ping is the most familiar ICMP application. It sends ICMP Echo Request messages to a destination and waits for Echo Reply messages, allowing users to verify that a host is reachable and measure latency. Traceroute uses ICMP to discover the route packets take across the internet by sending messages with progressively higher Time-To-Live (TTL) values, causing intermediate routers to return error messages that reveal their addresses. Network administrators use these tools daily to diagnose connectivity problems, measure network performance, and identify routing issues.
ICMP Message Types
ICMP defines numerous message types for different purposes. Echo Request (type 8) and Echo Reply (type 0) are used by ping. Destination Unreachable (type 3) reports that a packet cannot be delivered. Time Exceeded (type 11) indicates that a packet's TTL has expired. Redirect (type 5) suggests a better route. Parameter Problem (type 12) indicates an invalid IP header. Each type has associated codes that provide more specific information about the network condition being reported.
Related Questions
What is ping and how does it use ICMP?
Ping is a network utility that uses ICMP Echo Request and Echo Reply messages to test if a host is reachable and measure response time (latency). It sends a packet to a destination and waits for a reply, allowing users to diagnose network connectivity issues.
How does traceroute use ICMP?
Traceroute uses ICMP Time Exceeded messages to discover the network path to a destination. It sends packets with incrementally increasing TTL values, causing routers along the path to return error messages that reveal their IP addresses.
Why is ICMP important for network diagnostics?
ICMP provides network administrators with error reporting and diagnostic capabilities essential for troubleshooting connectivity problems. Without ICMP, it would be difficult to identify where network failures occur or measure network performance.
More What Is in Daily Life
Also in Daily Life
More "What Is" Questions
Trending on WhatAnswers
Browse by Topic
Browse by Question Type
Sources
- Wikipedia - Internet Control Message ProtocolCC-BY-SA-4.0
- RFC 792 - Internet Control Message ProtocolPublic Domain