What is Neighbor Discovery Protocol NDP

An essential component of IPv6, the Neighbor Discovery Protocol (NDP) performs vital control and management tasks. It functions at the Link Layer and is in charge of identifying other nodes, figuring out their Link Layer addresses, locating open routers, and keeping track of reachability data for neighbor nodes that are currently active. NDP basically describes the IPv6 counterpart of the IPv4 Address Resolution Protocol (ARP) and takes over the tasks that the IPv4 Router Discovery and Router Redirect Protocols used to do.
You can also read CISCO LLDP Link Layer Discovery Protocol Advantages, Types
How NDP Works
ICMPv6 messages are used by NDP to carry out its several tasks. To accomplish dynamic neighbor and router discovery, it specifies five different kinds of ICMPv6 packets. In NDP, a device on the same data link, such as the same Virtual Local Area Network, is referred to as a “neighbor”
Key Messages and Their Functions:
- Neighbor Solicitation (NS) and Neighbor Advertisement (NA) Messages: IPv4’s ARP is replaced by these messages.
- A host with a specific IPv6 address is asked to respond with its MAC address in a Neighbor Solicitation (NS) message (ICMPv6 type 135). The target device’s solicited-node multicast address receives NS messages. Hosts will only listen for this particular multicast address if their IPv6 address finishes with the appropriate 24 bits.
- An ICMPv6 type 136 Neighbor Advertisement (NA) message contains the IPv6 and MAC addresses of the sender. It can be delivered to all IPv6 hosts ‘ local-scope multicast address (FF02::1) as an unsolicited multicast announcement or as a unicast reply to an NS message.
- In order to save learnt MAC addresses, hosts keep an IPv6 neighbor table, which is comparable to an IPv4 ARP cache.
- Router Solicitation (RS) and Router Advertisement (RA) Messages: Router Discovery relies heavily on these communications. In order to determine a default router, IPv6 hosts utilize NDP to dynamically find every IPv6 router on the local link.
- To ask routers on the local link to identify themselves, hosts send a Router Solicitation (RS) message (ICMPv6 type 133) to the all-IPv6-routers local-scope multicast address (FF02::2). When their interfaces are set up for IPv6, hosts send RS signals to routers requesting that they produce RAs right away.
- In response to an RS (unicast) or regularly (unsolicited), routers send a Router Advertisement (RA) message (ICMPv6 type 134) to the all-IPv6-hosts local-scope multicast address (FF02::1). The router’s link-local IPv6 address, IPv6 subnet prefix(es), and prefix lengths used on the link are among the information that RAs disclose (Prefix Discovery).
- Duplicate Address Detection (DAD): Hosts use NDP (more especially, NS and NA messages) to make sure that no other host on the link is already using the same IPv6 address before utilizing it. All unicast addresses, including link-local addresses, go through this procedure when they are first used and each time the host’s interface turns on.
History and Evolution
A contemporary protocol created especially for IPv6, NDP is a crucial component of ICMPv6. In RFC 4861, it was defined. ARP and other IPv4-specific protocols, along with ICMP Router Discovery and Router Redirect Protocols, have to be replaced and improved in order to be adapted for the IPv6 environment.
Why NDP is Important (Advantages)
NDP provides several vital functions that are crucial for the operation and management of IPv6 networks:
- Replaces ARP: It provides a more effective method for IPv6 hosts on a local area network to discover the MAC addresses of other hosts in the same subnet by replacing the Address Resolution Protocol (ARP) function for IPv4.
- Dynamic Router and Prefix Discovery: NDP enables IPv6 hosts to learn the subnet prefix(s) and prefix lengths utilized on the local link, as well as the IPv6 addresses of available routers. This enhances IPv4’s default gateway learning techniques.
- Stateless Address Autoconfiguration (SLAAC) Support: NDP allows devices to autonomously determine their complete global unicast address without the need for a DHCPv6 server or explicit configuration, especially through RS and RA signals. To enable SLAAC, a router set up with IPv6 unicast routing will transmit and receive NDP messages.
- Duplicate Address Detection (DAD): This feature prevents IP address conflicts by making sure that any newly configured IPv6 address, including link-local addresses, is unique on the network before a host starts using it.
- Plug-and-Play Features: NDP makes IPv6’s plug-and-play capabilities possible, which increases the flexibility of network configuration and administration.
- Maintains Reachability: Neighbor Unreachability Detection, or NUD, assists in preserving reachability data regarding the routes to other active neighbor nodes.
- Next-Hop Router Determination: Helps identify the router that packets should be forwarded to next.
You can also read What Is Routing Loop Prevention? Guide To Network Stability
Types of NDP Messages
NDP defines five types of ICMPv6 packets used for its various functions:
• Router Solicitation (RS): ICMPv6 Type 133. Sent by hosts to discover routers.
• Router Advertisement (RA): ICMPv6 Type 134. Sent by routers to announce their presence, prefixes, and other configuration parameters.
• Neighbor Solicitation (NS): ICMPv6 Type 135. Used for address resolution and DAD.
• Neighbor Advertisement (NA): ICMPv6 Type 136. Used to reply to NS messages or to announce a host’s MAC address proactively.
• Redirect: Used by routers to inform hosts of a better first-hop router for a specific destination.
NDP also contributes to Path MTU Discovery (PMTUD), albeit the details are occasionally regarded as outside the purview of particular certifications. By guaranteeing that the source node sends packets no bigger than the smallest MTU along the path, PMTUD stops IPv6 fragmentation.
Applications of NDP

NDP’s primary applications are foundational to IPv6 network operation:
- Host IPv6 Configuration: An essential component of how hosts acquire and validate their IPv6 addresses, especially when using Stateless Address Autoconfiguration (SLAAC), is host IPv6 configuration.
- Neighbor MAC Address Resolution: ARP is replaced with Neighbor MAC Address Resolution, which is necessary for local communication between IPv6 devices on the same subnet.
- Router and Prefix Discovery: Finding nearby routers and the network prefixes used on their lines is made possible by router and prefix discovery, which is essential for sending packets to distant locations.
- Duplicate Address Prevention: IPv6 addresses on a link are kept unique by a built-in system called duplicate address prevention, or DAD.
More Details
Link-Local Addresses: Because packets delivered to IPv6 link-local addresses are not routed to other subnets by routers, guaranteeing local link relevance, NDP uses these addresses for communication. EIGRP IPv6 neighbors frequently utilize the Link-Local Address (LLA) as their next-hop address.
Solicited-Node Multicast Addresses: A key IPv6 mechanism where the last 24 bits of a host’s IPv6 address are appended to the FF02::1:FF/104
prefix to form a unique multicast address that specific hosts listen to. This significantly reduces the scope of address resolution traffic compared to IPv4’s broadcast ARP.
• Verification Commands:
◦ On Cisco routers, show ipv6 neighbors
displays the IPv6 addresses of neighbors (both routers and hosts) and their corresponding MAC addresses, along with their state (e.g., INCOMPLETE, REACHABLE, STALE).
◦ The show ipv6 routers
command lists information about neighboring routers learned through NDP RA messages, including their LLAs and advertised on-link prefixes.
◦ For hosts, commands vary by OS: netsh interface ipv6 show neighbors
(Windows), ip -6 neighbor show
(Linux), and ndp -an
(macOS).
• Ongoing Development: NDP is designed to be extensible, allowing for the addition of new functions over time.
You can also read What Is A QoS Quality of Service CISCO Benefits And Types