Solicited Node Multicast

When it comes to IPv6 as you probably know multicast is used a lot! It essentially replaces functions that operate on broadcasts and replaces it with multicast instead. One of the ways that multicast is more efficient than broadcast is its ability to target a specific amount of people rather than every single person on the local network. One type of multicast that is extremely targeted is a solicited-node multicast address. 

This address is made out of a regular unicast or anycast IPv6 address and is used in operations in NDP. It is mostly used as the destination address in NS (Neighbor Solicitation) packets when performing address resolution or DAD (Duplicate Address Detection.) These protocols both deal with an IPv6 address and are anticipating a reply from that IPv6 address. The reason why this multicast address is very specific and targeted for operations like these is because the last 24 bits of the target’s IPv6 are appended to the solicited-node multicast prefix. When an IPv6 address is officially assigned to the interface, it automatically joins a solicited-node multicast group. Every IPv6 unicast or anycast joins a solicited-node multicast group, so if a node has three addresses (GUA, ULA, and a LLA) there will be joined to 3 separate solicited-node multicast groups. So when a NS message is sent with the solicited-node multicast as the destination, the people who receive the message have a high likelihood that the message is meant for them. 

Say you have 5 nodes on one link:

A solicited node of ff02:0000:0000:0000:0000:0001:ff7c:9d45, will only be delivered to this address 2001:0db8:abcd:1234:1111:2222:3a7c:9d45, effectively reducing a potential broadcast of 5 recipients to a multicast of only one recipient. 

Leave a Reply

Your email address will not be published. Required fields are marked *