How does IPv6 Neighbor Discovery compare to IPv4 ARP for resolving a MAC address?
Both map a known Layer 3 address to a MAC, but ARP is a standalone protocol that broadcasts its request, while ND runs over ICMPv6 and sends its request to a solicited-node multicast address so only the target is disturbed.
* Both resolve L3 to MAC with a request then a unicast reply; the key split is ARP's broadcast request (standalone protocol) versus ND's solicited-node multicast request (part of ICMPv6). *
ARP (IPv4) vs Neighbor Discovery (IPv6):
| Aspect | ARP (IPv4) | ND (IPv6) |
|---|---|---|
| Protocol | Standalone Layer 2/3 protocol | Part of ICMPv6 |
| Request message | ARP Request | Neighbor Solicitation (NS) |
| Reply message | ARP Reply | Neighbor Advertisement (NA) |
| Request delivery | Broadcast to all hosts | Solicited-node multicast to (essentially) just the target |
| Reply delivery | Unicast | Unicast |
| Maps | IPv4 → MAC | IPv6 → MAC |
Why the multicast difference matters: An ARP broadcast interrupts the CPU of every device on the local network, whether or not it owns the requested address. A solicited-node multicast is built from the target's IPv6 address, so normally only the intended host (and any sharing the same low-order bits) processes it — keeping unrelated devices from being disturbed.
Key fact: IPv6 does not use ARP at all; address resolution is handled entirely by ND.
Go deeper:
-
Neighbor Discovery Protocol — Wikipedia: NDP performs ARP's job (plus router discovery) entirely within ICMPv6.
-
Solicited-node multicast address — explains why ND's multicast request typically reaches only one host, unlike an ARP broadcast that interrupts every NIC.
-
RFC 4861 — Neighbor Discovery for IP version 6 (IPv6) — the IPv6 ND specification, the counterpart to RFC 826 for ARP.