Download presentation
1
Multicast Routing Babu Ram Dawadi
2
Index What is a multicast routing protocol?
What are the differences between dense mode and sparse mode protocols? What is PIM-SM? What is RPF (Reverse Path Forwarding)? What is MRIB? Explain the three phases of PIM-SM. GWE. Explain the roles of Designated Routers. Explain the roles of Rendezvous Points. Explain how a RPT to SPT switch is triggered. Learn how to see the above processes using XORP. GWE.
3
What is a multicast routing protocol?
4
Multicast Routing Protocol
Multicast communications is define as one-to-many or many-to-many communications In multicasting, the router may forward the received packets through several of its interfaces. In this case, router may copy the data when it is necessary, and forward it to the receivers. The router may forward received packets through several interfaces Fig. 1. Multicast Routing
5
Multicast Routing Protocol (cont)
Multicast routing protocol doesn’t support reliable transport layer protocol such as TCP Source does not care about how many downstream receivers are receiving the data It is impossible to maintain the reliable TCP connections with all of the receivers. UDP is commonly used for multicast traffic. If a packet is missed by receiver, the packet will simply lost and will not be retransmitted Fig. 2. Multicast Routing Protocol Stack
6
IPv6 Multicast Routing Protocol
IPv6 Multicast Address FF00::/8 Same as IPv4, a set of Ethernet MAC address has been reserved specifically for this IPv6 multicasting Take the low order 32 bits of IPv6 multicast addresses uses it to create a MAC address by mapping it into MAC 33:33:00:00:00:00 (RFC 2464) Example: FF02:ABCD:EF12::1:3 will have a MAC address 33:33:00:01:00:03 FF32::8000:9 will have a MAC address 33:33:80:00:00:09 In IPv6, end host announce its intention to join into the particular multicast group using Multicast Listener Discovery “JOIN” and “LEAVE”
7
Multicast Routing Protocol
Multicast Routing Protocol consists of: DVMRP (Distance Vector Multicast Routing Protocol) PIM-DM (Protocol Independent Multicast - Dense Mode) CBT (Core Based Tree) PIM-SM (Protocol Independent Multicast – Sparse Mode) and others……. They each serve a different purpose. Routing Dense Mode Sparse Mode PIM DVMRP PIM-DM PIM-SM CBT Fig. 2. Types of Unicast Routing Protocol
8
Dense Mode Multicast Routing Protocol
DVMRP and PIM-DM are the 2 examples of multicast routing protocol in this category. As the name implies, Dense Mode is optimized for densely populated communities of receivers. Using Source based tree (S,G) Routers simply floods multicast traffic streams to all interfaces. (FLOOD) If downstream routers have no receiver require this particular multicast stream, it will send “stop” message to upstream router. (PRUNE)
9
Dense Mode – Flood and Prune
Routers simply floods multicast traffic streams to all interfaces Source Receiver Multicast Packets (S, G) State created in every router in the network!
10
Dense Mode – Flood and Prune
Downstream routers have no receiver, so send a prune messages to prune unwanted traffic. Source Multicast Packets Prune Messages Receiver
11
Dense Mode – Flood and Prune
Finally, after pruning, only downstream with receiver will receive the traffic. But the Flood and prune process will repeat every 3 minutes Source Multicast Packets Receiver
12
Sparse Mode Multicast Routing Protocol
PIM-SM or CBT Routers must specifically request a particular multicast stream before the data is forwarded to them. PIM SM implements forwarding trees for each multicast group creating routing tree for a group with Rendezvous Point (RP) as a root for the tree Rendezvous Point Tree (RPT) Explicit join model Receivers send Join towards the RP Sender send Register towards the RP Support both Source Based Tree (S,G) and Shared Based Tree (*,G)
13
Reverse Path Forwarding (RPF)
RPF is used to verify that a router receives a multicast packet on the correct incoming interface. RPF algorithm makes use of the existing unicast routing table to determine the upstream and downstream neighbors Using unicast routing information to create a distribution tree along the reverse path from the receivers towards the source RPF check helps to guarantee that the distribution tree will be loop-free
14
Reverse Path Forwarding (RPF)
Source FF02::101/16 Receiver 1 Receiver 2 Router 1 Router 2 Router 3 eth0 eth1 eth2 Multicast Route Table Network Interface FF02::/16 eth0
15
MRIB - Multicast Routing Information Base
Multicast topology table Derived from the unicast routing table or from other routing protocols Unicast routing table OSPF PIM-DM uses the MRIB to make decisions regarding RPF interfaces. PIM know where to send (*,G) and (S,G) Join/Prune messages
16
Three phases of PIM-SM 3 phases of PIM – SM to build a multicast distribution tree RP Tree Register Stop Shortest Path Tree
17
Rendezvous Points Tree (RPT)
In shared tree Root of the distribution tree is a router, not a host In PIM-SM multicast routing protocol the core router at the root of the shared tree is the rendezvous point (RP ) The traffic from upstream and join/prune message from downstream routers “rendezvous” at this core router. To join the Shared Tree (host want to receive multicast traffic) Router or DR executes an RPF check on the RP address in its routing table Produces the interface closest to the RP. Send a join message (*,G) out on this interface. These upstream routers Repeat the those 3 processes until it reaches the RP. It is building the shared tree or RPT as it goes until it reaches the RP.
18
Register Stop Sources of multicast traffic don't necessarily join the group to which they are sending data First Hop Router (FHR) or DR can receive the traffic without knowing the information on how to send the traffic to the RP through the tree. It encapsulates the packet and send to RP as unicast packet.(Register Msg) RP de-encapsulates theRegister message and forwards the extracted data packet to downstream members on the RPT Encapsulation at DR and decapsulation for Register message at RP is not efficient RP initiates a (S,G) Join toward S and the path to source is established. DR starts sending traffic from S using both native multicast and Register-encapsulated messages RP detected a duplicated multicast packets, it will send a “Register Stop” message to tell DR stop sending Register Message. DR stop sending the Register message and RP now only receive the packet from native multicast packet.
19
Shortest Path Tree (SPT)
RP is a place for a source and receivers to meet But if there is too many multicast group “rendezvous” there, it might become a bottleneck Hence, establishing SPT might solve this problem and also reduce the path delay from Source to receives SPT can be accomplish by specifying an SPT-Threshold in terms of bandwidth. If this threshold is exceeded, the last-hop DR joins the SPT To build the SPT Router executes an RPF check on the source address in its routing table to find the interface closest to the source. Issues an (S,G) Join to the RPF next router toward S.
20
Shortest Path Tree (SPT) (cont)
Each upstream router repeats this process, until Arrives at the subnet of S Router that already has (S,G) Join state. The DR at the Source subnet then starts forwarding packets onto the source tree to the receiver Now, the receiver's DR, it receives packets from Shared Tree (RP) and Source Tree (SPT). To stop receiving duplicating traffics, Receiver's DR sends a PIM Prune message towards the RP router. This message is known as (S,G,rpt) Prune, to tell RP this particular traffic coming in from the RPT are no longer needed PIM Prune message is received by the RP router, then it stops sending this particular multicast traffic down to the receiver's DR.
21
Designated Routers (DR)
The DR is a router which directly-connected to receivers and sources. Sets up multicast route entries Sends corresponding Join/Prune and Register messages on behalf of receivers and sources. The sender with the largest IP address assumes the role of DR Receiver 1 RP Router A Router B DR If multiple routers exist on a single segment, “designated router” will be elected /24
22
Roles of Rendezvous Points
The RP is the root of particular group shared tree RP-Tree. The distribution center of PIM-SM Multicast the traffic from the source to the downstream routers that have receivers Responsible for forwarding information from the source to all registered receivers.
23
PIM-SM – Joining the Shared Tree
Source Receiver 1 RP R1 RP created the (*,G) state (*,G) was created only along the shared tree Receiver 1 Joins Group G, and Router (R1) creates (*,G) state and send the (*, G) Join message to its upstream PIM neighbor, in the direction to the RP First Hop Router (FHR) Last Hop Router (LHR) IGMP or MLD, Receiver listen to Group, G
24
PIM-SM – Registering with the RP
The multicast data from the source (including headers) is encapsulated in the register message so that the RP can forward the data while adding the source to the tree RP de-encapsulates each Register message and forwards the extracted data packet to downstream members on the RPT RP add FHR into the RPT Sources of multicast traffic can always send the traffic. They no need to Join to any group FHR will send a “register” message to the RP. The register message is a unicast message addressed directly to the RP Source Receiver 1 RP R1 RP detects the normal multicast packets, it sends a Register-Stop message to FHR, ask FHR to stop sending register packets. RP sends PIM “join” to FHR. First Hop Router (FHR) Once the shortest path is established, from the source to the RP, the FHR begins sending traffic to the RP as standard IP multicast packets as well as encapsulated within Register messages. RP will temporary receive some packets twice. Legend Last Hop Router (LHR) Shared tree (S,G) Register message unicast Multicast Traffic Flow (S,G) Join Message Source Tree Multicast Traffic Flow
25
PIM-SM – Registering with the RP
Source Receiver 1 RP R1 Source traffic flows natively along SPT to RP. First Hop Router (FHR) The multicast traffic flown down from RP to Receiver through Shared Tree Legend Last Hop Router (LHR) Shared tree Source Tree Multicast Traffic Flow
26
PIM-SM – Shortest Path Tree (switching)
(S, G) traffic flow is no longer needed by the RP so it Prunes the flow of (S, G) traffic. Source Receiver 1 RP R1 (S, G) Traffic flow is now pruned off of the Shared Tree and is flowing to the Receiver via the Source Tree. When a downstream router detects there is an available shorter path, it can send a PIM-SM “join” message directly to the FHR. First Hop Router (FHR) The LHR now receives two copies of the multicast traffic packets - source node - Rendezvous Point (RP). Traffic begins flowing down the new branch of the Source Tree (S, G) Traffic flow is now only flowing to the Receiver via a single branch of the Source Tree and Receiver is receiving traffic using SPT Additional (S, G) State is created along new part of the Source Tree Legend Additional (S, G) State is created along the Shared Tree to prune off (S, G) traffic. Last Hop Router (LHR) Shared tree Source Tree Multicast Traffic Flow (S, G) Prune Message
27
Summary: Dense mode vs Sparse mode diagram
Note : dash line indicates unused links.
28
XORP Configuration
29
XORP Introduction Extensible Open Router Platform
Multicast routing protocols for IPv4 and IPv6 XORP is free The XORP core developer team International Computer Science Institute in Berkeley, California
30
XORP-Installation XORP can be divided into two subsystems: User-space
kernel-space user-space handles the forwarding path and provides API to the userspace MROUTING kernel option must be activated PIM kernel option must be activated in order to run PIM-SM User-space Default Configuration file: /usr/local/xorp/config.boot Requirements : GNU make and Net-SNMP
31
XORP-Configuration interfaces { interface rl0 {
Explicitly enables the two rl0 and rl1 physical interfaces for XORP operation. default-system-config Tell FEA that the interface is configured using the existing interface information from the underlying system. interfaces { interface rl0 { description: "upstream interface" disable: false default-system-config } interface rl1 { description: "downstream interface"
32
XORP-Configuration (cont)
plumbing { mfea6 { disable: false interface rl0 { vif rl0 { disable:false } interface rl1 { vif rl1 { disable false interface register_vif { vif register_vif { mfea6 (Multicast Forwarding Engine Abstraction) -must be configured if the XORP router is to be used for IPv6 multicast routing. vif ( virtual interface) -To enable or disable vif to be used for multicast IPv6 forwarding. In this example, we are not using it. interface register_vif -Enable it for PIM-SM operation, it is for PIM-SM register messages and must enable in mfea is PIM-SM is configured.
33
XORP-Configuration (cont)
protocols { mld { disable: false interface rl0 { vif rl0 { } interface rl1 { vif rl1 { MLD (Multicast Listener Discovery) -MLD is configured if the XORP router is to be used for multicast routing - Track multicast group membership for directly connected subnets.
34
XORP-Configuration (cont)
pimsm6 { disable: false interface rl0 { vif rl0 { } interface rl1 { vif rl1 { interface register_vif { vif register_vif { pimsm6 -If the XORP router is used for multicast routing for the PIM-SM domain, the PIM-SM should be configured. dr-priority - This command is used for setting the priority for the XORP router. If this command is not stated in the configuration, default priority value =1 will be used. -This parameter is used for the Designated Router election.
35
XORP-Configuration (cont)
bootstrap -Mechanism for elect RP dynamically. cand-bsr -Configured the XORP routers as candidate Bootstrap Routers (BSR) Scope-zone -A router intended to be a Candidate-BSR it must advertise for each zone (scope-zone & non-scope-zone) bsr--priority -Router with the highest priority value will be elected as BSR. Hash-mask-len -Unknown, leave it as default cand-rp -XORP router is to be a Candidate-RP, group-prefix - Candidate-RP it must advertise for each zone rp-priority - Router with highest priority will be elected as RP bootstrap { disable: false cand-bsr { scope-zone ff00::/32 { cand-bsr-by-vif-name: "rl1" bsr-priority: 128 hash-mask-len: 30 } cand-rp { group-prefix ff00::/32 { cand-rp-by-vif-name: "rl1" rp-priority: 192 rp-holdtime: 150
36
XORP-Configuration (cont)
switch-to-spt-threshold { /*approximately 1K bytes/s (10Kbps) threshold */ disable: false interval: 100 bytes: } Switch-to0spt-threshold -used to specify the multicast data bandwidth threshold. -Used for Shortest Path Tree (SPT) switching interval: 100 bytes: -if total bytes arrive within 100 seconds, switch to SPT
37
XORP-Configuration (cont)
fib2mrib { disable: false } fib2mrib If the unicast routing protocol is not configured in and inject routes into MRIB, this parameter will be used. It will get the Forwarding Information Base (FIB) from the system and pass it to the MRIB.
38
XORP – Case Study (Practical)
39
XORP – Case Study (Topology)
2001:d30:101:EF::/64 Source rtadvd Router-51 em1 ::1:1 2001:d30:1EF:1::/64 em0 ::1:2 em0 ::1:3 Router-52 Router-53 em1 ::2:2 2001:d30:1EF:3::/64 em0 ::2:5 em0 ::3:6 RP Router-55 Router-56 rtadvd em1 ::5:5 em1 ::4:6 2001:d30:1EF:5::/64 2001:d30:1EF:4::/64 Receiver
40
Initial State – No Queries
Router-51 A B To show bootstrap info only To show interfaces status C D To show RP info only To show Bootstrap and RP info Router 51 knows where is the RP located, it is at Router 2001:d30:1ef:5::5:5 Router 51 knows where is the BSR located, it is at Router 2001:d30:1ef:5::5:5
41
Initial State – No Queries (cont)
Router-52 A B To show interfaces status To show bootstrap info only C D To show Bootstrap and RP info To show RP info only Router 52 knows where is the RP located, it is at Router 2001:d30:1ef:5::5:5 Router 52 knows where is the BSR located, it is at Router 2001:d30:1ef:5::5:5
42
Initial State – No Queries (cont)
Router-53 A B To show interfaces status To show bootstrap info only C D To show Bootstrap and RP info To show RP info only Router 53 knows where is the RP located, it is at Router 2001:d30:1ef:5::5:5 Router 53 knows where is the BSR located, it is at Router 2001:d30:1ef:5::5:5
43
Initial State – No Queries (cont)
Router-55 RP BSR A B To show interfaces status To show bootstrap info only C D To show Bootstrap and RP info To show RP info only Router 55 is configured as a BSR and RP statically, in the diagram B and C , there is an additional information about BSR and RP in Router 55.
44
Initial State – No Queries (cont)
Router-56 A B To show interfaces status To show bootstrap info only C D To show Bootstrap and RP info To show RP info only Router 56 knows where is the RP located, it is at Router 2001:d30:1ef:5::5:5 Router 56 knows where is the BSR located, it is at Router 2001:d30:1ef:5::5:5
45
Initial State – No Queries (cont)
All show pim6 join return an empty result because there is no request from the receiver Router-51 Router-55 Router-54 Router-53 Router-52
46
Initial State – No Queries
em0 NOT DR Source VIF Router-51 em1 NOT DR em0 em0 DR NOT DR Summary for the DR election on this topology Router-52 Router-53 em1 NOT DR em1 DR em0 DR em0 NOT DR RP Router-55 Router-56 BSR em1 DR em1 DR Receiver
47
Case Study : XORP Configuration & Observation
Phase 1 Building RP Tree Phase 2 Register Start/Stop
48
Receiver wishes to receive - Request
2001:d30:101:EF:20c:29ff:fe9f:f3af 2001:d30:101:EF::/64 Source Router-51 em1 ::1:1 2001:d30:1EF:1::/64 em0 ::1:2 em0 ::1:3 (*,G) Now, the receiver intended to receive a traffic, Thus, receiver make a request to Router-56 (*,G) Router-52 Router-53 em1 ::2:2 (*,G) 2001:d30:1EF:3::/64 em0 ::2:5 (*,G) em0 ::3:6 RP Router-55 Router-56 Request em1 ::5:5 em1 ::4:6 2001:d30:1EF:5::/64 2001:d30:1EF:4::/64 Receiver
49
Receiver wishes to receive - Request
An example of the screen shot on using SSMPINGD at receiver
50
Building RP Tree Route-51 is directly connected to the source through em0, and RP is connected at direction of em1 Router-51 Now there is a receiver request for the traffic. In show pim6 join, it shows that Router-51 is directly connected to the source. Router-51 is connected to (S,G) through vif In the upstream, there is no RP forwarder. But Router-51 knows where is the RP for this particular group. It sends the Register message to RP. The status now is the FHR had joined to the RP (Router-55)
51
Building RP Tree (cont)
WC = Wild Card (*,G) If Router 52 found that there is no more specific match for particular source , the packet will be forwarded according to the next hop entry. Current status for Router-52 is joined to the multicast group RP is connected towards at interface em1 DR is at em0. DR at em0 join the multicast wildcard entry for the group Router-52
52
Building RP Tree (cont)
RP is connected towards at interface em0 Router-53 WC = Wild Card (*,G) If Router 53 found that there is no more specific match for particular source , the packet will be forwarded according to the next hop entry. DR is at em1. DR at em1 join the multicast wildcard entry for the group Current status for Router-52 is joined to the multicast group
53
Building RP Tree (cont)
Router-55 is RP, it joins to the FHR through vif using Register Message Router-55 Current status for Router-55 is joined to the multicast group
54
Building RP Tree (cont)
RP is connected towards at interface em0 Router-56 WC = Wild Card (*,G) If Router 52 found that there is no more specific match for particular source , the packet will be forwarded according to the next hop entry. DR is at em1. DR at em1 create the multicast wildcard entry for the group Current status for Router-52 is joined to the multicast group
55
Registering with the RP
PIM-SM Register Message
56
XORP – Case Study (Practical)
Phase 3 Shortest Path Tree
57
Shortest Path Tree (SPT)
Source (S,G) Router-51 em1 X X em0 em0 (*,G) (*,G) (S,G) Router-52 Router-53 X The distance becomes 3 hops X em1 (*,G) em0 (*,G) em0 (S,G) RP Router-55 Router-56 Request em1 em1 Receiver
58
Shortest Path Tree (SPT) (cont)
Receiver Receive 2 duplicated multicast packets Router immediately switch to SPT and send a Prune Message to RP, so now receiver only received single multicast packet using SPT
59
Shortest Path Tree (SPT) (cont)
Router-52 now knows sources is at direction of em0 and RP is at direction of em1 Router-52 Now the multicast group has switched to SPT. Since Router-52 is not in SPT path, a (S,G) Prune message is sent towards RP. This is known as (S,G,RPT) Prune and indicating that traffic from S for G should NOT be forwarded in this em0 direction.
60
Shortest Path Tree (SPT) (cont)
Router-53 Router-53 now knows sources is at direction of em0 and RP is at direction of em1 Now the multicast group has switched to SPT. Router-53 is now in SPT path, it no longer using RPT, so (S,G,RPT) Prune is sent towards RP, indicating that traffic from S for G should NOT be forwarded in this direction Router-53 receive the traffic from the source using SPT
61
Shortest Path Tree (SPT) (cont)
Router-55 Now the multicast group has switched to SPT. Since Router-55 is not in SPT path, and there is no other group receive traffic from the RP, the RP send a Prune Message to the FHR (router 51) to stop receiving traffic from FHR. No traffic will be forwarded in this em0 direction.
62
Shortest Path Tree (SPT) (cont)
Router-56 Router-56 receive the traffic from the source using SPT
63
Thank you
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.