4 ms·
> For instance, IPv6's NDP is built on actual IPv6 packets (ICMPv6), rather than some spoofed IP-lookalike thing. No layering violation, and, thanks to multicas
by amluto 6mo ago
> For instance, IPv6's NDP is built on actual IPv6 packets (ICMPv6), rather than some spoofed IP-lookalike thing. No layering violation, and, thanks to multicasting, no need to dump a bunch of broadcast traffic on the layer 2 network.
I disagree.
With IPv4, the layers aren't quite a stack, but, logically, there's Ethernet, and on top of Ethernet is the ARP layer, and on top of that is IPv4. With the exception of DHCP, correctly functioning IPv4 hosts will actually set their source address field and speak IPv4 properly.
With IPv6, there's Ethernet. On top of Ethernet is IPv6, except that no one knows how to communicate. So there are delightful kludges like the RFC 4291 "unspecified" address, and hosts sent a packet with an "unspecified" address to do duplicate address detection prior to actually using their assigned address. To me, this smells like much more of a layering violation than ARP. Not to mention that a network that wants to optimize ARP can optimize ARP without actually interfering with IPv4 packets, but a network that wants to optimize IPv6 neighbor detection needs to mess with IPv6 packets.