Outline IPv6 multicast overview The purpose of IPv6 MLD protocol MLD packet structure MLD message classification Summary of MLD Q & A
IPv6 multicast overview Multicast provides one-to-many delivery The set of hosts listening on a specific IPv6 multicast address is called a multicast group Multicast group membership is dynamic, and hosts can join and leave the group at any time
IPv6 multicast overview There are no limitations to the size of a multicast group A multicast group can span IPv6 routers across multiple subnets A host can send traffic to a multicast address without being a member of the group
Unicast Multicast Source Router
Host support for multicast To send multicast packets: Determine the IPv6 multicast address to use Place the IPv6 multicast packet on the medium To receive multicast packets: Inform IPv6 to receive multicast traffic Register the multicast MAC address with the network adapter Inform local routers
Router support for multicast Receive all IPv6 multicast traffic Forward IPv6 multicast traffic Receive and process MLD Multicast Listener Report and Multicast Listener Done messages Query attached subnets for host membership status Communicate group membership to other IPv6 multicast routers
Router 1 Subnet 2 Subnet 1 Router 2 Host B Host C Multicast: FF02::21CB:6255 FF05::86CB:1153 Multicast: FF05::86CB:1153 Subnet 3 Host D Host A Multicast: FF02::21CB:6255 FF05::86CB:1153 Multicast: FF02::21CB:6255 FF05::86CB:1153 Source Router 3
The purpose of IPv6 MLD protocol IPv6 equivalent of Internet Group Management Protocol version 2 (IGMPv2) for IPv4 Multicast Listener Discovery enables routers to discover the set of multicast addresses for which there are listening nodes for each attached interface
MLD packet structure An MLD message packet consists of an IPv6 header, a Hop-by-Hop Options extension header, and the MLD message. The Hop-by-Hop Options extension header contains the IPv6 Router Alert Option described in RFC It is used to ensure that routers process MLD messages that are sent to multicast addresses for which the router is not a group member.
Multicast Listener Query message Function An IPv6 multicast-capable router uses the Multicast Listener Query message to query a link for multicast group membership. It is equivalent to the IGMPv2 Host Membership Query message.
Multicast Listener Query message Type Code Checksum Maximum Response Delay Unused Multicast Address = 0 = 130 Structure:
Multicast Listener Query message Classification: 1.General query The general query is used to periodically query all hosts on a subnet for the presence of multicast group members of any multicast address, except the link- local scope all-nodes multicast address (FF02::1). Multicast address is :: 2. Multicast-address-specific query The multicast-address-specific query is used to query all hosts on a subnet that are members of a specific multicast group.
Ethernet II, Src: 00:e0:4e:10:6e:f8, Dst: 33:33:00:00:00:01 Destination: 33:33:00:00:00:01 (IPv6-Neighbor- Discovery_00:00:00:01) Source: 00:e0:4e:10:6e:f8 (SanyoDen_10:6e:f8) Type: IPv6 (0x86dd) Internet Protocol Version 6 Version: 6 Traffic class: 0x00 Flowlabel: 0x00000 Payload length: 24 Next header: ICMPv6 (0x3a) Hop limit: 1 Source address: fe80::2e0:4eff:fe10:6ef8 Destination address: ff02::1
Internet Control Message Protocol v6 Type: 130 (Multicast listener query) Code: 0 Checksum: 0x9a2f (correct) Maximum response delay: Multicast Address: ::
Multicast Listener Report message Function The Multicast Listener Report message is used by a listening node to either immediately report its interest in receiving multicast traffic at a specific multicast address or respond to a Multicast Listener Query message (either a general or multicast-address-specific query). It is equivalent to the IGMPv2 Host Membership Report message.
Multicast Listener Done message Function The Multicast Listener Done message is equivalent to the IGMPv2 Leave Group message and is used to inform the local routers that there might not be any more group members of a specific multicast address on the subnet. A local router verifies that there are no more group members on the subnet.