IPv6 Neighbor Discovery Protocol (NDP)
By David W Christie
Neighbor Discovery Protocol is used by IPv6 hosts for a variety of tasks relating to
the local area network. In addition, it also works with ICMPv6 to complete a number of operations.
The primary tasks for NDP are Router Discovery, Neighbor Discovery and Duplicate Address Discovery.
It was devised mainly due to the fact that IPv6 does not allow for broadcasts and therefore
ARP (Address Resolution Protocol) as used with IPv4 is not in operation.
Although there is a version of DHCP that can be used with IPv6, another option is to
locate the local router which can provide information relating to DHCP servers and also provide
an address prefix so that hosts can configure their own IP Addresses.
When a host is first connected to a link it automatically multicasts a Router Solicitation
message to the All Routers multicast group address. Any routers active on the link will respond
with a Router Advertisement message to the All Hosts multicast group address. The Router
Advertisement message can indicate a variety of information.
Contained within the Router Advertisement message is an address prefix or multiple prefixes
relating to subnets available on the local link. The Host then knows which subnet or subnets
are local and do not need the assistance of the local router to reach. The Host can automatically
configure it's own IP Address by using the prefix and EUI-64 rules. This involves adding an
EUI-64 interface identifier derived from the interface MAC Address to the advertised prefix.
The Interface Identifier portion of the IPv6 IP address is used to identify a unique physical
interface on a link. The 48 bit MAC address is separated into 2 x 3 bytes (24 bits), with the
first 3 bytes know as the OUI (Organisational Unique Identifier), commonly known as the Vendor
Number. 16 additional bits are inserted between the 3rd and 4th byte, and these bits are represented
by the Hexadecimal number FFFE.
The U⁄L bit, being the seventh bit in the high order byte is set to a value of 1 to
indicate a Global Scope. The process of a host automatically configuring it's IP Address from
the given prefix is known as Stateless Autoconfiguration. Additionally the Router Advertisement
message also contains the default hop count that Hosts should use.
NDP Hosts can use other Solicitation and Advertisement Messages for use with neighboring
Hosts, such as Neighbor Solicitation and Neighbor Advertisement messages:
Neighbor Solicitation messages can be used by Hosts on the LAN to obtain MAC addresses
of other Hosts, which is a function provided by ARP with IPv4. The message is sent to the solicited-node
multicast address that is associated with a group of hosts matching the last 6 bits of the address.
Neighbor Advertisement messages are sent in response to Neighbor Solitication messages
and contain the Senders IPv6 address and MAC Address. In some instances Hosts can send unsolicited
NA messages which would be sent to the All Hosts multicast address of FF02::1.
Duplicate Address Detection
As well as sending out a Router Solicitation message when joining a link, a Host also
sends out a Neighbor Solicitation message for it's own IP Address to ensure no other Host is
configured with the same IPv6 address. If a Host receives a response then it knows that address
cannot be used and configures another address. This is similar to the process of Gratuitous
ARP, as used with IPv4.
This article on Neighbor Discovery Protocol was written by David Christie, MD at NSTUK
Ltd, Website Network Systems Training
More Networking Protocols and Standards:
• Link Aggregation
• The OSI Application Layer
• IPv6 Address Types and Scopes
• Wireless Standards - 802.11a 802.11b 802.11g 802.11n 802.11i Explained
• IPv6 Global Unicast Addresses
• Introducing OpenStack
• How to Set Up FTP (File Transfer Protocol)
• Active Directory : How Objects Are Stored and Identified
• Video - The Upper Layers 5 Through 7 of the OSI Networking Model
• What Are Private IP Addresses?