Multicast itself can be tricky enough, but the real fun starts when you try to run it over a network like frame-relay. One of the scenarios you can encounter is having a mapping agent behind one of the spokes. You will discover that only the hub router will receive the auto-rp information from the mapping agent, not the other spokes. Let me show you an example of what will go wrong and how to fix it. This is the topology we’ll be using:
Above, you see a frame-relay network with a hub (R1) and two spokes (R2 and R3). This network has been configured as frame-relay point-to-multipoint. Our routers will believe that we have full reachability, but in reality, there are only two PVCs, this is a classical hub and spoke topology. Each router has a loopback0 interface which is advertised in OSPF for reachability.
R1 will be configured as our RP (Rendezvous Point), and R2 will be our mapping agent. In this scenario, you will see that R3 will never receive the information from the mapping agent and won’t learn that R1 is the RP. Here is our configuration:
R1(config)#ip multicast-routing
R2(config)#ip multicast-routing
R3(config)#ip multicast-routing
First of all, we will enable multicast routing on all routers, if you forget, this multicast won’t work at all…
Since I am using some loopback interfaces, we’ll need some routing. I will use EIGRP to advertise all interfaces:
R1(config)#router eigrp 1
R1(config-router)#no auto-summary
R1(config-router)#network 192.168.123.0
R1(config-router)#network 1.0.0.0
R2(config)#router eigrp 1
R2(config-router)#no auto-summary
R2(config-router)#network 2.0.0.0
R2(config-router)#network 192.168.123.0
R3(config)#router eigrp 1
R3(config-router)#no auto-summary
R3(config-router)#network 192.168.123.0
R3(config-router)#network 3.0.0.0
R1(config)#interface serial 0/0
R1(config-if)#ip pim sparse-dense-mode
R2(config)#interface serial 0/0
R2(config-if)#ip pim sparse-dense-mode
R3(config)#interface serial 0/0
R3(config-if)#ip pim sparse-dense-mode
On all routers, we will enable sparse-dense mode. This means that we will use sparse mode if possible, if there is no RP, we will use dense mode. This means multicast groups 224.1.0.39 and 224.1.0.40 will be forwarded with dense mode. Remember that mapping agents use 224.1.0.40 to forward the RP-to-group information to other routers.
R1#show ip pim neighbor
PIM Neighbor Table
Mode: B - Bidir Capable, DR - Designated Router, N - Default DR Priority,
S - State Refresh Capable
Neighbor Interface Uptime/Expires Ver DR
Address Prio/Mode
192.168.123.3 Serial0/0 00:02:10/00:01:32 v2 1 / DR S
192.168.123.2 Serial0/0 00:02:16/00:01:28 v2 1 / S
A quick check doesn’t hurt…on R1, we can see that R2 and R3 are PIM neighbors. Let’s configure R1 as a rendezvous point:
R1(config)#interface loopback 0
R1(config-if)#ip pim sparse-dense-mode
R1(config)#ip pim send-rp-announce loopback 0 scope 10
I will use the loopback0 interface as the source IP address for the RP. Here you can see that R1 is a working RP:
R1#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP (Auto-RP)
Now let’s configure that mapping agent on R2:
R2(config)#interface loopback 0
R2(config-if)#ip pim sparse-dense-mode
R2(config)#ip pim send-rp-discovery loopback 0 scope 10
I will configure the loopback0 interface to use for the mapping agent. Let’s verify our work:
R2#show ip pim rp mapping
PIM Group-to-RP Mappings
This system is an RP-mapping agent (Loopback0)
Group(s) 224.0.0.0/4
RP 1.1.1.1 (?), v2v1
Info source: 1.1.1.1 (?), elected via Auto-RP
Uptime: 00:00:17, expires: 00:02:41
This is looking good. R2 is the mapping agent, and it has discovered R1 as a rendezvous point. Let’s take a look at the multicast routing table:
Thanks for that interesting lesson.
I have some simple questions :
**-1-**
For fixing the issue by the “sub-interfaces” solution ; I guess, there will create 2 sub-interfaces (one for each PVC) ? I guess also that the 2 sub-interfaces will be configured with 2 different subnets ? According to my understanding of split-horizon ; 1 (only 1) sub-interface on R1 will have the same point-to-multipoint issue as the physical interface ?
**-2-**
I do not understand how the tunnel between R2 and R3 could work, if there’s no PVC between the two routers and there is nothi
... Continue reading in our forumWe have a split horizon issue here since with the physical point-to-multipoint interface, there is only one interface. With sub-interfaces, you would have two logical interfaces on the hub router. This does mean that you have a different subnet for each PVC yes. You won’t have any split horizon issues anymore since the hub uses a different logical interface for each spoke router.
I see I didn’t include the unicast routing configuration in this lesson, that’s something I will fix. The tunnel uses the 2.2.2.2 and 3.3.3.3 addresses but those have to be known on bo
... Continue reading in our forumcould disabling spit horizon on the tunnel be a solution as well?
I configured this up and I never could get auto-rp information to go to the 2nd spoke even when split horizon was disabled on the hub router. Therefore, it seems the only way that multicast will forward multicast traffic is if the OIL is different than the ingress interface
test topology
spoke #1>hub>spoke #2
Note: I configured spoke #1 as both the RP and MA as an experiment and I configured an igmp-join on spoke #2 to see what would happen if I disabled split-horizon on the hub. when sourcing from spoke #1 going to the mcast address traffic never made it.
Hi Roland,
The split-horizon command only applies to distance vector routing protocols (RIP and EIGRP), not to multicast. You can configure the interface to forward multicast traffic that you received on that interface with the NBMA mode:
https://networklessons.com/multicast/multicast-pim-nbma-mode/
However, I don’t think that works for AutoRP traffic. If you have the RP and MA on one spoke, then probably the only way to make it work is either by tunneling or using sub-interfaces.
Rene