Internet Control Message Protocol for IPv6 (ICMPv6)

Internet Control Message Protocol (ICMP) reports errors and information to the source nodes regarding the delivery of IP packets to the destination. In IPv4 and IPv6, ICMP defines messages for diagnostic, information, and management purposes. ICMP for IPv6 (ICMPv6), as defined in RFC 2463, handles messages supported by ICMP for IPv4 (ICMPv4) and has additional messages for the specific operation of the IPv6 protocol. As illustrated in Table 3-1, ICMPv6 handles the same basic errors and informational messages as ICMPv4 such as Destination Unreachable, Packet Too Big, Time Exceeded, Echo Request, and Echo Reply.

Table 3-1. Errors and Informational Messages Used for Both ICMPv4 and ICMPv6
MessageType NumberType of MessageDefinition
Destination Unreachable1ErrorThe IP address or port is not active in the destination host.
Packet Too Big2ErrorThe packet is larger than the Maximum Transmission Unit (MTU) of the outgoing link.
Time Exceeded3ErrorWhen the time-to-live (TTL) field is 0, the packet is discarded, and an intermediary router notifies the source.
Echo Request128InformationalA message sent to a destination to request a reply message.
Echo Reply129InformationalA message used as response to the Echo Request message.

ICMPv6 is defined as protocol 58 by the Internet Assigned Numbers Authority (IANA). As shown in Figure 3-1, this protocol number is used in the Next Header field of the basic IPv6 header to specify an ICMPv6 packet. IPv6 considers an ICMPv6 packet to be an upper-layer protocol, like TCP and UDP, meaning that it must be placed after all possible extension headers in the IPv6 packet.

Figure 3-1. ICMPv6 Packet with Its Fields Used Next to the IPv6 Header


As shown in Figure 3-1, the fields within an ICMPv6 packet are as follows:

  • ICMPv6 Type— This field identifies the type of ICMPv6 message. Error and informational messages listed in Table 3-1 are examples of these types of messages.

  • ICMPv6 Code— This field provides specific details related to the type of message sent to a node. It ensures an additional level of message granularity.

  • Checksum— Computed value used to detect data corruption in ICMPv6 during transport.

  • ICMPv6 Data— This field might or might not be used, depending on the type of message. When used, this field provides information to the destination node.

In IPv6, several mechanisms and functionalities of the protocol use ICMPv6 messages:

  • Replacement of the Address Resolution Protocol (ARP)— A mechanism used on local-link scope to replace ARP in IPv4. Nodes and routers keep track of their neighbors. New ICMPv6 messages are defined in IPv6 for that specific use.

  • Stateless autoconfiguration— The autoconfiguration functionality allows nodes to configure their IPv6 addresses by themselves using the prefixes advertised on the local links by routers. Prefix advertisement and stateless autoconfiguration use new ICMPv6 messages.

  • Duplicate Address Detection (DAD)— At the boot and during the stateless autoconfiguration process, each node verifies the existence of a tentative IPv6 address before using it. This function is also performed using new ICMPv6 messages.

  • Prefix renumbering— Prefix renumbering is a mechanism used when an IPv6 prefix on a network is changed to new one. Like prefix advertisement, prefix renumbering uses new ICMPv6 messages.

  • Path MTU discovery (PMTUD)— A mechanism by which a source node detects the largest MTU value along a delivery path to a destination host. ICMPv6 messages are also used to perform this task.

All these IPv6 mechanisms and functionalities are presented in detail in this chapter.

Because ICMPv6 messages are used by several mechanisms in IPv6, a debug command is available in the Cisco IOS Software technology for ICMPv6 messages. However, the debug ipv6 icmp command enables debugging mode for ICMPv6 messages except those related to Neighbor Discovery Protocol (NDP). Logs can be printed on the console port or sent to a syslog server. The syntax for this command is as follows:

Router#debug ipv6 icmp
					

undebug ipv6 icmp deactivates debugging mode for ICMPv6 messages. The syntax for this command is as follows:

Router#undebug ipv6 icmp
					

Example 3-1 displays logs on the console after the activation of the debug ipv6 icmp command on Router A. The first two lines show the ICMPv6 type 128 echo request message received from the host 2001:410:0:1:200:86FF:FE4B:F9CE. The next line shows the router replies to this node with an ICMPv6 type 129 echo reply message.

Example 3-1. Show ICMPv6 Messages Using the debug ipv6 icmp Command
RouterA#debug ipv6 icmp
						ICMPv6: Received ICMPv6 packet from 2001:410:0:1:200:86FF:FE4B:F9CE, type 128
ICMPv6: Received echo request from 2001:410:0:1:200:86FF:FE4B:F9CE
ICMPv6: Sending echo reply to 2001:410:0:1:200:86FF:FE4B:F9CE
ICMPv6: Received ICMPv6 packet from 2001:410:0:1:200:86FF:FE4B:F9CE, type 128
<output omitted>
					

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.136.97.64