A structured lesson workspace with readable content, hands-on examples, and a clean path to completion.
IPv4 needed four separate mechanisms for link-local operations: ARP, ICMP redirect, ICMP router discovery, and router solicitation. IPv6 combined them into one protocol — Neighbor Discovery — running over ICMPv6. Cleaner, more secure, and the reason IPv6 hosts can find each other and their gateway without extra configuration.
| NDP Message | IPv4 Equivalent | Purpose |
|---|---|---|
| Router Solicitation (RS) | — (new) | Host asks: any routers here? |
| Router Advertisement (RA) | ICMP router discovery | Router announces prefix, gateway, flags |
| Neighbor Solicitation (NS) | ARP request (partly) | Who has this IPv6 address? |
| Neighbor Advertisement (NA) | ARP reply | I do, here's my MAC |
| Redirect | ICMP redirect | Use a better next-hop for this destination |
Notice RA carries prefix and gateway info. That's how SLAAC works — the host learns its /64, its default gateway, and gets on with life. No DHCP server needed for basic connectivity.
When host A wants to send to host B on the same link, it doesn't know B's MAC. IPv6 does the following:
The solicited-node multicast trick is why NDP scales better than ARP. ARP broadcasts to every host on the link; NDP multicasts to a small group determined by the last 24 bits of the target address. On a busy network with thousands of hosts, this is a massive improvement.
The State column is the interesting one. REACH means the entry is confirmed usable. STALE means the entry may still be valid but hasn't been used recently — the switch will re-verify before trusting it. INCOMPLETE means NS was sent but no NA came back — usually means the target doesn't exist or is unreachable.
ICMPv6 handles everything IPv4's ICMP did, plus NDP's job. Message types include Echo Request/Reply (ping), Destination Unreachable, Packet Too Big (used by Path MTU Discovery), Time Exceeded, and all NDP variants.
Do not block ICMPv6 wholesale in firewalls. Path MTU Discovery depends on ICMPv6 Packet Too Big messages — block them and large packets silently fail, causing mystifying performance issues that don't show up in basic ping tests. Rule of thumb: block dangerous ICMPv6 types (Redirect), not the protocol.
Different combinations produce different client behaviors. A+M=0 is pure SLAAC. A=0 M=1 is pure DHCPv6. A=1 M=1 O=1 is SLAAC addressing with DHCPv6 for DNS — a common enterprise pattern.
NDP understood. Next lesson: SLAAC and how hosts auto-configure addresses.
Finish the lesson once you have worked through the material. This awards ★ 30 XP.