ICMP is a very important protocol used to check connectivity. It stands for Internet Control Message Protocol.

ICMPv6 is defined under RFC 4443. It is an important component of IPv6 and is of great help for reporting of errors and other diagnostic functions.  Ping and trace route are very popularly used diagnostic functions that work on ICMP.

The ICMPv6 also has a packet structure which can be used for two main functionalities in IPv6, namely:

  1. Neighbor Discovery (ND)
  2. Multicast Listener Discovery (MLD)

Neighbor Discovery (ND):  The Neighbor Discovery provides many important services for device configured or able to work with IPv6.

It is used to manage communication between nodes in an IPv6 Network. It has replaced some of the most widely used IPv4 functionalities like:

–          ARP : Address Resolution Protocol

–          ICMPv4 Router Discovery

–          ICMPv4 Redirect Messages

ND is also helpful in detection of duplicate address, automatic address configuration. ND comprises of 5 ICMPv6 messages.

Multicast Listener Discovery (MLD):  This feature is similar to the IGMP (Internet Group Management Protocol) of IPv4.  This is used to manage Multicast related features. This comprises of 3 ICMPv6 messages.

ICMPv6 Message Types

The message types in ICMPv6 are mainly of two types:

1.  Error messages:  These are messages that report errors taking place during transit or delivery of packets by the router or destination node. The valid range of errors in ICMPv6 is from 0 to 127in the Type field.

High order bit is set to 0 for 8 bit Type field.

Some of the ICMPv6 error messages are as below:

–          Destination Unreachable: when a packet can’t be forwarded to destination. This is ICMP Type 1 packet

–          Packet Too Big:  When the packet size is larger than the MTU of link. As fragmentation is not supported in IPv6, and this message informs the source to reduce the size of packet being sent. This is very useful for Path MTU Discovery. This is ICMP type 2 packet.

–          Time Exceeded: This error is seen when the hop count comes to an end. Most chances of this are due to routing loop. This is a ICMP Type 3 packet.

–          Parameter Problem: This is seen if any issues in the IPv6 header are observed. This is an ICMP Type 4 packet.

2. Informational Messages: As the name suggest these are important information in messages or we can say diagnostic functions like ND and MLD.

High order bit is set to 1 for 8 bit Type field.  Thus valid range would be 128 to 255 in the Type field.

–          Echo Request:  The ICMPv6 Echo Request is sent by the IPv6 node to a destination device and in true it expects an Echo Reply to confirm that the destination node is reachable. These messages can also be sent as Multicast.

–          Echo Reply: A destination node that receives the ICMPv6 Echo Request, responds it presence with the ICMPv6 Echo Reply. Even the Multicast Requests are responded with the ICMPv6 Reply.

Read more