IPv6 operator training program

IPv6 Hands-on seminar
IPv6 Multicast＜Session Text＞＞

Alcatel-Lucent
Yasuo Kashimura
1
1© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

Today’s Target• Understanding protocol/feature’s behavior used in
IPv6 Multicast（PIM/MLD/MLD-snooping）.
– Protocol sequence on router/switch.

• Configuring IPv6 multicast on router/switch, andconfirm the behavior.
– In multi-vendor environment (Alaxala/Alcatel/Cisco)© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

2

IPv6 operator training program

Agenda (Part1: Session)• IPv6 Basics: header format/addressing• What is multicast ?
• MLDv1/v2• Multicast Forwarding and PIM
PIM-SM (ASM: Any Source Multicast)
PIM-SSM (SSM: Source Specific Multicast)• MLD Snooping• Failure case study© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

3

IPv6 operator training program

Agenda (Part2: Hands-on)
1. Hands-on environment
2. Configuring IPv6 multicast
and checking status– Enable IPv6 multicast routing– Enable MLD– Enable PIM– Configuring RP for PIM-ASM– Configuring PIM-SSM– Configuring MLD Snooping

3. Check the behavior– sending stream– PIM-ASM behavior– PIM-SSM behavior– MLD-Snooping behavior– PIM Route Failover

4. Advanced course– PIM DR behavior– Static MLD join
– SSM mapping

5. Summary© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

4

IPv6 operator training program

IPv6 Basics© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

5

IPv6 operator training program

IPv6 Header Format
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
VersionTraffic Class

Flow Label

Payload Length

Next Header

Hop Limit

Source Address

Destination Address# header length is fixed in IPv6

Newly defined field in IPv6
Field name is changed in IPv6

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

6

IPv6 operator training program

IPv6 Address notation◆IPv4 address notation#please refer also “draft-kawamura-ipv6-text-representation”

Binary digit notation(32bits)

11000000 10101000 00000000 00000001- For every 8bits, display in decimal number and separate with “.”
192.168.0.1◆IPv6 address notation
Binary digit notation(128bits)

0010000000000001 0000110110111000 1011111011101111 1100101011111110
0000000000000000 0000000000000000 0000000000000000 0001001000110100- For every 16bits, display in Hex number and separate with “:”
2001:0db8:beef:cafe:0000:0000:0000:1234- Leading zero in 16bits field can be abbreviated.
2001:db8:beef:cafe:0:0:0:1234- Compress the zeros with “::”
2001:db8:beef:cafe::1234© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

7

IPv6 operator training program

IPv6 Address◆IPv6 Address Architecture
Global Routing Prefix

Subnet ID

Interface ID

Network Identification

Node Identification

64 bits

64 bits
128 bits●Prefix
Upper 64 bits with Global Routing Prefix + Subnet ID◆IPv6 Address categories●Unicast Address
one to one communication
the Address for each network interface
Global Address, Link-local Address, Unique Local Address●Multicast Addressone(or Many) to Many communication
receiving hosts are identified by Group Address
Also used as alternative way of IPv4’s broadcast as well●Anycast Address
one to one of many communication
can be configured on multiple interfaces/nodes. Assigned for “feature”.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

8

IPv6 operator training program

Unicast Address Format◆Global Unicast Address
001

Global Routing Prefix

Subnet ID

Interface ID(3bits)

48bits16bits64bits- Global address (ex) 2001:db8::1◆Link-local Unicast Address
1111111010

0Interface ID

10bits54bits64bitsUnique within one Link (fe80::/10)
It is used for the communication within the link.

◆Unique Local Unicast Address(ULA)1111110 L

8bits

Global ID

40bitsL bit:0 future use[RFC4193]

Subnet ID

Interface ID

16bits
1 Locally assigned pseudo-random Global ID

64bits© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

9

IPv6 operator training program

Multicast Address Format◆Multicast Address
11111111

Flag
0RPT

scope

Group ID

8bits

4bits

4bits

112bits

Flag
T Flag0:permanently-assigned ("well-known") multicast address, assigned by IANA
1:non-permanently-assigned multicast address

P Flag

