Neighbor Discovery – or ND – is the protocol used by IPv6 to determine neighboring hosts, and will replace ARP which was used in IPv4. It will perform similar tasks of the Address Resolution Protocol (ARP) and ICMP Router Discovery Protocol. It’s purpose remains to get the MAC/Link Layer addresses of available hosts, and the connection information of available routers in the network.
Neighbor Discovery operates in the Link Layer (Layer #2 of the OSI model) and uses ICMPv6 (the obvious IPv6 version of ICMP) to discover neighboring nodes. It will provide the translation between the IPv6 address and the Link Layer address.
ND can be used to perform …
- Address Autoconfiguration: perform stateless configuration of addresses for an interface;
- Address Resolution: Mapping from IP address to link-layer address;
- Neighbor Unreachability Detection (NUD): determine that a neighbor is no longer reachable on the link;
- Duplicate Address Detection (DAD): nodes can check whether an address is already in use;
And many more.