blog posts

What is (ICMP)?

What is the main nature of (ICMP)? What are its uses?

When information is transmitted over the Internet, computer systems send and receive data using the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol. If there is a connection problem, error and connection status messages are sent using ICMP, which is part of the Internet Protocol.

When a computer connects to another system over the Internet (such as a home computer connecting to a web server to view a website), it may seem like a quick and easy process. While the connection may take a few seconds, there are often many separate connections that must occur in order for the computers to successfully communicate with each other. In fact, if you were to trace the entire process of connecting to the Internet using the traceroute command, you might be surprised that Internet connections are as successful as they are. This is because for each “hop” along the way, the network must be functional and able to accept requests from your computer.

In cases where there is a connection problem, ICMP can send return codes to it. Your system will explain why the connection failed.

These messages may be messages such as “Network Unreachable” for a system that is down, or “Access Denied” for a secure, password-protected system. ICMP may also provide routing suggestions to help bypass responding systems. While ICMP can send many types of messages, most of them are never seen by the user. Even if you get an error message, the software you’re using, such as a web browser, has most likely already translated the message into plain (and hopefully less technical) language that you can understand.


What does ICMP stand for?

Internet Control Message Protocol or “Internet Control Message Protocol.”


What is the application of ICMP?

The main use of ICMP is to send error reports. When two devices are connected to each other through the Internet. If the data of any of these devices does not reach the destination, ICMP sends the desired error report to the source. For example, if the data sent is too large for a router, the router drops the packet and sends an ICMP message about the dropped data to the source.

Another use of ICMP is to diagnose and troubleshoot network problems, which is frequently used in the network support process. Common network tools such as ping and traceroute both use the ICMP protocol. The Traceroute tool is used to show the route of the desired information to the destination and the number of routers on the way, the actual physical route of the connected routers that the request must go through before reaching the destination. This command can determine the reason for the delay of the packet sent to the destination.

A ping tool is a simplified version of Traceroute. Ping tests the speed of the connection between two devices and reports how long it takes for the desired information to reach the source and then the destination to respond to the source. Although Ping provides information about routing and It doesn’t show the routers between the source and destination, but it’s still a very useful metric for measuring latency between two devices. echo-request and echo-reply are ICMP messages for ping operations.

Unfortunately, network attacks can exploit this process and cause network disruptions such as ICMP flood attack and ping death attack.


How does ICMP work?

Unlike the IP protocol, ICMP is not associated with a transport layer protocol such as TCP or UDP. This makes ICMP a connectionless protocol. In other words, a device does not need to open the sent packet to send a message to the destination. Meanwhile, normal traffic is carried out by the IP protocol using the TCP protocol, so that both devices before communicating and sending information to Each other must handshake with each other to measure the readiness of both devices to send and receive information, and before sending the main information, they share other information with each other. ICMP also does not target a specific port on a device.