Quiz Entry - updated: 2026.07.05
What is Duplicate Address Detection (DAD) and how does it work?
DAD checks that a self-assigned IPv6 address isn't already in use, by sending a Neighbor Solicitation for the address before claiming it.
* DAD: probe with a Neighbor Solicitation, then branch on whether anyone answers. *
Because SLAAC lets hosts pick their own addresses, two hosts could collide — DAD prevents that:
- The address starts in the tentative state (not yet usable)
- The host sends a Neighbor Solicitation for its own tentative address, sourced from
::, to that address's solicited-node multicast group - If another host responds with a Neighbor Advertisement → the address is already taken → don't use it
- If no response → safe → promote the address to usable
DAD runs for both the link-local address (Step 1) and any global address (Step 2).
Tip: DAD is why there's a brief delay before a fresh IPv6 address becomes usable — the stack is politely checking nobody else claimed it.
Go deeper:
RFC 4862 §5.4 — Duplicate Address Detection — the NS-from-:: probe, the tentative state, and what a returned NA means.