Tag Archives: ICMPv6

ICMPv6

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