Dynamic & Resilient RPs with Auto-RP and MSDP

Anycast RP with MSDP brings true redundancy and load sharing to multicast networks. By synchronizing active sources across multiple RPs, it ensures seamless failover and scalability—making multicast delivery resilient for IPTV, trading, and real-time applications.
Dynamic & Resilient RPs with Auto-RP and MSDP

On this page

In the world of IP Multicast, the Rendezvous Point (RP) is the heart of a PIM-Sparse Mode network. It’s the grand central station where sources announce their streams and receivers come to find them. But what happens when that station has a single point of failure? In a large-scale network, relying on a single, statically configured RP introduces risks we can't afford:

  • Single Point of Failure: If the RP router goes down, your entire multicast network grinds to a halt.
  • Administrative Overhead: Manually configuring every router to point to a specific RP is cumbersome and prone to error.
  • Suboptimal Paths & High Latency: A single RP forces distant sources and receivers to send control traffic across the backbone, adding latency.

To solve this, network architects need a solution that is not only redundant but also dynamic. This is where two powerful protocols come together: Auto-RP handles the dynamic discovery and election of RPs, while Anycast RP with MSDP provides the high-availability forwarding plane.

Let's explore how to build this robust, scalable multicast backbone.

Dynamic Discovery with Auto-RP

Before we can make our RP redundant with Anycast, we first need a way for every router in the network to learn the RP's address automatically. This is the job of Cisco's proprietary Auto-RP.

Think of Auto-RP as an election system for RPs. It has two key roles:

  1. Candidate-RP (C-RP): These are routers that want to be an RP. They are the "candidates" in the election. A C-RP advertises its availability by sending RP-Announce messages to a well-known multicast group, 224.0.1.39.
  2. Mapping Agent (MA): This is the "election commission." The MA listens for the RP-Announce messages from all candidates. It then processes these announcements, selects the best RP for each multicast group range (based on the highest IP address as a tiebreaker), and announces the winner to the entire network. The MA does this by sending RP-Discovery messages to a second well-known group, 224.0.1.40.

Every PIM router in the network listens for these RP-Discovery messages, learns the winning RP's address, and builds its RP-to-group mapping cache. This process allows for multiple RPs to be configured for different group ranges and provides a basic level of redundancy; if one C-RP fails, the MA will detect the absence of its announcements and promote another candidate.

High Availability with Anycast RP and MSDP

Auto-RP is great for dynamic discovery, but it still elects only one active RP per group at a time. To achieve true load sharing and instantaneous failover, we combine it with the Anycast RP design.

Here’s how they work together:

  1. The Anycast Candidates: Instead of announcing unique IP addresses, two or more C-RPs are configured with the exact same IP address on a loopback interface (e.g., 10.0.0.100/32). This shared address is our Anycast RP address. Both C-RPs announce this same address in their RP-Announce messages.
  2. The Election: The Mapping Agent receives these announcements. Since both candidates are advertising the same IP for the same group range, the MA simply advertises the single Anycast IP (10.0.0.100) as the winner in its RP-Discovery messages.
  3. The Synchronization Problem: Now we have the same challenge as before. A source might register with its closest physical RP (let's say C-RP1), while a receiver joins via its closest physical RP (C-RP2). C-RP2 still has no idea the source exists.

This is where the Multicast Source Discovery Protocol (MSDP) becomes the essential glue. The C-RPs establish MSDP peering sessions with each other to exchange information about locally registered sources via Source Active (SA) messages.

MSDP: The Gossip Protocol for RPs

The Multicast Source Discovery Protocol (MSDP), defined in RFC 3618, is the protocol that holds the Anycast RP design together. Think of it as a secure "gossip" protocol exclusively for RPs. Its job is to make sure every RP knows about every active multicast source, no matter where it originally registered.

Here’s how it works:

  1. MSDP Peering: Each Anycast RP router is configured to establish a TCP peering session on port 639 with every other Anycast RP. This creates a full mesh of MSDP peers.
  2. Source Active (SA) Messages: When a source registers with RP1, RP1 creates a special Source Active (SA) message. This message is a simple but powerful piece of information containing:
    • The Source's IP address (S)
    • The Multicast Group address (G)
    • The originating RP’s IP address (the Originator-ID)
  3. Flooding the News: RP1 then floods this SA message to all of its MSDP peers. Now, RP2, RP3, and all other RPs receive this "gossip" and learn about the active source. They install this (S,G) information into their own tables, as if the source had registered with them directly.

Thanks to MSDP, when a receiver joins a group via RP2 in London, RP2 already knows about the source that registered in New York. It can then proceed to build the multicast tree and deliver the stream to the receiver.

Effectively, MSDP ensures all RPs have a consistent, synchronized view of all active sources across the entire network.

By combining these technologies, we get the best of both worlds:

  • Auto-RP provides dynamic, automated discovery of the RP address.
  • Anycast RP provides seamless load sharing and redundancy in the data plane.
  • MSDP synchronizes the Anycast RPs, ensuring the entire system works as a unified whole.

Configuration Guide on Cisco NX-OS (with Auto-RP)

This post is for subscribers only

Subscribe to LevelUp I.T. newsletter and stay updated.

Don't miss anything. Get all the latest posts delivered straight to your inbox. It's free!
Great! Check your inbox and click the link to confirm your subscription.
Error! Please enter a valid email address!