1：Unicast-Prefix-based multicast address(RFC3306) #when P=1, T must be 1

R Flag1：multicast address that RP address is embedded (RFC3956) #when R=1, P/T must be 1

Scope: limit the scope of the multicast group0000(0)reserved

0101(5)site-local scope0001(1)interface-local scope

1000(8)organizational-local scope0010(2)link-local scope1110(E)

global scope

0100(4)admin-local scope1111(F)

reserved◆ex)：：
PIM-SM(ASM) multicast address FF15::1234
PIM-SSM multicast address
FF38::abcd© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

10

IPv6 operator training program

Multicast Address Format◆permanently-assigned multicast address: mainly used for control packets
FF02:0:0:0:0:0:0:1

Link local All IPv6 Nodes

FF02:0:0:0:0:0:0:2

Link local All IPv6 routers

FF02:0:0:0:0:0:0:C

Link local DHCP server/relay agent

FF02:0:0:0:0:1:FFxx:xxxx

Solicited node multicast address(xx:xxxx represents lower
24bits of node’s unicast/anycast address. ）◆RFC3306 Unicast-Prefix-based multicast address
If the user has global unicast IPv6 prefix, the user can have globally unique multicast
prefix that global unicast prefix is embedded in multicast prefix.

0

RPT

=
=
=

11111111

Scope

Reserve

Plefix Len

Network Prefix

Group ID

4bits

8bits

8bits

64bits32bits

011
8bits

4bits

◆ex):

FF3E:0040:2001:0123:c001:1100:0000:abcd
Plen=64

Unicast prefixgroupID

When the User has Unicast Prefix = 2001:0123:c001:1100::/64.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

11

IPv6 operator training program

Multicast MAC Address for IPv6
128 Bits

FF3E:0040:2001:0123:c001:1100:0000:abcd

33-33-00-00-ab-cd
16 Bits

32 Bits
48 Bits

FF3E:0040:2001:0123:c001:1100:0000:abcd andFF18:0040:2001:0234:1002:0010:0000:abcd
will have same multicast MAC address(L2-dest-address).
L2-switch may not be able to differentiate those IPv6 multicast address.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

12

IPv6 operator training program

What is Multicast ?

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

13

IPv6 operator training program

Difference between Unicast and Multicast◆Unicast: one to one communication
Send to B

BAC
Src IP = A
Dst IP = B◆Multicast: one(or Many) to Many that joined to the group
Send to whoever wantGroup1 information

I want G1 !
Join
I want G1 !

AJoin
I want G1 !
Src IP = A
Dst IP = Group1(Multicast)Join© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

14

IPv6 operator training program

Merit of Multicast◆Reduce the server load while sending same contents to many receivers◆Effective use of network bandwidth
6Mbps x 1000 receivers=> 6Gbps Total

・・・
・・・

・・
・・・・

Server just sends 1 x
6Mbps Multicast stream=> Less server load

The stream is replicated on
network if needed.
=>Effective use of bandwidth

・・・
・・・

・・
・・・・

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

15

IPv6 operator training program

Multicast applicability◆Residential Broadband
IP/TV, Live Streaming
Gaming, Contents download◆Enterprise network
E-Learning, broadcasting
Application delivery
Multipoint conference
Sensor network in Factory◆Financial
Hoot and Holler
Financial systems(Stock exchange, etc)
◆Public
Video Surveillance for river, highway
information broadcasting(voice, disaster information)
information distribution in local town
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

16

IPv6 operator training program

IPv6 multicast service example◆IPv6 multicast broadcasting system(i-InproV6)●Remote class in preparatory schools
Cost is 1/10 to compare with satellite broadcasting

Remote Class- Initial cost: $several million => about $200k- running cost: $100k/month => $10k/month

Popular teacher’s class is broadcasted to all areas.
same quality in all areas, more per class profit
http://becare.co.jp/service/case01.html◆Emergency Earthquake information
distribution service(OCN)●Emergency Earthquake information/Alert from
Meteorological biz support center is distributed tousers with urgency/realtime/efficiency.

Receiver Application

