What is ICMP? This is the function and how it works

what is icmp this is the function and how it works.

Perhaps only a few Internet users have heard of ICMP, and most of them don't even know that it has anything to do with the Internet. So let's find out what ICMP is and how does it work?

ICMP is actually a protocol, like IP, TCP, and UDP, so it plays a pretty important role in the proper functioning of our Internet connection. Keep reading if you want to know what ICMP is and how it can help us keep our connections at optimal levels.

What is ICMP?

Internet Control Message Protocol or commonly abbreviated as ICMP is a network protocol that is useful for solving various problems related to connectivity. This protocol is used by various network devices, such as routers, modems, servers, and others.

As mentioned above that ICMP is a protocol like TCP and UDP, but unlike the two, ICMP is generally not used to facilitate the exchange of data between systems. Also, it's not often used in end-user network applications, unless it's a diagnostic tool.

The original definition of ICMP was sketched by Jon Postel, who contributed extensively and repeatedly to the development of the Internet, and the first ICMP standard was published in April 1981 in RFC 777. Obviously, the original definition underwent many changes to achieve the form we know it. now. The stable form of this protocol was published 5 months later from its original definition, in September 1981, in RFC 792, and also written by Postel.

How Does ICMP Work?

Simply put, ICMP is used for error reporting by determining whether data reaches its intended destination relatively quickly or not. In the basic scenario, two devices are connected via the Internet and exchange information through what we call data packets or datagrams. What ICMP does is generate an error and share it with the device that sent the original data if the packet never gets to its destination.

For example, if you send a data packet that is too large for the router to handle, the router will first drop the packet and then generate an error message telling the sending device that the packet never reached its intended destination.

However, they are what we call passive skills because there is absolutely nothing you need to do to receive this error message (if necessary). ICMP also has more active utilities, which we can rely on to perform various network troubleshooting operations.

Unlike TCP and UDP, ICMP does not require a device to be connected to send messages. In a TCP connection, for example, the connected device needs to perform a multi-step handshake, after which data can be transferred.

With ICMP, there is no need to establish a connection, a message can be easily sent instead of a connection. In addition, ICMP messages do not require a port to route messages, compared to TCP and UDP, which both use specific ports to route information. ICMP not only doesn't require ports, it doesn't actually allow targeting specific ports.

ICMP messages are carried by IP packets but not loaded by them. Instead, they support these packets, because they are only generated if their carrier (i.e. IP packet) never reaches their destination. More often than not, the circumstances that allow ICMP packets to appear result from available data in the failed packet's IP header.

Because ICMP includes data from the IP header of the failed packet, network analysis tools can be used to determine exactly which IP packet failed to send. However, IP headers are not the only type of information carried by ICMP packets.

The ICMP packet stores the IP header, followed by the ICMP header, and the first eight bytes of the payload.

  * IP header - contains details about the IP version, source and destination IP addresses, number of packets sent, the protocol used, packet length, time to live (TTL), synchronization data, as well as ID numbers for specific data packets.

  * ICMP header - contains code that helps categorize errors, sub-codes that facilitate error identification by offering a description, and a checksum.

  * Transport Layer header - the first eight bytes of the payload (transferred via TCP or UDP).

ICMP function

ICMP is actually a fairly complex protocol. It is designed primarily for devices that work on the line connecting the sending device to the receiving device. In addition, ICMP has many functions other than only reporting errors in packet transmission and unreachable hosts. Following are the main functions of ICMP:

  * Allow the router to notify the source when the IP packet sent by the source cannot be sent.

  * Allow source to find all available paths to the destination device.

  * Allow source to check if the destination device is online and up.

  * Allow administrator to test connectivity and debug connectivity-related issues.

ICMP Control messages

ICMP offers feedback and information about errors, control messages and management queries. The first code field in an ICMP block can convey a lot of information. Below you can find some of the most relevant values ​​that the first column of code can have and what they mean:

  * 0 - Echo Reply - used for ping purposes

  * 3 - Destination Unreachable

  * 5 - Redirect Message - used to indicate different route selection

  * 8 - Echo-Request - used for ping purposes

  * 9 - Router Advertisement - used by routers to announce their IP address is available for routing

  * 10 - Router Solicitation - router discovery, request, or selection

  * 11 - Time Exceeded - TTL expired or reinstallation time exceeded

  * 12 - Parameter Problem: Bad IP header - bad length, missing required options, or pointer error

  * 13 - Timestamp

  * 14 - Timestamp reply

  * 41 - used for an experimental mobility protocol

  * 42 - Extended Echo Request - requesting an extended Echo

  * 43 - Extended Echo Reply - reply to 42 extended Echo requests

  * 253 and 254 - trial


So what is ICMP? Internet Control Message Protocol (ICMP) is a protocol that devices in a network used to communicate problems with data transmission. The main function of ICMP is to report errors and perform network diagnostics.

ICMP works by conveying messages from receiver to sender about the data that should arrive. If data does not reach the recipient or is received in the wrong order, ICMP notifies the sender so that the data can be retransmitted.

Hopefully, this article about What is ICMP? This is the function and how it works, gives you a little insight. Also, read an article about What is IMEI and how to find out that you may need to know. Thank you.

Previous Post Next Post