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