ICMPv6
Internet Control Message Protocol version 6 (ICMPv6) is the new implementation of the Internet Control Message Protocol (ICMP) that is part of Internet Protocol version 6 (IPv6). The ICMPv6 protocol is defined in RFC 4443.
ICMPv6 is a multipurpose protocol. It performs such things as:
- error reporting in packet processing
- diagnostic functions
- Neighbor Discovery process
- IPv6 multicast membership reporting
It is also designed as a framework to use extensions for use with future implementations and changes. Examples of extensions that have already been written for ICMPv6:
- Neighbor Discovery Protocol (NDP) – a node discovery protocol in IPv6 which replaces and enhances functions of ARP.
- Secure Neighbor Discovery Protocol (SEND) – an extension of NDP with extra security.
- Multicast Router Discovery (MRD) – allows discovery of multicast routers.
- ICMPv6 messages use IPv6 packets for transportation and can include IPv6 extension headers. ICMPv6 includes some of the functionality that in IPv4 was distributed among protocols such as ICMPv4, ARP (Address Resolution Protocol), and IGMP (Internet Group Membership Protocol version 3).
- ICMPv6 has simplified the communication process by eliminating obsolete messages. ICMPv6 messages are subdivided into two classes: error messages and information messages. Error Messages are divided into four categories:
- Destination Unreachable
- Time Exceeded
- Packet Too Big
- Parameter Problems
- Information messages are divided into three groups:
- Diagnostic messages
- Neighbor Discovery messages
- Messages for the management of multicast groups.
ICMPv6 Types and Codes
ICMPv6 has a number of messages that are identified by the “Type” field. Some of these types have assigned “Code” fields as well. The table below shows the different types of ICMP Types with their associated codes if there are any.
Type codes 0 − 127 are error messages and type codes 128 − 255 are for information messages.
ICMPv6 Types and Codes
Type # | Type Name | Code |
0 |
Reserved |
0 – no route to destination |
1 – communication with destination administratively pro- hibited |
||
2 – beyond scope of source address |
||
3 – address unreachable |
||
4 – port unreachable |
||
5 – source address failed ingress/egress policy |
||
6 – reject route to destination |
||
7 – Error in Source Routing Header |
||
1 |
Destination Unreachable |
|
2 |
Packet Too Big |
|
3 |
Time Exceeded |
0 – hop limit exceeded in transit |
1 – fragment reassembly time exceeded | ||
4 |
Parameter Problem |
0 – erroneous header field encountered |
1 – unrecognized Next Header type encountered |
||
2 – unrecognized IPv6 option encountered |
||
100 |
Private Experimentation |
|
101 |
Private Experimentation |
|
102 – 126 |
Unassigned |
|
127 |
Reserved for expansion if ICMPv6 error messages |
|
128 |
Echo Request |
|
129 |
Echo Replay |
|
130 |
Multicast Listener Query |
Type # Type Name Code
131 Multicast Listener Report
132 Multicast Listener Done
133 Router Solicitation
134 Router Advertisement
135 Neighbor Solicitation
136 Neighbor Advertisement
137 Redirect Message
0 – Router Renumbering Command
138 Router Renumbering
1 – Router Renumbering Result
255 – Sequence Number Reset
139 ICMP Node Information Query 0 – The Data field contains an IPv6 address which is the
Subject of this Query.
1 – The Data field contains a name which is the Subject of this Query, or is empty, as in the case of a NOOP.
2 – The Data field contains an IPv4 address which is the
Subject of this Query.
140 ICMP Node Information Response
0 – A successful reply. The Reply Data field may or may not be empty.
1 – The Responder refuses to supply the answer. The
Reply Data field will be empty.
2 – The Qtype of the Query is unknown to the Responder. The Reply Data field will be empty.
141 Inverse Neighbor Discovery Soli- citation Message
142 Inverse Neighbor Discovery Advert- isement Message
143 Version 2 Multicast Listener Report
144 Home Agent Address Discovery
Request Message
Type # Type Name Code
145 Home Agent Address Discovery
Reply Message
146 Mobile Prefix Solicitation
147 Mobile Prefix Advertisement
148 Certification Path Solicitation Mes- sage
149 Certification Path Advertisement
Message
150
ICMP messages utilized by exper- imental mobility protocols such as Seamoby
151 Multicast Router Advertisement
152 Multicast Router Solicitation
153 Multicast Router Termination
154 FMIPv6 Messages
155 RPL Control Message
156 ILNPv6 Locator Update Message
157 Duplicate Address Request
158 Duplicate Address Confirmation
159 −
199
Unassigned
200 Private experimentation
201 Private experimentation
255 Reserved for expansion of ICMPv6 informational messages