http://www.ntt.com/jishinsokuho/index.html◆contents distribution for kiosk hosts atconvenience stores. (FamilyMart)●6,000 stores are dual-stack-ed●change from satellite to broadband with multicast●Distributing large volumes of data by multicast
like New product Add/manual for employee

Kiosk Host(Fami-port)© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

17

IPv6 operator training program

Multicast Protocols
sourceReceiver

PIM

PIM

MLD

MLD: for Signaling between Receiver and Router
PIM: for Signaling between Routers to build multicast
distribution tree
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

18

IPv6 operator training program

Terminologies• Source/Sender

LHR– The host/server sending multicast traffic• Receiver/Listener

FHR– The host that receives multicast traffic• Upstream

Source– The direction traffic comes in

LHR• Downstream– The direction traffic goes out

LHR• RP （Rendezvous Point）

Receiver– In PIM-SM, The router that “rendezvous” source and receiver info

• First Hop Router (FHR)– The router that source is connected• Last Hop Router (LHR)– The router that receiver is connected• (*,G)– *:any source, G:group address• (S,G)– S:source address of multicast traffic, G:group address© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

19

IPv6 operator training program

Terminologies• Multicast Group Address– Destination address for multicast traffic• Multicast Group– The group consist of sender and receiver• MDT (Multicast Distribution Tree）– The tree used to distribute multicast traffic on the routers– Shortest Path Tree(Source Tree), Shared Tree(RP tree)• Join– Joining to the multicast group to receive the traffic• Leave(MLD)/Prune(PIM)– Leave from the multicast group to stop receiving the traffic• ASM (Any Source Multicast)– Multicast service that only specifies group address(does not specify
source address)• SSM (Source Specific Multicast)– Multicast service that specifies group and source address© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

20

IPv6 operator training program

MLD(Multicast Listener Discovery)v1/ v2© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

21

IPv6 operator training program

MLDv1(RFC2710)
 Used for signaling between Multicast Listener(Receiver) andFirst Hop Router to inform/confirm the existence of multicast
listener.
 Receiver sends “Report” to the router when join to the group.
 Receiver sends “Done” to the router when leave from thegroup.
 Router periodically sends MLD General Query to receiverside, and confirm the existence of listener.
 When the listener leave from the group, router sends
Multicast Address Specific Query to confirm no any otherlistener is there.
 MLD is subset of ICMPv6 protocol© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

22

IPv6 operator training program

MLDv1 Packet Format
01
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Type
Type

Code
Code

Checksum
ChecksumMax
Max Response
Response Delay
Delay

Reserved
Reserved

MulticastMulticast Address
Address

Type Field:
130 : Multicast Listener Query- General Query- Multicast-Address-Specific Query
131 : Multicast Listener Report
132 : Multicast Listener Done

Multicast Address Field:- Report : Target Multicast Address- General Query : zero
- Multicast-Address-Specific Query:Target Multicast Address© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

23

IPv6 operator training program

Destination address, MLDv1 timers/variable
Message Types

IPv6 destination Address

General Querylink-scope all-nodes (FF02::1)

Multicast-Address-Specific Query

Target multicast address

ReportTarget multicast addressDonelink-scope all-routers (FF02::2)

Default Timer/Variable
Query Interval

125 Sec

Maximum Response Delay

10000mSec

Multicast Listener Interval(expire timer on router side)[Query Interval] * 2 + 10Sec = 260 Sec

Other querier Present interval[Query Interval] * 2 + 5Sec = 255 Sec

Unsolicited Report Interval

10Sec

Last Listener Query Count(Robustness Variable)

2

Last Listener Query Interval

1Sec© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

24

IPv6 operator training program

MLDv1 Joining to the group

IPv6 Src=Host’s Link-Local
IPv6 Dst=FF18::1:1
ICMPv6/MLD Report
Multicast-Address=FF18::1:1• Receiver sends MLD Report to Router for joining to
the group.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

MLD Querier election
MLD
Non-Querier

MLD
Querier
FE80::10

FE80::20

IPv6 Src=Router’s Link-Local
IPv6 Dst=FF02::1
ICMPv6/MLD Query• When MLD routers become online, all routers start sending Query.
• If the router receives the query from other router that has more smaller
source address, the router stop sending query(become non-querier).
• The router that has the most smallest IPv6 address become MLD querier.

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

MLDv1 Leave from the Group
MLD
Non-Querier

MLD
Querier
2

IPv6 Src=Host’s Link-Local
IPv6 Dst=FF18::1:1
ICMPv6/MLD Query
Multicast-Address=FF18::1:1

3

1

22

11

1. Host1 sends MLD-done to “all-routers”.

IPv6 Src=Host’s Link-Local
IPv6 Dst=FF02::2
ICMPv6/MLD Done
Multicast-Address=FF18::1:1

2. MLD Querier sends Multicsat-Address-SpecificQuery to target Group Address.
3. If Host2 still joining to the group, Host2 must send
MLD report within ”Last Listener Query Interval”.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

MLDv1 Leave from the Group
MLD
Non-Querier

MLD
Querier
2

IPv6 Src=Host’s Link-Local
IPv6 Dst=FF18::1:1
ICMPv6/MLD Query
Multicast-Address=FF18::1:1

1

22

11

1. Host2 sends MLD-done to “all-routers”
2. MLD Querier sends Multicsat-Address-Specific-Query totarget Group Address. (send 2*queries with Timeout=1sec)
3. After timeout, routers delete MLD entry.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

MLDv2(RFC3810)
MLDv2 enables host join/leave to Source andGroup(for PIM-SSM)
Adding Include/Exclude Source-List
It has backward compatibility with MLDv1.
All MLDv2 packets use same destination IPv6
address “FF02::16” in all types of messages.

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

29

IPv6 operator training program

MLDv2 Report Packet Format

01
2
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Type=143
Type=143

Reserved
Reserved

Reserved
Reserved

Checksum
Checksum#ofMcast#ofMcast Address
Address Records[M]Records[M]MulticastMulticast Address
Address Records
Records [1][1]Multicast Address Records [2]

....
....

MulticastMulticast Address
Address Records
Records [M][M]© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

30

IPv6 operator training program

MLDv2 Multicast Address Record Format
Record TypeAux Data Len

Number of Sources (N)Multicast Address
Source Address [1]・・・
Source Address [N]Record Type:
1. MODE_IS_INCLUDE - IS_IN ({S},G)
2. MODE_IS_EXCLUDE - IS_EX ({S},G)
3. CHANGE_TO_INCLUDE_MODE - TO_IN ({S},G)
4. CHANGE_TO_EXCLUDE_MODE - TO_EX ({S},G)
5. ALLOW_NEW_SOURCES - ALLOW ({S},G) [join (S,G)]
6. BLOCK_OLD_SOURCES - BLOCK ({S},G) [Leave (S,G)]© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

31

IPv6 operator training program

MLDv2 Join to (*,G)/(S,G)

Join to(*,G)

IPv6 Src=Host’s Link-Local
IPv6 Dst=FF02::16
ICMPv6/MLDv2 Report
Record Type=CHANGE_TO_EXCLUDE
Multicast-Address=FF18::1:1
Source-Address=

Join to(S,G)

IPv6 Src=Host’s Link-Local
IPv6 Dst=FF02::16
ICMPv6/MLDv2 Report
Record Type=ALLOW_NEW_SOURCES
Multicast-Address=FF38::1:1
Source-Address=2001:10::1© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

MLDv2 Leave from (*,G)/(S,G)

Leave from(*,G)

IPv6 Src=Host’s Link-Local
IPv6 Dst=FF02::16
ICMPv6/MLDv2 Report
Record Type=CHANGE_TO_INCLUDE
Multicast-Address=FF18::1:1
Source-Address=

Leave from(S,G)

IPv6 Src=Host’s Link-Local
IPv6 Dst=FF02::16
ICMPv6/MLDv2 Report
Record Type=BLOCK_OLD_SOURCES
Multicast-Address=FF38::1:1
Source-Address=2001:10::1© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

MLDv2 Reply to the Query
MLDv2 query

Joining to(*,G)

IPv6 Src=Host’s Link-Local
IPv6 Dst=FF02::16
ICMPv6/MLDv2 Report
Record Type=MODE_IS_EXCLUDE
Multicast-Address=FF18::1:1
Source-Address=

Joining to(S,G)

IPv6 Src=Host’s Link-Local
IPv6 Dst=FF02::16
ICMPv6/MLDv2 Report
Record Type=MODE_IS_INCLIDE
Multicast-Address=FF38::1:1
Source-Address=2001:10::1© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

Multicast Forwarding and PIM(Protocol Independent Multicast)© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

35

IPv6 operator training program

Multicast Distribution Tree(MDT)
Multicast Traffic is forwarded over the distribution treethat is built by PIM, from Upstream to Downstream.
•

Shortest Path Tree/Source Tree/(S,G) Tree
–
–
–

•

The top of Shortest Path Tree is Source(S,G) based forwarding
shortest path from Receiver to Source

Shared Tree / RP Tree / (*,G) Tree–––

The top of Shared Tree is RP(*,G) based forwarding
shortest path from Receiver to RP© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

Reverse Path Forwarding (RPF)• RPF interface(Incoming interface)
Each router selects the interface as upstream
interface for Source/RP. Selection of the upstream
interface is based on Unicast Routing information or
routing information only for Multicast like BGP-mcastaddr-family/static-mroute.

• Outgoing interface(List)
Downstream interface that received Join.OIF/OIL• RPF Neighbor
Next hop router(address) on RPF interface(upstreamside) towards source/RP. Each (*,G)/(S,G) entry will
select each RPF neighbor. PIM Join/Prune must be sentout to RPF Neighbor.

• RPF Check
If the multicast packet for (*,G)/(S,G) is received on
RPF interface, that packet is forwarded to OIFs.
If the multicast packet is received on non-RPF
interface, that packet is discarded.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

37

IPv6 operator training program

RPF Check

Multicast
PacketRPF Check Pass=>Forward

E0

×

E1

RPF Check Fail=>DropE2(2001:10::10, FF38::1:1)
RPF interface = E0
RPF Neighbor = FE80::2
Outgoing Interface = E1

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

38

IPv6 operator training program

PIM Header Packet Format
IPv6 Source Addr
IPv6 Destination Addr
IPv6 NextHeader= Router Link-Local address= depends of message type= 103(0x67)

012
3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

Ver=2

Type

Reserved

Checksum

Message Types

IPv6 destination Address

0 = Hello

ALL-PIM-ROUTERS(FF02::D)

1 = Register

RP Address

2 = Register-StopFirst Hop Router(source of register)

3 = Join/Prune

ALL-PIM-ROUTERS(FF02::D)

4 = Bootstrap

ALL-PIM-ROUTERS(FF02::D)

5 = Assert

ALL-PIM-ROUTERS(FF02::D)

8 = Candidate-RP-Advertisement

BSR address© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

39

IPv6 operator training program

PIM Hello/PIM Neighbor
PIM Routers periodically send PIM hello packet on
the link, and each Router recognize other routers as
PIM Neighbor.
If RPF neighbor is recognized as PIM Neighbor,router can send PIM Join/Prune to RPF neighbor.
When there are multiple PIM routers on same
Subnet(Link), one PIM DR(Designated-Router) is
selected on the link based on PIM-DR-Priority（ifrouters have same DR-priority, biggest address isselected as DR.)
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

