3

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?

  • The way you have phrased the question makes this primarily an opinion question, which is off-topic here. Try to ask a question that has an objective answer. – Ron Trunk Feb 20 '15 at 22:20
  • 1
    One point to remember is that multicast benefits the host, not the switch. It takes less processing on the host to reject an unwanted multicast than an unwanted broadcast. – Ron Trunk Feb 20 '15 at 22:21
  • Ok, would a rephrased question such as the following be better: 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? – Stanley Yu Feb 20 '15 at 23:10
  • A host receiving a broadcast must evaluate the broadcast, and that uses CPU cycles. A host receiving a multicast for which it is not subscribed will not evaluate the multicast. – Ron Maupin Feb 21 '15 at 0:06
  • Stanley, do not re-phrase your question in the comments. Edit your original question. – Peregrino69 Feb 21 '15 at 12:59
7

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.

  • Bingo. I would also add, that right now most switch vendors can 'get away with' not building IGMP/MLD capabilities. When IPv6 actually becomes the predominant communication protocol, I imagine IGMP/MLD snooping will be much more commonly supported. – Eddie Feb 23 '15 at 5:32
  • A specific example for ND, the multicast address is the solicited-node address, which will typically be unique per host. So most NS messages, contrary to most ARP requests, will never reach the CPU. – KillianDS Feb 23 '15 at 15:02
  • Makes sense. I was under the mistaken impression that the primary motivation for switching from broadcast to multicast was a reduction in host-received traffic. Thanks for dispelling that thought and clarifying it for me! – Stanley Yu Feb 23 '15 at 18:31

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.