IP connectivityIntermediate20 min read

What Is NDP in Networking?

Reviewed byJohnson Ajibi· Senior Network & Security Engineer · MSc IT Security
On This Page

Quick Definition

NDP stands for Neighbor Discovery Protocol. It is a set of messages and rules used by IPv6 networks. Devices use it to learn about other devices on the same local network. It replaces several older IPv4 protocols like ARP and ICMP Router Discovery.

Commonly Confused With

NDPvsARP (Address Resolution Protocol)

ARP is the IPv4 protocol that maps IP addresses to MAC addresses. NDP replaces ARP in IPv6. NDP uses multicast instead of broadcast and includes additional functions like router discovery and DAD, which ARP does not.

In IPv4, Device A sends an ARP broadcast to find Device B's MAC. In IPv6, Device A sends an NDP Neighbor Solicitation to a multicast address, and Device B replies with a Neighbor Advertisement.

NDPvsDHCPv6

DHCPv6 is used for stateful address configuration and option assignment (like DNS) in IPv6. NDP includes SLAAC which is stateless and does not require a server. They can work together when the M flag in RA is set, but NDP is for neighbor discovery and DAD, while DHCPv6 is for address assignment and parameters.

A host using SLAAC gets its address prefix from an NDP Router Advertisement and builds its own address. A host using DHCPv6 gets its full address from a DHCPv6 server, but still uses NDP for DAD.

NDPvsICMPv6

ICMPv6 is the general message protocol for IPv6, used for error reporting (like Destination Unreachable) and informational messages. NDP is a specific set of ICMPv6 messages (types 133–137) that handle neighbor and router discovery. NDP is a subset of ICMPv6, not a separate protocol.

A ping command uses ICMPv6 Echo Request and Echo Reply. An NDP Neighbor Solicitation also uses ICMPv6, but with a different type number and purpose.

Must Know for Exams

NDP appears prominently in several major IT certification exams. For CompTIA Network+, it is covered under Objective 1.4 (Compare and contrast IPv6 addressing schemes) and Objective 1.

6 (Explain the function of common networking protocols). You will see questions about the five message types, the functions of NDP (address resolution, DAD, SLAAC), and how it replaces ARP. Often, questions present a scenario where a device cannot get an IPv6 address, and you must identify that a Router Advertisement is missing.

For Cisco CCNA (200-301), NDP is a core topic under IPv6 fundamentals. The exam expects you to understand NDP operations, configure RA parameters on routers, and troubleshoot neighbor discovery issues using commands like show ipv6 neighbors and debug ipv6 nd. Questions may ask you to interpret the output of a Neighbor Cache or to identify which NDP message is used for which purpose.

For Juniper JNCIA, NDP appears in the IPv6 section, and you need to know the commands show ipv6 neighbors and monitor traffic interface for NDP packets. Some exam questions will compare NDP to ARP, asking you to identify that NDP uses multicast instead of broadcast. Others may test your knowledge of DAD: why a host sends an NS with its own address as target.

Security-related questions may involve preventing NDP spoofing using RA Guard. The key takeaway is that exam writers love NDP because it is a clear differentiator between IPv4 and IPv6. You must memorize the five message types, their abbreviations (RS, RA, NS, NA, Redirect), and their specific roles.

A common question is: Which NDP message does a host send to discover the link-layer address of another host? Answer: Neighbor Solicitation. Another typical question: What does a host do when it receives a Router Advertisement with the managed flag set?

It uses DHCPv6 for address configuration. Being precise about these details will earn you points on the exam.

Simple Meaning

Imagine you move into a new apartment building. You do not know who lives next door or where the mail room is. NDP is like a set of helpful announcements and requests you use to get oriented. First, you might knock on your neighbor’s door to introduce yourself and learn their name. That is similar to how a device uses NDP to find another device’s hardware address. Next, you might look for a posted map of the building to find the mail room and the exit stairs. That is like how a device uses NDP to find nearby routers. In an IPv4 network, devices used a protocol called ARP (Address Resolution Protocol) to find each other’s hardware addresses and used separate protocols to find routers. NDP combines those jobs into one efficient system for IPv6. It also includes features like checking if an address is already in use before claiming it, and it helps devices automatically configure their own IP addresses without needing a separate server. NDP messages are sent using ICMPv6, which is a cousin of the ICMP protocol used in IPv4 for error and informational messages. All of these tasks happen automatically in the background, so you do not have to manually tell your computer who is on the network. This makes IPv6 networks easier to manage and more self-sufficient than older IPv4 networks.

