Neighbor Discovery Protocol


The Neighbor Discovery Protocol is a protocol in the Internet protocol suite used with Internet Protocol Version 6. It operates at the link layer of the Internet model, and is responsible for gathering various information required for internet communication, including the configuration of local connections and the domain name servers and gateways used to communicate with more distant systems.
The protocol defines five different ICMPv6 packet types to perform functions for IPv6 similar to the Address Resolution Protocol and Internet Control Message Protocol Router Discovery and Router Redirect protocols for IPv4. However, it provides many improvements over its IPv4 counterparts. For example, it includes Neighbor Unreachability Detection, thus improving robustness of packet delivery in the presence of failing routers or links, or mobile nodes.
The Inverse Neighbor Discovery protocol extension allows nodes to determine and advertise an IPv6 address corresponding to a given link-layer address, similar to Reverse ARP for IPv4. The Secure Neighbor Discovery Protocol, a security extension of NDP, uses Cryptographically Generated Addresses and the Resource Public Key Infrastructure to provide an alternative mechanism for securing NDP with a cryptographic method that is independent of IPsec. Neighbor Discovery Proxy provides a service similar to IPv4 Proxy ARP and allows bridging multiple network segments within a single subnet prefix when bridging cannot be done at the link layer.

Functions

NDP defines five ICMPv6 packet types for the purpose of router solicitation, router advertisement, neighbor solicitation, neighbor advertisement, and network redirects.
;Router Solicitation : Hosts inquire with Router Solicitation messages to locate routers on an attached link. Routers which forward packets not addressed to them generate Router Advertisements immediately upon receipt of this message rather than at their next scheduled time.
;Router Advertisement : Routers advertise their presence together with various link and Internet parameters either periodically, or in response to a Router Solicitation message.
;Neighbor Solicitation : Neighbor solicitations are used by nodes to determine the link layer address of a neighbor, or to verify that a neighbor is still reachable via a cached link layer address.
;Neighbor Advertisement : Neighbor advertisements are used by nodes to respond to a Neighbor Solicitation message.
;Redirect : Routers may inform hosts of a better first hop router for a destination.
These messages are used to provide the following functionality:
IANA maintains a list of all current NDP options as they are published.