Multicast PIM Auto RP (V)

Multicast PIM Auto RP (V)
Table of Contents

In the previous posts in this series, we covered the basics of multicast, IGMP, PIM Dense Mode, and PIM Sparse Mode. In the Sparse Mode post, we manually configured the RP address on every router in the network. This works fine in a small lab, but in a larger network with many routers, it becomes difficult to manage. If the RP changes, you have to update the configuration on every single router.

Multicast PIM Sparse Mode
Sparse Mode only sends traffic to parts of the network that explicitly request it. Routers with interested receivers send Join messages toward

AutoRP solves this problem by allowing routers to dynamically learn the RP address. Instead of manually configuring the RP on each router, you configure one or more routers to announce themselves as Candidate RPs. A separate router (or the same as the Candidate RP router) called the Mapping Agent collects these announcements and distributes the RP information to all other routers in the network. This makes RP management much easier and also provides a way to implement RP redundancy.

There are two methods to dynamically learn the RP address, which are Auto-RP and Bootstrap Router (BSR). In this post, we will cover Auto-RP, and we will look at BSR in the next post.

AutoRP Overview

Auto-RP is Cisco's proprietary method for dynamically distributing RP information to routers in a multicast network. Instead of manually configuring the RP address on every router as we did in the previous post, Auto-RP allows routers to learn the RP address automatically.

Auto-RP uses two key components - Candidate RPs and Mapping Agents. A Candidate RP is a router that announces itself as a potential RP for certain or all multicast groups. A Mapping Agent listens for these announcements, selects one RP for each group (the highest IP wins), and then distributes this information to all other routers in the network.

If there are multiple Mapping Agents, they will discover each other because they all listen on 224.0.1.40. They operate independently and send identical RP Discovery messages to the network. This provides redundancy, so if one Mapping Agent fails, the other continues distributing RP information.

  • The Candidate RP sends RP Announce messages to the multicast address 224.0.1.39.
  • The Mapping Agent receives these announcements, elects an RP and sends RP Discovery messages to 224.0.1.40, which all routers listen to.
  • This way, every router in the network learns which RP to use for which multicast groups without any manual configuration.

That sounds simple, right? Well, as with anything in networking, it is not as straightforward as it sounds. There is a chicken-and-egg problem here. Auto-RP uses multicast addresses 224.0.1.39 and 224.0.1.40 to distribute RP information. But in PIM Sparse Mode, you need an RP to build a multicast tree and join those two groups. So, how do routers receive these Auto-RP messages if they do not know the RP yet? We will look at how to solve this problem shortly.

Multicast AutoRP Example

We will use a slightly modified diagram from the previous post, and here, we will make both r3 and r4 Candidate RPs, and we will also make r3 the Mapping Agent, just to show you that one router can serve both roles and also make r2 the Mapping Agent.

autorp topology diagram
  • r3 - Candidate RP and Mapping Agent
  • r4 - Candidate RP
  • r2 - Mapping Agent
Netlab - The Fastest Way to Build Network Labs
Netlab then takes care of creating the topology, assigning IP addresses, configuring routing protocols, and even pushing custom configs.

Base Config

As usual, we will start with our base configuration. This includes enabling ip multicast-routing globally, enabling pim sparse-mode on all interfaces, and enabling ip pim autorp listener, which we will cover in a moment. I have also enabled OSPF throughout the network for unicast routing. Here is the configuration from r3 before we move forward.

Each router also has a loopback interface with IP address 10.0.0.x, where x is the router number. For example, r3 has 10.0.0.3, r4 has 10.0.0.4, and so on. Here is the configuration from r3 before we move forward.

ip multicast-routing
ip pim autorp listener
!
interface Loopback0
 ip address 10.0.0.3 255.255.255.255
 ip pim sparse-mode
 ip ospf 1 area 0.0.0.0
!
interface Ethernet0/1
 description r3 -> r2
 ip address 172.16.1.6 255.255.255.252
 ip pim sparse-mode
 ip ospf network point-to-point
 ip ospf 1 area 0.0.0.0
!
interface Ethernet0/2
 description r3 -> r5
 ip address 172.16.1.13 255.255.255.252
 ip pim sparse-mode
 ip ospf network point-to-point
 ip ospf 1 area 0.0.0.0
!
router ospf 1
 router-id 10.0.0.3
!
💡
Please note that you need to enable pim sparse-mode on the loopback interfaces of the Candidate RP routers. Since we will be using the loopback address as the RP address, PIM must be enabled on that interface. On other routers, you do not need to enable PIM on the loopback.
Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to Packetswitch.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.