Internet Control Message Protocol for IPv6
   HOME

TheInfoList



OR:

Internet Control Message Protocol version 6 (ICMPv6) is the implementation of the Internet Control Message Protocol (ICMP) for
Internet Protocol version 6 Internet Protocol version 6 (IPv6) is the most recent version of the Internet Protocol (IP), the communications protocol that provides an identification and location system for computers on networks and routes traffic across the Internet. IPv ...
(IPv6). ICMPv6 is an integral part of IPv6 and performs error reporting and diagnostic functions. ICMPv6 has a framework for extensions to implement new features. Several extensions have been published, defining new ICMPv6 message types as well as new options for existing ICMPv6 message types. For example,
Neighbor Discovery Protocol The Neighbor Discovery Protocol (NDP), or simply Neighbor Discovery (ND), is a protocol of the Internet protocol suite used with Internet Protocol Version 6 (IPv6). It operates at the link layer of the Internet model, and is responsible for gat ...
(NDP) is a node discovery protocol based on ICMPv6 which replaces and enhances functions of ARP.
Secure Neighbor Discovery The Secure Neighbor Discovery (SEND) protocol is a security extension of the Neighbor Discovery Protocol (NDP) in IPv6 defined in RFC 3971 and updated by RFC 6494. The Neighbor Discovery Protocol (NDP) is responsible in IPv6 for discovery of othe ...
(SEND) is an extension of NDP with extra security.
Multicast Listener Discovery Multicast Listener Discovery (MLD) is a component of the Internet Protocol Version 6 (IPv6) suite. MLD is used by IPv6 routers for discovering multicast listeners on a directly attached link, much like Internet Group Management Protocol (IGMP) i ...
(MLD) is used by IPv6 routers for discovering
multicast In computer networking, multicast is group communication where data transmission is addressed to a group of destination computers simultaneously. Multicast can be one-to-many or many-to-many distribution. Multicast should not be confused with ...
listeners on a directly attached link, much like
Internet Group Management Protocol The Internet Group Management Protocol (IGMP) is a communications protocol used by hosts and adjacent routers on IPv4 networks to establish multicast group memberships. IGMP is an integral part of IP multicast and allows the network to direct ...
(IGMP) is used in IPv4. Multicast Router Discovery (MRD) allows the discovery of multicast routers.


Message types and formats

ICMPv6 messages may be classified as ''error messages'' and ''information messages''. ICMPv6 messages are transported by IPv6 packets in which the IPv6 Next Header value for ICMPv6 is set to the value 58. The ICMPv6 message consists of a header and the protocol payload. The header contains only three fields: ''type'' (8 bits), ''code'' (8 bits), and ''checksum'' (16 bits). ''type'' specifies the type of the message. Values in the range from 0 to 127 (high-order bit is 0) indicate an error message, while values in the range from 128 to 255 (high-order bit is 1) indicate an information message. The ''code'' field value depends on the message type and provides an additional level of message granularity. The ''checksum'' field provides a minimal level of integrity verification for the ICMP message.


Types

Control messages are identified by the value in the ''type'' field. The ''code'' field gives additional context information for the message. Some messages serve the same purpose as the correspondingly named ICMP message types. Note that the table above is not comprehensive. The current complete list of assigned ICMPv6 types can be found at this link
IANA: ICMPv6 Parameters


Checksum

ICMPv6 provides a minimal level of message integrity verification by the inclusion of a 16-bit
checksum A checksum is a small-sized block of data derived from another block of digital data for the purpose of detecting errors that may have been introduced during its transmission or storage. By themselves, checksums are often used to verify data ...
in its header. The checksum is calculated starting with a pseudo-header of IPv6 header fields according to the IPv6 standard, which consists of the source and destination addresses, the packet length and the next header field, the latter of which is set to the value 58. Following this pseudo header, the checksum is continued with the ICMPv6 message. The checksum computation is performed according to Internet protocol standards using 16-bit
ones' complement The ones' complement of a binary number is the value obtained by inverting all the bits in the binary representation of the number (swapping 0s and 1s). The name "ones' complement" (''note this is possessive of the plural "ones", not of a sin ...
summation, followed by a final ones' complement of the checksum itself and inserting it into the checksum field. Note that this differs from the way it is calculated for IPv4 in ICMP, but is similar to the calculation done in TCP.


Format

Destination Unreachable Message-en.svg, Destination Unreachable Message (Type=1) Packet Too Big Message-en.svg, Packet Too Big Message (Type=2) ICMPv6 Time Exceeded Message-en.svg, ICMPv6 Time Exceeded Message (Type=3) Parameter Problem Message-en.svg, Parameter Problem Message (Type=4) Echo Request Message-en.svg, Echo Request Message (Type=128) Echo Reply Message-en.svg, Echo Reply Message (Type=129) Router Solicitation Message-en.svg, Router Solicitation Message (Type=133) Router Advertisement Message-en.svg, Router Advertisement Message (Type 134) Neighbor Solicitation Message-en.svg, Neighbor Solicitation Message (Type 135) Neighbor Advertisement Message-en.svg, Neighbor Advertisement Message (Type 136) Redirect Message-en.svg, Redirect Message (Type 137)


Message processing

When an ICMPv6 node receives a packet, it must undertake actions that depend on the type of message. The ICMPv6 protocol must limit the number of error messages sent to the same destination to avoid network overloading. For example, if a node continues to forward erroneous packets, ICMP will signal the error to the first packet and then do so periodically, with a fixed minimum period or with a fixed network maximum load. An ICMP error message must never be sent in response to another ICMP error message.


References


External links


IANA: ICMPv6 Parameters
{{IPv6 Internet protocols Internet layer protocols Network layer protocols IPv6