xStack
®
DGS-3400 Series Layer 2 Gigabit Ethernet Managed Switch
11
ICMPv6
Network professionals are already very familiar with ICMP for IPv4, which is an essential tool in the IPv4 network, relaying
messages about network problems and the general condition of the network. ICMPv6 is the successor to the IPv4 version and
performs many of the same basic functions as its precursor, yet is not compatible with ICMPv4. ICMPv6 has made improvements
over its forerunner, with such enhancements as managing multicast group memberships and allowing for neighbor discovery by
resolving link-layer addresses attached to the same link and identifying changes in those addresses. ICMP can also discover
routers, determine which neighbors can be reached and map IP addresses to MAC addresses within the network. ICMPv6 is a vital
part of the IPv6 network and must be implemented on every IPv6 node for operations to function normally.
Two kinds of ICMP messages are apparent on the IPv6 network:
Error Messages
– ICMP error messages are sent out on the network when packet sizes exceed the path MTU (Maximum Transfer
Unit), when the hop count of the IPv6 packet has been surpassed, when messages cannot reach their intended destination and
when there are parameter problems within the IPv6 packet.
Informational Messages –
ICMP informational messages send out packets describing current network information valuable to
devices on the network. A common and useful ICMPv6 informational message is the ping program use to discover the availability
a device, by using a ping request and reply format. Other informational messages include Path MTU discovery, which is used to
determine the maximum size of data packets that can be allowed to be transferred, and Neighbor Discovery messages, which
discover routers that can forward packets on the network. Neighbor discovery will be discussed further in the next section.
Neighbor Discovery
Neighbor discovery is a new feature incorporated in IPv6. In IPv4, no means were available to tell if a neighbor could be reached.
Now, combining ICMP messages and ARP, neighbors can be detected and their layer 2 addresses (MAC Address) can be
identified. This feature can also discover neighboring routers that can forward packets and keep track of the reachability of routers,
as well as if changes occur within link-layer addresses of nodes on the network or identical unicast addresses are present on the
local link.
The functionality of the Neighbor Discovery feature is based on ICMPv6 packets, Neighbor Solicitation and Router
Advertisement messages circulating on the network. When a node wishes to determine link layer addresses of other nodes on the
same link, it produces a Neighbor Solicitation message to be circulated on the local link. When received by a neighbor, this
neighbor will produce Router Advertisements immediately to be returned. These Router Advertisements will contain a multicast
address as the destination address and have an ICMP type of 134 (the specified number for Router Advertisements), as well as
having the link-layer address of the node sending the advertisement. Router Advertisement messages may be periodic, specified in
the advertisement by having the all-nodes multicast address FF02::1, or sent out as a result of receiving a Neighbor Solicitation
message, specified in the advertisement by having the address of the interface that first sent the solicitation message. Once
confirmation of the Neighbor has been reached, packets can now be exchanged on the link.
Neighbor Unreachability Detection
At times on the network, problems occur in reaching the Neighbor node or getting a response from the Neighbor. A neighbor is
considered reachable when it has received and processed packets sent to it, and in return sends a packet back notifying a
affirmative response. This response may come in the form of an indication from an upper-layer protocol, like TCP, noting that
progress is being made, or in response from a Neighbor Solicitation message in the form of a Router Advertisement message. If
responses are not received from the node, it is considered unreachable and a Destination Unreachable message is received in the
form of an ICMP packet. This Destination Unreachable ICMP packet will contain the reason for the fault, located in the code field
of the ICMP header. Five possible reasons for the failure can be stated:
1.
There is no route or destination (Code 0).
2.
Communication has been administratively prohibited, such as a firewall or filter (Code 1)
3.
Beyond the scope of the source address, when the multicast scope of the source address is smaller than the scope of the
destination address (Code 2)
4.
The address is unreachable (Code 3)
5.
The port is unreachable (Code 4)