29
IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

Embed Size (px)

Citation preview

Page 1: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

IPv6 Multicast

6DEPLOY. IPv6 Deployment and Support

Page 2: 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)

Page 3: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

Agenda

Multicast addressingMLD & MLDv2PIM SM/SSMInterdomain multicast

Page 4: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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      

Page 5: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 6: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 7: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 8: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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)

Page 9: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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)

Page 10: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 11: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 12: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 13: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

Agenda

Multicast addressingMLD & MLDv2PIM SM/SSMInterdomain multicast

Page 14: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 15: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 16: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 17: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 18: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 19: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 20: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 21: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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)

Page 22: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

Agenda

Multicast addressingMLD & MLDv2PIM SM/SSMInterdomain multicast

Page 23: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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…)

Page 24: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 25: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

Agenda

Multicast addressingMLD & MLDv2PIM SM/SSMInterdomain multicast

Page 26: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 27: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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)

Page 28: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

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

Page 29: IPv6 Multicast 6DEPLOY. IPv6 Deployment and Support

IPv6 multicast

RP

RP

RP

RP