ICMP, or Internet Control Message Protocol, is widely used in IPv4 for error reporting and control of IP transmission. When troubles occur during transmission of IP packets, intermediate routers or receiving nodes can notify the problem to sending nodes, so that sending node can retransmit the packets or conduct other error processing. ICMP includes echo messeges to be used for network diagnostic programs such as ping and traceroute, as well as error messages.
ICMPv6 is a protocol for IPv6 to achieve functions similar to IPv4 ICMP, and has messages shown in Table 1. Basic ICMP messages are defined in RFC 2463 Internet Control Message Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6) Specification, while extended ICMP protocols appear in RFC 2461 Neighbor Discovery for IP Version 6 (IPv6) and RFC 2710 Multicast Listener Discovery (MLD) for IPv6. Neighbor Discovery protocol in RFC 2461 is a combination of IPv4 ICMP Router Discovery, ICMP Redirect, and ARP (Address Resolution Protocol) functionalities.
Table 1 ICMPv6 messages
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||
Among them, Router Advertisement message bears a special role in IPv6. Router Advertisement messages are sent by a router periodically, using all nodes multicast address (FF02::1) for destination address.
Router Advertisement messages are sent for the following purposes:
- Notify link layer address of the router
- Notify global address configuration method to nodes on the same link
- Notify network prefix to nodes on the same link
- Notify hop limits and MTU to these nodes
When a node is attached to network, it can initially use only link local address. But the node can obtain network prefix from Router Advertisement message and combine it with interface identifier, to configure its global unicast address.
Router Advertisement messages can only be sent by routers periodically. When a node cant wait for routers, it can send Router Solicitation message, to request Router Advertisement message from routers. Router Solicitation address is sent to all router multicast address.
Other Neighbor Discovery messages are Neighbor Solicitation/Advertisement messages and redirect message.
Neighbor Solicitation message is used to request other nodes on the link to tell their link layer addresses. This function is similar to IPv4 ARP (Address Resolution Protocol). Solicited node uses Neighbor Advertisement message to tell its link layer address. Neighbor Solicitation message is also used for Dublicate Address Detection, where a node confirms that there is no other nodes on the link with the same address as itself. Neighbor Solicitation message can further be used for Neighbor Unreachability Detection, the process of confirming the reachability of packets. When the originating node is communicating with a node on the same link, the node can send Neighbor Solicitation message directly to see if Neighbor Advertisement message is returned. When the originating node is communicating with a node on other links, the node can send Neighbor Solicitation message to the next hop router, to see if the router is alive.
Redirect message is sent by routers to tell nodes better routers to be used as the first hop to a given destination.
Extended ICMPv6 messages include MLD (Multicast Listener Discovery) protocol as well as Neighbor Discovery protocol. This is a router-host IPv6 multicast group management protocol analogous to IGMP in IPv4.
Basic ICMPv6 Message
The first 6 messages in Table 1 is basic ICMPv6 messages.
Destination Unreachable message tells the sending node that the packets cannot reach the destination for reasons other than congestion. It is generated at intermediate routers or the sending node itself.
Packet Too Big message is sent by intermediate routers to tell the sending node that received packet is bigger than MTU (Maximum Transmission Unit) of its link. Sending node reduces the size of packets it transmits, based on the information contained in the message.
Time Exceeded message is sent by an intermediate router to tell that it received a packet with hop limit 0, or it decremented hop limit of a packet to 0.
Parameter Problem message is sent by an IPv6 node processing the received packets to notify that it found problems in basic or extended headers. The message can carry codes to show the reason, such as error in basic IPv6 header, unrecognized next header type, or unrecognized IPv6 option.
Echo Request/Reply messages are basic information messages. They can be used by programs like IPv6 ping and traceroute, to diagnose network.
この記事のトラックバックURL
http://www.ipv6style.jp/trackback/521


