Internet control message protocol (icmp)

The operation of the Internet is closely monitored by the routers. Although the IP layer provides a best-effort unreliable delivery system, each router provides an Internet Control Message Protocol (ICMP) error message to the original sender whose IP address is encapsulated in the IP datagram. The ICMP message allows the router to send error or control messages to the sending host. These ICMP messages travel across the internet in the data portion of the IP datagram, but are, however, considered a part of the IP protocol suite. An exception is made to the error handling procedure if an IP datagram carrying an ICMP message causes an error. This is established to avoid the problem of having error messages about error messages. Technically, ICMP is an error reporting mechanism. Whenever a datagram causes an error, ICMP can report the error condition back to the original source of the datagram; the source must accordingly relate the error to an individual application program or take appropriate action to correct the problem. For example, suppose a datagram is supposed to follow a path through a sequence of routers R1, . . . , Rk−1, Rk. If Rk−1 has incorrect routing information and mistakenly routes the datagram to router RE , then RE uses an ICMP to report the problem to router R1 and not Rk−1. This is because the IP datagram only contains the source IP address of router R1. It is now the responsibility of router R1 to remedy the situation. The ICMP message format is given in Section 9.5 of Comer. The important ICMP message types are listed in Table 1. A few comments about when these messages originate are now in order: