Multicasting is more efficient than broadcasting, which can interrupt and consume unnecessary processing time and resources on end system not intended for the data. Multicasts can be recognized and dropped at Layer 2; whereas broadcasts must be processed through the TCP/IP stack up to the network, transport, or application layer before an end system can determine whether the broadcast is intended for it.
Multicasting is frequently being used in the IPv6 operation especially for some plug-and-play features, eg: router discovery and autoconfiguration.
An IPv6 multicast address has a prefix of FF00::/8 (11111111). The 2nd byte identifies the lifetime (4 bits) and scope (4 bits) of a multicast group. The IPv6 Multicast address range uses 1/256 (28) of the total IPv6 address space.
A permanent and temporary multicast address have a lifetime value of 0 and 1 respectively.
IPv6 Multicast Address Format
Below lists some reserved and well-known IPv6 multicast address in the reserved multicast address range (FF00:: to FF0F::):
|Multicast Address||Multicast Group|
|FF01::1||All IPv6 nodes within the node-local scope|
|FF01::2||All IPv6 routers within the node-local scope|
|FF02::1||All IPv6 nodes within the link-local scope|
|FF02::2||All IPv6 routers within the link-local scope|
|FF02::5||All OSPFv3 routers within the link-local scope|
|FF02::6||All OSPFv3 designated routers within the link-local scope|
|FF02::9||All RIPng routers within the link-local scope|
|FF02::A||All EIGRP routers within the link-local scope|
|FF02::D||All PIM routers within the link-local scope|
|FF02::1:2||All DHCPv6 agents (servers and relays) within the link-local scope|
|FF05::2||All IPv6 routers within the site-local scope|
|FF02::1:FF00:0/104||IPv6 solicited-node multicast address within the link-local scope|
Since a multicast group always refers to a set of nodes, there is no sense for having a subnet field in the multicast address. Hence the last 112 bits are designated as the Group ID for identifying multicast groups. The current usage sets the first 80 bits to 0 and just uses the last 32 bits.
An IPv6 node (host or router) is required to join the following multicast groups:
i) All-nodes multicast group FF02::1 (link-local scope).
ii) Solicited-Node multicast group (prefix FF02:0:0:0:0:1:FF00:0000/104).
Note: 6 x 16 bits = 96 bits. 96 bits + 8 bits = 104 bits.
Additionally, an IPv6 router must also join the all-routers multicast group FF02:0:0:0:0:0:0:2 (link-local scope).
IPv6 Solicited-Node Multicast Address is used for generating Neighbor Solicitation messages (equivalent to IPv4 ARP Requests) for the neighbor discovery (the address resolution) process. The IPv4 ARP Requests are sent to the data link level broadcast, which introduce unnecessary processing for all nodes within the same broadcast domain. An IPv6 node must join the solicited-node multicast group for every IPv6 unicast and anycast address assigned to it. It has a prefix of FF02::1:FF00:0/104 with the last 24 bits being resolved from the last 24 bits of the corresponding IPv6 unicast or anycast address. Ex: The solicited-node multicast address for the IPv6 address FE80::1311:11FF:FE11:1111 is FF02::1:FF11:1111.
Kindly refer to the IPv6 Neighbor Discovery section below for more information.
An IPv6 host requires the following IPv6 addresses for proper operation:
i) Loopback address
ii) Link-local unicast address for every interface
iii) Assigned unicast address(es)
iv) All-node multicast address
v) Solicited-node multicast address for every unicast and anycast address assigned to it
vi) Multicast addresses of all other groups
vii) Unique-local unicast address (if applicable)
An IPv6 router requires the following IPv6 addresses for proper operation:
i) All the required node addresses
ii) All-router multicast address
iii) Subnet-router anycast addresses for the configured forwarding interfaces
iv) Other assigned anycast addresses
v) Specific multicast addresses for routing protocols