314 47 765KB
English Pages 141
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
1
PIM Multicast Routing Session 2215
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
2
Other Related Presentations • Multicast Sessions Session # 2214 2215 2216 2217
Title Introduction to IP Multicast PIM Multicast Routing Deploying IP Multicast Advanced IP Multicast Routing
• MBGP Related Sessions Session # 2209 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
Title Deploying BGP 3
Agenda Geekometer
• PIM-DM Overview • PIM-DM Protocol Mechanics • PIM-SM Overview • PIM-SM Protocol Mechanics
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
4
PIM Dense Mode Overview
• Uses “Push” Model – Traffic is initially flooded to all PIM neighbors – Branches that don’t want data are pruned
• Multicast forwarding state is created by the arrival of data • If the source goes inactive, the tree is torn down
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
5
PIM Dense Mode Overview
• Grafts are used to join existing source tree • Asserts are used to determine forwarder for multi-access LAN • Prunes are sent on non-RPF P2P links – Asserts are sent on non-RPF multi-access links
• Rate-limited prunes are sent on all P2P links
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
6
PIM Dense Mode Overview Initial Flooding
Source
(S, G) State created in every router in the network!
Multicast Packets
Receiver 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
7
PIM Dense Mode Overview Pruning Unwanted Traffic
Source
Multicast Packets Prune Messages Receiver 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
8
PIM Dense Mode Overview Results After Pruning
Source
(S, G) State still exists in every router in the network!
Multicast Packets
Flood & Prune process repeats every 3 minutes!!! 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
Receiver 9
PIM-DM Protocol Mechanics
• • • • • •
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
PIM Neighbor Discovery PIM DM State PIM DM Forwarding PIM DM Pruning PIM DM Grafting PIM Assert Mechanism
10
PIM Neighbor Discovery 171.68.37.2 PIM Router 2
Highest IP Address elected as “DR” (Designated Router) PIM Hello
PIM Hello PIM Router 1 171.68.37.1
• PIMv2 Hellos are periodically multicast to the “All-PIM-Routers” (224.0.0.13) group address. (Default = 30 seconds) – Note: PIMv1 multicasts PIM Query messages to the “All-Routers” (224.0.0.2) group address.
• If the “DR” times-out, a new “DR” is elected. • The “DR” is responsible for sending all Joins and Register messages for any receivers or senders on the network. 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
11
PIM Neighbor Discovery
wan-gw8>show ip pim neighbor PIM Neighbor Table Neighbor Address Interface 171.68.0.70 FastEthernet0 171.68.0.91 FastEthernet0 171.68.0.82 FastEthernet0 171.68.0.86 FastEthernet0 171.68.0.80 FastEthernet0 171.68.28.70 Serial2.31 171.68.28.50 Serial2.33 171.68.27.74 Serial2.36 171.68.28.170 Serial0.70 171.68.27.2 Serial1.51 171.68.28.110 Serial3.56 171.68.28.58 Serial3.102
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
Uptime 2w1d 2w6d 7w0d 7w0d 7w0d 22:47:11 22:47:22 22:47:07 1d04h 1w4d 1d04h 12:53:25
Expires 00:01:24 00:01:01 00:01:14 00:01:13 00:01:02 00:01:16 00:01:08 00:01:21 00:01:06 00:01:25 00:01:20 00:01:03
Mode Dense Dense (DR) Dense Dense Dense Dense Dense Dense Dense Dense Dense Dense
12
PIM-DM Protocol Mechanics
• • • • • •
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
PIM Neighbor Discovery PIM DM State PIM DM Forwarding PIM DM Pruning PIM DM Grafting PIM Assert Mechanism
13
PIM State • Describes the “state” of the multicast distribution trees as understood by the router at this point in the network. • Represented by entries in the multicast routing (mroute) table – Used to make multicast traffic forwarding decisions – Composed of (*, G) and (S, G) entries – Each entry contains RPF information • Incoming (i.e. RPF) interface • RPF Neighbor (upstream)
– Each entry contains an Outgoing Interface List (OIL) • OIL may be NULL 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
14
PIM-DM State Example sj-mbone> show ip mroute IP Multicast Routing Table Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT M - MSDP created entry, X - Proxy Join Timer Running A - Advertised via MSDP Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 224.1.1.1), 00:00:10/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial0, Forward/Dense, 00:00:10/00:00:00 Serial1, Forward/Dense, 00:00:10/00:00:00 Serial3, Forward/Dense, 00:00:10/00:00:00 (128.9.160.43/32, 224.1.1.1), 00:00:10/00:02:49, flags: T Incoming interface: Serial0, RPF nbr 198.92.1.129 Outgoing interface list: Serial1, Forward/Dense, 00:00:10/00:00:00 Serial3, Prune/Dense, 00:00:05/00:02:55
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
15
PIM-DM (*,G) State Rules
• (*,G) created automatically – When 1st (S,G) for group is created – (S,G)’s always have parent (*,G)
• (*,G) reflect PIM neighbor adjacency – IIF = NULL – OIL = all interfaces • with PIM-DM neighbors or • with directly connected hosts or • manually configured
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
16
PIM-DM (S,G) State Rules
• (S,G) created by multicast data arrival – Parent (*,G) created (if doesn’t exist) – IIF = RPF Interface in direction of source – OIL = Copy of OIL from (*,G) minus IIF
• Interfaces in OIL initially “Forward” – Go to “Pruned” state when Prune rcvd – “Forward” intfc timers never expire – “Pruned” intfc timers expire in 3 minutes
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
17
PIM-DM OIL Rules • (*,G) OIL – Reflects intfc’s w/PIM neighbors or – Locally connected members or – Manually configured interfaces
• (S,G) OIL – Copy of (*,G) OIL less IIF
• Interfaces in (S,G) OIL “pruned” – When appropriate Prune received • Prune Expiration counter (3 min) started • Interface marked “Prune/Dense” (not removed) • Returns to “Forward/Dense” when Prune expires 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
18
PIM-DM State Flags • • • • •
D C L P T
= Dense Mode = Directly Connected Host = Local (Router is member) = Pruned (All intfcs in OIL = Prune) = Fowarding via SPT
– Indicates at least one packet was forwarded
• J = Join SPT – Always on in (*,G) entry in PIM-DM – Basically meaningless in PIM-DM 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
19
PIM-DM Protocol Mechanics
• • • • • •
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
PIM Neighbor Discovery PIM DM State PIM DM Forwarding PIM DM Pruning PIM DM Grafting PIM Assert Mechanism
20
PIM-DM Forwarding Rules
• Use longest match entry – Use (S, G) entry if exists – Otherwise, use (*, G) entry – Effectively, only (S,G)’s used in PIM-DM
• RPF check first – If Packet didn’t arrive via IIF, drop it.
• Forward Packet (if RPF succeeded) – Send out all “unpruned” interfaces in OIL 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
21
PIM DM Forwarding S1
S0 Multicast Packets (128.9.160.43, 224.2.127.254)
Arriving data causes ‘rtr-a’ to create state
S3
rtr-a
S0
rtr-b E1
(*, 224.2.127.254), 00:00:10/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial0, Forward/Dense, 00:00:10/00:00:00 Serial1, Forward/Dense, 00:00:10/00:00:00 Serial3, Forward/Dense, 00:00:10/00:00:00 (128.9.160.43/32, 224.2.127.254), 00:00:10/00:02:49, flags: T Incoming interface: Serial0, RPF nbr 198.92.1.129 Outgoing interface list: Serial1, Forward/Dense, 00:00:10/00:00:00 Serial3, Forward/Dense, 00:00:10/00:00:00 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
22
PIM DM Forwarding S1
S0 Multicast Packets (128.9.160.43, 224.2.127.254)
Packets are “flooded” out all interfaces in (S, G) “oilist”.
S3
rtr-a
S0
rtr-b E1
(*, 224.2.127.254), 00:00:10/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial0, Forward/Dense, 00:00:10/00:00:00 Serial1, Forward/Dense, 00:00:10/00:00:00 Serial3, Forward/Dense, 00:00:10/00:00:00 (128.9.160.43/32, 224.2.127.254), 00:00:10/00:02:49, flags: T Incoming interface: Serial0, RPF nbr 198.92.1.129 Outgoing interface list: Serial1, Forward/Dense, 00:00:10/00:00:00 Serial3, Forward/Dense, 00:00:10/00:00:00 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
23
PIM DM Forwarding S1
S0 Multicast Packets (128.9.160.43, 224.2.127.254)
Arriving data causes ‘rtr-b’ to create state
S3
rtr-a
S0
rtr-b E1
(*, 224.2.127.254), 00:00:12/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial0, Forward/Dense, 00:00:12/00:00:00 (128.9.160.43/32, 224.2.127.254), 00:00:12/00:02:48, flags: PT Incoming interface: Serial0, RPF nbr 198.92.2.31 Outgoing interface list: Null
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
24
PIM-DM Protocol Mechanics
• • • • • •
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
PIM Neighbor Discovery PIM DM State PIM DM Forwarding PIM DM Pruning PIM DM Grafting PIM Assert Mechanism
25
PIM DM Pruning S1
S0 Multicast Packets (128.9.160.43, 224.2.127.254)
Initial “Flooding” State in “rtr-a”
S3
rtr-a
S0
rtr-b E1
(*, 224.2.127.254), 00:00:10/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial0, Forward/Dense, 00:00:10/00:00:00 Serial1, Forward/Dense, 00:00:10/00:00:00 Serial3, Forward/Dense, 00:00:10/00:00:00 (128.9.160.43/32, 224.2.127.254), 00:00:10/00:02:49, flags: T Incoming interface: Serial0, RPF nbr 198.92.1.129 Outgoing interface list: Serial1, Forward/Dense, 00:00:10/00:00:00 Serial3, Forward/Dense, 00:00:10/00:00:00 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
26
PIM DM Pruning S1
S0
rtr-a
S3
X
Multicast Packets (128.9.160.43, 224.2.127.254) 2 Prune
3
S0
rtr-b E1
1
“rtr-a” initially floods (S, G) traffic out all interfaces in “oilist”.
2
“rtr-b” is a leaf node w/o receivers. Sends Prune for (S,G).
3
“rtr-a” Prunes interface for (S,G).
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
27
PIM DM Pruning S1
S0 Multicast Packets (128.9.160.43, 224.2.127.254)
State in “rtr-a” after Pruning
S3
rtr-a
S0
rtr-b E1
(*, 224.2.127.254), 00:00:12/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial0, Forward/Dense, 00:00:12/00:00:00 Serial1, Forward/Dense, 00:00:12/00:00:00 Serial3, Forward/Dense, 00:00:12/00:00:00 (128.9.160.43/32, 224.2.127.254), 00:00:12/00:02:48, flags: T Incoming interface: Serial0, RPF nbr 198.92.1.129 Outgoing interface list: Serial1, Forward/Dense, 00:00:12/00:00:00 Serial3, Prune/Dense, 00:00:12/00:02:56 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
28
PIM DM Pruning S1
S0 Multicast Packets (128.9.160.43, 224.2.127.254)
State in ‘rtr-b’ before/after Pruning
S3
rtr-a
S0
rtr-b E1
(*, 224.2.127.254), 00:00:12/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial0, Forward/Dense, 00:00:12/00:00:00 (128.9.160.43/32, 224.2.127.254), 00:00:12/00:02:48, flags: PT Incoming interface: Serial0, RPF nbr 198.92.2.31 Outgoing interface list: Null
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
29
Prune Delay on Multiaccess Networks rtr-a
S1
S0
I’ll wait 3 secs to see 2 if someone else wants (S,G) before I Prune Interface E0.
(S,G) Packets E0 1
Prune
4
E0
E0
rtr-b E1
Join 3
rtr-c E1
Receiver
1
“rtr-b” is a leaf node w/o receivers. Sends Prune for (S,G).
2
“rtr-a” schedules a Prune for (S,G) to occur in 3 seconds.
3
“rtr-c” hears Prune from “rtr-b”. Overrides with a Join.
4
“rtr-a” hears Join and cancels Prune for (S,G).
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
30
PIM-DM Protocol Mechanics
• • • • • •
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
PIM Neighbor Discovery PIM DM State PIM DM Forwarding PIM DM Pruning PIM DM Grafting PIM Assert Mechanism
31
PIM DM Grafting S0 S1
(S,G) Packets
E0
rtr-a
E0
E0
rtr-b
rtr-c
E1
E1
Beginning State • “rtr-b” and “rtr-c” have previously Pruned (S,G) traffic. • “rtr-a” is still forwarding traffic downstream via S1.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
32
PIM DM Grafting S0 S1
(S,G) Packets
E0
rtr-a
E0
Beginning State in “rtr-a”
E0
rtr-b E1
rtr-c E1
(*, 224.2.127.254), 00:04:10/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial0, Forward/Dense, 00:04:10/00:00:00 Serial1, Forward/Dense, 00:04:10/00:00:00 Ethernet0, Forward/Dense, 00:04:10/00:00:00 (128.9.160.43/32, 224.2.127.254), 00:04:10/00:02:39, flags: T Incoming interface: Serial0, RPF nbr 198.92.1.129 Outgoing interface list: Ethernet0, Prune/Dense, 00:01:29/00:01:30 Serial1, Forward/Dense, 00:04:10/00:00:00 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
33
PIM DM Grafting S0 S1
(S,G) Packets
E0
rtr-a
E0
E0
rtr-b
rtr-c
E1
E1
(*, 224.2.127.254), 00:04:10/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Ethernet0, Forward/Dense, 00:04:10/00:00:00 (128.9.160.43/32, 224.2.127.254), 00:04:10/00:02:39, flags: PT Incoming interface: Ethernet0, RPF nbr 198.92.2.1 Outgoing interface list: Null
Beginning State in “rtr-b” 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
34
PIM DM Grafting S0 S1
(S,G) Packets
E0
rtr-a
E0
E0
rtr-b
rtr-c
E1
E1
(*, (*, 224.2.127.254), 224.2.127.254), 00:04:10/00:00:00, 00:04:10/00:00:00, RP RP 0.0.0.0, 0.0.0.0, flags: flags: DD Incoming Incoming interface: interface: Null, Null, RPF RPF nbr nbr 0.0.0.0 0.0.0.0 Outgoing interface list: Outgoing interface list: Ethernet0, Ethernet0, Forward/Dense, Forward/Dense, 00:04:10/00:00:00 00:04:10/00:00:00 (128.9.160.43/32, (128.9.160.43/32, 224.2.127.254), 224.2.127.254), 00:04:10/00:02:39, 00:04:10/00:02:39, flags: flags: PT PT Incoming Incoming interface: interface: Ethernet0, Ethernet0, RPF RPF nbr nbr 198.92.2.1 198.92.2.1 Outgoing Outgoing interface interface list: list: Null Null
Beginning State in “rtr-c” 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
35
PIM DM Grafting S0 S1
(S,G) Packets 3 PIM Graft-ACK
E0
rtr-a 4
E0 2 PIM Graft
E0
rtr-b
rtr-c
E1
E1 IGMP Join
1
Rcvr A
1•
“Rcvr A” wishes to receive group G traffic. Sends IGMP Join for G.
2•
“rtr-b” sends PIM Graft for Group (S,G).
3•
“rtr-a” acknowledges with a PIM Graft-Ack.
4•
“rtr-a” begins forwarding traffic for (S,G).
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
36
PIM DM Grafting S0 S1
(S,G) Packets
E0
rtr-a
E0
State in “rtr-a” after Grafting
E0
rtr-b E1
rtr-c E1
(*, 224.2.127.254), 00:04:10/00:00:00, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial0, Forward/Dense, 00:04:10/00:00:00 Serial1, Forward/Dense, 00:04:10/00:00:00 Ethernet0, Forward/Dense, 00:04:10/00:00:00 (128.9.160.43/32, 224.2.127.254), 00:04:10/00:02:39, flags: T Incoming interface: Serial0, RPF nbr 198.92.1.129 Outgoing interface list: Ethernet0, Forward/Dense, 00:00:25/00:00:00 Serial1, Forward/Dense, 00:04:10/00:00:00 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
37
PIM-DM Protocol Mechanics
• • • • • •
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
PIM Neighbor Discovery PIM DM State PIM DM Forwarding PIM DM Pruning PIM DM Grafting PIM Assert Mechanism
38
PIM Assert Mechanism Incoming Multicast Packet (Successful RPF Check)
S0
S0
2
Assert
1
E0
1
E0
2 Assert
Routers receive packet on an interface in their “oilist”!! – Only one router should continue sending to avoid duplicate packets.
2
Routers send “PIM Assert” messages – Compare distance and metric values – Router with best route to source wins – If metric and distance equal, highest IP adr wins
2215 1195_05_2000_c2
– Losing router stops sending (prunes interface) © 2000, Cisco Systems, Inc.
39
PIM-SM Overview • Explicit join model –Receivers join to the Rendezvous Point (RP) –Senders register with the RP –Data flows down the shared tree and goes only to places that need the data from the sources –Last hop routers can join source tree if the data rate warrants by sending joins to the source
• RPF check depends on tree type –For shared trees, uses RP address –For source trees, uses Source address 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
40
PIM-SM Overview
• Only one RP is chosen for a particular group • RP statically configured or dynamically learned (Auto-RP, PIM v2 candidate RP advertisements) • Data forwarded based on the source state (S, G) if it exists, otherwise use the shared state (*, G) • RFC 2326 - “PIM Sparse Mode Protocol Spec”
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
41
PIM-SM Shared Tree Join
RP
(*, G) State created only along the Shared Tree.
(*, G) Join Shared Tree Receiver
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
42
PIM-SM Sender Registration
RP
Source
(S, G) State created only along the Source Tree.
Traffic Flow Shared Tree Source Tree (S, G) Register
(unicast)
Receiver
(S, G) Join 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
43
PIM-SM Sender Registration
RP
Source
(S, G) traffic begins arriving at the RP via the Source tree.
Traffic Flow Shared Tree Source Tree (S, G) Register (S, G) Register-Stop 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
(unicast)
Receiver
RP sends a Register-Stop back to the first-hop router to stop the Register process.
(unicast)
44
PIM-SM Sender Registration
RP
Source
Traffic Flow
Source traffic flows natively along SPT to RP.
Shared Tree Source Tree
From RP, traffic flows down the Shared Tree to Receivers. Receiver
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
45
PIM-SM SPT Switchover
RP
Source
Last-hop router joins the Source Tree.
Traffic Flow Shared Tree Source Tree (S, G) Join
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
Additional (S, G) State is created along new part of the Source Tree. Receiver
46
PIM-SM SPT Switchover
RP
Source
Traffic Flow Shared Tree Source Tree (S, G)RP-bit Prune
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
Traffic begins flowing down the new branch of the Source Tree. Receiver
Additional (S, G) State is created along along the Shared Tree to prune off (S, G) traffic.
47
PIM-SM SPT Switchover
RP
Source
(S, G) Traffic flow is now pruned off of the Shared Tree and is flowing to the Receiver via the Source Tree.
Traffic Flow Shared Tree Source Tree Receiver
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
48
PIM-SM SPT Switchover
RP
Source
(S, G) traffic flow is no longer needed by the RP so it Prunes the flow of (S, G) traffic.
Traffic Flow Shared Tree Source Tree (S, G) Prune
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
Receiver
49
PIM-SM SPT Switchover
RP
Source
(S, G) Traffic flow is now only flowing to the Receiver via a single branch of the Source Tree.
Traffic Flow Shared Tree Source Tree Receiver
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
50
PIM-SM Protocol Mechanics
• • • • • •
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
PIM SM State PIM SM Forwarding PIM SM Joining PIM SM Registering PIM SM SPT-Switchover PIM SM Pruning
51
PIM-SM State Example
sj-mbone> show ip mroute IP Multicast Routing Table Flags: D - Dense, S - Sparse, C - Connected, L - Local, P - Pruned R - RP-bit set, F - Register flag, T - SPT-bit set, J - Join SPT M - MSDP created entry, X - Proxy Join Timer Running A - Advertised via MSDP Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode (*, 224.1.1.1), 00:13:28/00:02:59, RP 10.1.5.1, flags: SCJ Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:13:28/00:02:32 Serial0, Forward/Sparse, 00:4:52/00:02:08 (171.68.37.121/32, 224.1.1.1), Incoming interface: Serial0, Outgoing interface list: Ethernet1, Forward/Sparse, Ethernet0, forward/Sparse,
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
00:01:43/00:02:59, flags: CJT RPF nbr 192.10.2.1 00:01:43/00:02:11 00:01:43/00:02:11
52
PIM-SM (*,G) State Rules • (*,G) creation – Upon receipt of a (*,G) Join or – Automatically if (S,G) must be created
• (*,G) reflects default group forwarding – IIF = RPF interface toward RP – OIL = interfaces • that received a (*,G) Join or • with directly connected hosts or • manually configured
• (*,G) deletion 2215 1195_05_2000_c2
– When OIL = NULL and – no child (S,G) state exists © 2000, Cisco Systems, Inc.
53
PIM-SM (S,G) State Rules • (S,G) creation – By receipt of (S,G) Join or Prune or – By “Register” process – Parent (*,G) created (if doesn’t exist)
• (S,G) reflects forwarding of “S” to “G” – IIF = RPF Interface normally toward source • RPF toward RP if “RP-bit” set
– OIL = Initially, copy of (*,G) OIL minus IIF
• (S,G) deletion – By normal (S,G) entry timeout 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
54
PIM-SM OIL Rules
• Interfaces in OIL added – By receipt of Join message • Intfc’s added to (*,G) are added to all (S,G)’s
• Interfaces in OIL removed – By receipt of Prune message • Intfc’s removed from (*,G) are removed from all (S,G)’s
– Interface Expire timer counts down to zero • Timer reset (to 3 min.) by receipt of periodic Join or • By IGMP membership report
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
55
PIM-SM State Flags
• • • • •
S C L P T
= Sparse Mode = Directly Connected Host = Local (Router is member) = Pruned (All intfcs in OIL = Prune) = Forwarding via SPT
– Indicates at least one packet was forwarded
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
56
PIM-SM State Flags (Cont.) • J = Join SPT – In (*, G) entry •Indicates SPT-Threshold is being exceeded •Next (S,G) received will trigger join of SPT
– In (S, G) entry •Indicates SPT joined due to SPT-Threshold •If rate < SPT-Threshold, switch back to Shared Tree
• F = Register – In (S,G) entry •Indicates the router is a first-hop router and there is a directly connected source or proxy registers are being sent.
– In (*, G) entry •Set when “F” set in at least one child (S,G) 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
57
PIM-SM State Flags (Cont.)
• R = RP bit – – – –
(S, G) entries only Set by (S,G)RP-bit Prune/Join Indicates info is applicable to Shared Tree Used to prune (S,G) traffic from Shared Tree • Initiated by Last-hop router after switch to SPT
– Modifies (S,G) forwarding behavior • IIF = RPF toward RP (I.e. up the Shared Tree) • OIL = Pruned accordingly
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
58
PIM-SM Protocol Mechanics
• • • • • •
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
PIM SM State PIM SM Forwarding PIM SM Joining PIM SM Registering PIM SM SPT-Switchover PIM SM Pruning
59
PIM-SM Forwarding Rules
• Use longest match entry – Use (S, G) entry if exists – Otherwise, use (*, G) entry
• RPF check first – If Packet didn’t arrive via IIF, drop it.
• Forward Packet (if RPF succeeded) – Send out all “unpruned” interfaces in OIL
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
60
PIM SM Forwarding to RP (10.1.5.1) S0
Shared Tree Multicast Packets (128.9.160.1, 224.1.1.1)
S1
E0
Source Tree (SPT) Multicast Packets (128.9.160.43, 224.1.1.1)
rtr-a
E0 E1 Rcvr A (*, 224.1.1.1)
• Packets are “forwarded” out all interfaces in “oilist”. • PIM Sparse mode interfaces are placed on the “oilist” for a Multicast Group IF: – PIM neighbor Joins the group on this interface – Host on this interface has joined the group – Interface has been manually configured to join group. 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
61
PIM-SM Protocol Mechanics
• • • • • •
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
PIM SM State PIM SM Forwarding PIM SM Joining PIM SM Registering PIM SM SPT-Switchover PIM SM Pruning
62
PIM SM Joining
• Leaf routers send a (*,G) Join to toward RP – Joins sent hop-by-hop via unicast path toward RP
• Each router along path creates (*,G) state – IF no (*,G) state, create it & send a Join toward RP – ELSE Join process complete. Reached the (*,G) tree.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
63
PIM SM Joining S1
To RP (10.1.5.1)
rtr-a
S0
10.1.4.2
E0
10.1.2.1
Shared Tree 10.1.2.2
1 IGMP Join
E1
E0
rtr-b
Rcvr A
1•
“Rcvr A” wishes to receive group G traffic. Sends IGMP Join for G.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
64
PIM SM Joining S1
To RP (10.1.5.1)
rtr-a
S0
10.1.4.2
E0
10.1.2.1
Shared Tree 10.1.2.2
E1
E0
rtr-b
Rcvr A
(*, (*, 224.1.1.1), 224.1.1.1), 00:00:05/00:02:54, 00:00:05/00:02:54, RP RP 10.1.5.1, 10.1.5.1, flags: flags: SC SC Incoming Incoming interface: interface: Ethernet0, Ethernet0, RPF RPF nbr nbr 10.1.2.1 10.1.2.1 Outgoing Outgoing interface interface list: list: Ethernet1, Ethernet1, Forward/Sparse, Forward/Sparse, 00:00:05/00:02:54 00:00:05/00:02:54
“rtr-b” creates (*, 224.1.1.1) state 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
65
PIM SM Joining S1
To RP (10.1.5.1)
rtr-a
S0
10.1.4.2
E0
10.1.2.1
Shared Tree 10.1.2.2
E0
2 PIM Join
E1
rtr-b
Rcvr A
1•
“Rcvr A” wishes to receive group G traffic. Sends IGMP Join for G.
2•
“rtr-b” sends (*,G) Join towards RP.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
66
PIM SM Joining S1
To RP (10.1.5.1)
rtr-a
S0
10.1.4.2
E0
10.1.2.1
Shared Tree 10.1.2.2
E1
E0
rtr-b
Rcvr A
(*, (*, 224.1.1.1), 224.1.1.1), 00:00:05/00:02:54, 00:00:05/00:02:54, RP RP 10.1.5.1, 10.1.5.1, flags: flags: SS Incoming Incoming interface: interface: Serial0, Serial0, RPF RPF nbr nbr 10.1.4.1 10.1.4.1 Outgoing interface list: Outgoing interface list: Ethernet0, Ethernet0, Forward/Sparse, Forward/Sparse, 00:00:05/00:02:54 00:00:05/00:02:54
“rtr-a” creates (*, 224.1.1.1) state.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
67
PIM SM Joining 4 Shared Tree S1
To RP (10.1.5.1) 3 PIM Join
rtr-a
S0
10.1.4.2
E0
10.1.2.1
Shared Tree 10.1.2.2
E0
E1
rtr-b
Rcvr A
1•
“Rcvr A” wishes to receive group G traffic. Sends IGMP Join for G.
2•
“rtr-b” sends (*,G) Join towards RP.
3•
“rtr-a” sends (*,G) Join towards RP.
4•
Shared tree is built all the way back to the RP.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
68
PIM-SM Protocol Mechanics
• • • • • •
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
PIM SM State PIM SM Forwarding PIM SM Joining PIM SM Registering PIM SM SPT-Switchover PIM SM Pruning
69
PIM SM Registering
• Senders begin sourcing Multicast Traffic – Senders don’t necessarily perform IGMP group joins.
• 1st-hop router unicasts “Registers” to RP – A Mcast packet is encapsulated in each Register msg – Registers messages follow unicast path to RP
• RP receives “Register” messages – De-encapsulates the Mcast packet inside Register msg – Forwards Mcast packet down Shared Tree – Sends (S,G) Join toward Source / 1st-Hop router to build an (S,G) SPT between Source and RP
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
70
PIM SM Registering
• 1st-hop router receives (S,G) Join – SPT between Source and RP now built. – Begins forwarding traffic down (S,G) SPT to RP – (S,G) Traffic temporarily flowing down 2 paths to RP
• RP receives traffic down native (S,G) SPT – Sends a “Register-Stop” msg to Source / 1st-Hop router.
• 1st-Hop router receives “Register-Stop” msg – Stops encapsulating traffic in “Register” messages – (S,G) Traffic now flowing down single SPT to RP
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
71
PIM SM Register Examples
• Receivers Join Group First • Source Registers First
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
72
PIM SM Registering Receiver Joins Group First
RP E0
rtr-a
S0
S0
S1
rtr-b
S3 S0
S1
rtr-c
Shared Tree
(*, 224.1.1.1), 00:00:03/00:02:56, RP 171.68.28.140, flags:S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Serial0, Forward/Sparse, 00:03:14/00:02:59 Serial1, Forward/Sparse, 00:03:14/00:02:59
State in “RP” before any source registers (with receivers on Shared Tree)
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
73
PIM SM Registering Receiver Joins Group First
RP E0
S0
rtr-a
S0
S1
rtr-b
S3 S0
S1
rtr-c
Shared Tree
rtr-b>sh rtr-b>sh ip ip mroute mroute 224.1.1.1 224.1.1.1 No No such such group group
State in “rtr-b” before any source registers (with receivers on Shared Tree)
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
74
PIM SM Registering Receiver Joins Group First
RP E0
S0
rtr-a
S0
S1
rtr-b
S3 S0
S1
rtr-c
Shared Tree
rtr-a>sh ip mroute 224.1.1.1 No such group.
State in “rtr-a” before any source registers (with receivers on Shared Tree)
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
75
PIM SM Registering Receiver Joins Group First (171.68.37.121, 224.1.1.1) Mcast Packets RP
1 Source 171.68.37.121
E0
rtr-a
S0
S0
S1
rtr-b
S3 S0
S1
rtr-c
Shared Tree
1•
“Source” begins sending group G traffic.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
76
PIM SM Registering Receiver Joins Group First 2
(171.68.37.121, 224.1.1.1) Mcast Packets
Register Msgs RP
Source 171.68.37.121
E0
rtr-a
S0
S0
S1
S3
rtr-b
S0
S1
rtr-c
Shared Tree (*, (*, 224.1.1.1), 224.1.1.1), 00:00:03/00:02:56, 00:00:03/00:02:56, RP RP 171.68.28.140, 171.68.28.140, flags: flags: SP SP Incoming Incoming interface: interface: Serial0, Serial0, RPF RPF nbr nbr 171.68.28.191, 171.68.28.191, Outgoing Outgoing interface interface list: list: Null Null (171.68.37.121/32, (171.68.37.121/32, 224.1.1.1), 224.1.1.1), 00:00:03/00:02:56, 00:00:03/00:02:56, flags: flags: FPT FPT Registering Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Outgoing Outgoing interface interface list: list: Null Null
“rtr-a” creates (S, G) state for source (After automatically creating a (*, G) entry) 1•
“Source” begins sending group G traffic. 2• “rtr-a” encapsulates packets in Registers; unicasts to RP.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
77
PIM SM Registering Receiver Joins Group First (171.68.37.121, 224.1.1.1) Mcast Packets
Source 171.68.37.121
E0
rtr-a
Register Msgs 171.68.28.139 S0
S0
S1
rtr-b
RP S3 S0
S1
rtr-c
3 (*, 224.1.1.1)
Shared Tree (*, 224.1.1.1), 00:09:21/00:02:38, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Serial0, Forward/Sparse, 00:09:21/00:02:38 Serial1, Forward/Sparse, 00:03:14/00:02:46
Mcast Traffic
(171.68.37.121, 224.1.1.1, 00:01:15/00:02:46, flags: Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list: Serial0, Forward/Sparse, 00:00:49/00:02:11 Serial1, Forward/Sparse, 00:00:49/00:02:11
“RP” processes Register; creates (S, G) state 3•
“rtr-c” (RP) de-encapsulates packets; forwards down Shared tree.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
78
PIM SM Registering Receiver Joins Group First (171.68.37.121, 224.1.1.1) Mcast Packets
Register Msgs
4 Join S0 Source 171.68.37.121
E0
rtr-a
S0
S0
S1
rtr-b
RP S0
S1
rtr-c
Shared Tree
4•
(*, 224.1.1.1) Mcast Traffic
RP sends (S,G) Join toward Source to build SPT.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
79
PIM SM Registering Receiver Joins Group First (171.68.37.121, 224.1.1.1) Mcast Packets
Register Msgs
5 Join S0 Source 171.68.37.121
E0
S0
rtr-a
RP
S0
S1
S0
rtr-b
S1
rtr-c
171.68.28.190 Shared Tree
(*, 224.1.1.1) Mcast Traffic
(*, (*, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, RP RP 171.68.28.140, 171.68.28.140, flags: flags: SP SP Incoming Incoming interface: interface: Serial1, Serial1, RPF RPF nbr nbr 171.68.28.140, 171.68.28.140, Outgoing interface list: Null Outgoing interface list: Null (171.68.37.121/32, (171.68.37.121/32, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, flags: flags: Incoming Incoming interface: interface: Serial0, Serial0, RPF RPF nbr nbr 171.68.28.190 171.68.28.190 Outgoing Outgoing interface interface list: list: Serial1, Forward/Sparse, Serial1, Forward/Sparse, 00:04:28/00:01:32 00:04:28/00:01:32
“rtr-b” processes Join, creates (S, G) state (After automatically creating the (*, G) entry) 4• 5•
RP sends (S,G) Join toward Source to build SPT. “rtr-b” sends (S,G) Join toward Source to continue building SPT.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
80
PIM SM Registering Receiver Joins Group First (171.68.37.121, 224.1.1.1) Mcast Packets
Register Msgs RP
Source 171.68.37.121
E0
rtr-a
S0
S0
S1
rtr-b
S0
S1
rtr-c
Shared Tree
(*, 224.1.1.1) Mcast Traffic
(*, (*, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, RP RP 171.68.28.140, 171.68.28.140, flags: flags: SP SP Incoming Incoming interface: interface: Serial0, Serial0, RPF RPF nbr nbr 171.68.28.191, 171.68.28.191, Outgoing Outgoing interface interface list: list: Null Null (171.68.37.121/32, (171.68.37.121/32, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, Incoming interface: Ethernet0, Incoming interface: Ethernet0, RPF RPF nbr nbr 0.0.0.0, 0.0.0.0, Outgoing Outgoing interface interface list: list: Serial0, Forward/Sparse, 00:04:28/00:01:32
flags: flags: FT FT Registering Registering
“rtr-a” processes the (S, G) Join; adds Serial0 to OIL
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
81
PIM SM Registering Receiver Joins Group First (171.68.37.121, 224.1.1.1) Mcast Packets
Register Msgs
6 Source 171.68.37.121
E0
rtr-a
S0
RP S0
S1
rtr-b
7 Register-Stop
6•
RP begins receiving (S,G) traffic down SPT.
7•
RP sends “Register-Stop” to “rtr-a”.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
S0
S1
rtr-c
Shared Tree
(*, 224.1.1.1) Mcast Traffic
82
PIM SM Registering Receiver Joins Group First (171.68.37.121, 224.1.1.1) Mcast Packets
8 Source 171.68.37.121
E0
rtr-a
S0
RP S0
S1
S3
rtr-b
S0
S1
rtr-c
Shared Tree
(*, 224.1.1.1) Mcast Traffic
(*, (*, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, RP RP 171.68.28.140, 171.68.28.140, flags: flags: SP SP Incoming Incoming interface: interface: Serial0, Serial0, RPF RPF nbr nbr 171.68.28.191, 171.68.28.191, Outgoing Outgoing interface interface list: list: Null Null (171.68.37.121/32, (171.68.37.121/32, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, Incoming interface: Ethernet0, Incoming interface: Ethernet0, RPF RPF nbr nbr 0.0.0.0, 0.0.0.0, Outgoing Outgoing interface interface list: list: Serial0, Serial0, Forward/Sparse, Forward/Sparse, 00:04:28/00:01:32 00:04:28/00:01:32
flags: flags: FT FT Registering Registering
“rtr-a” stops sending Register messages (Final State in “rtr-a”) 8•
(S,G) Traffic now flowing down a single path (SPT) to RP.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
83
PIM SM Registering Receiver Joins Group First (171.68.37.121, 224.1.1.1) Mcast Packets RP Source 171.68.37.121
E0
S0
rtr-a
S0
S1
rtr-b
S0
S1
rtr-c
Shared Tree
(*, 224.1.1.1) Mcast Traffic
(*, (*, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, RP RP 171.68.28.140, 171.68.28.140, flags: flags: SP SP Incoming Incoming interface: interface: Serial1, Serial1, RPF RPF nbr nbr 171.68.28.140, 171.68.28.140, Outgoing interface list: Null Outgoing interface list: Null (171.68.37.121/32, (171.68.37.121/32, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, flags: flags: TT Incoming Incoming interface: interface: Serial0, Serial0, RPF RPF nbr nbr 171.68.28.190 171.68.28.190 Outgoing Outgoing interface interface list: list: Serial1, Forward/Sparse, Serial1, Forward/Sparse, 00:04:28/00:01:32 00:04:28/00:01:32
Final state in “rtr-b”
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
84
PIM SM Registering Receiver Joins Group First (171.68.37.121, 224.1.1.1) Mcast Packets
171.68.28.139 RP
Source 171.68.37.121
E0
rtr-a
S0
S0
S1
rtr-b
S3 S0
S1
rtr-c
Shared Tree (*, 224.1.1.1), 00:09:21/00:02:38, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Serial0, Forward/Sparse, 00:09:21/00:02:38 Serial1, Forward/Sparse, 00:03:14/00:02:46
(*, 224.1.1.1) Mcast Traffic
(171.68.37.121, 224.1.1.1, 00:01:15/00:02:46, flags: T Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list: Serial0, Forward/Sparse, 00:00:49/00:02:11 Serial1, Forward/Sparse, 00:00:49/00:02:11
Final state in the “RP” (with receivers on Shared Tree) 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
85
PIM SM Register Examples
• Receivers Join Group First • Source Registers First
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
86
PIM SM Registering Source Registers First
RP E0
S0
S0
rtr-a
S1
rtr-b
S3 S0
S1
rtr-c
rtr-c>show rtr-c>show ip ip mroute mroute 224.1.1.1 224.1.1.1 Group Group 224.1.1.1 224.1.1.1 not not found. found.
State in “RP” before Registering (without receivers on Shared Tree)
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
87
PIM SM Registering Source Registers First
RP E0
S0
rtr-a
S0
S1
rtr-b
S3 S0
S1
rtr-c
rtr-b>show rtr-b>show ip ip mroute mroute 224.1.1.1 224.1.1.1 Group Group 224.1.1.1 224.1.1.1 not not found. found.
State in “rtr-b” before any source registers (with receivers on Shared Tree)
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
88
PIM SM Registering Source Registers First
RP E0
S0
rtr-a
S0
S1
rtr-b
S3 S0
S1
rtr-c
rtr-a>show ip mroute 224.1.1.1 Group 224.1.1.1 not found.
State in “rtr-a” before any source registers (with receivers on Shared Tree)
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
89
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets RP
1 Source 171.68.37.121
1•
E0
rtr-a
S0
S0
S1
rtr-b
S3 S0
S1
rtr-c
“Source” begins sending group G traffic.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
90
PIM SM Registering Source Registers First 2
(171.68.37.121, 224.1.1.1) Mcast Packets
Register Msgs RP
Source 171.68.37.121
E0
rtr-a
S0
S0
S1
S3
rtr-b
S0
S1
rtr-c
(*, (*, 224.1.1.1), 224.1.1.1), 00:00:03/00:02:56, 00:00:03/00:02:56, RP RP 171.68.28.140, 171.68.28.140, flags: flags: SP SP Incoming Incoming interface: interface: Serial0, Serial0, RPF RPF nbr nbr 171.68.28.191, 171.68.28.191, Outgoing Outgoing interface interface list: list: Null Null (171.68.37.121/32, (171.68.37.121/32, 224.1.1.1), 224.1.1.1), 00:00:03/00:02:56, 00:00:03/00:02:56, flags: flags: FPT FPT Registering Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Incoming interface: Ethernet0, RPF nbr 0.0.0.0, Outgoing Outgoing interface interface list: list: Null Null
“rtr-a” creates (S, G) state for source (After automatically creating a (*, G) entry) 1•
“Source” begins sending group G traffic. 2• “rtr-a” encapsulates packets in Registers; unicasts to RP.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
91
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets
Source 171.68.37.121
E0
rtr-a
Register Msgs 171.68.28.139 S0
S0
S1
RP
3
S3
rtr-b
S0
S1
rtr-c
(*, 224.1.1.1), 00:01:15/00:01:45, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Null (171.68.37.121, 224.1.1.1), 00:01:15/00:01:45, flags: P Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list: Null
“RP” processes Register; creates (S, G) state (After automatically creating the (*, G) entry) 3•
“rtr-c” (RP) has no receivers on Shared Tree; discards packet.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
92
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets
Register Msgs RP
Source 171.68.37.121
E0
rtr-a
S0
S0
S1
rtr-b
S3 S0
S1
rtr-c
Register-Stop 4
3•
“rtr-c” (RP) has no receivers on Shared Tree; discards packet. 4• RP sends “Register-Stop” to “rtr-a”.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
93
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets RP Source 171.68.37.121
E0
rtr-a
S0
5
S0
S1
rtr-b
S3 S0
S1
rtr-c
3•
“rtr-c” (RP) has no receivers on Shared Tree; discards packet. 4• RP sends “Register-Stop” to “rtr-a”. 5• “rtr-a” stops encapsulating traffic in Register Messages; 2215 drops packets from Source. 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
94
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets RP Source 171.68.37.121
E0
S0
S0
rtr-a
(*, (*, 224.1.1.1), 224.1.1.1), 00:01:28/00:01:32, 00:01:28/00:01:32, Incoming interface: Incoming interface: Serial0, Serial0, RPF RPF Outgoing interface list: Null Outgoing interface list: Null
S1
S3
rtr-b
S0
S1
rtr-c
RP RP 171.68.28.140, 171.68.28.140, flags: flags: SP SP nbr 171.68.28.191, nbr 171.68.28.191,
(171.68.37.121/32, (171.68.37.121/32, 224.1.1.1), 224.1.1.1), 00:01:28/00:01:32, 00:01:28/00:01:32, flags: flags: FPT FPT Incoming Incoming interface: interface: Ethernet0, Ethernet0, RPF RPF nbr nbr 0.0.0.0 0.0.0.0 Outgoing Outgoing interface interface list: list: Null Null
State in “rtr-a” after Registering (without receivers on Shared Tree) 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
95
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets RP Source 171.68.37.121
E0
S0
rtr-a
S0
S1
rtr-b
S3 S0
S1
rtr-c
rtr-b>show rtr-b>show ip ip mroute mroute 224.1.1.1 224.1.1.1 Group Group 224.1.1.1 224.1.1.1 not not found. found.
State in “rtr-b” after “rtr-a” Registers (without receivers on Shared Tree)
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
96
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets
171.68.28.139 RP
Source 171.68.37.121
E0
rtr-a
S0
S0
S1
rtr-b
S3 S0
S1
rtr-c
(*, (*, 224.1.1.1), 224.1.1.1), 00:01:15/00:01:45, 00:01:15/00:01:45, RP RP 171.68.28.140, 171.68.28.140, flags: flags: SS Incoming Incoming interface: interface: Null, Null, RPF RPF nbr nbr 0.0.0.0, 0.0.0.0, Outgoing Outgoing interface interface list: list: Null Null (171.68.37.121, (171.68.37.121, 224.1.1.1), 224.1.1.1), 00:01:15/00:01:45, 00:01:15/00:01:45, flags: flags: PP Incoming Incoming interface: interface: Serial3, Serial3, RPF RPF nbr nbr 171.68.28.139, 171.68.28.139, Outgoing Outgoing interface interface list: list: Null Null
State in “RP” after “rtr-a” Registers (without receivers on Shared Tree)
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
97
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets RP Source 171.68.37.121
E0
rtr-a
S0
S0
S1
rtr-b
S3 S0
(*, G) Join
S1
rtr-c
6
Receivers begin joining the Shared Tree
6•
RP (“rtr-c”) receives (*, G) Join from a receiver on Shared Tree.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
98
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets Join 7 Source 171.68.37.121
E0
rtr-a
S0
S0
S1
RP
S3
rtr-b
S0
S1
rtr-c
(*, 224.1.1.1), 00:09:21/00:02:38, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Serial1, Forward/Sparse, 00:00:14/00:02:46 (171.68.37.121/32, 224.1.1.1, 00:01:15/00:02:46, flags: T Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list: Serial1, Forward/Sparse, 00:00:14/00:02:46
“RP” processes (*,G) Join (Adds Serial1 to Outgoing Interface Lists) 7•
RP sends (S,G) Joins for all known Sources in Group.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
99
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets Join 7
8 Join S0 Source 171.68.37.121
E0
S0
rtr-a
S0
S1
RP
S3
rtr-b
S0
S1
rtr-c
171.68.28.190
(*, (*, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, RP RP 171.68.28.140, 171.68.28.140, flags: flags: SP SP Incoming Incoming interface: interface: Serial1, Serial1, RPF RPF nbr nbr 171.68.28.140, 171.68.28.140, Outgoing interface list: Null Outgoing interface list: Null (171.68.37.121/32, (171.68.37.121/32, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, flags: flags: Incoming Incoming interface: interface: Serial0, Serial0, RPF RPF nbr nbr 171.68.28.190 171.68.28.190 Outgoing Outgoing interface interface list: list: Serial1, Forward/Sparse, Serial1, Forward/Sparse, 00:04:28/00:01:32 00:04:28/00:01:32
“rtr-b” processes Join, creates (S, G) state (After automatically creating the (*, G) entry) 7• 8•
RP sends (S,G) Joins for all known Sources in Group. “rtr-b” sends (S,G) Join toward Source to continue building SPT.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
100
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets
9 Source 171.68.37.121
E0
rtr-a
S0
RP S0
S1
S3
rtr-b
S0
S1
rtr-c
10 (*, 224.1.1.1) Mcast Traffic
(*, (*, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, RP RP 171.68.28.140, 171.68.28.140, flags: flags: SP SP Incoming Incoming interface: interface: Serial0, Serial0, RPF RPF nbr nbr 171.68.28.191, 171.68.28.191, Outgoing Outgoing interface interface list: list: Null Null (171.68.37.121/32, (171.68.37.121/32, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, Incoming interface: Ethernet0, Incoming interface: Ethernet0, RPF RPF nbr nbr 0.0.0.0, 0.0.0.0, Outgoing Outgoing interface interface list: list: Serial0, Forward/Sparse, 00:04:28/00:01:32
flags: flags: FT FT Registering Registering
“rtr-a” processes the (S, G) Join; adds Serial0 to OIL •9 RP begins receiving (S,G) traffic down SPT. 10 •
RP forwards (S,G) traffic down Shared Tree to receivers.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
101
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets RP Source 171.68.37.121
E0
S0
S0
rtr-a
S1
rtr-b
S3 S0
S1
rtr-c (*, 224.1.1.1) Mcast Traffic
171.68.28.190
(*, (*, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, Incoming interface: Incoming interface: Serial1, Serial1, RPF RPF Outgoing Outgoing interface interface list: list: Null Null
RP RP 171.68.28.140, 171.68.28.140, flags: flags: SP SP nbr 171.68.28.140, nbr 171.68.28.140,
(171.68.37.121/32, (171.68.37.121/32, 224.1.1.1), 224.1.1.1), 00:04:28/00:01:32, 00:04:28/00:01:32, flags: flags: TT Incoming Incoming interface: interface: Serial0, Serial0, RPF RPF nbr nbr 171.68.28.190 171.68.28.190 Outgoing interface list: Outgoing interface list: Serial1, Serial1, Forward/Sparse, Forward/Sparse, 00:04:28/00:01:32 00:04:28/00:01:32
Final state in “rtr-b” after Receivers Join 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
102
PIM SM Registering Source Registers First (171.68.37.121, 224.1.1.1) Mcast Packets
171.68.28.139 RP
Source 171.68.37.121
E0
rtr-a
S0
S0
S1
rtr-b
S3 S0
S1
rtr-c (*, 224.1.1.1) Mcast Traffic
(*, 224.1.1.1), 00:09:21/00:02:38, RP 171.68.28.140, flags: S Incoming interface: Null, RPF nbr 0.0.0.0, Outgoing interface list: Serial1, Forward/Sparse, 00:03:14/00:02:46 (171.68.37.121/32, 224.1.1.1, 00:01:15/00:02:46, flags: T Incoming interface: Serial3, RPF nbr 171.68.28.139, Outgoing interface list: Serial1, Forward/Sparse, 00:00:49/00:02:11
Final state in “RP” after Receivers Join
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
103
PIM-SM Protocol Mechanics
• • • • • •
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
PIM SM State PIM SM Forwarding PIM SM Joining PIM SM Registering PIM SM SPT-Switchover PIM SM Pruning
104
PIM SM SPT-Switchover • SPT Thresholds may be set for any Group – Access Lists may be used to specify which Groups – Default Threshold = 0kbps (I.e. immediately join SPT) – Threshold = “infinity” means “never join SPT”.
• Threshold triggers Join of Source Tree – Sends an (S,G) Join up SPT for next “S” in “G” packet received.
• Pros – Reduces Network Latency
• Cons – More (S,G) state must be stored in the routers. 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
105
PIM SM SPT-Switchover SPT-Switchover Mechanism
Once Once each each second second –– Compute Compute new new (*, (*, G) G) traffic traffic rate rate –– IfIf threshold threshold exceeded, exceeded, set set “J” “J” flag flag in in (*, (*, G) G) For For each each (S (Sii ,, G) G) packet packet received: received: –– IfIf “J” “J” flag flag set set in in (*, (*, G) G) •• •• •• 2215 1195_05_2000_c2
Join Join SPT SPT for for (S (Sii,, G) G) Mark Mark (S (Sii,, G) G) entry entry with with “J” “J” flag flag Clear Clear “J” “J” flag flag in in (*,G) (*,G)
© 2000, Cisco Systems, Inc.
106
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
S1
To Source “Si”
S0
10.1.4.2
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0
rtr-b
Rcvr A
(Si, G) Traffic Flow Shared (RPT) Tree SPT Tree
Rcvr B (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.5.1, Outgoing interface list: Serial1, Forward/Sparse, 00:01:43/00:02:11 Serial2, Forward/Sparse, 00:00:32/00:02:28
State in “rtr-c” before switch 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
107
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
To Source “Si”
S1
S0
10.1.4.2
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0
rtr-b
(Si, G) Traffic Flow Shared (RPT) Tree
Rcvr A
SPT Tree
Rcvr B (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC Incoming interface: Serial0, RPF nbr 10.1.4.8, Outgoing interface list: Ethernet0, Forward/Sparse, 00:01:43/00:02:11
State in “rtr-d” before switch 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
108
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
To Source “Si”
S1
S0
10.1.4.2
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0
rtr-b
(Si, G) Traffic Flow Shared (RPT) Tree
Rcvr A
SPT Tree
Rcvr B (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.4.1, Outgoing interface list: Ethernet0, Forward/Sparse, 00:01:43/00:02:11
State in “rtr-a” before switch 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
109
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
S1
To Source “Si”
S0
10.1.4.2
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0
rtr-b
Rcvr A
(Si, G) Traffic Flow Shared (RPT) Tree SPT Tree
Rcvr B (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11
State in “rtr-b” before switch 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
110
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
To Source “Si”
S1
S0
10.1.4.2
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0
1 Group “G” rate > Threshold
rtr-b
(Si, G) Traffic Flow Shared (RPT) Tree
Rcvr A
SPT Tree
Rcvr B (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC J Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11
1 2
2
Group “G” rate exceeds SPT Threshold at “rtr-b”; Set J Flag in (*, G) and wait for next (Si,G) packet.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
111
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
S1
To Source “Si”
S0
10.1.4.2
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0
3
rtr-b
Rcvr A
(Si, G) Traffic Flow Shared (RPT) Tree SPT Tree
Rcvr B (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC J Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11
3 4
4
(Si,G) packet arrives down Shared tree. Clear J Flag in the (*,G) & create (Si,G) state.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
112
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
To Source “Si”
S1
S0
10.1.4.2
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0
rtr-b
(Si, G) Traffic Flow Shared (RPT) Tree
Rcvr A Rcvr B (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: SC Incoming interface: Ethernet0, RPF nbr 10.1.2.1, Outgoing interface list: Ethernet1, Forward/Sparse, 00:01:43/00:02:11
SPT Tree
J Flag indicates (S, G) created by exceeding the SPT-threshold
(171.68.37.121/32, 224.1.1.1), 00:13:28/00:02:53, flags: CJT Incoming interface: Ethernet0, RPF nbr 10.1.2.1 Outgoing interface list: Ethernet1, Forward/Sparse, 00:13:28/00:02:53 2215 1195_05_2000_c2
New State in “rtr-b” © 2000, Cisco Systems, Inc.
113
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
To Source “Si”
S1
S0
10.1.4.2
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0 Rcvr A
5 (Si,G) Join
rtr-b
(Si, G) Traffic Flow Shared (RPT) Tree SPT Tree
Rcvr B
5
Send (Si,G) Join towards Si .
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
114
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
S1
To Source “Si”
S0
10.1.4.2
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0
rtr-b
(Si, G) Traffic Flow Shared (RPT) Tree
Rcvr A
SPT Tree
Rcvr B (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.4.1, Outgoing interface list: Ethernet0, Forward/Sparse, 00:01:43/00:02:11 (171.68.37.121/32, 224.1.1.1), 00:13:28/00:02:53, flags: T Incoming interface: Serial1, RPF nbr 10.1.9.2 Outgoing interface list: Ethernet0, Forward/Sparse, 00:13:25/00:02:30
New state in “rtr-a” 2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
115
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
S1
S0
7
(Si,G)RP-bit Prune
S2
rtr-a
S1
6 (Si,G) Join
S0
10.1.4.2
To Source “Si”
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0
rtr-b
Rcvr A
(Si, G) Traffic Flow Shared (RPT) Tree SPT Tree
Rcvr B
6
“rtr-a” forwards (Si,G) Join toward Si.
7
SPT & RPT diverge, triggering (Si,G)RP-bit Prunes toward RP.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
116
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
S1
8 (S ,G) Traffic i
S0
10.1.4.2
To Source “Si”
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0
rtr-b
Rcvr A
(Si, G) Traffic Flow Shared (RPT) Tree SPT Tree
Rcvr B
8
(Si, G) traffic begins flowing down SPT tree.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
117
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
To Source “Si”
S1
S0
10.1.4.2
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0
rtr-b
(Si, G) Traffic Flow Shared (RPT) Tree
Rcvr A
SPT Tree
Rcvr B (*, 224.1.1.1), 00:01:43/00:02:13, RP 10.1.5.1, flags: S Incoming interface: Serial0, RPF nbr 10.1.5.1, Outgoing interface list: Serial1, Forward/Sparse, 00:01:43/00:02:11 Serial2, Forward/Sparse, 00:00:32/00:02:28 (171.68.37.121/32, 224.1.1.1), 00:13:28/00:02:53, flags: R Incoming interface: Serial0, RPF nbr 10.1.5.1 Outgoing interface list: Serial2, Forward/Sparse, 00:00:32/00:02:28
State in “rtr-c” after receiving the (Si, G) RP-bit Prune
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
118
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
9
S1
To Source “Si”
S0
10.1.4.2
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0 Rcvr A
rtr-b
(Si, G) Traffic Flow Shared (RPT) Tree SPT Tree
Rcvr B
•9 Unnecessary (Si, G) traffic is pruned from the Shared tree.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
119
PIM SM SPT-Switchover To RP (10.1.5.1)
rtr-c 10.1.4.1
rtr-a
S1
S0 S2
10
S1
To Source “Si”
S0
10.1.4.2
E0
10.1.2.1
S0
10.1.2.2
rtr-d
E0 E1
E0 Rcvr A
rtr-b
(Si, G) Traffic Flow Shared (RPT) Tree SPT Tree
Rcvr B
•9 Unnecessary (Si, G) traffic is pruned from the Shared tree. 10 •
(Si, G) traffic still flows via other branches of the Shared tree.
2215 1195_05_2000_c2
© 2000, Cisco Systems, Inc.
120
PIM SM SPT-Switchover Shared Tree Switchback Mechanism
•• Once Once each each second second when when the the (S,G) (S,G) state state is is older older than than 11 minute minute –– IfIf “J” “J” flag flag set set in in (Si (Si ,, G) G) entry entry •• ••
Compute Computenew new(Si (Si,,G) G)traffic trafficrate rate IfIfrate rate