NDP is essential because without it, an IPv6 device would be isolated. It would not know how to send data to another device on the same link, nor would it know how to reach the wider internet. Every time you connect an IPv6 device to a network, NDP goes to work right away, helping that device become a fully participating member of the network community. It is not a single action but a continuous conversation between devices that keeps the network running smoothly.

Full Technical Definition

NDP, or Neighbor Discovery Protocol, is defined in RFC 4861 for Internet Protocol version 6 (IPv6). It is a core component of the IPv6 suite and operates at the network layer (Layer 3) using ICMPv6 (Internet Control Message Protocol version 6). NDP replaces several IPv4 protocols: ARP (Address Resolution Protocol), ICMP Router Discovery, and ICMP Redirect. It uses five key ICMPv6 message types: Router Solicitation (RS), Router Advertisement (RA), Neighbor Solicitation (NS), Neighbor Advertisement (NA), and Redirect messages.

Router Solicitation (RS) is sent by a host when it first connects to a network, asking local routers to identify themselves. Router Advertisement (RA) is sent by routers periodically or in response to an RS, providing the network prefix, default route, and other configuration parameters. Neighbor Solicitation (NS) is used to resolve a neighbor's link-layer (MAC) address or to verify that a neighbor is still reachable. Neighbor Advertisement (NA) is the response to an NS, containing the sender's link-layer address. Redirect messages inform a host of a better first-hop router for a specific destination.

NDP performs several critical functions: address resolution (replacing ARP), neighbor unreachability detection (NUD), duplicate address detection (DAD), router discovery, prefix discovery, and stateless address autoconfiguration (SLAAC). During DAD, a host sends an NS with its own tentative address as the target; if no NA is received, the address is considered unique. SLAAC allows a host to generate its own IPv6 address by combining a prefix from an RA with its own interface identifier. NDP also supports privacy extensions to prevent address tracking.

In real IT implementations, NDP is managed on routers and switches. Network administrators configure RA intervals, prefix lifetimes, and flags for managed or autonomous address configuration. IPv6 security concerns include NDP spoofing and rogue RA attacks, mitigated by RA Guard (RA Guard) and Secure Neighbor Discovery (SeND) as per RFC 3971. Cisco and Juniper devices support NDP inspection and filtering. NDP's stateful counterparts, like DHCPv6, can coexist for additional configuration options. Understanding NDP is essential for passing exams like CompTIA Network+, Cisco CCNA, and Juniper JNCIA, where IPv6 implementation questions are common.

Real-Life Example

Think of a busy office building where many people work in different cubicles and offices. When a new employee arrives on the first day, they need to find their own cubicle, learn where the printer is, and know who sits nearby. The building manager (like a router) regularly sends out a memo with the floor plan and the location of shared resources. That memo is like a Router Advertisement. The new employee might also knock on a few cubicle doors to introduce themselves and ask for the person’s name. That knocking is a Neighbor Solicitation, and the response with a name is a Neighbor Advertisement. If the employee forgets where the mail room is, they can walk around and listen for the manager’s next announcement or ask a coworker for directions. Similarly, if a device forgets its default router, it might send a Router Solicitation to get a fresh announcement.

Now imagine that the new employee accidentally tries to sit in a cubicle that is already taken. The person already there might say, I am already using this desk. That is exactly like Duplicate Address Detection: a device checks if an address is already in use before claiming it. If the cubicle is empty, the new employee can set up their workstation without any conflict. This whole process happens in the background every time a new device connects to an IPv6 network. The building manager does not need to assign a specific cubicle number to every employee; each employee can choose a cubicle that is available. That is how Stateless Address Autoconfiguration works. The entire analogy shows how NDP makes network joining automatic and neighborly, without needing a central administrator to manually assign every detail.

Why This Term Matters

