ARP and DHCP really look really dirty whenever I look at them. Like pretty bad designs overall. From more neutral viewpoint it feels that whole stack would be better with something else than these clear hacks.
arp simply breaks down in very large networks aswell.
Think about things like the following:
you are a datacenter and are providing connectivity to the internet for your customers. Each customer get a vlan with a specific ip prefix attached to it. You prove the gateway for each customers subnet.
ARP crosses the L2 vs L3 boundary to do succesful address resolution. The problem this creates in large (mainly datacenter) networks is that a router needs to do arp resolution for for a LOT of networks. (i am talking about 100's of networks in past, many thousands with something like an EVPN vxlan).
Why is this a problem? Layer 2 lookups are usually done in the forwarding plane, and ARP resolution is usually a routing engine task. Doing it this way is very expensive compared to the IPV6 way of doing things. (multicast based address resolution).
The router only needs to send out one multicast packet per vlan, instead of doing arp resolution for each specific host in the vlan.
In modern datacenters this is "fixed" by doing arp suppression, which is a whole other level of hackary added on top of it.
Is there broadcast address resolution in V6? I don't think there is. Each packet is still for a specific host. It's because it leverages the layer 2's multicast system though, it can filter the multicast to only hit 1 in 2^24 hosts.
Think about things like the following: you are a datacenter and are providing connectivity to the internet for your customers. Each customer get a vlan with a specific ip prefix attached to it. You prove the gateway for each customers subnet.
ARP crosses the L2 vs L3 boundary to do succesful address resolution. The problem this creates in large (mainly datacenter) networks is that a router needs to do arp resolution for for a LOT of networks. (i am talking about 100's of networks in past, many thousands with something like an EVPN vxlan).
Why is this a problem? Layer 2 lookups are usually done in the forwarding plane, and ARP resolution is usually a routing engine task. Doing it this way is very expensive compared to the IPV6 way of doing things. (multicast based address resolution).
The router only needs to send out one multicast packet per vlan, instead of doing arp resolution for each specific host in the vlan.
In modern datacenters this is "fixed" by doing arp suppression, which is a whole other level of hackary added on top of it.