40

IPv6 operator training program

PIM Neighbor Discovery
PIM Hello
DR-Priority=5

DR

PIM Hello
DR-Priority=10◆The router that has most highest DR-priority is elected as DR
on that link. (If DR-priority is same, most biggest address wins).
◆Router periodically sends PIM Hello to “FF02::D”(All-PIM-ROUTERS)Default Timer Vaule
Hello Interval = 30 Sec
Holdtime= 30 x 3.5 = 105 sec◆When DR is Timeout, new DR is elected.
◆Only DR can do the PIM Join/Prune activity by receiving MLD
Join/Leave. (Non-DR can not start any PIM action)© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

PIM SM(RFC4601)◆Requires RP(Rendezvous Point)◆Source information is registered on RP(by firsthop router). Join request is sent toward to RP by
Hop-by-Hop.RP is managing (S,G) information inthat multicast domain.
◆Effective for “one to many” or “many to many”
communication.

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

PIM-SM Sequence (1)3.Receive PIM Register（S,G））
2.PIM Register

RP
E0

4.PIM Register-Stop

E2
E1
1. Send Multicast Traffic
Src=2001:1::10
Dst=FF18::1:1

1.Source starts sending Multicast Traffic(2001:1::10,FF18::1:1).
2.First Hop Router sends PIM Register to RP in Unicast.
Original multicast packet is encapsulated in PIM packet.
3.RP receives Register,and create (S,G) info on RP.
4.RP sends back PIM Register-Stop to First Hop Router.
First Hop Router stop sending PIM Register.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

