Multicast Listener Discovery
Jeffrey ZhouSW2ZyXEL Communications, Inc04/06/2006
Outline
• IPv6 multicast overview
• The purpose of IPv6 MLD protocol
• MLD packet structure
• MLD message classification
• Summary of MLD
• Q & A
IPv6 IPv6 mmulticast ulticast ooverviewverview
• 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 IPv6 mmulticast ulticast ooverviewverview
• 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
Source
Router
Router
Host Host ssupport for upport for mmulticastulticast
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 Router ssupport for upport for mmulticastulticast
• 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 protocolThe 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 MLD ppacket acket sstructuretructure
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 2711. 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.
MLD MLD ppacket acket sstructuretructure
IPv6 HeaderNext Header = 0 (Hop-by-hop Options)
MLD MessageHop-by-Hop Options HeaderIPv6 Router Alert OptionNext Header = 58 (ICMPv6)
MLD message MLD message classificationclassification
• Multicast Listener Query message
• Multicast Listener Report message
• Multicast Listener Done message
Multicast Listener Query Multicast Listener Query mmessageessage
• 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 Multicast Listener Query mmessageessage
TypeCode
ChecksumMaximum Response Delay
UnusedMulticast Address
= 0= 130
• Structure:
Multicast Listener Query Multicast Listener Query mmessageessage
• 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.
Multicast Listener Query Multicast Listener Query mmessageessage
Host A Host B
Router
Ethernet II: Destination: 33:33:00:00:00:01 IP Header: Destination address: ff02::1ICMP v6: Type: 130 Code: 0 Checksum: 0x9a2f (correct) Maximum response delay: 10000 Multicast Address: ::
Multicast listener query
MAC: 00:13:46:ec:87:d5
IP: fe80::213:46ff:feec:87d5
Multicast Address: ff02::1:ffec:87d5
Address derivationAddress derivation
MAC :
00:13:46:ec:87:d5
IPv6 address (Unicast)
fe80::213:46ff:feec:87d5
Solicited-Node Address (Multicast)ff02::1:ffec:87d5
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: 10000
Multicast Address: ::
Multicast Listener Report Multicast Listener Report mmessageessage
• FunctionThe 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 Report Multicast Listener Report mmessageessage
TypeCode
ChecksumMaximum Response Delay
UnusedMulticast Address
= 0= 131
= 0
= 0
• Structure:
Multicast Listener Report Multicast Listener Report mmessageessage
Host A Host B
Router
Ethernet II: Destination: 33:33:ff:ec:87:d5 Source: 00:13:46:ec:87:d5IP Header: Source Address : fe80::213:46ff:feec:87d5 Destination Address: ff02::1:ffec:87d5ICMP v6: Type: 131 Multicast Address: ff02::1:ffec:87d5
Multicast listener report
MAC: 00:13:46:ec:87:d5
IP: fe80::213:46ff:feec:87d5
Multicast Address: ff02::1:ffec:87d5
Address derivationAddress derivation
MAC :
00:13:46:ec:87:d5
IPv6 address (Unicast)
fe80::213:46ff:feec:87d5
Solicited-Node Address (Multicast) ff02::1:ffec:87d5
Multicast Ethernet Address 33:33:ff:ec:87:d5
Ethernet II, Src: 00:13:46:ec:87:d5, Dst: 33:33:ff:ec:87:d5
Destination: 33:33:ff:ec:87:d5 (IPv6-Neighbor-Discovery_ff:ec:87:d5)
Source: 00:13:46:ec:87:d5 (00:13:46:ec:87:d5) Type: IPv6 (0x86dd)Internet Protocol Version 6 Version: 6 Traffic class: 0x00 Flowlabel: 0x00000 Payload length: 32 Next header: IPv6 hop-by-hop option (0x00) Hop limit: 1 Source address: fe80::213:46ff:feec:87d5 Destination address: ff02::1:ffec:87d5
Hop-by-hop Option Header Next header: ICMPv6 (0x3a) Length: 0 (8 bytes) Router alert: MLD (4 bytes) PadN: 2 bytesInternet Control Message Protocol v6 Type: 131 (Multicast listener report) Code: 0 Checksum: 0xa0ca (correct) Maximum response delay: 0 Multicast Address: ff02::1:ffec:87d5
Multicast Listener Done Multicast Listener Done mmessageessage
• FunctionThe 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.
Multicast Listener Done Multicast Listener Done mmessageessage
TypeCode
ChecksumMaximum Response Delay
UnusedMulticast Address
= 0= 132
= 0
= 0
• Structure:
Multicast Listener Done Multicast Listener Done mmessageessage
• Step 1:
Host AHost B
Router
Multicast Listener Done
MAC: 00:13:46:ec:87:d5IP: fe80::213:46ff:feec:87d5
Multicast Address:
ff02::23b1:7480
ff02::1:ffec:87d5
ff02::1
MAC: 00:90:27:66:c1:40IP: fe80::213:46ff:fe66:c140
Multicast Address:
ff02::23b1:7480
ff02::1:ff66:c140
ff02::1
Internet Control Message Protocol v6 Type: 132 (Multicast listener Done) Code: 0 Checksum: 0x25ca (correct) Maximum response delay: 0 Multicast Address: ff02::23b1:7480
Multicast Listener Done MessageMulticast Listener Done Message
Host AHost B
Router
Multicast Listener Query
MAC: 00:13:46:ec:87:d5IP: fe80::213:46ff:feec:87d5
Multicast Address:
ff02::1:ffec:87d5
ff02::1
MAC: 00:90:27:66:c1:40IP: fe80::213:46ff:fe66:c140
Multicast Address:
ff02::23b1:7480
ff02::1:ff66:c140
ff02::1
Internet Control Message Protocol v6 Type: 130 (Multicast listener query) Code: 0 Checksum: 0x9a2f (correct) Maximum response delay: 10000 Multicast Address: ff02::23b1:7480
• Step 2:
Multicast Listener Done MessageMulticast Listener Done Message
• Step 3:
Host AHost B
Router
Multicast Listener Report
MAC: 00:13:46:ec:87:d5IP: fe80::213:46ff:feec:87d5
Multicast Address:
ff02::1:ffec:87d5
ff02::1
MAC: 00:90:27:66:c1:40IP: fe80::213:46ff:fe66:c140
Multicast Address:
ff02::23b1:7480
ff02::1:ff66:c140
ff02::1
Internet Control Message Protocol v6 Type: 131 (Multicast listener report) Code: 0 Checksum: 0xa0ca (correct) Maximum response delay: 0 Multicast Address: ff02::23b1:7480
Summary of MLD Summary of MLD
IGMPv2 Message MLD Equivalent Host Membership Query Multicast Listener Query
Host Membership Report Multicast Listener Report
Leave Group Multicast Listener Done
Date Subject Lecturer
Introduction to IPv6
IPv6 Addressing
IPv6 Header & Extensions
Neighbor Discovery Protocol
Multicast Listener Discovery
IPv6 Routing
ICMPv6
Address Autoconfiguraton
Joe Zhao
Milo Liu
Joe Zhao
Feng Zhou
Billy Bian
Jeffrey Zhou
Feng Zhou
Milo Liu
03/10
03/16
03/23
03/27
03/30
04/06
04/11
04/13
Date Subject Lecturer
Setting Up an IPv6 Test Lab
IPv6 Migration Mechanisms
IPv6 Mobility
Joe Zhao
Milo Liu
04/20
04/27
Q & AQ & A