IPv6 Solicited Node Multicast Address

Every device that uses an IPv6 address will also compute and join a solicited node multicast group address. This address is required for IPv6 Neighbor Discovery which we use for layer two address discovery.

All solicited node multicast group addresses start with FF02::1:FF /104:

IPv6 solicited node multicast address

  • FF /8 is the IPv6 multicast range.
  • FF02 /16 is the multicast link local scope.

Let’s take a look on a Cisco IOS router to see what these solicited node multicast group addresses look like:

R1(config)#interface FastEthernet 0/0
R1(config-if)#ipv6 enable

I just enabled IPv6 on an interface, this causes the router to create a link-local IPv6 address. It will also compute and join the solicited node multicast group address:

R1#show ipv6 interface FastEthernet 0/0
FastEthernet0/0 is up, line protocol ibs up
  IPv6 is enabled, link-local address is FE80::21D:A1FF:FE8B:36D0
  No Virtual link-local address(es):
  No global unicast address is configured
  Joined group address(es):
    FF02::1
    FF02::1:FF8B:36D0

Above you can see that the router joined FF02::1:FF8B:36D0. The last 6 hexadecimal characters were copied from the link local address. Here’s a picture:

ipv6-solicited-node-multicast-address-from-router

Above you can see the complete uncompressed solicited node multicast address.

I can configure multiple IPv6 addresses on the interface, if the last 6 hexadecimal characters are similar then there is no need to join another multicast address. For example, let’s configure an IPv6 unicast address:

R1(config)#interface FastEthernet 0/0
R1(config-if)#ipv6 address 2001:DB8:1212:1212::/64 eui-64

I’ll use EUI-64 to generate the last 64 bits. Take a look at the joined group addresses:

R1#show ipv6 interface FastEthernet 0/0
FastEthernet0/0 is up, line protocol is up
  IPv6 is enabled, link-local address is FE80::21D:A1FF:FE8B:36D0
  No Virtual link-local address(es):
  Global unicast address(es):
    2001:DB8:1212:1212:21D:A1FF:FE8B:36D0, subnet is 2001:DB8:1212:1212::/64 [EUI]
  Joined group address(es):
    FF02::1
    FF02::1:FF8B:36D0

The last 64 bits of the link local and unicast address are the same so the solicited node multicast group address remains the same. If we configure an IPv6 address where the last 6 hexadecimal characters are different then the router will join another multicast group. Let’s try that:

We're Sorry, Full Content Access is for Members Only...

If you like to keep on reading, Become a Member Now! Here is why:

  • Learn any CCNA, CCNP and CCIE R&S Topic. Explained As Simple As Possible.
  • Try for Just $1. The Best Dollar You've Ever Spent on Your Cisco Career!
  • Full Access to our 657 Lessons. More Lessons Added Every Week!
  • Content created by Rene Molenaar (CCIE #41726)

541 Sign Ups in the last 30 days

satisfaction-guaranteed
100% Satisfaction Guaranteed!
You may cancel your monthly membership at any time.
No Questions Asked!

Forum Replies

  1. Hi Rene,

    I was wondering if you can clarify something for me. From me reading of this lesson, I understand that the solicited node multicast address is formed by joining the last 6 hex of the link local address to the FF02::1:ff address, correct ?

    Now, the confusion comes in when we add a IPv6 unicast address, your example being:
    2001:DB8:1234:5678:1234:5678:1234:5678/64

    How, is the solicited multicast address now:

    FF02::1:FF34:5678?

    Why did you take the last 6 hex from the Ipv6 unicast address and not the link local address ?

    Thank you,
    Kevin

  2. Hi Kevin,

    The solicited node multicast address is generated for each IPv6 address on the interface, there’s one for the link local address and for each global unicast address that you have configured.

    Rene

  3. If we are only taking last 6 hex then multiple hosts on the same LAN may join to the same multi-cast group. As many hosts may have the MAC addresses whose last 24 bits are same. Is generating unique “solicited multi-cast address” not our intention ?

  4. Hi Harmeet,

    6 hexadecimal characters are 24 bits. The last 24 bits of the MAC address is the “vendor assigned” part. If you have two network cards from the same vendor then the last 24 bits should be unique.

    Theoretically, it could be possible that you have two network cards from different vendors that have the same 24 vendor assigned bits but the odds are extremely small :slight_smile:

    It is possible though to have two IPv6 addresses that use the same solicited node address. This is no problem though…both hosts will listen to the multicast group address and if needed, disca

    ... Continue reading in our forum

Ask a question or join the discussion by visiting our Community Forum