What Is ICMP?

What Is ICMP

Date First Published: 15th April 2022

Topic: Computer Networking

Subtopic: Internet Protocols

Article Type: Computer Terms & Definitions

Difficulty: Advanced

Difficulty Level: 8/10

Learn more about what ICMP is in this article.

Not to be confused with IGMP (Internet Group Management Protocol).

Short for Internet Control Message Protocol, ICMP is a network-layer protocol used to communicate error messages between routers, hosts, and other network devices. For example, if a data packet was too large for a router to handle, it would drop the packet and send an ICMP message to the sending end. The most common use of ICMP is to check whether data packets are reaching their destination node within a reasonable period of time. ICMP is a very important protocol for error testing.

Note: Info Icon

ICMP is known as a connectionless protocol as it is not linked to any transport layer protocol, such as TCP or UDP. As a result, ICMP does not perform a handshake or use a specific port.

Other Uses

Another use of ICMP is diagnosing networks using the traceroute command and ping. The traceroute command shows the routing path between two routers, hosts, or other network devices and the journey from one router to another is known as a hop. In addition, traceroute provides a report of the period of time that is required for each hop. This use of ICMP in traceroute is helpful for identifying sources of delay in a network and information as to whether the routers can effectively transfer the data.

Ping tests the reachability of a computer network by sending a signal to host and receiving a response. It can provide a report of latency, which is the period of time that it takes for a data packet to reach its destination. Ping does not provide data in regard to routing or hops, but it can still give a measure of the latency. Ping uses ICMP for the purpose of sending an ICMP echo message to the specified host.

Control Messages

The type and code of control messages help identify the response of the device. The table below shows a list of control messages with descriptions.

ICMP Type Description Status
0 Echo reply Active
1 and 2 Reserved Unassigned
3 Destination unreachable Active
4 Source quench Deprecated
5 Redirect message Active
6 Alternate host address Deprecated
7 Reserved Unassigned
8 Echo request Active
9 Router Advertisement Active
10 Router Solicitation Active
11 Time exceeded Active
12 Parameter problem Active
13 Timestamp request Active
14 Timestamp reply Active
15 Information request Deprecated
16 Information reply Deprecated
17 Address mark request Deprecated
18 Address mark reply Deprecated
19 Reserved for security Reserved
20-29 Reserved for robustness experiment Reserved
30 Information request Deprecated
31 Datagram conversion error Deprecated
32 Mobile host redirect Deprecated
33 Where-Are-You Deprecated
34 Here-I-Am Deprecated
35 Mobile Registration Request Deprecated
36 Mobile Registration Reply Deprecated
37 Domain Name Request Deprecated
38 Domain Name Reply Deprecated
39 Domain Name Reply Deprecated
40 Photuris, Security failures Active
41 ICMP for experimental mobility protocols such as Seamoby Experimental
42 Requested Extended Echo Active
44-252 Reserved Unassigned
253 RFC3692-style Experiment 1 Experimental
254 RFC3692-style Experiment 2  Experimental
255 Reserved Reserved

History

ICMP was introduced in 1981 by DARPA (Defence Advanced Research Projects Agency) and was defined in RFC 792 as an extension to the Internet Protocol.

TCP/IP Protocol
Application layer BGPDHCPDNSFTPHTTPIMAPLDAPMGCPNNTPNTPOSPFPOPPTPONC/RPCRTPRTSPRIPSIPSMTPSNMPSSHTelnetXMPP
Transport layer TCPUDPDCCPSCTPRSVPQUIC
Internet layer IPICMPNDPECNIGMP.
Link layer TunnelsPPPMAC


Feedback

  • Is there anything that you disagree with on this page?
  • Are there any spelling, grammatical, or punctuation errors on this page?
  • Are there any broken links or design errors on this page?

If so, it is important that you tell me as soon as possible on this page.