IPv6 SLAAC and Neighbor Discovery Workbench
Trace link-local setup, router advertisements, SLAAC, DAD, next-hop selection, and neighbor resolution
IPv6 SLAAC and Neighbor Discovery Workbench
Step through how an IoT node gets from no IPv6 address to a usable address and a working next hop. Watch which ICMPv6 message changes the address state, router state, and neighbor cache.
Address State and ICMPv6 Message Flow
A sensor joins a normal IPv6 subnet. It creates a link-local address, discovers a router, learns a /64 prefix, runs DAD, then resolves the next hop before sending data.
tentative
RA source
actuator
off-link
Address State
Neighbor Cache and Diagnosis
Step through the flow to see when a tentative address becomes usable and when the node learns a link-layer next hop.
Quick Reference
- RS: Router Solicitation asks routers to advertise sooner.
- RA: Router Advertisement can carry a Prefix Information Option; the autonomous flag lets hosts use SLAAC.
- NS/NA: Neighbor Solicitation and Advertisement support DAD and link-layer address resolution.
- DAD: A tentative address is not assigned if a duplicate is reported.
How To Debug
If the node has only `fe80::`, inspect RA reception and prefix flags. If the global address is tentative or failed, inspect DAD. If the address is assigned but packets do not leave, inspect the default route and neighbor cache entry for the selected next hop.
Technical Accuracy Notes
- This animation uses documentation prefixes and simplified interface identifiers for teaching.
- For off-link destinations, the node resolves the router as the link-layer next hop, not the cloud server.
- Classic IPv6 ND uses multicast heavily. 6LoWPAN deployments often use ND optimizations and address registration to reduce multicast cost.
- Modern systems do not have to expose MAC-derived EUI-64 interface identifiers; opaque or privacy-oriented identifiers are common.