Recently I study RFC 4291, and the solicitation node address is defined in that spec. I know what and the function of this solicitation node address. But just wondering why does the address design as


I mean why choose the 104 bits as fix prefix, and just use 24 bits of the unicast IP address as variation.

I also know that "all nodes on the link" defined as :


As far as I know the FF02 means multicast on the local link, but beyond that are there any correlation between them ?

Any tips or references are appreciate.


1 Answer 1


I mean why choose the 104 bits as fix prefix, and just use 24 bits of the unicast IP address as variation.

The RFC clearly explains this:

IPv6 addresses that differ only in the high-order bits (e.g., due to multiple high-order prefixes associated with different aggregations) will map to the same Solicited-Node address, thereby reducing the number of multicast addresses a node must join.

IPv6 allows, and even requires, multiple addresses per interface. Every IPv6 unicast and anycast address that an interface has must have a corresponding solicited node address.

  • Yes, I have read this paragraph, but that time somehow I didn't relate it to my question. My question is why not design solicitation node address as FF02:1:XXXX:XXXX [use 32 bits of the unicast address. ] I try to interpret that paragraph again. Does that means that since under an aggregation the nodes' address in the higher order bits are all the same [maybe all the 128 - 32 = 96 bits are same], so we don't need too much solicitation multicast group ? Sep 12, 2015 at 3:26
  • Suppose you had these addresses on the interface: 2001:db8:1234::1, 2001:db8:5678::1, and 2001:db8:90ab::1. The solicited-node address would be the same for all, and that would mean only one multicast group to join instead of three. The last 64 bits of the addresses will often be the same because of SLAAC or manual configuration.
    – Ron Maupin
    Sep 12, 2015 at 3:37
  • Thank you so much for your reply. Since the last 64 bits will be the same, we just use 24 bits as the variation? Does that design also consider the link-local unicast address? Sep 12, 2015 at 3:53
  • Since the last 64 bits will often be the same, the last 24 bits will be, too, and that will save on subscribed multicast groups. The link-local unicast address will often be based on the MAC address, matching the last 64 bits of the SLAAC unicast addresses, or manually configured to match the last 64 bits of the global unicast address(es).
    – Ron Maupin
    Sep 12, 2015 at 4:04
  • Hi Ron, I see the last 24 bits of unicast link-local address on my linux computer is the last three bytes of my MAC address. Is this a coincidence to the solicitation node address's variation part[24 bytes] or is intentional? Sep 12, 2015 at 4:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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