2

I'm aware of the fact that broadcast has been removed from IPv6 and just has multicast instead. However, recently I read

"This process (ARP) is now achieved via a multicast address called the solicited node address because all hosts join this multicast group upon connecting to the network."

Now my question is, if all hosts join this node upon entering the network and then a "multicast" packet is sent out to all hosts on this node, doesn't that become the same as a broadcast in IPv4?

  • IPv6 doesn't have ARP, either; it has ND, instead. – Ron Maupin Nov 29 '15 at 4:00
  • Yes, I understand that it has NS and NA instead. The above statement was comparing the similarity in function to ARP in IPv4. – Izy- Nov 29 '15 at 4:01
3

You misunderstand how the solicited-node multicast addresses work. Each host could have a different solicited-node multicast address. A solicited-node multicast address is based on the IPv6 unicast or anycast address. From RFC 4291:

Solicited-Node multicast address are computed as a function of a
node's unicast and anycast addresses. A Solicited-Node multicast
address is formed by taking the low-order 24 bits of an address
(unicast or anycast) and appending those bits to the prefix
FF02:0:0:0:0:1:FF00::/104...

A broadcast, like ARP, will interrupt every host on a LAN, and require each and every host on the LAN to process the request to see whether or not the ARP is for the host. Multicasts are selective broadcasts, and only the hosts subscribing to the multicast group will receive the multicast.

This method will only affect one or a few hosts on a LAN instead of all the hosts on the LAN.

  • Thank you. I understand that. But in this case, say one device wants to find out the MAC address of another device, it still has to send out a broadcast like message for all devices in that network to process and reply in the case that it's addressed to that device. So my question is, doesn't that make it similar to a broadcast itself? How have they gotten away from the requirement to send something (like ARP for example) to all devices on the network? – Izy- Nov 30 '15 at 7:03
  • No, you are incorrect. The NS is sent to the solicited-node address for the target host. The way the solicited-node addresses are created, only the target is likely to have that address, but it is possible that one or two other may have that solicited node address, too. The odds of duplicate solicited-node addresses are fairly small. With a broadcast, every host will need to process the message, but with a multicast, only the host(s) with the solicited-node address will need to process the message. – Ron Maupin Nov 30 '15 at 12:46
0

First a quick background on Broadcasts and Multicasts on Ethernet. On a "textbook" Ethernet network the switches will treat all Multicasts like Broadcasts and flood them to all ports. Many fancier Ethernet switches can detect some but not all types of multicast and limit their spread.

The network controllers in the end devices will typically have support for filtering multicasts by destination MAC address. The exact details of this filtering vary and the filtering may or may not be a precise representation of the list of multicast MAC addresses the end device wants to listen to.


Back to neighbor discovery, the sending host crafts a neighbor discovery packet. To select the destination IP address it uses the bottom 24 bits of the target's IPv6 address. These bits will in turn be copied into the mulitcast MAC address (IPv6 over Ethernet copies the bottom 32-bits of the multicast IP into the multicast MAC).

Ethernet switches can't really do anything fancy for this particular type of multicast, so the packet will almost certainly be sent to the NICs of every device on the network. However for the majority of nodes it will be stopped by multi-cast filtering in the network controller rather than being passed up to the device's main processor.

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.