ipv6 multicast 6deploy. ipv6 deployment and support
TRANSCRIPT
IPv6 Multicast
6DEPLOY. IPv6 Deployment and Support
IntroMulticast is inherent to the IPv6 protocolNo broadcasts
• Multicast used instead
But some parts need to be configured• for building the multicast trees• for topology information (routing)
Agenda
Multicast addressingMLD & MLDv2PIM SM/SSMInterdomain multicast
Multicast addressing (1)Multicast addresses format: (RFC 3513)
• 8 high order bits set to 1 Addresses derived from FF00::/8 prefix
• flag field(4 bits) : 0RPT values T = 0 for permanent addresses (Defined by IANA) T = 1 for transient addresses Bits P and R discussed later
• scope field Makes it possible to limit 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)
8 bits 4 bits 4 bits 112 bits
1111 1111 flags scope group ID
F F
Multicast addressing (2)
Scopes must be configured on routers!Examples of IANA allocated addresses
• Flag bits T=P=R=0 Flag = 0
• Group ID 101 NTP servers FF01:0:0:0:0:0:0:101 : All the NTP servers on the sender’s
host FF02:0:0:0:0:0:0:101 : All the NTP servers on the sender’s
link FF05:0:0:0:0:0:0:101 : All the NTP servers on the sender’s
site FF0E:0:0:0:0:0:0:101 : All the NTP servers on the Internet
Address Scope Meaning
FF01::1 Node-Local All Nodes
FF01::2 Node-Local All Routers
FF02::1 Link-Local All Nodes
FF02::2 Link-Local All Routers
FF02::5 Link-Local OSPFv3 Routers
FF02::6 Link-Local OSPFv3 DR Routers
FF02::1:FFXX:XXXX
Link-Local Solicited-Node
Well Known Multicast Addresses
“02” means that this is a permanent address (t = 0) and has link scope (2)
http://www.iana.org/assignments/ipv6-multicast-addresses
RFC 2375
Multicast Mapping over Ethernet (RFC 2464)
FF02:0000:0000:0000:0000:0001:FF17:FC0FIPv6 Multicast Address
Corresponding Ethernet Address
IPv6 Ethernet FrameMulticast Prefix
33 33 17 FC 0FFF
Low order 32 bits
Requires 8th bit of MAC address to be set to 1For IPv6 : @MAC = 33-33-xx-yy-zz-kk
• xx-yy-zz-kk are 32 lower bits of the IPv6 addressExample:
• IPv6@ = FF3E:40:2001:660:3007:123:1234:5678• MAC@ = 33-33-12-34-56-78
32 bits
24 bits
Solicited Node Multicast Address Example
64 Bits Interface ID64 Bits Network ID
0000 3A8B1800010000 FF00000000FF02
0200 8B180CFF000000000000FE80 FE3A Link-Local
Solicited Node Multicast
3333 188B3AFF Ethernet MulticastMulticast address built from unicast addressConcatenation of
• FF02::1:FF00:0/104• 24 low order bits of the unicast address
Nodes build their own IPv6 solicited node multicast addressNodes that know the IPv6 address of a host but not its MAC address can use the
solicited node multicast address• NDP protocol (Neighbor Discovery Protocol)• Protocol for DAD management
Avoids sending MAC broadcasts (FF-FF-FF-FF-FF-FF)
cat6500-1>sh ipv6 int vlan 200Vlan200 is up, line protocol is up IPv6 is enabled, link-local address is FE80::2D0:D3FF:FE81:9000 Description: --- To cat6500-2 --- Global unicast address(es): 2001:DB8:12::1, subnet is 2001:DB8:12::/64 Joined group address(es): FF02::1 FF02::2 FF02::5 FF02::D FF02::16 FF02::1:FF00:1 FF02::1:FF81:9000
All nodes
All routers
OSPF Routers
All PIM Routers
Global
Link-Local
IPv6 Addresses – Unicast and Multicast Examples
All MLDv2 capable Routers
Solicited node multicast (for link-local)
Solicited node multicast (for global)
Multicast addresses derived from unicast prefixes
Described in RFC 3306Flag : 0RPT
• Flags : 0RPT P=0 Address not based on the unicast prefix P=1 Address based on the unicast prefix If P=1 T=1 FF30::/12 prefix
– (T=1 because not allocated by IANA)
• Reserved : 0• Example: prefix 2001:660::/32 (RENATER)
address FF3E:20:2001:660:0:0:1234:abcd
11111111 flags scope reserved Prefix Length
Network prefix Group ID
8 bits 4 4 8 bits 8 64 bits 32 bits
SSM addressesAre also RFC3306 addressesSSM addresses range: FF3X::/32Only addresses in FF3X::/96 should be used
now. These are RFC3306 addresses with:• P = 1• Plen = 0• Prefix = 0
Example:• FF3x::1234:abcd /96• 1234:abcd being the Group ID
Multicast addresses allocation
« Manual » choice of multicast address and port Dynamic• Session Announcement Protocol, (SAP), ID
SDR implements SAP (not scalable for a global scope)
• MADCAP, RFC 2730 Multicast Address Dynamic Client Allocation Protocol (too much
complex, very few implementations and no deployment)
• GLOP, RFC 2770 Useless as we have RFC 3306
Multicast addresses derived from unicast prefixes (RFC 3306)• Any host can derive a multicast address from the network
prefix where it is connected• Makes allocation easier• How to assign addresses to end user remains a problem
Agenda
Multicast addressingMLD & MLDv2PIM SM/SSMInterdomain multicast
Multicast Listener Discovery
• MLD manages multicast interaction• Between listeners and their routers (Joins,
Leaves)
• MLD is equivalent to IGMP in IPv4• MLD is a sub-protocol of ICMPv6• Switches have MLD snooping
• MLDv1 (RFC 2710)• MLD <-> IGMPv2 <-> ASM only
• MLDv2 (RFC 3810)• MLDv2 <-> IGMPv3 <-> SSM + AS
Host Multicast Control via MLD messages
Router
Switch
Receivers
MLD snooping
MLD VersionsThere are two versions of MLD that map to IGMP versions
• MLDv1 allows joining to a particular group (any available source) (*, G)
• MLDv2 allows joining to a particular group and a specific source (S, G)
• MLDv2 backwards compatible with MLDv1 (supports 131 and 132 message types)
MLD IGMPMessage
TypeICMPv6
TypeFunction
MLDv1
(RFC2710)
IGMPv2 (RFC 2236) Listener
Query
Listener
Report
Listener Done
130
131
132
Used to find out if there are any multicast
listeners
Response to a query, joins a group
Sent by node to report it has stopped
listening
MLDv2 (RFC
3810)
IGMPv3 (RFC 3376) Listener
Query
Listener
Report
130
143
Used to find out if there are any multicast
listeners
Enhanced reporting, multiple groups and
sources
MLD Packet
MLD messageMessage type: ICMPv6IPv6 Header
next header = 0 (Hop-by-hop)
Hop-by-hop extension
Option = Router alert Next header = 58 (ICMPv6)
• MLD is a sub-protocol of ICMPv6• MLD uses link local source addresses• Uses “Router Alert” in extension header (RFC2711)
• Forces routers to look at message
MLDv1 Message
• Type : Messages types– General Query and Multicast-Address-Specific Query (130)– Multicast Listener Report (131)– Multicast Listener Done (132)
• Code : Set to 0 by sender and ignored then• Checksum : for the complete packet (headers+MLD
message)• Maximum Response Delay : For query messages, time by
which hosts must respond• Reserved : Not used: set to 0 and ignored then• Multicast Address: IPv6 multicast address or 0 according to
message type
MLDv1 Example Joining a Group (REPORT)
Hosts send MLD report to alert router they wish to join a multicast group
Router then joins the tree to the source or RP
MLD Report (A)
ICMP Type 131
IPv6 Source fe80::209:5bff:fe08:a674
IPv6 Destination
ff38::276
Hop Limit 1
Hop-by-Hop Header
Router Alert Yes
MLD Report
1A
MLD Report
2 B
I wish to receiveff38::276
I wish to receiveff38::276
MLD Report (B)
ICMP Type 131
IPv6 Source fe80::250:8bff:fE55:78de
IPv6 Destination
ff38::276
Hop Limit 1
Hop-by-Hop Header
Router Alert Yes
(S, G
) 3
Source for multicastff38::276
fe80::209:5bff:fe08:a674 fe80::250:8bff:fE55:78de
fe80::207:85ff:fe80:692
MLDv1 Example Leaving a Group (Query)
MLD Done (A)
ICMP Type 132
IPv6 Source fe80::209:5bff:fe08:a674
IPv6 Destination
ff02::2 (All routers)
Hop Limit 1
Group Address ff38::276
Hop-by-Hop Header
Router Alert Yes
MLD Done (A)
1A
fe80::209:5bff:fe08:a674MLD Report (B)
3 B
fe80::250:8bff:fE55:78de
I wish to leaveff38::276
I am watchingff38::276
MLD Query (C)
ICMP Type 130
IPv6 Source fe80::207:85ff:fe80:692
IPv6 Destination
ff38::276
Hop Limit 1
Hop-by-Hop Header
Router Alert Yes
Qu
ery
(C)
2
fe80::207:85ff:fe80:692
C
MLD Report (B)
ICMP Type 131
IPv6 Source fe80::250:8bff:fE55:78de
IPv6 Destination
ff38::276
Hop Limit 1
Hop-by-Hop Header
Router Alert Yes
MLDv2 (RFC 3810)Management of group & 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
Further MLD InformationLeave/DONE
• Last host leaves - Sends DONE (Type 132)• Router will respond with Group-Specific Query (Type 130)• Router will use the Last member query response interval
(Default=1 sec) for each query• Query is sent twice and if no reports occur then entry is
removed (2 seconds)
General Query (Type 130)• Sent to learn of listeners on the attached link• Sets the Multicast Address Field to zero• Sent every 125 seconds (configurable)
Agenda
Multicast addressingMLD & MLDv2PIM SM/SSMInterdomain multicast
PIM SM/SSMProtocol Independant MulticastNo basic difference with PIM for IPv4
• Except PIM messages are sent with link-local IPv6 address
• Except Embedded RP
Creates multicast trees between senders and receivers (distribution trees)
Not a routing protocolRelies on other routing protocols (MBGP,
static…)
Embedded-RP (RFC 3956)Provides a static RP to multicast group mapping
Flag : 0RPT• R=1 Embedded-RP address• If R=1 P=1 T=1• FF7x::/16 addresses
Res : 0Rpid : last 4 bits of the RP address (15 RPs per scope
per prefix)E.g. RP address 2001:660:3001:104::8
Multicast Group FF7E:0840:2001:660:3001:104:1234:abcd
11111111 flag scop res Prefix Length
Network prefix Group ID
8 bits 4 4 4 4 8 64 bits 32 bits
rpid
2^32 groups per RP
Agenda
Multicast addressingMLD & MLDv2PIM SM/SSMInterdomain multicast
Interdomain multicast (1)No problem for SSM. Source specific trees
created from senders to receivers accross domains
ASM problem: was solved in the IPv4 world with MSDP (Multicast Source Discovery Protocol)
ISP A ISP B
MSDPRP
RP
Interdomain multicast (2)
No one wants MSDP for IPv6, not manageable/scalable
SSM IETF lobby• Some SSM applications already available
Embedded-RP – RFC 3956• For each group, everyone uses the same RP• Embedded is a solution for group-to-RP mapping• Requires support in all PIM routers (that are part of the
tree)
IPv4 and IPv6 Multicast Comparison
Service IPv4 Solution IPv6 Solution
Addressing Range 32-bit, Class D 128-bit (112-bit Group)
Routing Protocol Independent, All IGPs and MBGP
Protocol Independent, All IGPs and MBGP with v6
mcast SAFI
ForwardingPIM-DM, PIM-SM,
PIM-SSM, PIM-bidir, PIM-BSR
PIM-SM, PIM-SSM, PIM-bidir, PIM-BSR
Group Management IGMPv1, v2, v3 MLDv1, v2
Domain Control Boundary, Border Scope Identifier
Interdomain SolutionsMSDP across
Independent PIM Domains
Single RP within Globally Shared Domains
RP Learning Static RP, BSR, Auto-RP Static RP, BSR, Auto-RP, Embedded RP
IPv6 multicast
RP
RP
RP
RP