Solicited-node multicast address
A Solicited-Node multicast address is an IPv6 multicast address used by the Neighbor Discovery Protocol to verify whether a given IPv6 address is already in used in the local-link or not, through a process called DAD (Duplicate Address Detection). This allows NDP to assign IPv6 addresses to hosts using SLAAC (IPv6 Stateless Address Autoconfiguration) without the risk of assigning addresses already in use. The Solicited-Node multicast addresses are generated from the host's IPv6 unicast or anycast address, and each interface must have a Solicited-Node multicast address associated with it.
NDP sends out a Neighbor Solicitation message (ICMPv6 Type 135) to the Solicited-Node multicast address of the IPv6 unicast or anycast address it plans to assign using SLAAC, and if a host is present in that group, it will respond with a Neighbor Advertisement message (ICMPv6 Type 136), and NDP will know that the IPv6 unicast or anycast address it is trying to assign is already in used.
A Solicited-Node address is created by taking the least-significant 24 bits of a unicast or anycast address and appending them to the prefix ff02::1:ff00:0/104.[1]
Example
Assume a host with a unicast/anycast IPv6 address of fe80::2aa:ff:fe28:9c5a. Its Solicited-Node multicast address will be ff02::1:ff28:9c5a.
fe80::2aa:ff:fe28:9c5a IPv6 unicast/anycast address (compressed notation) fe80:0000:0000:0000:02aa:00ff:fe28:9c5a IPv6 unicast/anycast address (uncompressed notation) -- ---- the least-significant 24-bits ff02::1:ff00:0/104 Solicited-Node multicast address prefix ff02:0000:0000:0000:0000:0001:ff00:0000/104 (uncompressed) ---- ---- ---- ---- ---- ---- -- The first 104 bits ff02:0000:0000:0000:0000:0001:ff28:9c5a Solicited-Node multicast address (uncompressed notation) ff02::1:ff28:9c5a Solicited-Node multicast address (compressed notation)
References
- R. Hinden; S. Deering (February 2006). IP Version 6 Addressing Architecture. Network Working Group. doi:10.17487/RFC4291. RFC 4291. Updated by: RFC 5952, RFC 6052, RFC 7136, RFC 7346, RFC 7371, RFC 8064.