ICMP Message Creation and Processing Conventions and Rules
(Page 3 of 3)
ICMP Message Processing Conventions
Message processing generally takes place as described in the topic on general operation, with the ICMP message delivered either to the IP software or other protocol software implementation as required. What is done with the message usually depends on its type. Some are destined only for the IP software itself, but many are intended for the higher-layer protocol that generated the datagram that led to the error. In the next topic we will see that ICMP error messages include information that allows the upper-layer protocol to be extracted for the purpose of passing the message to the appropriate software layer.
In IPv6, the class of message (error or informational) can be determined from the Type value. This knowledge can then be used to guide processing of ICMP messages with unknown Type values. The rule is that ICMP error messages with unknown Type values must be passed to the appropriate upper layer protocol. Informational messages with unknown Type values are discarded without taking action.
In addition to these general rules, there are specific rules put into place to guide the processing of some of the message types. I describe some of these conventions in the topics that discuss individual ICMP messages.
An important final point is that ICMP messages, especially error messages, are not considered "binding" on the device that processes them. To stick with the office analogy, they have the equivalent status in an office of only of an "FYI memo", not an "assignment". It is often the case that a device should take action upon processing an ICMP message, but the device is not required to. The exception, again, is when informational messages are used for specific purposes. For example, most of the messages that come in pairs are designed so that a Request results in the matching Reply and a Solicitation yields an Advertisement.
Home - Table Of Contents - Contact Us
The TCP/IP Guide (http://www.TCPIPGuide.com)
Version 3.0 - Version Date: September 20, 2005
© Copyright 2001-2005 Charles M. Kozierok. All Rights Reserved.
Not responsible for any loss resulting from the use of this site.