IPv6 Multicast
2nd South East Europe 6DISS Workshop Plovdiv, Bulgaria 27-29 June 2007 Athanassios Liakopoulos (aliako@[Link])
2nd SEE 6DISS Workshop (Plovdiv, June07)
Copy Rights
This slide set is the ownership of the 6DISS project via its partners The Powerpoint version of this material may be reused and modified only with written authorization Using part of this material must mention 6DISS courtesy PDF files are available from [Link] Looking for a contact ? Mail to : [Link]@[Link] Or helpdesk@[Link]
2nd SEE 6DISS Workshop (Plovdiv, June07)
Introduction
Multicast is inherent to the IPv6 protocol No broadcasts
Multicast used instead
But some parts need to be configured
for building the multicast trees for topology information (routing)
2nd SEE 6DISS Workshop (Plovdiv, June07)
Outline
Multicast Addressing Multicast Listener Discovery Protocol Independent Multicast Inter-domain Multicast Current IPv6 Multicast Deployment
2nd SEE 6DISS Workshop (Plovdiv, June07)
Generic Multicast Group Addresses (RFC 3513)
11111111 8 bits Flags 4 bits Scope 4 bits Group ID 112 bits
IPv6 multicast addresses are in the range of FF00::/8 Flag field:
000T values
T = 0, for permanent addresses defined by IANA T = 1, for transient addresses Scope field: Allows limiting the scope of the multicasting 0 - Reserved 4 - Admin-local 1 Node-local 5 - Site-local 2 Link-local 8 - Organization-local 3 Subnet-local E - Global (Internet)
2nd SEE 6DISS Workshop (Plovdiv, June07)
Generic Multicast Group Addresses Examples
IANA allocated addresses
[Link]
Flags = 0000 Scope Group ID = 101
NTP servers
[Link] : All NTP servers on the senders host [Link] : All NTP servers on the senders link [Link] : All NTP servers on the senders site [Link] : All NTP servers on the Internet
2nd SEE 6DISS Workshop (Plovdiv, June07)
IPv6 Multicast Address Assignments (RFC 2375)
Addresses available only for a given scope
FF02::1 FF02::2 FF05::1:3 FF02::D : : : : All All All All nodes of the link routers of the link DHCP servers of the site PIM routers of the link
Addresses available for all scopes
FF0X :: 101 : Network Time Protocol (NTP) FF0X :: 109 : MTP Multicast Transport Protocol
2nd SEE 6DISS Workshop (Plovdiv, June07)
Multicast Unicast Prefix-Based Addresses (RFC 3306)
11111111 Flags Scope
8 bits 4 bits 4 bits
Resrv
8 bits
Plen
8 bits
Prefix
64 bits
Group ID
32 bits
Addresses are in the range of FF30::/12 Flags = 00PT
P=0, for address not based on a unicast prefix P=1, for address based on the unicast prefix If P=1, then T=1 because address is not allocated by IANA
Resrv : researved, always 0000 Plen : prefix length Prefix : an unicast prefix
2nd SEE 6DISS Workshop (Plovdiv, June07)
Multicast Unicast Prefix-Based Addresses - Example
RENATER address prefix [Link]/32 IPv6 Unicast Prefix-Based Address [Link]
11111111
Flags
Scope
Resrv
Plen
Prefix
Group ID
2nd SEE 6DISS Workshop (Plovdiv, June07)
SSM Addresses (RFC 4607)
11111111
8 bits
3
4 bits
Scope
4 bits
Resrv
8 bits
0
8 bits
0
64 bits
Group ID
32 bits
SSM addresses are a subset of unicast prefix-based addresses SSM addresses are in the range of FF3x::/96 Flags = 00PT
T=1, for for transient addresses P=1, for address based on the unicast prefix
Plen : prefix length always 0 Prefix : always 0
2nd SEE 6DISS Workshop (Plovdiv, June07)
SSM Addresses - Example
SSM Address [Link]
11111111
Scope
Resrv
Group ID
2nd SEE 6DISS Workshop (Plovdiv, June07)
Multicast Embedded RP Addresses (RFC 3956)
11111111 Flags Scope Resvd RPadr Plen Prefix Group ID
8 bits
4 bits
4 bits 4 bits
4 bits
8 bits
64 bits
32 bits
Addresses are in the range of FF70::/12 Flags = 0RPT
R=1, for address that enbeds RP address R=0, for address that do not enbed RP address If R=1, then (P,T)=(1,1).
PRaddr : last four bits of RP address Plen : prefix length Prefix : a unicast prefix
2nd SEE 6DISS Workshop (Plovdiv, June07)
Multicast Embeded RP Address Example
GRNET address prefix [Link]/32 GRNET RP address [Link]/128 Embedded RP Address [Link]
11111111 Flags Scope Resvd RPadr Plen Prefix Group ID
8 bits
4 bits
4 bits 4 bits
4 bits
8 bits
64 bits
32 bits
2nd SEE 6DISS Workshop (Plovdiv, June07)
Solicited Multicast Addresses (RFC 4291)
Nodes build their own solicited multicast address using their unicast / anycast addresses Concatenate FF02::1:FF00:0/104 with the 24-low-order bits of a unicast / anycast address Solicited multicast address are used
by Neighbor Discovery Protocol for Duplicate Address Detection management
2nd SEE 6DISS Workshop (Plovdiv, June07)
Solicited Multicast Addresses Example
Concatenation of ff02::1:ffxx:xxxx with the last 24 bits of the IPv6 address IPv6 address: [Link]
Sol. Mcast address: FF02::1:FF24:87c1
Ethernet address: FF-FF-FF-24-87-c1
2nd SEE 6DISS Workshop (Plovdiv, June07)
Outline
Multicast Addressing Multicast Listener Discovery Protocol Independent Multicast Inter-domain Multicast Current IPv6 Multicast Deployment
2nd SEE 6DISS Workshop (Plovdiv, June07)
Multicast Listener Discovery
MLD is used among multicast-enabled routers and hosts to signal which groups (and sources) a host is interested in. MLDv1 (RFC 2710) supports only ASM, similar to IGMPv2. MLDv2 (RFC 3810) also supports SSM, similar to IGMPv3. MLD messages are sent in ICMPv6 packets
2nd SEE 6DISS Workshop (Plovdiv, June07)
MLDv1 messages
Multicast listener Query (130)
Identify whether a group has listeners on a link
Multicast Listener Report (131)
Response to a query
Multicast Listener Done (132)
Indicate that a host stopped listening to a multicast address
2nd SEE 6DISS Workshop (Plovdiv, June07)
MLDv1 : Join a group
ff1e::2:4444 ff1e::5d:8888 Host 3
ff1e::2:4444 Host 1
ff1e::2:4444 Host 2
Send Report for ff1e::2:4444
Send Report for ff1e::5d:8888
Periodically send Multicast Listener Query to ff02::1
2nd SEE 6DISS Workshop (Plovdiv, June07)
MLDv1 : Leave a group
ff1e::2:4444 ff1e::5d:8888 Host 3
ff1e::2:4444 Host 1
ff1e::2:4444 Host 2
Send Report for ff1e::2:4444 Send Multicast Listener Done for ff1e::2:4444 to ff02::2 Send Multicast Specific Query for ff1e::2:4444 Send Query for ff1e::5d:8888 Send Multicast Listener Done for ff1e::5d:8888 to ff02::2
2nd SEE 6DISS Workshop (Plovdiv, June07)
MLDv2 (RFC 3810)
Management of groups & sources
INCLUDE : to receive packets from sources specified in the MLDv2 message EXCLUDE : to receive packets from all sources except the ones specified in the MLDv2 message
2 types of messages
Multicast listener query messages Multicast listener report messages
Interoperable with MLDv1
2nd SEE 6DISS Workshop (Plovdiv, June07)
Outline
Multicast Addressing Multicast Listener Discovery Protocol Independent Multicast Inter-domain Multicast Current IPv6 Multicast Deployment
2nd SEE 6DISS Workshop (Plovdiv, June07)
Protocol Independent Multicast (PIM)
PIM is not a routing protocol
Relies on other routing protocols, such as MP-BGP
PIM allows to create multicast trees between senders and receivers In IPv6, only PIM-SM (sparse mode) is supported. No difference with PIM for IPv4
but PIM messages are sent with link-local IPv6 address
2nd SEE 6DISS Workshop (Plovdiv, June07)
PIM-SM Example
RP
(*,G,RP) Join (*,G) Join multicast tree state (*,G,RP) Join (*,G,RP) Join (*,G,RP) Join Join G Join G
R
(*,G,RP) Join
Join G
R
2nd SEE 6DISS Workshop (Plovdiv, June07)
Animation: Pinizzotto - Rossi
PIM-SM Example
RP
G S,G native multicast encapsulated multicast (into unicast) (*,G) Join multicast tree state
S, G
R R
G
R
2nd SEE 6DISS Workshop (Plovdiv, June07)
Animation: Pinizzotto - Rossi
Outline
Multicast Addressing Multicast Listener Discovery Protocol Independent Multicast Inter-domain Multicast
2nd SEE 6DISS Workshop (Plovdiv, June07)
Inter-domain Multicast
MSDP is not supported in IPv6 networks
In IPv4, each site has typically one or more RPs for all global groups. RPs in different domains use MSDP to learn of remote sources Not manageable / scalable solution
S register
RP
MSDP
RP
Domain A
2nd SEE 6DISS Workshop (Plovdiv, June07)
Domain B
Inter-domain Multicast
In IPv6, for a given global group there can be only one single RP on the Internet
Not scalable solution by itself.
Embedded-RP (RFC 3956) allows each domain to distribute multicast sessions using their own RPs Embedded-RP solution characteristics
Backbone networks do not need any RP configuration E-PRs should (ideally) be located near the sources Prerequisites support of E-RP in all PIM routers
How to solve ASM?
Application / Middleware ? Not there yet (work ongoing)
2nd SEE 6DISS Workshop (Plovdiv, June07)
Outline
Multicast Addressing Multicast Listener Discovery Protocol Independent Multicast Inter-domain Multicast Current IPv6 Multicast Deployment
2nd SEE 6DISS Workshop (Plovdiv, June07)
Current IPv6 Multicast Deployment
M6bone
An IPv6 Multicast test network with more than 30 networks & 60 sites connected Started in July 2001 in France
Aims to
offer IPv6 multicast connectivity, test and develop soft and equipments related to IPv6 multicast technologies, be active in IPv6 multicast standardization and provide deployment recommendations
2nd SEE 6DISS Workshop (Plovdiv, June07)
M6Bone
2nd SEE 6DISS Workshop (Plovdiv, June07)
M6Bone In Europe
2nd SEE 6DISS Workshop (Plovdiv, June07)
Current IPv6 Multicast Deployment
Many networks provide native IPv6 multicast services in their service prortfolio
Abilene, GANT, NORDUnet, SEEREN (?) etc. RENATER, UKERNA, GRNET, etc
Prominent router vendors already support IPv6 Multicast-enabled routers.
2nd SEE 6DISS Workshop (Plovdiv, June07)
Questions?
Thanks for your attention!
Contact
Athanassios Liakopoulos (aliako@[Link])
2nd SEE 6DISS Workshop (Plovdiv, June07)