The solicited-node multicast address is a specific type of multicast address in IPv6 designed to improve the operation of sending ARP request packet (Neighbor Solicitation (NS) in IPv6) to reach only the intended recipient rather than every device on the local network.
What is Solicited-Node Multicast Adddress?
In IPv4, ARP requests are broadcasted to the entire local network, which can generate unnecessary traffic. In contrast, IPv6 uses the solicited-node multicast address to limit the scope of Neighbor Solicitation messages. This allows the message to reach only the intended recipient (or a small group of hosts) rather than to send to every devices on the network.
In IPv6, every unicast address has a corresponding solicited-node multicast address, derived from the unicast address. Each solicited-node multicast address also maps to a specific MAC address. When sending a Neighbor Solicitation (NS) (equivalent to an ARP request in IPv4) to find the MAC address of an IPv6 node, the NS packet is sent to the solicited-node multicast and its associated MAC address, rather than broadcasting.
If the switch supports multicast, the packet will reach only the target device. Otherwise, it may reach all devices, but only the intended recipient will process it. This is different from IPv4, where ARP requests are broadcasted and processed by all nodes since the destination address (FFFF:FFFF:FFFF) points to every nodes.
Calculate Solicited-Node Multicast Address and MAC Address
Now the question is how solicited node multicast address is calculated. To calculate the solicited-node multicast address, the process is simple. The first 104 bits of the solicited-node multicast address are always fixed (FF02::1:FF00:0/104
), and the last 24 bits are copied from the last 24 bits of the unicast address.
For every unicast address—whether it’s a link-local, global unicast, or unique local address—an equivalent solicited-node multicast address is automatically generated. The node listens to this address, ensuring it can receive Neighbor Solicitation (NS) messages.
Although two unicast addresses with different first 104 bits but the same last 24 bits will have the same solicited-node multicast address, this does not happen usually within a specific network.
Unicast IPv6 Address | Solicited-Node Multicast Address | Equivalent MAC Address | Formula |
---|---|---|---|
2001:AA:BB:CC::13 | FF02::1:FF00:13 | 33:33:FF:00:00:13 |
Solicited-Node Multicast: FF02::1:FFXX:XXXX MAC Address: 33:33:FF:XX:XX:XX |
Every solicited-node multicast address has a corresponding MAC address, which is why switches send the packet only to the target.
The MAC address for solicited-node multicast follows a specific format: the first 24 bits of the MAC address are fixed as 33:33:ff
, and the last 24 bits are derived from the last 24 bits of the corresponding unicast address.
Monitoring IPv6 Solicited-Node Multicast Address
In this section, we’ll preview IPv6 Solicited-Node Multicast Addresses, even though we haven’t yet covered the IPv6 Neighbor Discovery Protocol (NDP) or its components, such as Neighbor Solicitation packets.
To demonstrate, I’ve set up a simple topology with two routers connected via interface eth0/0. The IP addresses assigned are 2001:AA:BB:CC::1 and 2001:AA:BB:CC::2.
Here’s the procedure:
Enable packet capture on the interface between the two routers.
Disable the interface using the
shutdown
command.Re-enable the interface with the
no shutdown
command.Ping from one router to the other to trigger the routers to send Neighbor Solicitation packets.
By capturing these packets, you’ll observe the Solicited-Node Multicast Address in both Layer 2 and Layer 3 headers, as expected.
In upcoming lessons, we’ll delve deeper into the Neighbor Discovery Protocol and its various components.