IPv6 neighbor discovery
Router and neighbor solicitation/advertisement, SLAAC address formation, and how to verify the IPv6 neighbor table.
ND message types
IPv6 replaces ARP with Neighbor Discovery (ND) over ICMPv6. Routers advertise themselves with Router Advertisements (RA); hosts request them with Router Solicitations (RS). Hosts resolve neighbors' link-layer addresses with Neighbor Solicitation/Advertisement (NS/NA) — the IPv6 equivalent of ARP request/reply — sent to the solicited-node multicast group instead of broadcast.
ND message types
| Message | ICMPv6 type | Purpose |
|---|---|---|
| Router Solicitation (RS) | 133 | Host asks routers to send an RA now |
| Router Advertisement (RA) | 134 | Router announces prefix, gateway, flags |
| Neighbor Solicitation (NS) | 135 | Resolve a neighbor's MAC / DAD check |
| Neighbor Advertisement (NA) | 136 | Reply with link-layer address |
| Redirect | 137 | Router points host at a better next hop |
SLAAC and DAD
SLAAC (stateless address autoconfiguration) lets a host build its own address from the RA's /64 prefix plus a self-generated interface ID — no DHCP server needed. The host then runs Duplicate Address Detection (DAD): it multicasts a Neighbor Solicitation for its own candidate address to the solicited-node group; a Neighbor Advertisement (normally unicast) means someone else owns it. DAD reduces collisions but cannot guarantee uniqueness if replies are lost or suppressed.
The solicited-node multicast address ff02::1:ffXX:XXXX is derived from the low 24 bits of the target unicast address. ND queries go only to nodes listening on that group — far quieter than ARP's broadcast to everyone.
- Prefix (from RA)
- 2001:db8:100:1::/64
- Host interface ID
- …:9abc:def0:1234
- Host sends RS to ff02::2; router replies RA to ff02::1 carrying the /64 prefix and flags.
- Host forms 2001:db8:100:1::9abc:def0:1234 and sets the router's link-local as default gateway.
- DAD: host NSs ff02::1:ff34:1234 (low 24 bits of its own address).
- No NA reply → address is unique → tentative state clears and the address is usable.
SLAAC gives the host prefix+gateway with zero config; DAD checks for collisions before use — it detects, it does not guarantee.
Verification
Inspect ND state on a router — Privileged EXEC
Cisco IOS / IOS XE
show ipv6 neighbors show ipv6 interface gi0/1 show ipv6 routers debug ipv6 nd
- Neighbor entries show the peer's address, link-layer address and REACH/STALE state.
- Interface output shows whether RAs are sent and the advertised prefix/flags.
debug ipv6 ndis noisy — use on lab/small devices only.
Read-only verification commands.
Common mistakes
- Looking for ARP in IPv6 — ND/ICMPv6 does the job instead.
- Blocking ICMPv6 in an ACL — you break ND, RA, DAD and PMTUD, not just ping. Nor does every RA create a default gateway: router lifetime and the autonomous flag in the RA decide that.
- Assuming SLAAC provides DNS — it provides address+gateway; DNS comes via RA options or DHCPv6.
- Forgetting DAD — a duplicate address silently breaks reachability.
Observation: Client shows a global address but its gateway field is empty.
- Router not sending RAs (interface config)
- L2 device filtering multicast/ICMPv6
- Client using a static address but no gateway
| Check | Indicates |
|---|---|
show ipv6 interface on the router | RAs disabled or ipv6 nd ra suppress explains the missing gateway. |
| Client received RA? (OS network details) | Address via SLAAC implies RA arrived; manual address does not. |
| Switch MLD/ICMPv6 filtering | Multicast filtering between host and router blocks the RS/RA exchange. |
Correction: Un-suppress RAs on the router interface or configure the gateway manually.
Client lists a link-local default gateway and reaches off-link destinations.
On this page
Related resources
Sources
- Cisco CCNA 200-301 v1.1 Exam Topics (official PDF) — reviewed 2026-11-02
- RFC 4861 — Neighbor Discovery for IP version 6 (IPv6) — reviewed 2026-11-02
- RFC 4862 — IPv6 Stateless Address Autoconfiguration — reviewed 2026-11-02
- Cisco — IPv6 Command Reference — reviewed 2026-11-02
Targets CCNA 200-301 v1.1 objectives. Supplemental blocks are labeled beyond exam scope.