ICMP

Stands for "Internet Control Message Protocol."

ICMP is an error-reporting protocol that helps diagnose problems with a TCP/IP network connection. It is a network-level protocol that assists in the movement of data packets between networks, and it is an important part of the Internet Protocol (IP) suite. Network devices like routers and switches send ICMP error messages when a data packet cannot reach its destination.

Transferring data between two computers over the Internet requires a series of separate network connections along the way. Each data packet moves from network to network, forwarded to the next step by each network's router. A series of packets sent between the same two computers may even take different routes and arrive out of order before being reassembled at their destination. If any device cannot successfully forward a packet to its next hop, it sends an ICMP error message back to the packet's source.

The ICMP protocol specifies several error types that help identify a connectivity problem. For example, a Time Exceeded error means that the data packet's TTL expired before it reached its destination, while a Parameter Problem error indicates a problem with the data packet's IP header. Some error types include a subtype code that provides more detail. The Destination Unreachable error, for example, has 16 possible subtypes that each describe a different cause. In most cases, software on the origin computer resolves these errors automatically by sending the data packet again or trying a different route, often without the user noticing. However, diagnostic tools like Ping and Traceroute use ICMP messages to help you diagnose connectivity problems between your computer and a remote server.

Updated September 21, 2023 by Brian P.

quizTest Your Knowledge

Which of the following is a standard model for transferring data over the web?

A
RDF
0%
B
EUP
0%
C
SRE
0%
D
WPA
0%
Correct! Incorrect!     View the RDF definition.
More Quizzes →

The Tech Terms Computer Dictionary

The definition of ICMP on this page is an original definition written by the TechTerms.com team. If you would like to reference this page or cite this definition, please use the green citation links above.

The goal of TechTerms.com is to explain computer terminology in a way that is easy to understand. We strive for simplicity and accuracy with every definition we publish. If you have feedback about this definition or would like to suggest a new technical term, please contact us.

Sign up for the free TechTerms Newsletter

How often would you like to receive an email?

You can unsubscribe or change your frequency setting at any time using the links available in each email.

Questions? Please contact us.