ICMPv6
ICMPv6 Protocol

ICMPv6 (Internet Control Message Protocol for the Internet Protocol Version 6) protocol is part of the Internet protocol family and is defined in RFC 4443. It is used primarily for reporting error states, testing for reachability and exchange of certain operating information. RFC 4443 defines only the fundamental elements such as the message format and individual types of messages that are divided into ICMPv6 error message and ICMPv6 informational message. Individual messages are conveyed using an IPv6 datagram.

Message General Format

There are four ICMPv6 error messages:

There are four ICMPv6 informational messages:

Internal IPv6 mechanisms are complement other types of messages and rules for their generation. For example, they are Router Solicitation, Router Advertisement, Neighbor Solicitation, Neighbor Advertisement, Redirect and messages that are relate to mobility.

ICMPv6 protocol has implemented security mechanisms unlike ICMPv4. In the case of IPv4, the ICMPv4 messages can be misused and thus it can result to limit functionality of the network. In short, the target node could be overload by many ICMP messages and other traffic could not pass through the node. Security mechanisms use following arrangements:

RFC 4884 defines the extended version of ICMPv6 protocol that allows inserting additional information in the ICMPv6 message and slightly modifies some existing messages such as Destination Unreachable message and Time Exceed message. ICMPv6 extension header is placed at the end of ICMPv6 message and the ICMPv6 extension data follows this header.

ICMPv6 Extension Header Format

The implementation of ICMPv6 is mandatory in any node that supports IPv6.