IPv6 Multicasting – Advantages Over Broadcast

ipv6multicastprotocol-theory

I've been trying to familiarize myself with IPv6 and one thing that's left me hanging is the benefit of multicasting over broadcasting in IPv6. To use Neighbor Discovery Address Resolution as an example, I understand that nodes will use the solicited-node multicast address when trying to map an IP address to its corresponding MAC address, but how this actually reduces unnecessary processing by other nodes on the same link is not immediately clear to me.

It seems that to fully maximize the utility of multicasting, we need both a router that speaks Multicast Listener Discovery (MLD) AND a switch supporting MLD snooping. We need the router so that MLD is active on the network and the "smart" switch to keep track of which interfaces are associated with which multicast addresses.

Otherwise, if we do NOT have a router speaking MLD or our switch does NOT support MLD snooping, then, sure, neighbor solicitations will be directed at the solicited-node multicast address, but any potential savings in network chatter will be negated when the switch just broadcasts out all ports.

And if what I say is true, does this mean that for almost all networks, especially consumer/soho networks, there will be virtually no benefit by switching over from ARP-based broadcast to ND-based multicast?

EDITED:

Does a network with switches that do not include MLD snooping treat multicast the same as broadcast and therefore negate the benefits of multicast? As for your second point, forgive me as I am pretty new to all this, but why would an unwanted multicast be less disruptive than a broadcast? If we take the example of ARP, another node sees the broadcast ARP frame, sees it is not referring to itself, and drops it. In ND, the neighbor sees the multicasted solicitation (because it has been broadcasted by the switch), and drops?

Best Answer

Switches without MLD or IGMP snooping will treat multicast and broadcast (if there were broadcast in IPv6) the same -- namely, they would flood the packets out all ports.

But the second half of your statement,

"and therefore negate the benefits of multicast"

doesn't follow. The advantages of multicast are not for the switch. They are for the end hosts.

End hosts can process multicast more efficiently than broadcast packets. The network interface card (NIC) on most hosts can be set to accept specific multicast addresses and reject all others, just as they do with unicast packets. So unwanted multicast traffic is ignored by the NIC as well as unwanted unicast traffic. But when the host receives a broadcast packet, it must accept it and send it to the CPU to process, even if it is not important to this host. In a network with lots of broadcast traffic, hosts are continually interrupted to process the broadcasts, even though they care about very few of them.

Multicast solves this problem by "delegating" the task of selecting important packets to the NIC hardware. Only packets directly addressed to the host are sent to the CPU for processing.

Related Topic