43

IPv6 operator training program

PIM-SM Sequence (2)（S,G）） 7.PIM (S,G) Join
6.PIM (*,G) Join
（*,G）
）
E0
E2
5.MLD Report

RP

7.PIM (S,G) Join

8.Traffic is forwarded
along Shared-Tree

E1

5.Receiver sends MLD Report for the group (*,FF18::1:1).
6.Last Hop Router sends PIM (*,G) Join towards RP.
＃Shared-Tree(RP-Tree) is built.
7.From RP towards source, router sends PIM(S,G) Join.
8.First Hop Router receives (S,G) Join and traffic forwarding
is started from Source to Receiver through RP.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

44

IPv6 operator training program

PIM-SM Sequence (3)（S,G））
9.(S,G) entry is created on LHR
（*,G）
）
(S,G)
E0
E2
E1
10.(S,G)Join

RP
12.Start traffic
forwarding along
Shortest-Path-Tree11.(S,G)Join

9.By receiving source traffic,(S,G)entry is created on LHR.
In above case, (*,G) RPF-IF = E0
(S,G) RPF-IF = E1
10.LHR sends (S,G) Join towards RPF interface for Source.
11.Router sends (S,G) Join towards RPF interface for Source
to build Shortest-Path-Tree.
12.Start traffic forwarding along Shortest-Path-Tree.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

