How does IPv6 Neighbor Solicitation (NS) and Neighbor Advertisement (NA) work for address resolution?
The sender multicasts an NS ("who has this IPv6? send your MAC?") to the target's solicited-node multicast address; the target replies with a unicast NA carrying its MAC.
* The NS is sent to the target's solicited-node multicast group, so normally only the target processes it; it answers with a unicast NA carrying its MAC. *
IPv6 Address Resolution Process:
IPv6 devices use ND to resolve the MAC address of a known IPv6 address.
Step 1 - Neighbor Solicitation (NS):
- PC1 sends NS message: "Hey, who has 2001:db8:acad:1::11? Send me your MAC address!"
- Sent to a solicited-node multicast address (not broadcast)
- Only the target device processes it
Step 2 - Neighbor Advertisement (NA):
- PC2 responds: "I am 2001:db8:acad:1::11 and my MAC is f8-94-c3-e4-c5-0A"
- Sent directly back to the requesting device (unicast)
Advantages over ARP:
- Uses multicast instead of broadcast (less network traffic)
- Only the target host processes the solicitation
- More efficient on large networks
Context: This is similar to ARP for IPv4, but uses ICMPv6 messages instead of a separate protocol.
Go deeper:
-
RFC 4861 — Neighbor Discovery for IP version 6 (IPv6) — the spec for the NS/NA address-resolution exchange.
-
Solicited-node multicast address — Wikipedia shows how the NS target address (
ff02::1:ffXX:XXXX) is built from the low-order bits of the IPv6 address so only the target is disturbed.