Multicast over FR NBMA part3 – (PIM-NBMA mode and Auto-RP)
July 31, 2008 2 Comments
In this third part of the document “Multicast over FR NBMA” we will see how with an RP in one spoke network and MA in the central site we can defeat the issue of Dense mode and forwarding service groups 224.0.1.39 and 224.0.1.40 from one spoke to another.
Such placement of the MA in the central site as a proxy, is ideal to insure the communication between RP and all spokes through separated PVCs.
In this LAB the RP is configured in SpokeBnet (SpokeB site) and the mapping agent in Hubnet (central site).
Figure1: Lab topology

CONFIGURATION
!! All interface PIM mode on all routers are set to “sparse-dense”
| ip pim sparse-dense-mode |
Configure SpokeBnet to become an RP
| pokeBnet(config)#ip pim send-rp-announce Loopback0 scope 32 |
Configure Hubnet to become a mapping agent
| Hubnet(config)#ip pim send-rp-discovery loo0 scope 32 |
And the result across FR is as follow:
SpokeBnet:
| *Mar 1 01:02:03.083: Auto-RP(0): Build RP-Announce for 192.168.38.1, PIMv2/v1, ttl 32, ht 181 *Mar 1 01:02:03.087: Auto-RP(0): Build announce entry for (224.0.0.0/4) *Mar 1 01:02:03.091: Auto-RP(0): Send RP-Announce packet on FastEthernet0/0 *Mar 1 01:02:03.091: Auto-RP(0): Send RP-Announce packet on FastEthernet1/0 |
The RP announce itself to all mapping agents in the network (the multicast group 224.0.1.39)
HUBnet:
| Hubnet(config)# *Mar 1 01:01:01.487: Auto-RP(0): Received RP-announce, from 192.168.38.1, RP_cnt 1, ht 181 *Mar 1 01:01:01.491: Auto-RP(0): Added with (224.0.0.0/4, RP:192.168.38.1), PIMv2 v1 *Mar 1 01:01:01.523: Auto-RP(0): Build RP-Discovery packet *Mar 1 01:01:01.523: Auto-RP: Build mapping (224.0.0.0/4, RP:192.168.38.1), PIMv2 v1, *Mar 1 01:01:01.527: Auto-RP(0): Send RP-discovery packet on FastEthernet0/0 (1 RP entries) *Mar 1 01:01:01.535: Auto-RP(0): Send RP-discovery packet on FastEthernet1/0 (1 RP entries) *Mar 1 01:01:01.539: Auto-RP: Send RP-discovery packet on Loopback0 (1 RP entries) Hubnet(config)# |
The mapping agent has received RP-announces from RP, update its records and send the Group-to-RP information (in this case: RP is responsible for all multicast groups) to the destination multicast 224.0.1.40 (all PIM routers)
| SpokeA# *Mar 1 01:01:53.379: Auto-RP(0): Received RP-discovery, from 10.0.0.1, RP_cnt 1, ht 181 *Mar 1 01:01:53.383: Auto-RP(0): Update (224.0.0.0/4, RP:192.168.38.1), PIMv2 v1 SpokeA# |
| SpokeA#sh ip pim rp Group: 239.255.1.1, RP: 192.168.38.1, v2, v1, uptime 00:18:18, expires 00:02:32 SpokeA# |
As an example SpokeA across the HUB and FR cloud has received the Group-to-RP mapping information and updates its records.
| SpokeBnet#sh 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, 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 Outgoing interface flags: H – Hardware switched, A – Assert winner Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.255.1.1), 00:35:35/00:03:25, RP 192.168.38.1, flags: SJC Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet1/0, Forward/Sparse-Dense, 00:06:59/00:02:39 FastEthernet0/0, Forward/Sparse-Dense, 00:35:35/00:03:25
(10.10.10.1, 239.255.1.1), 00:03:43/00:02:47, flags: T Incoming interface: FastEthernet0/0, RPF nbr 192.168.39.1 Outgoing interface list: FastEthernet1/0, Forward/Sparse-Dense, 00:03:43/00:02:39
(*, 224.0.1.39), 00:41:36/stopped, RP 0.0.0.0, flags: D Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/0, Forward/Sparse-Dense, 00:41:36/00:00:00
(192.168.38.1, 224.0.1.39), 00:41:36/00:02:23, flags: T Incoming interface: Loopback0, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/0, Forward/Sparse-Dense, 00:41:37/00:00:00
(*, 224.0.1.40), 01:03:55/stopped, RP 0.0.0.0, flags: DCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: FastEthernet0/0, Forward/Sparse-Dense, 01:03:50/00:00:00 FastEthernet1/0, Forward/Sparse-Dense, 01:03:55/00:00:00
(10.0.0.1, 224.0.1.40), 00:35:36/00:02:07, flags: LT Incoming interface: FastEthernet0/0, RPF nbr 192.168.39.1 Outgoing interface list: FastEthernet1/0, Forward/Sparse-Dense, 00:35:36/00:00:00
SpokeBnet# |
(*, 239.255.1.1) – This is the shared tree built between the receiver and rooted at the RP (incoming interface=null), the flag “J” indicates that the traffic was switched from RPT to SPT.
(10.10.10.1, 239.255.1.1) – is the SPT in question receiving traffic through Fa0/0 and forwarding it to Fa1/0.
Both (*, 224.0.1.39) and (*.224.0.1.40) are flagged with “D” which means that they were multicasted using dense mode, this is the preliminary operation of auto-RP.
| SpokeBnet#mtrace 10.10.10.1 192.168.40.104 239.255.1.1 Type escape sequence to abort. Mtrace from 10.10.10.1 to 192.168.40.104 via group 239.255.1.1 From source (?) to destination (?) Querying full reverse path… 0 192.168.40.104 -1 192.168.40.1 PIM Reached RP/Core [10.10.10.0/24] -2 192.168.39.1 PIM [10.10.10.0/24] -3 192.168.100.1 PIM [10.10.10.0/24] -4 10.10.20.3 PIM [10.10.10.0/24] SpokeBnet# |
ClientB is receiving the multicast traffic as needed.
The following outputs show how SpokeA networks also receive perfectly the multicast traffic 239.255.1.1:
| SpokeA# mtrace 10.10.10.1 20.20.20.20 239.255.1.1 Type escape sequence to abort. Mtrace from 10.10.10.1 to 20.20.20.20 via group 239.255.1.1 From source (?) to destination (?) Querying full reverse path… 0 20.20.20.20 -1 20.20.20.20 PIM [10.10.10.0/24] -2 192.168.100.1 PIM [10.10.10.0/24] -3 10.10.20.3 PIM [10.10.10.0/24] -4 10.10.10.1 SpokeA# |
| SpokeA#sh 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, 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 Outgoing interface flags: H – Hardware switched, A – Assert winner Timers: Uptime/Expires Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 239.255.1.1), 00:59:33/stopped, RP 192.168.38.1, flags: SJCL Incoming interface: Serial0/0.201, RPF nbr 192.168.100.1 Outgoing interface list: Loopback0, Forward/Sparse-Dense, 00:59:33/00:02:01
(10.10.10.1, 239.255.1.1), 00:03:23/00:02:59, flags: LJT Incoming interface: Serial0/0.201, RPF nbr 192.168.100.1 Outgoing interface list: Loopback0, Forward/Sparse-Dense, 00:03:23/00:02:01
(*, 224.0.1.40), 00:59:33/stopped, RP 0.0.0.0, flags: DCL Incoming interface: Null, RPF nbr 0.0.0.0 Outgoing interface list: Serial0/0.201, Forward/Sparse-Dense, 00:59:33/00:00:00
(10.0.0.1, 224.0.1.40), 00:44:18/00:02:15, flags: PLTX Incoming interface: Serial0/0.201, RPF nbr 192.168.100.1 Outgoing interface list: Null
SpokeA# |
One more time Auto-RP in action: PIM has switched from RPT (*, 239.255.1.1) – “J” to SPT (10.10.10.1, 239.255.1.1) – “TJ”