45

IPv6 operator training program

PIM-SM Sequence (4)（S,G））

14.(S,G) Prune

13.(S,G,rpt) Prune
（*,G）
）
(S,G)
E0
E2

14.(S,G) Prune

RP
15.Stop (*,G) forwarding

E1

13.LHR start receiving traffic on Shortest-Path-Tree,
LHR sends (S,G,rpt)prune towards RP because the traffic
via RP is not necessary any more.
(*,G)RPF-IF ≠ (S,G) RPF-IF
14.Stop Shared-Tree based forwarding.
15.(S,G) prune is sent from RP towards source, and traffic
from source to RP is stopped.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

46

IPv6 operator training program

PIM-SM Sequence (5)Shared-Tree

RP

E0
E2
E1

Shortest-Path-Tree
Finally traffic is forwarded only along shortest-pathtree.(SPT switchover)
After SPT is built, Shared-Tree is maintained but not
used for traffic forwarding.

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

47

IPv6 operator training program

Defining RP◆ Static-RP: Statically configuring RP address.
All routers need configuration.
◆ BSR(Bootstrap Router):Candidate-RPs information is distributed to all routers,
and RP is automatically elected from Candidate-RPs
based on priority/hash.
◆ Embedded-RP
RP address is embedded in Multicast Address.
mainly used for PIM-SM Inter-domain connection.

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

48

IPv6 operator training program

PIM BSR

BSM
BSR-Pri=255

BSM
BSR-Pri=64

C-BSR
BSR

C-BSR

Candidate-BSR(C-BSR) floods Bootstrap Message(BSM) to allrouters by Hop-by-Hop.
C-BSR that has most highest BSR Priority is elected as BSR.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

49

IPv6 operator training program

PIM BSR
C-RP2
FF18::/64

C-RP
Advertisement(unicast)

C-RP
Advertisement(unicast)

BSR

C-RP1
FF18::/64

Candidate-RPs(C-RP) send C-RP-Advertisement to BSR in
Unicast.(C-RP-Advertisement includes C-RP-Addr,Group-range,
RP-Priority information.)© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

