ICMP protocol is a bunch of error, queries and response messages that are helping us every day to troubleshoot and manage our networks. At least if you found yourself in a networking engineer role.
Network protocol “ICMP” is known as a control protocol because it is used for the purpose of administration and management within an IP network. Described in RFC 792 ICMP is a vital part of Internet protocol implementations, but it is not holding the application data. It carries the network status information. This protocol is being utilized to provide the details of:
- issues during the core communications and interactions of applications within a network
- network obstacles and congestion
- out-of-the-way hosts accessibility
ICMP e.g. PING utility that is being utilized the Internet control message protocol in order to check out if the distant hosts is reachable and in addition it generates info about round-trip point-in-time. Moreover, TRACEROUTE is a supportive feature of ICMP. This element can spot the intermediate hops in between a specified source machine and an end machine. TRACEROUTE will also give us a way to find where in the middle of the network one hop is blocking the path of the packet being delivered.
ICMP header part organization
Every one ICMP packet will take one header of 8-byte along with a variable-sized section for data. The initial header’s 4 bytes will be unchanging and consistent. And opening byte will be reserved for the type of ICMP while second byte will be kept to store the ICMP code. Consecutively the 3rd and 4th bytes serve as the whole message checksum. But the rest of header’s 4–byte can be varied and conditional on the ICMP type plus its code. ICMP4 was introduced for the IP version 4.
ICMP packets are recognized by type. Several of the packet types have further more specific subtypes and these are acknowledged by the code number. Various ICMP packet types and their codes are defined in RFC 1700.
ICMP technical facts
On average, the objective of ICMP messages is to make a diagnosis and to supervise. Such a message can as-well be created in answer to a error within the IP process. ICMP messages are enclosed inside the standard Internet Protocol packets, but these messages are by-and-large being practiced like a something special, and somewhat distinguished out from the usual Internet Protocol. A lot of frequently employed network functions, and services are derived from the ICMP messages e.g. the commands like traceroute and pathping can be placed into practice by broadcasting the UDP datagrams along with individually positioned IP (Internet Protocol) TTL header parts, and the attempt to find the messages as time to live and ICMP’s destination unreachable as made in response. The connected utilities as ping will be employed by means of the two Echo request plus Echo reply messages of the ICMP.
ICMP other technical parts are included: control messages, source quench requests, redirect requests, time exceeded messages, timestamp message, address mask request and destination unreachable message.
Interesting – IRDP
While every of the ICMP types is important, there are few of them that are particularly interesting and important.
Redirect that is ICMP type 5 is used by routers to notify hosts of another router on the data link that should be used for a particular destination. Suppose two routers, router R1 and R2 are on same Ethernet. If there is a PC that has R1 as default gateway this computer will send packets to R1. If R1 knows that destination is reachable from R2, R1 will forward that communication to R2 and is will also send ICMP redirect message to that PC. PC will then know that from that moment on it needs to send packets with that destination directly to R2.
Router Advertisement has ICMP types 9. Router Selection has ICMP type 10, those two types are used by the ICMP Router Discovery Protocol.