The documentation set for this product strives to use bias-free language. For the purposes of this documentation set, bias-free is defined as language that does not imply discrimination based on age, disability, gender, racial identity, ethnic identity, sexual orientation, socioeconomic status, and intersectionality. Exceptions may be present in the documentation due to language that is hardcoded in the user interfaces of the product software, language used based on RFP documentation, or language that is used by a referenced third-party product. Learn more about how Cisco is using Inclusive Language.
This document describes the operation of Protocol Independent Multicast (PIM) and Multicast Source Discovery Protocol (MSDP) with the use of a simple multicast topology. This is useful in order to understand the control-plane operation and sequence of events from when a source is registered to when the receiver starts to receive multicast packets.
Note: Devices used in this document run Cisco IOS® version 15.3M in a lab environment.
Autonomous System AS65000 on the left contains the multicast source. R1 acts as First Hop Router (FHR) and will register the source (10.1.1.1) with the PIM Rendezvous Point (PIM RP) R3. R7 and R3 are iBGP neighbors, and R3-R4 and R7-R6 are eBGP neighbors. R7 and R6 are configured to be the preferred path between the two autonomous systems. In AS64999, R5 has a locally attached receiver. R5 is configured to use R4 as PIM RP.
The video demonstrates what messages are sent and when. View this video and the read on for detailed descriptions at each step.
The source starts sending multicast data to 239.1.1.1. Upon receiving this data, R1 (who is the PIM Designated Router (DR) for the segment) will take the multicast packet, and build a PIM register message.
The register message is a unicast PIM Packet that is sent from R1 to R3 in order to inform the PIM RP of the source.
R1#
*May 21 14:54:08.461: PIM(0): Check RP 10.10.10.10 into the (*, 239.1.1.1) entry
*May 21 14:54:08.461: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message
for 239.1.1.1
*May 21 14:54:08.461: PIM(0): Adding register encap tunnel (Tunnel0) as forwarding
interface of (10.1.1.1, 239.1.1.1).
Now, the PIM RP, R3 receives the register message and responds with register-stop. R3 also sends an MSDP SA message to R4 via MSDP. The "A" Flag on the mroute means it’s a candidate for MSDP Advertisement. The "P" flag indicate that its pruned because you have no receiver or outgoing interface for the group.
R3#
*May 21 14:54:08.459: PIM(0): Received v2 Register on Ethernet1/0 from 10.0.12.1
*May 21 14:54:08.459: for 10.1.1.1, group 239.1.1.1
*May 21 14:54:08.459: PIM(0): Check RP 10.10.10.10 into the (*, 239.1.1.1) entry
*May 21 14:54:08.459: PIM(0): Adding register decap tunnel (Tunnel1) as accepting
interface of (*, 239.1.1.1).
*May 21 14:54:08.459: PIM(0): Adding register decap tunnel (Tunnel1) as accepting
interface of (10.1.1.1, 239.1.1.1).
*May 21 14:54:08.459: PIM(0): Send v2 Register-Stop to 10.0.12.1 for 10.1.1.1,
group 239.1.1.1
R3#show ip mroute 239.1.1.1
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.1.1.1), 00:00:33/stopped, RP 10.10.10.10, flags: SP
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list: Null
(10.1.1.1, 239.1.1.1), 00:00:33/00:02:26, flags: PA
Incoming interface: Ethernet1/0, RPF nbr 10.0.37.7
Outgoing interface list: Null
R3#show ip msdp sa-cache
MSDP Source-Active Cache - 0 entries
R3#
*May 21 14:54:58.511: MSDP(0): (10.1.1.1/32, 239.1.1.1)
Here, R1 receives the register-stop from R3.
*May 21 14:54:08.461: PIM(0): Received v2 Register-Stop on Ethernet0/0 from 10.10.10.10
*May 21 14:54:08.461: PIM(0): for source 10.1.1.1, group 239.1.1.1
*May 21 14:54:08.461: PIM(0): Removing register encap tunnel (Tunnel0) as forwarding
interface of (10.1.1.1, 239.1.1.1).
*May 21 14:54:08.461: PIM(0): Clear Registering flag to 10.10.10.10 for
(10.1.1.1/32, 239.1.1.1)
On R4, you can see there is no mroute state, but you do have an MSDP SA.
R4#show ip mroute
*May 21 14:54:58.591: MSDP(0): (10.1.1.1/32, 239.1.1.1), accepted
R4#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 224.0.1.40), 00:35:32/00:02:31, RP 10.20.20.20, flags: SJCL
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet1/0, Forward/Sparse, 00:23:16/00:02:36
Loopback0, Forward/Sparse, 00:35:31/00:02:31
R4#show ip msdp sa-cache
MSDP Source-Active Cache - 1 entries
(10.1.1.1, 239.1.1.1), RP 10.10.10.10, BGP/AS 65000, 00:01:00/00:05:49, Peer 10.33.33.33
R5 receives an IGMP join on its interface and builds a PIM join packet (*,G join). The join is sent to R6.
R5#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R5(config)#int e0/1
R5(config-if)#ip igmp join-group 239.1.1.1
R5(config-if)#
*May 21 14:56:43.234: PIM(0): Check RP 10.20.20.20 into the (*, 239.1.1.1) entry
*May 21 14:56:43.234: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message
for 239.1.1.1
*May 21 14:56:43.234: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message
for 239.1.1.1
*May 21 14:56:43.234: PIM(0): Insert (*,239.1.1.1) join in nbr 10.0.56.6's queue
*May 21 14:56:43.246: PIM(0): Building Join/Prune packet for nbr 10.0.56.6
*May 21 14:56:43.246: PIM(0): Adding v2 (10.20.20.20/32, 239.1.1.1), WC-bit, RPT-bit,
S-bit Join
*May 21 14:56:43.246: PIM(0): Send v2 join/prune to 10.0.56.6 (Ethernet0/0)
R6 receives the (*,G) PIM join from R5, and sends (*,G) join to R4 PIM RP.
R6#
*May 21 14:56:43.248: PIM(0): Received v2 Join/Prune on Ethernet2/0 from 10.0.56.5,
to us
*May 21 14:56:43.248: PIM(0): Join-list: (*, 239.1.1.1), RPT-bit set, WC-bit set,
S-bit set
*May 21 14:56:43.248: PIM(0): Check RP 10.20.20.20 into the (*, 239.1.1.1) entry
*May 21 14:56:43.248: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune
message for 239.1.1.1
*May 21 14:56:43.248: PIM(0): Add Ethernet2/0/10.0.56.5 to (*, 239.1.1.1), Forward
state, by PIM *G Join
*May 21 14:56:43.248: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune
message for 239.1.1.1
*May 21 14:56:43.248: PIM(0): Insert (*,239.1.1.1) join in nbr 10.0.46.4's queue
*May 21 14:56:43.248: PIM(0): Building Join/Prune packet for nbr 10.0.46.4
*May 21 14:56:43.248: PIM(0): Adding v2 (10.20.20.20/32, 239.1.1.1), WC-bit,
RPT-bit, S-bit Join
*May 21 14:56:43.248: PIM(0): Send v2 join/prune to 10.0.46.4 (Ethernet1/0)
R4 PIM RP receives the (*,G) join from R6. It then sends a (S,G) join toward the source 10.1.1.1, which goes back to R6.
R4#
*May 21 14:56:43.331: PIM(0): Received v2 Join/Prune on Ethernet1/0 from 10.0.46.6,
to us
*May 21 14:56:43.331: PIM(0): Join-list: (*, 239.1.1.1), RPT-bit set, WC-bit set,
S-bit set
*May 21 14:56:43.331: PIM(0): Check RP 10.20.20.20 into the (*, 239.1.1.1) entry
*May 21 14:56:43.331: PIM(0): Adding register decap tunnel (Tunnel1) as accepting
interface of (*, 239.1.1.1).
*May 21 14:56:43.331: PIM(0): Add Ethernet1/0/10.0.46.6 to (*, 239.1.1.1), Forward
state, by PIM *G Join
*May 21 14:56:43.331: PIM(0): Adding register decap tunnel (Tunnel1) as accepting
interface of (10.1.1.1, 239.1.1.1).
*May 21 14:56:43.331: PIM(0): Insert (10.1.1.1,239.1.1.1) join in nbr 10.0.46.6's queue
R4#
*May 21 14:56:43.331: PIM(0): Building Join/Prune packet for nbr 10.0.46.6
*May 21 14:56:43.331: PIM(0): Adding v2 (10.1.1.1/32, 239.1.1.1), S-bit Join
*May 21 14:56:43.331: PIM(0): Send v2 join/prune to 10.0.46.6 (Ethernet1/0)
R6 receives the (S,G) join from R4, and then sends an (S,G) join toward R7 in AS65000. When the (S,G) join is received from R4, R6 sends an (SGR) prune to R4 (STEP 9). This is done to avoid duplicate packets at R4.
*May 21 14:56:43.248: PIM(0): Received v2 Join/Prune on Ethernet1/0 from 10.0.46.4,
to us
*May 21 14:56:43.248: PIM(0): Join-list: (10.1.1.1/32, 239.1.1.1), S-bit set
*May 21 14:56:43.248: PIM(0): Add Ethernet1/0/10.0.46.4 to (10.1.1.1, 239.1.1.1),
Forward state, by PIM SG Join
*May 21 14:56:43.248: PIM(0): Insert (10.1.1.1,239.1.1.1) join in nbr 10.0.67.7's queue
R6#
*May 21 14:56:43.248: PIM(0): Building Join/Prune packet for nbr 10.0.67.7
*May 21 14:56:43.248: PIM(0): Adding v2 (10.1.1.1/32, 239.1.1.1), S-bit Join
*May 21 14:56:43.248: PIM(0): Send v2 join/prune to 10.0.67.7 (Ethernet0/0)
R6#
*May 21 14:56:44.476: PIM(0): Insert (10.1.1.1,239.1.1.1) sgr prune in nbr 10.0.46.4's
queue
*May 21 14:56:44.476: PIM(0): Building Join/Prune packet for nbr 10.0.46.4
*May 21 14:56:44.476: PIM(0): Adding v2 (10.1.1.1/32, 239.1.1.1), RPT-bit, S-bit Prune
*May 21 14:56:44.476: PIM(0): Send v2 join/prune to 10.0.46.4 (Ethernet1/0)
R7 receives the (S,G) join from R6, and then sends (S,G) join to R2 following the route to the source.
R7#
*May 21 14:56:43.241: PIM(0): Received v2 Join/Prune on Ethernet0/0 from 10.0.67.6,
to us
*May 21 14:56:43.241: PIM(0): Join-list: (10.1.1.1/32, 239.1.1.1), S-bit set
*May 21 14:56:43.241: PIM(0): Check RP 10.10.10.10 into the (*, 239.1.1.1) entry
*May 21 14:56:43.241: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune message
for 239.1.1.1
*May 21 14:56:43.241: PIM(0): Add Ethernet0/0/10.0.67.6 to (10.1.1.1, 239.1.1.1),
Forward state, by PIM SG Join
*May 21 14:56:43.241: PIM(0): Insert (10.1.1.1,239.1.1.1) join in nbr 10.0.27.2's queue
*May 21 14:56:43.241: PIM(0): Building Join/Prune packet for nbr 10.0.27.2
R7#
*May 21 14:56:43.241: PIM(0): Adding v2 (10.1.1.1/32, 239.1.1.1), S-bit Join
*May 21 14:56:43.241: PIM(0): Send v2 join/prune to 10.0.27.2 (Ethernet2/0)
R7#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.1.1.1), 00:03:33/stopped, RP 10.10.10.10, flags: SP
Incoming interface: Ethernet1/0, RPF nbr 10.0.37.3
Outgoing interface list: Null
(10.1.1.1, 239.1.1.1), 00:03:33/00:02:56, flags: T
Incoming interface: Ethernet2/0, RPF nbr 10.0.27.2
Outgoing interface list:
Ethernet0/0, Forward/Sparse, 00:03:33/00:02:53
R2 Receives the (S,G) join from R7, and then sends (S,G) join to R1 following the route to the source
R2#
*May 21 14:56:43.253: PIM(0): Received v2 Join/Prune on Ethernet1/0 from 10.0.27.7,
to us
*May 21 14:56:43.253: PIM(0): Join-list: (10.1.1.1/32, 239.1.1.1), S-bit set
*May 21 14:56:43.253: PIM(0): Check RP 10.10.10.10 into the (*, 239.1.1.1) entry
*May 21 14:56:43.253: PIM(0): Building Triggered (*,G) Join / (S,G,RP-bit) Prune
message for 239.1.1.1
*May 21 14:56:43.253: PIM(0): Add Ethernet1/0/10.0.27.7 to (10.1.1.1, 239.1.1.1),
Forward state, by PIM SG Join
*May 21 14:56:43.253: PIM(0): Insert (10.1.1.1,239.1.1.1) join in nbr 10.0.12.1's queue
*May 21 14:56:43.253: PIM(0): Building Join/Prune packet for nbr 10.0.12.1
R2#
*May 21 14:56:43.253: PIM(0): Adding v2 (10.1.1.1/32, 239.1.1.1), S-bit Join
*May 21 14:56:43.253: PIM(0): Send v2 join/prune to 10.0.12.1 (Ethernet0/0)
R2#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.1.1.1), 00:01:27/stopped, RP 10.10.10.10, flags: SP
Incoming interface: Ethernet1/0, RPF nbr 10.0.27.7
Outgoing interface list: Null
(10.1.1.1, 239.1.1.1), 00:01:27/00:01:32, flags: T
Incoming interface: Ethernet0/0, RPF nbr 10.0.12.1
Outgoing interface list:
Ethernet1/0, Forward/Sparse, 00:01:27/00:03:01
R1 receives the (S,G) join from R2 and adds the interface to the outgoing interface list
*May 21 14:56:43.261: PIM(0): Received v2 Join/Prune on Ethernet0/0 from 10.0.12.2,
to us
*May 21 14:56:43.261: PIM(0): Join-list: (10.1.1.1/32, 239.1.1.1), S-bit set
*May 21 14:56:43.261: PIM(0): Add Ethernet0/0/10.0.12.2 to (10.1.1.1, 239.1.1.1),
Forward state, by PIM SG Join
R1#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.1.1.1), 00:03:25/stopped, RP 10.10.10.10, flags: SPF
Incoming interface: Ethernet0/0, RPF nbr 10.0.12.2
Outgoing interface list: Null
(10.1.1.1, 239.1.1.1), 00:03:25/00:03:24, flags: FT
Incoming interface: Ethernet0/1, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet0/0, Forward/Sparse, 00:00:50/00:02:39
At this point, Data flows from the source all the way to the receiver. Upon receiving a data packet, R5 will switch from the (*,G) tree to the (S,G) tree.
R5#
*May 21 14:56:44.494: PIM(0): Insert (10.1.1.1,239.1.1.1) join in nbr 10.0.56.6's queue
*May 21 14:56:44.498: PIM(0): Building Join/Prune packet for nbr 10.0.56.6
*May 21 14:56:44.498: PIM(0): Adding v2 (10.1.1.1/32, 239.1.1.1), S-bit Join
*May 21 14:56:44.498: PIM(0): Send v2 join/prune to 10.0.56.6 (Ethernet0/0)
R5#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.1.1.1), 00:02:47/stopped, RP 10.20.20.20, flags: SJCL
Incoming interface: Ethernet0/0, RPF nbr 10.0.56.6
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:02:47/00:02:14
(10.1.1.1, 239.1.1.1), 00:02:45/00:00:14, flags: LJT
Incoming interface: Ethernet0/0, RPF nbr 10.0.56.6
Outgoing interface list:
Ethernet0/1, Forward/Sparse, 00:02:45/00:02:14
R6 receives the (S,G) Join from R5, and forward the data packets out of E2/0 to R5.
R6#
*May 21 14:56:44.496: PIM(0): Received v2 Join/Prune on Ethernet2/0 from 10.0.56.5,
to us
*May 21 14:56:44.496: PIM(0): Join-list: (10.1.1.1/32, 239.1.1.1), S-bit set
*May 21 14:56:44.496: PIM(0): Update Ethernet2/0/10.0.56.5 to (10.1.1.1, 239.1.1.1),
Forward state, by PIM SG Join
*May 21 14:56:49.056: PIM(0): Received v2 Join/Prune on Ethernet1/0 from 10.0.46.4,
to us
*May 21 14:56:49.056: PIM(0): Prune-list: (10.1.1.1/32, 239.1.1.1)
*May 21 14:56:49.056: PIM(0): Prune Ethernet1/0/239.1.1.1 from (10.1.1.1/32, 239.1.1.1)
- deleted
R6#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.1.1.1), 00:03:43/00:02:42, RP 10.20.20.20, flags: S
Incoming interface: Ethernet1/0, RPF nbr 10.0.46.4
Outgoing interface list:
Ethernet2/0, Forward/Sparse, 00:03:43/00:02:42
(10.1.1.1, 239.1.1.1), 00:03:43/00:02:46, flags: T
Incoming interface: Ethernet0/0, RPF nbr 10.0.67.7
Outgoing interface list:
Ethernet2/0, Forward/Sparse, 00:03:43/00:02:44
Finally, R4 PIM RP sends a (S,G) prune to R6. Notice the "M" Flag is present on the mroute (MSDP Created entry).
R4#
*May 21 14:56:44.559: PIM(0): Received v2 Join/Prune on Ethernet1/0 from 10.0.46.6,
to us
*May 21 14:56:44.559: PIM(0): Prune-list: (10.1.1.1/32, 239.1.1.1) RPT-bit set
*May 21 14:56:44.579: PIM(0): Removing register decap tunnel (Tunnel1) as accepting
interface of (10.1.1.1, 239.1.1.1).
*May 21 14:56:44.579: PIM(0): Installing Ethernet1/0 as accepting interface for
(10.1.1.1, 239.1.1.1).
*May 21 14:56:46.107: MSDP(0): (10.1.1.1/32, 239.1.1.1), accepted
*May 21 14:56:49.139: PIM(0): Insert (10.1.1.1,239.1.1.1) prune in nbr 10.0.46.6's queue
*May 21 14:56:49.139: PIM(0): Building Join/Prune packet for nbr 10.0.46.6
*May 21 14:56:49.139: PIM(0): Adding v2 (10.1.1.1/32, 239.1.1.1), S-bit Prune
*May 21 14:56:49.139: PIM(0): Send v2 join/prune to 10.0.46.6 (Ethernet1/0)
R4#show ip mroute
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry, E - Extranet,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.1.1.1), 00:02:15/00:03:12, RP 10.20.20.20, flags: S
Incoming interface: Null, RPF nbr 0.0.0.0
Outgoing interface list:
Ethernet1/0, Forward/Sparse, 00:02:15/00:03:12
(10.1.1.1, 239.1.1.1), 00:02:15/00:02:46, flags: PMT
Incoming interface: Ethernet1/0, RPF nbr 10.0.46.6
Outgoing interface list: Null
Here, the Outgoing Interface (OIF) E1/0 to R4 is removed from R6.
R6#
*May 21 14:56:49.056: PIM(0): Received v2 Join/Prune on Ethernet1/0 from 10.0.46.4,to us
*May 21 14:56:49.056: PIM(0): Prune-list: (10.1.1.1/32, 239.1.1.1)
*May 21 14:56:49.056: PIM(0): Prune Ethernet1/0/239.1.1.1 from (10.1.1.1/32, 239.1.1.1)
- deleted
R6#
MSDP provides a method for interconnecting different PIM Domains which each use their own RP. It is also commonly used to implement "Anycast RP" which was not covered in this document. MSDP and PIM work together to allow a receiver in one domain to receive traffic from a source in another domain. MSDP SA messages allow the other RP's to learn about sources in another PIM domain, while PIM is used to build the multicast tree.
For more detail on the protocol operations, refer to the RFC's mentioned in the related information.
https://tools.ietf.org/html/rfc4601