NDP matters because it is the backbone of how IPv6 devices communicate on a local network. Without NDP, IPv6 would not function. Networks today are increasingly adopting IPv6 due to the exhaustion of IPv4 addresses, so understanding NDP is crucial for any IT professional working with modern networks. For example, when you connect a laptop to a Wi-Fi network that uses IPv6, NDP immediately starts working. Your laptop sends a Neighbor Solicitation to check if its tentative address is unique, listens for Router Advertisements to learn the network prefix and default gateway, and then configures its own IP address automatically. This process happens in seconds and is completely seamless to the user.

In a practical IT context, misconfigured NDP can cause serious issues. If a router sends incorrect Router Advertisements, devices might get wrong prefixes or default routes, leading to connectivity problems. Rogue devices can send false RA messages to intercept traffic, which is a security attack. Network administrators must configure RA Guard on switches to block unauthorized RAs. They also monitor NDP activity to detect spoofing. Understanding NDP is also essential for troubleshooting IPv6 connectivity. When a user cannot reach the internet, an IT technician might check if the device has received a valid RA, if it has a valid IPv6 address, and if neighbor discovery is working. Tools like ping6 and traceroute6 rely on NDP at the local link level. For these reasons, NDP is not just an academic concept; it is a day-to-day operational reality for network engineers.

How It Appears in Exam Questions

NDP questions appear in multiple formats across certification exams. Scenario-based questions describe a network problem and ask you to identify the missing NDP component. For example: A host cannot access the internet but can ping its own loopback address.

The network administrator checks the IPv6 configuration and sees that the host has no default route. Which NDP message is likely missing? The correct answer is Router Advertisement, because the router is not sending RAs or the host is not receiving them.

Another common question: An IPv6 host sends a message with a target address set to its own tentative address. What is the purpose? Answer: Duplicate Address Detection. Configuration questions might show a router configuration and ask you to identify the purpose of the ipv6 nd prefix command.

Troubleshooting questions present the output of show ipv6 neighbors and ask you to identify which entries are reachable or stale. You might be asked to explain why some entries show INCOMPLETE state, meaning an NS was sent but no NA received. Multiple-choice questions often list four NDP functions and ask which one is NOT performed by NDP (e.

g., DNS resolution is not an NDP function). Comparative questions ask: How does NDP differ from ARP? Answer: NDP uses multicast, ARP uses broadcast; NDP includes router discovery, ARP does not; NDP has NUD, ARP has no equivalent.

Performance-based questions in the CCNA exam might require you to configure IPv6 on a router and verify neighbor entries. For example, you may need to configure an interface with an IPv6 address and then use ping to generate NDP traffic. You would then check the neighbor cache to confirm the entry.

Another question could ask you to enable RA Guard on a switch port to prevent rogue RAs. Some questions test the flags in Router Advertisements: the M flag indicates managed address configuration (use DHCPv6), and the O flag indicates other configuration (use DHCPv6 for DNS, etc.).

Overall, expect questions that require understanding of NDP message flow, purpose of each message, and practical implications for addressing and routing.

Practise NDP Questions

Test your understanding with exam-style practice questions.

Practise

Example Scenario

A small company has a network with a single router and several desktop PCs. All devices are configured to use IPv6. A new PC is brought into the office and connected to the network switch. When the PC boots up, it has no IPv6 address yet. Its network interface first generates a tentative link-local address based on its MAC address. To ensure this address is unique, the PC sends a Neighbor Solicitation message to the all-nodes multicast address, with the tentative address as the target. If another device on the network already uses that address, it would respond with a Neighbor Advertisement. In this scenario, no response is received, so the PC considers the address unique and assigns it to the interface. The PC now has a link-local address starting with fe80:: but cannot yet reach the internet.

The PC also wants to learn about available routers and network prefixes. It sends a Router Solicitation to the all-routers multicast address. The company router is configured to respond to RAs. It sends a Router Advertisement containing the network prefix (e.g., 2001:db8:1:1::/64), the default route, and flags indicating that the PC should use Stateless Address Autoconfiguration. The PC receives this RA and uses the prefix combined with its interface identifier to form a global unicast address. Now the PC has both a link-local address and a global address. It adds the router’s address as its default gateway. The PC can now send traffic to the internet. When it wants to send a packet to another PC on the same network, it uses NDP to resolve that PC’s MAC address by sending a Neighbor Solicitation and receiving a Neighbor Advertisement. This entire process happens automatically within seconds of connecting the PC, without any manual configuration. The scenario illustrates how NDP makes IPv6 networks self-configuring and easy to expand.

