The Neighbor Discovery Protocol (NDP), or simply Neighbor Discovery (ND), is a protocol of the
Internet protocol suite used with
Internet Protocol Version 6 (IPv6). It operates at the
link layer of the Internet model, and is responsible for gathering various information required for network communication, including the configuration of local connections and the
domain name servers and gateways.
[RFC 4861, ''Neighbor Discovery for IP version 6 (IPv6)'', T. Narten ''et al''. (September 2007)]
The protocol defines five ICMPv6 packet types to perform functions for IPv6 similar to the
Address Resolution Protocol (ARP) and
Internet Control Message Protocol
The Internet Control Message Protocol (ICMP) is a supporting protocol in the Internet protocol suite. It is used by network devices, including routers, to send error messages and operational information indicating success or failure when communi ...
(ICMP)
Router Discovery and
Router Redirect protocols for
IPv4
Internet Protocol version 4 (IPv4) is the fourth version of the Internet Protocol (IP). It is one of the core protocols of standards-based internetworking methods in the Internet and other packet-switched networks. IPv4 was the first version de ...
. It provides many improvements over its IPv4 counterparts (RFC 4861, section 3.1). For example, it includes Neighbor Unreachability Detection (NUD), thus improving robustness of packet delivery in the presence of failing routers or links, or mobile nodes.
The Inverse Neighbor Discovery (IND) protocol extension (RFC 3122) 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 (SEND), a security extension of NDP, uses
Cryptographically Generated Addresses (CGA) and the
Resource Public Key Infrastructure (RPKI) to provide an alternative mechanism for securing NDP with a cryptographic method that is independent of
IPsec. Neighbor Discovery Proxy (ND Proxy) (RFC 4389) 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 (Type 133): 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 (Type 134): Routers advertise their presence together with various link and Internet parameters either periodically, or in response to a Router Solicitation message.
;Neighbor Solicitation (Type 135): 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 (Type 136): Neighbor advertisements are used by nodes to respond to a Neighbor Solicitation message, or unsolicited to provide new information quickly.
;Redirect (Type 137): Routers may inform hosts of a better first-hop router for a destination.
These messages are used to provide the following functionality:
* Router discovery: hosts can locate routers residing on attached links.
* Prefix discovery: hosts can discover address prefixes that are on-link for attached links.
* Parameter discovery: hosts can find link parameters (e.g., MTU).
* Address autoconfiguration: optional stateless configuration of addresses of network interfaces (see and ).
* Address resolution: mapping between IP addresses and link-layer addresses.
* Next-hop determination: hosts can find next-hop routers for a destination.
* 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.
* Recursive DNS Server (RDNSS) and DNS Search List (DNSSL) assignment via a router advertisement (RA) options. This is a proposed standard since 2010] and updated in March 2017, but not supported by all clients.
* Packet redirection to provide a better next-hop route for certain destinations.
IANA
The Internet Assigned Numbers Authority (IANA) is a standards organization that oversees global IP address allocation, autonomous system number allocation, root zone management in the Domain Name System (DNS), media types, and other Interne ...
maintains a list of all current NDP options as they are published.
Messages formats
Router Solicitation Message-en.svg, Router Solicitation Message
Router Advertisement Message-en.svg, Router Advertisement Message
Neighbor Solicitation Message-en.svg, Neighbor Solicitation Message
Neighbor Advertisement Message-en.svg, Neighbor Advertisement Message
Redirect Message-en.svg, Redirect Message
See also
* NDPMon Neighbor Discovery Protocol Monitor
* radvd (Router Advertisement Daemon)
* Secure Neighbor Discovery
References
{{IPv6
Internet protocols
Internet Standards
IPv6
Link protocols