More Related Content Similar to Multicast for IPv6 (20) Multicast for IPv62. Topics
n Multicast IPv6 Addresses
n PIM
n PIM SM
n PIM-SSM
n PIM Bidir
n Rendez-Vous point
n Static
n Anycast RP
n BSR
n MLD
n MLDv1
n MLDv2
© Fred Bovy EIRL 2012 2
3. Multicast. RFC 4291
128 bits
FF Flag Scope 0 Interface ID
n Scope – 4 bits
n 1=node
n 2=link
n R
n 4=admin
n Embedded Rendez-Vous
n 5=site
n RFC 3956
n 8=Organization
n P
n E=Global
n Multicast based unicast
n 6, 7, 9-D not assigned. F est reserved.
n RFC 3956 et RFC 3306
n T n Only the link-local is filtered by the routers, others must
n 0 Permanent address be fitered by routers (Access-List)
n 1 for temporary
© Fred Bovy EIRL 2012 3
4. Multicast IPv4 and IPv6
IP Service IPv4 Solution IPv6 Solution
Étendue d’adresse 32-bits, Class D 128 bits. 112 bits Groups
Routing PIM, MBGP, DVMRP, PIM and MBGP
MOSPF
Forwarding PIM-DM, PIM-SM, PIM- PIM-SM, PIM-SSM, PIM-
SSM, PIM-Bidir Bidir
Groups Management IGMPv1, v2, v3 MLDv1, v2
Domain Control Boundary, Border Scope
Interdomains Solutions MSDP Unic RP
© Fred Bovy EIRL 2012 4
5. PIMv6 Basics
n PIM uses the unicast routing protocol to implement the Reverse Path
Forwarding
n MP-BGP can be used to build divergent routing tables
n PIMv6 between Routers, MLD between Hosts and Routers
© Fred Bovy EIRL 2012 5
6. PIMv6 Sparse Mode Basics. RFC 4601
n The Rendez-Vous point allows Source and Receivers (listeners) to meet..
n The result is a tree shared by all sources (shared tree) toward a group of
listeners.
n Once the traffic start to flow on the Shared Tree, it is possible to switch on
the Shortest Path Tree (SPT)
© Fred Bovy EIRL 2012 6
7. The PIM Designated Router
n The 1st Hop Router, near the source is the PIMv6 Designated Router
n Elected with PIMv6 Hello Protocol
n Highest Priority
n Highest IPv6 address
n Forward traffic from the source to the RP (Register)
© Fred Bovy EIRL 2012 7
8. The MLD Querier
n The Last Hop Router is the MLD Querier
n Lowest IPv6 Address
n Discover the local Listeners and start to build a path to the RP
n A shared tree is then built from the RP to the listener
© Fred Bovy EIRL 2012 8
9. Multicast Routing Initialization
n Routers must be IPv6 Multicast Routing enabled
n PIM and MLD are started on their interfaces
n Rendez-Vous Point address MUST be configured
n Static, Embedded or
n Dynamic with BSR
© Fred Bovy EIRL 2012 9
10. PIMv6-SM: Shared Tree Initialisation
n When a listener starts to listen to a given group, it sends Unsolicited Reports
n A (*.G) entry is created in the Last Hop Router Multicast Routing Table
(MRIB)
(*,G)
(*,G)
MLD Multicast Listener Report (*,G)
Hop-by-Hop Router Alert.
Hop Limit=1
© Fred Bovy EIRL 2012 10
11. PIMv6-SM: PIM Join travel toward the RP
n Because it has a (*,G) entry in its MRIB, the Last Hop Router starts to send
PIM Join (*,G) to its Rendez-Vous Point Upstream Neighbor.
n The reception of a PIM Join (*,G) creates a (*,G) entry in the MRIB which
triggers the sending of a PIM Join (*,G) to its Rendez-Vous Point Upstream
Neighbor
PIM Join (*,G)
n PIM Join reaches the RP Dest: ff02::d
Router Alert
(*,G) (*,G) (*,G)
(*,G)
MLD Multicast Listener Report (*,G)
Hop-by-Hop Router Alert.
Hop Limit=1
© Fred Bovy EIRL 2012 11
12. PIMv6-SM: Source starts to send traffic
n The source can start to send traffic at any time
n No Signaling requires
© Fred Bovy EIRL 2012 12
13. PIMv6-SM: Source Registers with the RP
n First Hop Multicast Router intercepts the Multicast flow
n Multicast traffic is encapsulated in PIM Register unicast paquets to the RP
Register
© Fred Bovy EIRL 2012 13
14. PIMv6-SM: Register at the RP
n The RP removes the unicast encapsulation of the PIM Register
n The RP duplicates (if multiple outgoing interfaces) and forwards the multicast
toward all the Listeners
© Fred Bovy EIRL 2012 14
15. PIMv6-SM: Join toward the Source
n When the RP receives multicast in Register paquets, it initializes a native
multicast path by sending a PIM Join (S,G) toward the source
n It travels hop by hop to until it reaches the first hop router
PIM Join (S,G)
© Fred Bovy EIRL 2012 15
16. PIMv6-SM: Building the Multicast Shared Tree
n When the First Hop DR receives the PIM join, it is able to forward the
multicast natively to the RP
n When the RP receives two copies of the same multicast paquet, it discards
the encapsulated copy
© Fred Bovy EIRL 2012 16
17. PIMv6-SM: Register-Stop
n … and sends a PIMv6 Register-Stop to the First Hop DR.
n The DR knows that it does not have to encapsulate the multicast traffic in
unicast anymore
Register-Stop
© Fred Bovy EIRL 2012 17
18. PIMv6-SM: Flowing down the Shared Tree
n Traffic can now travel from the Source to all the listeners using
the Shared Tree
© Fred Bovy EIRL 2012 18
19. PIMv6-SM: PIM Last-Hop Switchover to the SPT
n Last Hop Router notices that it receives the traffic from an
interface which does not point to the best path back to the
Source (RPF).
!!!
© Fred Bovy EIRL 2012 19
20. PIMv6-SM: Last-Hop Switchover to the SPT
n Last Hop Router sends a PIMv6 Join (S,G) toward the Source
n (S,G) states are created in the MRIB by the PIMv6 Join (S,G)
travelling hop by hop to the Source
PIM JOIN (S,G)
© Fred Bovy EIRL 2012 20
21. PIMv6-SM: Building the Shortest Path Tree (SPT)
n When the DR receives the PIM JOIN (S,G), it starts to forward
paquets down the Shortest Path Tree but also down the
Shared Tree.
© Fred Bovy EIRL 2012 21
22. PIMv6-SM: Pruning the Shared Tree
n When the Last Hop router receives two copies of the same flow, it decides
to prune the Shared Tree
n It sends a (S,G,rpt-bit) Prune toward the RP
(S,G,rpt-bit) Prune
© Fred Bovy EIRL 2012 22
23. PIMv6-SM: Shortest Path Tree Only (SPT)
n When the Shortest Path Tree has been Pruned, traffic only flows on the
Shortest Path Tree
n If traffic on the Shortest Path goes down below a configurable threshold, it is
possible to switch back to the Shared Tree.
© Fred Bovy EIRL 2012 23
24. PIM-SM Summary
n Sources and Listeners meet at the Rendez-Vous point
n It is possible to stay forever on the Shared Tree to minimize the
states on the routers.
n The Rendez-Vous point must be carefully choosen on the network
n It is possible to use an Anycast Address for the RP with longest
match prefix to choose a primary.
n BSR is the only dynamic RP configuration method
n Using MLDv2 and SSM, there is no more need for a RP
© Fred Bovy EIRL 2012 24
25. Introduction to MLD
n ICMPv6 with IPv6 Hop-by-Hop Router Alert Option
n Hop Limit is 1
n On each link a Querier is elected.
§ Lower IPv6 address is elected.
n The Querier sends a Query on a regular basis to ask if there any receiver
present.
I won ! 3 I am the
I am the
Querier Querier
2
1 FE80::1 FE80::100
Query FE80::1 FF02::1
26. Query Interval
Host A Host B
Query FE80::1 FF02::1
z The interval between General Query sent by the Querier.
Default: 125 seconds
© Fred Bovy EIRL 2012 26
27. Robustness
Host A Host B
State Change R FE80::1 FF02::1
n This is the basis for the computation of many parameters
n MLD is robust to [Variable Robustness] – 1 paquet loss
n Default: 2. MLD has no problem loosing one MLD paquet
© Fred Bovy EIRL 2012 27
28. Introduction to MLDv1
n All MLD paquets are sent with Link-Local address as source.
n Hop Limit is 1
n MLDv1 (RFC 2710) is IPv6 version of IGMP Version 2 (RFC 2236)
o Multicast Listener Query
ü General Query. Sent to the all-nodes Link-Local multicast address to figure out which
group has members.
ü Address-Specific Query is used to identify the members of a given group. It is sent to
the address of the group which is being queried.
o Multicast Listener Report
ü Response to a Query
o Multicast Listener Done
ü Sent by a Listener which does not listen to this group any more.
29. MLDv1 General Query
Host A Host B
General Query FE80::1 FF02::1
n The Querier sends a general Query
n A and B starts a random timer
© Fred Bovy EIRL 2012 29
30. MLDv1 Listener Report
Host A Host B
Listener Report FE80::A FF02::1
n Host timer A expires
n Host A responds to the Query
n B listens that A replied to the router Query, stops its timer and suppress its
response not to send a duplicate response.
© Fred Bovy EIRL 2012 30
31. MLDv1 Leave Process
Host A Host B
Done FF1E::1 FE80::1 FF02::2
n A is no longer interested by FF1E::1 and sends a Done message
© Fred Bovy EIRL 2012 31
32. MLDv1 Leave Process
Host A Host B
Address-Specific Query FE80::5 FF1E::1
n Router sends a Last Listener Query to the Multicast address left by A
© Fred Bovy EIRL 2012 32
33. MLDv1 Leave Process
Host A Host B
Report FE80::5 FF1E::1
n If B is still interested it sends a Listener Report and the router ignores the
Done message
n If B is not interested it does not send anything and the group is removed
© Fred Bovy EIRL 2012 33
34. MLDv2 (RFC 3810)
n MLDv2 is the IPv6 translation of IGMP Version 2 (RFC 3376)
n MLDv2 is backward compatible with MLDv1
n No duplicate response suppression
n No Done message
n IANA allocated FF02::16 called all MLDv2-capable routers
n MLDv2 introduced source filtering
n INCLUDE Mode : if the message includes all the source we want to ear
n EXCLUDE Mode : if the message includes all the source we don’t want to ear
© Fred Bovy EIRL 2012 34
35. Queries
¥ General Queries
Ø Sent periodically
Ø Responses are sent in Current State Report
¥ Multicast Address Specific Queries
¥ Multicast Address and Source Specific Queries.
Ø Sent after a state change.
Ø Sent in response to a State Change Report
© Fred Bovy EIRL 2012 35
36. Multicast Listener Reports
MLDv2 needs two types of Reports :
¥ Current State Change Report.
o Sent in response to a Query
o MODE_IS_INCLUDE
o MODE_IS_EXCLUDE
¥ State Change Report
o Sent after a state change
o Sent many times (Robustness)
o Filter Mode Change Records
• CHANGE_TO_INCLUDE
• CHANGE _TO_EXCLUDE
o Source List Change Records
• ALLOW_NEW_SOURCE
• BLOCK_OLD_SOURCES
© Fred Bovy EIRL 2012 36
37. MLDv2 Query Messages
Type = 130 Code Checksum
Maximum Response Code Reserved
Multicast Address
Resv S QRV QQIC Number of Sources (N)
Source Address [ 1 ]
Source Address [ 2 ]
Source Address [ N ]
© Fred Bovy EIRL 2012 37
38. MLDv2 Multicast Listener Report Messages
Type = 143 Code Checksum
Reserved Nr of Mcast Address Records (M)
Multicast Address Record [1]
Multicast Address Record [2]
…
Multicast Address Record [M]
© Fred Bovy EIRL 2012 38
39. MLDv2 Multicast Address Record
Record Type Aux data Len Number of Sources (N)
Multicast Address
Source Address [ 1 ]
Source Address [ 2 ]
Source Address [ N ]
Auxiliary Data
© Fred Bovy EIRL 2012 39
40. MLDv2 General Query
Host A Host B
General Query FE80::1 FF02::1
n Sent periodically to discover which group has listener on a link
n Includes:
n Multicast Address=0,
n Number of Source=0
© Fred Bovy EIRL 2012 40
41. MLDv2 Multicast Address Specific Query
Host A Host B
Multicast @ specific Query FF34::16 S:0 FE80::1 FF34::16
n The Querier sends this Query to ask if a particular group has Listener on a
particular interface.
n Includes:
n The address, by example: FF34::16
n Number of Source:0
© Fred Bovy EIRL 2012 41
42. MLDv2 Multicast Listener Query
Ethernet II, Src: ca:01:3a:67:00:08 (ca:01:3a:67:00:08), Dst: IPv6mcast_00:00:00:16 (33:33:00:00:00:16)
Internet Protocol Version 6
0110 .... = Version: 6
.... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0
.... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
Payload length: 52
Next header: IPv6 hop-by-hop option (0x00)
Hop limit: 1
Source: fe80::2038:148e:b9df:fd6d (fe80::2038:148e:b9df:fd6d)
Destination: ff34::16 (ff34::16)
Hop-by-Hop Option
Next header: ICMPv6 (0x3a)
Length: 0 (8 bytes)
Router alert: MLD (4 bytes)
PadN: 2 bytes
Internet Control Message Protocol v6
Type: 130 (Multicast listener query)
Code: 0
Checksum: 0x9549 [correct]
Maximum response delay[ms]: 1000
Multicast Address: ff34::16
S Flag: OFF
Robustness: 2
QQI: 125
Source Address: 2001:db8:cafe::7 (2001:db8:cafe::7)
© Fred Bovy EIRL 2012 42
43. MLDv2 Address and Source Specific Query
Host A Host B
Multicast Listener Query FF34::16 S:1 FE80::1 FF34::16
n The Querier sends this message to discover if a multicast address with one
or many source addresses has a Listener on a particular interface.
n Elle contient
n The address, by example: FF34::16
n Number of Source, by example: 1
© Fred Bovy EIRL 2012 43
44. Reception of a Query
Source is valid Link-Local ? NO
Hop Limit = 1 ? DROP
Router Alert set in the Hop-
by-Hop Option ?
YES
Process the Query.
Wait before the Response. Delay max= Maximum Response Delay
© Fred Bovy EIRL 2012 44
45. MLDv2 State Change Report
Host A Host B
State Change
FE80::1 FF02::1
Report
n The State Change Report contains a change:
n Filter Change Report
n Source List Change Report
n Both Change Report
n Reports are sent robustness times on the link
n Default Robustness: 2
© Fred Bovy EIRL 2012 45
46. MLDv2 State Change Report Exemple
Internet Protocol Version 6
0110 .... = Version: 6
.... 1110 0000 .... .... .... .... .... = Traffic class: 0x000000e0
.... .... .... 0000 0000 0000 0000 0000 = Flowlabel: 0x00000000
Payload length: 52
Next header: IPv6 hop-by-hop option (0x00)
Hop limit: 1
Source: fe80::38b1:e73c:c0f0:4442 (fe80::38b1:e73c:c0f0:4442)
Destination: ff02::16 (ff02::16)
Hop-by-Hop Option
Next header: ICMPv6 (0x3a)
Length: 0 (8 bytes)
Router alert: MLD (4 bytes)
PadN: 2 bytes
Internet Control Message Protocol v6
Type: 143 (Multicast Listener Report Message v2)
Code: 0 (Should always be zero)
Checksum: 0x50d2 [correct]
Allow new sources: ff34::16 (ff34::16)
Mode: Allow new sources
Aux data len: 0
Multicast Address: ff34::16
Source Address: 2001:db8:cafe::7 (2001:db8:cafe::7)
© Fred Bovy EIRL 2012 46
47. PIM-SSM
n With PIM-SSM the Listener must provide the Source address.
n Rendez-Vous point are no more needed.
n The source can be configured statically
n The source can be learned from DNS with the Record G
n PIM-SSM is supported with MLDv2
n RFC 3306. Unicast-Prefix-based IPv6 Multicast
Flags: 00PT. P=1, T=1
plen = 0
network prefix = 0
FF3x::/96
x=n’importe quel scope valide
© Fred Bovy EIRL 2012 47
48. Rendez-Vous Point
n Static
ü Must be manually configured on each multicast router
n Anycast RP
ü Static but the same address is configured many time with different mask length
ü Longest match select the preferred RP
n Embedded RP
ü RP address is embedded in the Multicast Group
n Dynamic with PIM BSR
ü BSR is a dynamic protocol which allow the Rendez-vous point automatic configuration.
© Fred Bovy EIRL 2012 48
49. Anycast RP + Longest Match
n RP1 is preferred because routing prefers the longest match
RP1: RP2:
2001:db8:1::1/64 2001:db8:1::1/63
© Fred Bovy EIRL 2012 49
50. Embedded RP – RFC 3956
n The RP address can be embedded in the Multicast
Group
© Fred Bovy EIRL 2012 50
51. Embedded RP – Flags
FF76:0130:2001:db8:9abc::4321
Flags: 7
R: Rendez-Vous Point = 1 then
P: Prefix =1 and
T: Temporary Prefix = 1
© Fred Bovy EIRL 2012 51
52. Embedded RP – Prefix
FF76:0130:2001:db8:9abc::4321
Plen = 30 Hex = 48 dec
2001:db8:9abc::
© Fred Bovy EIRL 2012 52
53. Embedded RP – Adresse du RP
FF76:0130:2001:db8:9abc::4321
Rendez-Vous Point Address
2001:db8:9abc::1
o RFC3956
© Fred Bovy EIRL 2012 53
54. PIM Boot Strap Router
n Many routers are Candidates BSR (C-BSR).
n The C-BSR elect a BSR by sending C-BSR message with priorities
n The message travels hop by hop.
n The C-BSR with the best priority becomes the BSR
n During the election it announces its presence on the network.
n This is similar to the election of the root of the spanning-tree.
n Some routers are configured as Candidates RP (C-RP).
n C-RP unicast their presence of C-RP to the C-BSR.
n The C-BSR sends its list of C-RP to all the PIM routers
n All the PIM routers receive the list of C-RP and execute the same hashing
function to choose a RP for each group.
© Fred Bovy EIRL 2012 54
55. Books on the Web: Safari Books Online
© Fred Bovy EIRL 2012 55