Common Mistakes

Thinking NDP only does address resolution like ARP.

NDP does address resolution, but it also does router discovery, prefix discovery, duplicate address detection, and neighbor unreachability detection. ARP only resolved IP to MAC addresses.

Remember that NDP is a suite of functions, not just one. Think of it as the Swiss Army knife of IPv6 neighbor communication.

Believing NDP uses broadcast like ARP does.

IPv6 does not use broadcast. NDP messages are sent to multicast addresses like FF02::1 (all-nodes) and FF02::2 (all-routers) or solicited-node multicast addresses.

Associate IPv6 with multicast instead of broadcast. NDP uses multicast for efficiency and reduced network interruption.

Confusing Router Solicitation (RS) with Neighbor Solicitation (NS).

RS is sent by a host to discover routers. NS is sent to resolve a neighbor's link-layer address or for DAD. They serve different purposes.

R in RS stands for Router, so RS is about finding routers. N in NS stands for Neighbor, so it is about finding other hosts.

Forgetting that NDP is part of ICMPv6.

NDP messages are encapsulated in ICMPv6 packets. They are not a separate protocol. Understanding this helps with troubleshooting and security filtering.

Link NDP to ICMPv6 type numbers 133–137. RS is type 133, RA is 134, NS is 135, NA is 136, Redirect is 137.

Assuming NDP only works for global unicast addresses.

NDP also works for link-local addresses. In fact, DAD and router discovery initially use link-local addresses. NDP is essential at both link-local and global scopes.

Remember that the first NDP exchange is always on link-local addresses before global addresses are configured.

Exam Trap — Don't Get Fooled

