Transcript Document
Multicast Listener Discovery Jeffrey Zhou SW2 ZyXEL Communications, Inc 04/06/2006 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 Source Router 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 Host D Host C Multicast: FF05::86CB:1153 Router 3 Router 2 Subnet 2 Router 1 Subnet 3 Multicast: FF02::21CB:6255 FF05::86CB:1153 Source Subnet 1 Multicast: FF02::21CB:6255 FF05::86CB:1153 Multicast: FF02::21CB:6255 FF05::86CB:1153 Host A Host B 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 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 packet structure IPv6 Header Next Header = 0 (Hop-by-hop Options) Hop-by-Hop Options Header IPv6 Router Alert Option Next Header = 58 (ICMPv6) MLD Message MLD message classification • Multicast Listener Query message • Multicast Listener Report message • Multicast Listener Done message 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 • Structure: Type Code Checksum Maximum Response Delay Unused Multicast Address = 130 =0 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 linklocal 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 message Ethernet II: Destination: 33:33:00:00:00:01 IP Header: Destination address: ff02::1 ICMP v6: Type: 130 Code: 0 Checksum: 0x9a2f (correct) Maximum response delay: 10000 Multicast Address: :: Router Multicast listener query MAC: 00:13:46:ec:87:d5 IP: fe80::213:46ff:feec:87d5 Host A Multicast Address: ff02::1:ffec:87d5 Host B Address 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-NeighborDiscovery_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 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 Report message • Structure: Type Code Checksum Maximum Response Delay Unused Multicast Address = 131 =0 =0 =0 Multicast Listener Report message Ethernet II: Destination: 33:33:ff:ec:87:d5 Source: 00:13:46:ec:87:d5 IP Header: Source Address : fe80::213:46ff:feec:87d5 Destination Address: ff02::1:ffec:87d5 ICMP v6: Type: 131 Multicast Address: ff02::1:ffec:87d5 Router Multicast listener report MAC: 00:13:46:ec:87:d5 IP: fe80::213:46ff:feec:87d5 Host A Multicast Address: ff02::1:ffec:87d5 Host B Address 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-NeighborDiscovery_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 bytes Internet 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 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. Multicast Listener Done message • Structure: Type Code Checksum Maximum Response Delay Unused Multicast Address = 132 =0 =0 =0 Multicast Listener Done message • Internet Control Message Protocol v6 Type: 132 (Multicast listener Done) Code: 0 Checksum: 0x25ca (correct) Maximum response delay: 0 Multicast Address: ff02::23b1:7480 Step 1: Router Multicast Listener Done MAC: 00:13:46:ec:87:d5 IP: fe80::213:46ff:feec:87d5 MAC: 00:90:27:66:c1:40 IP: fe80::213:46ff:fe66:c140 Multicast Address: Multicast Address: ff02::23b1:7480 Host A ff02::23b1:7480 ff02::1:ffec:87d5 ff02::1 Host B ff02::1:ff66:c140 ff02::1 Multicast Listener Done Message • 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: Router Multicast Listener Query MAC: 00:13:46:ec:87:d5 IP: fe80::213:46ff:feec:87d5 MAC: 00:90:27:66:c1:40 IP: fe80::213:46ff:fe66:c140 Multicast Address: Multicast Address: ff02::1:ffec:87d5 Host A ff02::23b1:7480 ff02::1 Host B ff02::1:ff66:c140 ff02::1 Multicast Listener Done Message • Step 3: Internet Control Message Protocol v6 Type: 131 (Multicast listener report) Code: 0 Checksum: 0xa0ca (correct) Maximum response delay: 0 Multicast Address: ff02::23b1:7480 Router Multicast Listener Report MAC: 00:13:46:ec:87:d5 IP: fe80::213:46ff:feec:87d5 MAC: 00:90:27:66:c1:40 IP: fe80::213:46ff:fe66:c140 Multicast Address: Multicast Address: ff02::1:ffec:87d5 Host A ff02::23b1:7480 ff02::1 Host B ff02::1:ff66:c140 ff02::1 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 03/10 Introduction to IPv6 03/16 IPv6 Addressing 03/23 03/27 IPv6 Header & Extensions ICMPv6 Lecturer Joe Zhao Milo Liu Joe Zhao Feng Zhou 03/30 Neighbor Discovery Protocol Billy Bian 04/06 Multicast Listener Discovery Jeffrey Zhou 04/11 Address Autoconfiguraton 04/13 IPv6 Routing Feng Zhou Milo Liu Date 04/20 04/27 Subject Lecturer IPv6 Migration Mechanisms Joe Zhao IPv6 Mobility Setting Up an IPv6 Test Lab Milo Liu Q&A