50

IPv6 operator training program

PIM BSR

BSM
C-RP1,range1,Pri1
C-RP2,range2,Pri2

BSR

BSR priority
255 > 0
BSR floods all C-RPs information by BSM.
RP priority
All other routes receive this BSM, and elect RP. 0 > 255© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

51

IPv6 operator training program

Embedded-RP(RFC3956)•Based on “Unicast-Prefix based Multicast Address”.
•RP address is embedded in Multicast Address.
•Router can know RP address from Multicast Address.
•Mainly used for PIM-SM inter-domain multicast.
8

4

4

4

8

64bits32bits

Scope

Reser
ve

RIID

P-Len

Network Prefix

Group ID

R P T

=
=
=

11111111

0

4

1 1 1

◆example：：

FF78:0140:2001:0123:c001:1100:0000:0001
Unicast prefixgroupID

Embedded RP Address = 2001:0123:c001:1100::1© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

52

IPv6 operator training program

PIM SSM (RFC4601/3569/4607)◆ No RP required◆ Receiver join to (S,G)◆ more simpler than PIM-SM◆ subset of PIM-SM© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

PIM-SSM Sequence

E0
E2
2.MLDv2 Report
(S,G)

E1
3.(S,G) Join

4.Traffic is forwarded
along Shortest-PathTree.

3.(S,G) Join

1.Send Multicast Traffic
Src=2001:1::10
Dst=FF38::1:1

1.Source starts sending Multicast Traffic (2001:1::10,FF38::1:1).
2.Receiver send MLDv2 report for the Group/Source.
(2001:1::10,FF38::1:1)
3.Last Hop Router sends PIM (S,G)Join towards source.
Shortest-Path-Tree is built.
4.Multicast traffic is forwarded from Source to receiver along.
Shortest-Path-Tree.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

54

IPv6 operator training program

MLD Snooping© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

55

IPv6 operator training program

Necessity of MLD Snooping◆ On Non-MLD-aware L2-swtich, all multicast traffic isflooded to all ports in the vlan.
◆ With MLD-snooping enabled, multicast traffic isforwarded only to the ports that receiver joined.

No
No MLD
MLD Snooping
Snooping

Join
Join

Join
Join

MLD
MLD Snooping
Snooping

Join
Join

Join
Join

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

56

IPv6 operator training program

MLD Snooping: Join to the GroupPort0

MLD Report(*,FF18::2:1)

CPU
CPU

Port1

Port2

Port3

Port4

RouterRouter Port=0
Port=0----------------------------------------McastAddr
Ports
McastAddr
Ports----------------------------------------FF18::2:1
Port2,4
FF18::2:1
Port2,4(3333:0002:0001)(3333:0002:0001)

Join
Join

Join
Join

The switch snoops MLD Packet, and create L2 forwarding tablebased on the request of MLD packet. After that,MLD packet isforwarded to the router.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

57

IPv6 operator training program

MLD Snooping: Maintaining MLD-snooping Entry
Report××1

Port0

General Query

CPU
CPU

ReportPort1

Report

Port2

Port3

Port4

RouterRouter Port=0
Port=0----------------------------------------McastAddr
Ports
McastAddr
Ports----------------------------------------FF18::2:1
Port2,4
FF18::2:1
Port2,4(3333:0002:0001)(3333:0002:0001)

Join
Join

Join
Join

MLD General Query from the router is flooded to all ports.
Joined hosts send back MLD report and each MLD snooping entry
is maintained.only one MLD report is forwarded to the router.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

58

IPv6 operator training program

MLD Snooping: Leave from the Group (1)Port0

MLD DoneCPU
CPU

MLD Addr-Specific-Query
Port1

Port2

Port3

Port4

RouterRouter Port=0
Port=0----------------------------------------McastAddr
Ports
McastAddr
Ports----------------------------------------FF18::2:1
Port2,4
FF18::2:1
Port2,4(3333:0002:0001)(3333:0002:0001)

×

Join
Join

Leave
Leave