{"trap":"A question asks: A host sends a Neighbor Solicitation with a target address that is its own tentative address. What is the purpose? Some learners choose Address Resolution."

,"why_learners_choose_it":"They see Neighbor Solicitation and immediately associate it with address resolution, which is its most common use. They do not read the detail that the target is the host's own tentative address.","how_to_avoid_it":"Always read the full scenario.

If the target address is the sender’s own tentative address, it is for Duplicate Address Detection, not resolution. DAD uses the same NS message but with a different intent."

Step-by-Step Breakdown

1

Host Connects to Network

When an IPv6 host first connects to a network, it generates a tentative link-local address using its interface identifier (often derived from MAC) and the link-local prefix fe80::/64. It then starts the Duplicate Address Detection process.

2

Duplicate Address Detection (DAD)

The host sends a Neighbor Solicitation message to the solicited-node multicast address of the tentative address. If no Neighbor Advertisement is received, the address is considered unique and assigned to the interface.

3

Router Discovery

The host sends a Router Solicitation to the all-routers multicast address FF02::2. Routers on the network respond with a Router Advertisement containing the network prefix, default route, and configuration flags.

4

Address Autoconfiguration (SLAAC or DHCPv6)

Based on the flags in the Router Advertisement (M and O flags), the host either uses SLAAC to form a global address from the prefix and its interface identifier, or uses DHCPv6 for stateful address assignment.

5

Address Resolution of Neighbors

When the host wants to communicate with another host on the same link and does not know its MAC address, it sends a Neighbor Solicitation to the solicited-node multicast address of the target IPv6 address. The target responds with a Neighbor Advertisement containing its MAC.

6

Neighbor Unreachability Detection (NUD)

The host periodically checks if neighbors in its neighbor cache are still reachable. It sends unicast Neighbor Solicitations to confirm reachability. If no response, the entry is marked stale and eventually removed. This ensures the cache is accurate.

Practical Mini-Lesson

NDP is a foundational protocol for IPv6 that every network professional must understand deeply. In practice, NDP operates continuously on every IPv6-enabled interface. As a network administrator, you will mostly interact with NDP through verification commands and troubleshooting. On Cisco IOS, the command show ipv6 neighbors displays the neighbor cache, which is the IPv6 equivalent of the ARP cache. The output shows IPv6 addresses, link-layer addresses, state (REACH, STALE, DELAY, INCOMPLETE), and the interface. A REACH state means recent confirmation, STALE means the entry is old but valid, INCOMPLETE means a Neighbor Solicitation was sent but no reply yet. If you see many INCOMPLETE entries, it indicates connectivity issues between devices or misconfiguration.

Another key command is show ipv6 interface [interface], which shows how NDP is configured on that interface, including RA intervals, DAD attempts, and whether the interface is sending RAs. The command debug ipv6 nd is powerful but should be used carefully in production because it generates a lot of output. It shows every NDP message sent and received, useful for troubleshooting. On Windows, you use netsh interface ipv6 show neighbors. On Linux, ip -6 neigh show.

One of the most common misconfigurations is forgetting to enable IPv6 unicast routing on a router. Without that, the router will not send Router Advertisements, and hosts will not get a default route. Another issue is an incorrect RA prefix or lifetime. If the valid lifetime of a prefix expires, hosts will deprecate their addresses and generate new ones, potentially causing session drops. Security concerns include NDP spoofing, where an attacker sends false Neighbor Advertisements to redirect traffic. To mitigate this, network administrators implement RA Guard, which blocks RAs on untrusted ports, or use SeND (Secure Neighbor Discovery) with cryptographically generated addresses. In data center environments, NDP traffic can be heavy, so some administrators tune RA intervals to reduce overhead. NDP is not just an exam topic; it is a live protocol that requires active management and monitoring in any IPv6 network.

Memory Tip

Remember the five NDP message types with the acronym RAN NS: Router Advertisement, Router Solicitation, Neighbor Solicitation, Neighbor Advertisement, and (Redirect).

Covered in These Exams

Current Exam Context

Current exam versions that test this topic — use these objectives when studying.

Related Glossary Terms

Frequently Asked Questions

Does NDP work on all IPv6 networks?

Yes, NDP is a mandatory part of IPv6 and runs on every IPv6-enabled interface. It is not optional because it handles essential functions like address resolution and router discovery.

Can NDP be disabled on an interface?

In most implementations, you cannot completely disable NDP on an interface because it is fundamental to IPv6 operation. However, you can suppress Router Advertisements or adjust timers. On some devices, you can disable NDP by removing IPv6 configuration from the interface.

What is the difference between NDP and DHCPv6?

NDP handles local neighbor discovery, address autoconfiguration (SLAAC), and DAD. DHCPv6 provides stateful address assignment and additional configuration options like DNS servers. They often work together when configured.

How does NDP handle security?

NDP by itself has no built-in security. It can be vulnerable to spoofing and rogue RA attacks. Extensions like Secure Neighbor Discovery (SeND) and network features like RA Guard provide security.

What is a solicited-node multicast address?

It is a special multicast address derived from the last 24 bits of an IPv6 address. NDP uses it for Neighbor Solicitations to avoid waking up all nodes on the network, unlike ARP broadcasts in IPv4.

Why is NDP considered more efficient than ARP?

NDP uses multicast instead of broadcast, so only nodes that care about the message receive it. It also combines multiple functions into one protocol, reducing overhead and improving performance.

Can NDP be used on point-to-point links?

Yes, NDP works on any link type, including point-to-point links. On such links, neighbor discovery may be simplified, but NDP still performs DAD and other functions.

Summary

NDP, or Neighbor Discovery Protocol, is the essential communication protocol that makes IPv6 networks self-configuring and efficient. It replaces several IPv4 protocols, including ARP, ICMP Router Discovery, and Redirect. NDP uses five ICMPv6 message types to perform address resolution, duplicate address detection, router discovery, prefix discovery, stateless address autoconfiguration, and neighbor unreachability detection.

For IT certification exams such as CompTIA Network+, Cisco CCNA, and Juniper JNCIA, understanding NDP is critical because it is a major differentiator between IPv4 and IPv6. Exam questions often test your knowledge of each message type, its purpose, and how NDP differs from its IPv4 counterparts. Common traps include confusing Neighbor Solicitation for address resolution with DAD, and forgetting that NDP uses multicast instead of broadcast.

In real-world IT practice, NDP requires careful management: you must verify neighbor caches, configure RA parameters, and secure the network against spoofing attacks. Tools like show ipv6 neighbors and debug ipv6 nd are indispensable for troubleshooting. The key takeaway is to learn NDP thoroughly, not just for exam success but for daily network administration in an increasingly IPv6 world.

Master the five message types, their roles, and practical verification, and you will be well-prepared for both exams and production network work.