ICMPv6: Difference between revisions

Content deleted Content added
removed link
Tags: Reverted Visual edit Mobile edit Mobile web edit
 
(12 intermediate revisions by 5 users not shown)
Line 21:
}}
{{IPstack}}
'''Internet Control Message Protocol version 6''' ('''ICMPv6''') is the implementation of the [[Internet Control Message Protocol]] (ICMP) for [[Internet Protocol version 6]] (IPv6).{{Ref RFC|4443}} 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]] (NDP) is a node discovery protocol based on ICMPv6 which replaces and enhances functions of [[Address Resolution Protocol|ARP]].{{Ref RFC|8415|section=3.4}} [[Secure Neighbor Discovery]] (SEND) is an extension of NDP with extra security. [[Multicast Listener Discovery]] (MLD) is used by IPv6 routers for discovering [[multicast]] listeners on a directly attached link, much like [[Internet Group Management Protocol]] (IGMP) is used in [[IPv4]]. [[Multicast Router Discovery]] (MRD) allows the discovery of multicast routers.
 
==Message types and formats==
Line 111:
| 129 || [[Echo Reply]] || 0 ||
|-
| 130 || [[Multicast Listener Query]] ([[Multicast Listener Discovery|MLD]]) || 0 ||
There are two subtypes of Multicast Listener Query messages:
* General Query, used to learn which multicast addresses have listeners on an attached link.
Line 117:
These two subtypes are differentiated by the contents of the Multicast Address field, as described in section 3.6 of RFC 2710
|-
| 131 || [[Multicast Listener Report]] ([[Multicast Listener Discovery|MLD]]) || 0 ||
|-
| 132 || [[Multicast Listener Done]] ([[Multicast Listener Discovery|MLD]]) || 0 ||
|-
| 133 || Router Solicitation ([[Neighbor Discovery Protocol|NDP]]) || 0 ||
Line 200:
 
===Checksum===
ICMPv6 provides a minimal level of message integrity verification by the inclusion of a 16-bit [[checksum]] in its header. The checksum is calculated starting with a [[IPv6 pseudo header|pseudo-header]] of IPv6 header fields according to the IPv6 standard,{{Ref RFC|8200|section=8.1}} 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]] summation, followed by a final ones' complement of the checksum itself and inserting it into the checksum field.{{Ref RFC|1071}} Note that this differs from the way it is calculated for IPv4 in [[Internet Control Message Protocol|ICMP]], but is similar to the calculation done in [[Transmission Control Protocol#TCP checksum for IPv6|the calculation done in TCP]].
 
{| class="wikitable" style="text-align: center;"
Line 396:
|}
</div>
For a redirect the first bytes of the message body are reserved but not used. This is fallowedfollowed by a Target and destination address. Unspecified options can be attached to the end:
 
<div style="display:inline-table; padding: 0.5em;">