IPv6: The Next Generation Internet Protocol

This chapter looks into a set of Internet Control Message Protocol (ICMP) messages to be used with IPv6. IPv6 utilizes the Internet Control Message Protocol (ICMP) along with a several changes. The Internet Group Membership Protocol (IGMP) determined for IPv4 has been modified and absorbed into ICMP for IPv6. The end result was a protocol referred to as ICMPv6.
IPv6 nodes list errors that are seen when operating on packets employ ICMPv6. In addition, they are used to execute other Internet-layer functions including diagnostics (e.g., ICMPv6 ping) and multicast membership reporting. ICMPv6 is a key component of IPv6 and needs to be completely instituted by every IPv6 node.
ICMPv6 messages are classified into two distinct groups:
Error messages
Informational messages
Error messages are distinguished by having a 0 in the high-order bit of the message Type field values. Therefore, error messages have message Types from 0 to 127. However, informational messages have message Types from 128 to 255.
The message formats for the ICMPv6 error messages include the destination unreachable, packet too big, time exceeded, and parameter problem. The ICMPv6 informational messages include:
128 Echo Request
129 Echo Reply
130 Group Membership Query
131 Group Membership Report
132 Group Membership Reduction
Each ICMPv6 message has an IPv6 header that precedes it, and 0 or more IPv6 extension headers. The ICMPv6 header is distinguished by a Next Header value (shown in Figure 8.1) of 58 in the header that it follows.
The Type field designates the type...