When one host leaves from the group,switch sends multicastaddress-specific-query to that port, and after timeout of thequery, switch deletes that port from MLD snooping entry.
When still there is any other host joining to that group,
switch does not send MLD done to the router.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

59

IPv6 operator training program

MLD Snooping: Leave from the GroupPort0

MLD Done

CPU
CPU
Addr
Specific
Query
Port1

MLD Done
Port2

Port3

Port4

RouterRouter Port=0
Port=0----------------------------------------McastAddr
Ports
McastAddr
Ports----------------------------------------FF18::2:1
Port2
FF18::2:1
Port2(3333:0002:0001)(3333:0002:0001)

Leave
Leave

When Last listener leave from the group, switch sends
multicast-Addr-Specifig-Query to that port.
After the query timeout, switch deletes MLD entry for thatgroup and send MLD done to the router.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

60

IPv6 operator training program

MLD Snooping: others◆ Router Port identification：：
MLD Snooping does work correctly only when Router Port
exists or there is MLD Querier on the vlan. Router Port can be
identified automatically by receiving MLD Query/PIM Hellopacket, or need static configuration.(depends on switch’s
implementation.)◆ The role of Router Port：：
Receiver side：：MLD packet is forwarded to Router Port
Sender side：：Multicast Traffic is forwarded to Router Port

◆ MAC address duplication：：
If the switch identify the multicast group based on MAC
address only, the switch may not be able to differentiate
multiple groups that has same MAC address.(source address
identification of MLDv2 snooping has same issue.)© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

61

IPv6 operator training program

MLD Snooping: immediately Stopping traffic
In IP/TV or video-surveillance environment, listenerfrequently Join/Leave to the group, router should shorten
the time to stop forwarding traffic after receiving leave.
◆ MLD Fast-Leave：：
When the router/switch receives the leave, immediately
stop the traffic without sending multicast-addressspecific query. In this case, it must be 1host/1port.
◆ MLD Host-tracking：：Router/switch is tracking all listener’s address thatjoining to the group, and last listener leave from thegroup on that port, immediately stop the traffic.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

62

IPv6 operator training program

Failure Case Study© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

63

IPv6 operator training program

DR on Receiver Side
Source / RP

MulticastTraffic

PIM Join

Router2

Router1

MLD QuerierDR

MLD Report

User expects that Router2 as Primary Multicast Forwarderon that segment, but Router1 has become DR unexpectedly andRouter1 become forwarder.
=> Need to configure DR-Priority or Link-Local Address© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

DR on Receiver Side
Source / RP

Router2

MLD Querier

Router1
PIM JoinDR

MLD Report

In above topology and uplink on Router1 become down,
Router1 need to know alternative route via Router2.
(generally LAN segment is configured as ” passive”)
In some PIM implementation, above failover scenario
does not work.
© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

PIM-Neighbor
When the router find RPF Neighbor based on unicast routing info,
Router can not send PIM-Join/Prune to the RPF neighbor if that
RPF Neighbor is not recognized as PIM-Neighbor.
=> PIM should be enabled on all links in the network
Source or RP

FE80::3

FE80::1

PIM Disable

E1 FE80::4(*,G)/(S,G)
RPF Interface = E0
RPF Neighbor= FE80::1
PIM Neighbor Interface
FE80::2
E1

E0 FE80::2

Join/
Prune

Router can not send PIM Join/Prune
because RPF-Neighbor is not
PIM-Neighbor.

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

IPv6 operator training program

VRRP and PIM
OSPF
OSPF

VRRP

VRRP Master
Virtual-IP

Static Route
NextHop=VRRP V-IP

For downstream router, VRRP virtual
address is RPF Neighbor, but it is not
MLD Report PIM-Neighbor.
So router can not send any PIM messages.

© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

67

IPv6 operator training program

L2 Switch only
VLAN X
MLD Querier

MulticastTraffic

MLD Report

MLD Report

There is no MLD querier in the vlan, MLD-snooping does not workwithout router port.
=> Need to connect MLD Router, or need to configure MLD querier© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

68

IPv6 operator training program

www.alcatel-lucent.com© Task Force on IPv4 Address Exhaustion, Japan ALL RIGHT RESERVED.

69