ICMP or the Internet Control Message Protocol is counted among the core protocols of the IP suite. Most of the operating systems of the computers that are involved in a network use ICMP.
About ICMP or Internet Control Message Protocol
– The particular purpose of this protocol is to send error messages that indicate about the availability of the requested service or about the host’s reach-ability.
– ICMP has been assigned protocol number one.
– It’s another purpose is to relay the query messages.
– However, this protocol has a number of things different from the other transport protocols namely UDP and TCP.
– The major difference is that its typical use is not in exchanging data and info between the hosts.
– Further, the end – user network applications do not employ ICMP.
– However, it becomes an exception when used along with some diagnostic tools such as trace route and ping.
– ICMPv4 is the ICMP version developed for the internet protocol version 4 i.e., IPv4.
– Similarly ICMPv6 has been developed especially for the IPv6 protocol.
– The ICMP protocol being a part of the internet protocol suite has been defined in the RFC 792.
– As specified in RFC 1122 the ICMP messages are meant for control or diagnostic purposes.
– They are usually generated as a response to the errors that occur during the functioning of the IP protocol.
– The errors that occur are directed to the originating packet’s source IP address.
– It is also a characteristic of ICMP messages that their processing is distinguished from the IP processing that is normally done.
– The processing does not takes place as it would do for the normal IP sub–protocol.
– This is so because inspecting the ICMP message contents is very much required so that the appropriate error messages can be delivered to the application responsible for generating the IP packet.
Characteristics and Features of ICMP Protocol
1. ICMP segment structure:
– ICMP header comes after the IPv4 header and is identifiable by protocol number 1.
– All ICMP packets consist of a data section whose size is variable and an 8 byte header out of which 4 are consistent.
First byte: ICMP type
Second byte: ICMP code
Third and fourth bytes: checksum of the whole message
– The remaining 4 byte content varies according to the first two bytes.
– The data section includes all the above mentioned content plus additional 8 byte data from the data packet because of which the error occurred.
– This whole data-gram is then stored in another IP data-gram.
2. Control messages These are another characteristic feature of the ICMP protocol. Some examples are:
– Echo reply
– Destination unreachable
– Echo request
– Echo advertisement
– Router solicitation and so on.
3. Source Quench:
– This feature is responsible for requesting the sender to reduce the rate of messages that he/ she is sending to the host or a router.
– This message might be generated in any of the following two situations:
a.) If there is no sufficient buffer space in the router for processing the request.
b.) If the router is about to approach its limit.
– It shows the router, the speeds of the incoming data rate and the outgoing data rate and appropriately messages the clients requesting them to wait for some time or slow down their transfer speeds before sending more data.
– When this message is sent to the client, the data rate is automatically slowed down for a significant amount of time.
4. High data transfer rate:
– The rate of sending data is very high even when there are many hosts sending data to one router simultaneously.
– If the router exceeds its capacity, it does not accept any more incoming data until and unless space is again available in the buffer.
– There is one disadvantage here which is that there is no mechanism for acknowledging the client about the successful delivery of data.
– Therefore the network layer needs to take some measures for avoiding such kind of situations.