Hello Kyle
Yes, you are correct. I would describe it a bit differently, however. The switch recognizes the multicast MAC address as multicast because it begins with 33:33. However, if MLD or IGMP snooping is not enabled, it will then flood the packets out of all interfaces on that particular VLAN/broadcast domain. This is normal behavior of multicast at Layer 2.
Now I understand that the next question is, since this is similar to how ARP requests work, how is that more efficient than ARP? Well, there are a few nuances between the two processes that we must keep in mind:
- Mulitcast and Broadcast messages are processed differently by hosts. Boradcast messages must be received, decapsulated and processed. Multicast messages are identified in hardware, at the NIC level, and are discarded if the host is not registered to that multicast group. So ARP messages, which are broadcast, are decapsulated and examined before being dropped (if not intended for the local device) while multicast messages are identified at the physical layer, that is, at the NIC level. This means it is much more efficient on a per host basis.
- Targeted multicast, when used with IGMP or MLD snooping, allows you to design a network to make these operations function more efficiently. Broadcast communication used by ARP does not.
So even if both mechanisms involve some level of flooding at Layer 2, IPv6 neighbor discovery with multicast is more scalable and efficient because:
- It narrows the recipient scope via targeted multicast.
- Hosts can use hardware filtering to ignore irrelevant multicast traffic.
- And with MLD snooping enabled, switches can further optimize by learning which ports are interested in specific multicast groups, thus avoiding unnecessary flooding.
I hope this has been helpful!
Laz