13.3 Rendezvous Point (RP) Distribution Mechanisms
Key Takeaways
- In PIM-SM domains, all routers must maintain consistent Group-to-RP mappings; RP discovery is achieved via Static RP, Cisco Auto-RP, IETF Bootstrap Router (BSR), or Anycast RP.
- Cisco Auto-RP uses Candidate RPs (C-RPs) announcing to 224.0.1.39 and Mapping Agents (MAs) electing highest-IP C-RPs and announcing to 224.0.1.40; it requires Sparse-Dense Mode or 'ip pim autorp listener' to resolve the circular control group dependency.
- Bootstrap Router (BSR, RFC 5059) is an open-standard PIMv2 mechanism where the Elected BSR (highest priority, then highest IP) floods BSR Messages hop-by-hop to link-local multicast 224.0.0.13, and routers use a deterministic hash algorithm for RP selection.
- Anycast RP provides geographic RP redundancy and optimal pathing using a shared Loopback IP; synchronization is maintained via Multicast Source Discovery Protocol (MSDP over TCP 639) or RFC 4610 PIM Anycast RP register forwarding.
13.3 Rendezvous Point (RP) Distribution Mechanisms
Core Blueprint Focus: Cisco 350-401 ENCOR v1.2 topic 3.3.d requires candidates to configure and verify Rendezvous Point (RP) distribution techniques in PIM Sparse Mode networks, including Static RP with access lists, Cisco Auto-RP (Candidate-RP, Mapping Agent, and Sparse-Dense Mode / Auto-RP Listener), Bootstrap Router (BSR RFC 5059 Candidate BSR, Elected BSR, and BSR borders), and Anycast RP using MSDP or RFC 4610.
In PIM Sparse Mode (PIM-SM), the Rendezvous Point (RP) serves as the central meeting place and root of the Shared Tree (*, G). For multicast traffic to flow successfully across an enterprise, every router in the PIM domain must agree on the identical RP for any given multicast group. If routers have mismatched RP configurations, receiver joins and source registrations arrive at different routers, and the multicast stream is permanently broken.
1. Static RP Configuration
Static RP is the simplest distribution method: every router in the network is manually configured with the IPv4 address of the RP.
! Configure static RP on all routers for all multicast groups
ip pim rp-address 10.255.255.1
! Configure static RP for specific group ranges using an Access List
ip access-list standard ACL_MULTICAST_GROUPS
permit 239.1.0.0 0.0.255.255
!
ip pim rp-address 10.255.255.1 ACL_MULTICAST_GROUPS override
Advantages and Limitations
- Advantages: Simple to deploy in small networks; zero control plane overhead; immune to dynamic discovery spoofing.
- Limitations: No native dynamic failover or redundancy (if the RP router fails, multicast halts until manual reconfiguration); error-prone configuration across hundreds of routers.
- The
overrideKeyword: When configured,overrideinstructs the router to prefer the static RP mapping over dynamically learned Auto-RP or BSR mappings for the matched access list.
2. Cisco Auto-RP (Proprietary Protocol)
Auto-RP is a Cisco-proprietary protocol that automates the distribution of Group-to-RP mappings across a PIM-SM domain.
+-----------------------------------------------------------------------------------+
| CISCO AUTO-RP ARCHITECTURE |
+-----------------------------------------------------------------------------------+
| |
| +--------------------+ +--------------------+ |
| | Candidate RP #1 | | Candidate RP #2 | |
| | (IP: 10.1.1.1) | | (IP: 10.1.1.2) | |
| +--------------------+ +--------------------+ |
| \ / |
| \== 1. RP-Announce (Multicast 224.0.1.39) ======/ |
| | |
| v |
| +-----------------------+ |
| | Mapping Agent (MA) | |
| | - Collects C-RP msgs | |
| | - Highest IP Wins: | |
| | 10.1.1.2 elected | |
| +-----------------------+ |
| | |
| 2. RP-Discovery (Multicast 224.0.1.40) |
| | |
| +---------------+---------------+ |
| | | |
| v v |
| +-------------------+ +-------------------+ |
| | PIM Router (Leaf) | | PIM Router (Leaf) | |
| +-------------------+ +-------------------+ |
+-----------------------------------------------------------------------------------+
Auto-RP Components & Protocol Flow
- Candidate RP (C-RP):
- Configured with
ip pim send-rp-announce <interface> scope <ttl> group-list <acl>. - Periodically (every 60 seconds) transmits RP-Announce packets to the IANA-reserved multicast address
224.0.1.39(Cisco-RP-Announce).
- Configured with
- Mapping Agent (MA):
- Configured with
ip pim send-rp-discovery <interface> scope <ttl>. - Listens on
224.0.1.39to discover all C-RP announcements. - Conflict Resolution: If multiple C-RPs advertise the same group range, the Mapping Agent elects the C-RP with the highest numerical IPv4 address.
- Compiles the master Group-to-RP mapping table and periodically (every 60 seconds) transmits RP-Discovery packets to
224.0.1.40(Cisco-RP-Discovery).
- Configured with
- PIM Leaf Routers:
- Listen on
224.0.1.40to learn active RP mappings and program their local mroute engines.
- Listen on
The Chicken-and-Egg Problem & Solutions
- The Paradox: Routers need to know the RP to join multicast groups
224.0.1.39and224.0.1.40. But to discover the RP via Auto-RP, routers must receive traffic from224.0.1.39and224.0.1.40! - Solution 1: Sparse-Dense Mode (
ip pim sparse-dense-mode): Interfaces operate in Dense Mode (flood-and-prune) for groups without a known RP (allowing 224.0.1.39/40 to flood automatically), and switch to Sparse Mode once an RP is learned. - Solution 2: Auto-RP Listener (
ip pim autorp listener): Allows interfaces configured with pureip pim sparse-modeto flood groups224.0.1.39and224.0.1.40via Dense Mode while keeping all user multicast groups strictly Sparse Mode.
3. IETF Bootstrap Router (BSR - RFC 5059)
Bootstrap Router (BSR) is an open-standard, multivendor RP distribution protocol defined in RFC 5059, natively integrated into PIM Version 2.
+-----------------------------------------------------------------------------------+
| IETF BOOTSTRAP ROUTER (BSR) FLOW |
+-----------------------------------------------------------------------------------+
| |
| +--------------------+ +--------------------+ |
| | Candidate RP #1 | | Candidate RP #2 | |
| +--------------------+ +--------------------+ |
| \ / |
| \== 1. C-RP-Adv (UNICAST to Elected BSR IP) ====/ |
| | |
| v |
| +-----------------------+ |
| | Elected BSR (E-BSR) | |
| | (Highest BSR Prio, | |
| | then Highest IP) | |
| +-----------------------+ |
| | |
| 2. Bootstrap Messages (BSM) Flooded Hop-by-Hop |
| to Link-Local Multicast 224.0.0.13 (TTL=1) |
| | |
| +---------------+---------------+ |
| | | |
| v v |
| +-------------------+ +-------------------+ |
| | PIM Router (Leaf) | | PIM Router (Leaf) | |
| | (Calculates Hash) | | (Calculates Hash) | |
| +-------------------+ +-------------------+ |
+-----------------------------------------------------------------------------------+
BSR Components & Election Algorithm
- Candidate BSR (C-BSR):
- Routers configured with
ip pim bsr-candidate <interface> <hash-mask-len> <priority>. - BSR Election: Routers exchange Bootstrap Messages (BSM). The router with the highest BSR priority (0–255, default = 0) is elected as the active Elected BSR (E-BSR). Ties are broken by highest IPv4 address.
- Routers configured with
- Candidate RP (C-RP):
- Routers configured with
ip pim rp-candidate <interface> [group-list <acl>]. - C-RPs periodically unicast PIM Candidate-RP-Advertisement messages directly to the Elected BSR's IP address.
- Routers configured with
- Bootstrap Messages (BSM) & Flooding:
- The Elected BSR collects all C-RP advertisements, compiles the complete RP-Set, and floods Bootstrap Messages out all interfaces.
- Link-Local Transport: BSMs are sent to
224.0.0.13with TTL=1. Routers receive the BSM, validate it via an RPF check against the BSR IP, and re-flood it hop-by-hop. No Dense Mode or Auto-RP Listener is required!
- RP Selection via Hash Algorithm:
- Unlike Auto-RP (where the MA elects a single RP per group), the BSR distributes the entire set of Candidate RPs to all routers.
- Every router independently executes the deterministic RFC 5059 Hash Algorithm using the group address, C-RP IPs, and hash mask length, selecting the identical RP while distributing groups across multiple RPs.
- BSR Scoping Boundary (
ip pim bsr-border):- Applied to perimeter interfaces to block incoming and outgoing BSR messages, preventing internal RP information from leaking to external autonomous systems.
4. Anycast RP Architectures (MSDP vs. RFC 4610 PIM Anycast RP)
In large enterprise backbones, deploying a single physical RP creates two significant problems:
- Suboptimal Routing / Latency: Sources and receivers in distant geographic regions must route through a remote RP.
- Single Point of Failure: If the RP fails, multicast convergence is disrupted.
Anycast RP solves both problems by assigning the exact same IPv4 address (e.g., 10.255.255.1/32 on Loopback0) to multiple physical RP routers across the network. Unicast routing protocols (OSPF, EIGRP, BGP) advertise this IP, allowing leaf routers to communicate with the topologically closest RP via standard Equal-Cost Multi-Path (ECMP) or shortest unicast metric.
+-----------------------------------------------------------------------------------+
| ANYCAST RP SYNCHRONIZATION |
+-----------------------------------------------------------------------------------+
| |
| [ Source 1 ] [ Receiver 1 ] |
| | | |
| v v |
| [ FHR 1 ] [ LHR 1 ] |
| | (PIM Register to 10.255.255.1) (PIM Join to 10.255.255.1) | |
| v v |
| +-----------------------+ +-----------------------+ |
| | Anycast RP #1 | | Anycast RP #2 | |
| | - Shared IP: | | - Shared IP: | |
| | 10.255.255.1 (Loop0)|<=== Inter-RP =====>| 10.255.255.1 (Loop0)| |
| | - Unique IP: | Synchronization | - Unique IP: | |
| | 192.168.1.1 (Loop1) | (MSDP / RFC 4610) | 192.168.2.1 (Loop1) | |
| +-----------------------+ +-----------------------+ |
+-----------------------------------------------------------------------------------+
The Source Synchronization Challenge
When Source 1 transmits, FHR 1 registers with RP 1 (its nearest RP). When Receiver 1 joins, LHR 1 sends its (*, G) Join to RP 2 (its nearest RP). Because RP 2 knows nothing about Source 1, Receiver 1 will never receive the multicast stream unless RP 1 and RP 2 synchronize active sources.
Anycast RP Implementation Methods
| Feature | Anycast RP with MSDP (RFC 3618) | Anycast RP via PIM (RFC 4610) |
|---|---|---|
| Standard | RFC 3618 | RFC 4610 |
| Protocol Transport | TCP Port 639 (BGP-like state machine) | Native PIM Register packets (IP proto 103) |
| IPv6 Support | IPv4 Only (MSDP cannot carry IPv6) | Unified IPv4 and IPv6 |
| Synchronization Mechanism | RPs exchange MSDP Source Active (SA) TLVs when sources register | Originating RP re-encapsulates and clones PIM Register messages to all set members |
| Configuration Overhead | Requires distinct Loopback interfaces, MSDP peerings, and SA filters | Simple ip pim anycast-rp <anycast-ip> <peer-ip> list on all RPs |
5. Comprehensive RP Distribution Comparison Matrix
| Technical Attribute | Static RP | Cisco Auto-RP | IETF Bootstrap Router (BSR) | Anycast RP (RFC 4610) |
|---|---|---|---|---|
| Standard / RFC | Industry Standard | Cisco Proprietary | IETF RFC 5059 | IETF RFC 4610 |
| RP Discovery Mode | Static manual configuration | Dynamic via Mapping Agent | Dynamic via Elected BSR | Dynamic Anycast unicast routing |
| Control Group / Port | None | 224.0.1.39 / 224.0.1.40 (UDP 496) | 224.0.0.13 (IP proto 103, hop-by-hop) | Unicast PIM Registers |
| Dense Mode Requirement | Pure Sparse Mode | Requires Sparse-Dense or Auto-RP Listener | Pure Sparse Mode Native | Pure Sparse Mode Native |
| Conflict Resolution | N/A (Manual override ACL) | Highest IP Address of C-RP | RFC 5059 Hash Mask Algorithm | Closest RP via Unicast Routing Metric |
| Scoping Boundary | N/A | Multicast Boundary (ip multicast boundary) | BSR Border (ip pim bsr-border) | IGP Routing Metric / AS Boundary |
| IPv6 Support | Yes (ipv6 pim rp-address) | No (IPv4 Only) | Yes (BSR for IPv6) | Yes (RFC 4610 for IPv6) |
6. Cisco IOS-XE Configuration & Verification CLI
1. Cisco Auto-RP with Auto-RP Listener
! Configure on ALL routers in the domain
ip multicast-routing
ip pim autorp listener
! Configure on Candidate RPs (e.g., RP-1 and RP-2)
interface Loopback0
ip address 10.255.255.1 255.255.255.255
ip pim sparse-mode
!
ip access-list standard ACL_AUTORP_GROUPS
permit 239.0.0.0 0.255.255.255
!
ip pim send-rp-announce Loopback0 scope 16 group-list ACL_AUTORP_GROUPS interval 30
! Configure on Mapping Agent (e.g., Core Switch)
ip pim send-rp-discovery Loopback0 scope 16 interval 30
2. IETF Bootstrap Router (BSR) Configuration
! Configure Candidate BSR (Core-1)
interface Loopback0
ip address 10.255.255.10 255.255.255.255
ip pim sparse-mode
!
ip pim bsr-candidate Loopback0 30 128
! Configure Candidate RPs (RP-1 and RP-2)
interface Loopback0
ip address 10.255.255.1 255.255.255.255
ip pim sparse-mode
!
ip access-list standard ACL_BSR_GROUPS
permit 239.0.0.0 0.255.255.255
!
ip pim rp-candidate Loopback0 group-list ACL_BSR_GROUPS priority 0
! Prevent BSR messages on boundary interfaces
interface GigabitEthernet0/0/0
description WAN-TO-EXTERNAL-PARTNER
ip pim bsr-border
3. PIM Anycast RP (RFC 4610)
! Configure on RP-1 (Unique IP: 10.1.1.1, Anycast IP: 10.255.255.100)
interface Loopback0
description SHARED-ANYCAST-RP-IP
ip address 10.255.255.100 255.255.255.255
ip pim sparse-mode
!
interface Loopback1
description UNIQUE-RP-IP
ip address 10.1.1.1 255.255.255.255
ip pim sparse-mode
!
ip pim anycast-rp 10.255.255.100 10.1.1.1
ip pim anycast-rp 10.255.255.100 10.1.1.2
! Configure on RP-2 (Unique IP: 10.1.1.2, Anycast IP: 10.255.255.100)
interface Loopback0
description SHARED-ANYCAST-RP-IP
ip address 10.255.255.100 255.255.255.255
ip pim sparse-mode
!
interface Loopback1
description UNIQUE-RP-IP
ip address 10.1.1.2 255.255.255.255
ip pim sparse-mode
!
ip pim anycast-rp 10.255.255.100 10.1.1.1
ip pim anycast-rp 10.255.255.100 10.1.1.2
4. Verification Commands & Diagnostics
Router# show ip pim rp mapping
PIM Group-to-RP Mappings
Group(s) 239.0.0.0/8
RP 10.255.255.1 (?), v2v1
Info source: 10.255.255.10 (?), elected via BSR
Uptime: 01:12:44, expires: 00:02:18
PIM BSR C-RP: priority 0, holdtime 150
Router# show ip pim bsr-router
PIMv2 Bootstrap information
This system is not candidate BSR
BSR address: 10.255.255.10 (?)
Uptime: 01:14:02, BSR Priority: 128, Hash mask length: 30
Expires: 00:01:45
Candidate BSR is: 10.255.255.10, priority 128, hash mask len 30
Next bootstrap message in 00:00:15
Router# show ip pim rp-hash 239.10.10.1
RP 10.255.255.1 (?), v2
Info source: 10.255.255.10, via BSR
PIM Hash Value: 184592014
Router# show ip pim anycast-rp
Anycast-RP: 10.255.255.100
Member: 10.1.1.1, Local: Yes
Member: 10.1.1.2, Local: No, Registers received: 142, Registers sent: 0
An enterprise network runs Cisco Auto-RP for Rendezvous Point distribution across 40 PIM-SM routers. Two Candidate RPs, C-RP-1 (IP: 10.100.1.1) and C-RP-2 (IP: 10.100.1.2), both advertise the group range 239.0.0.0/8 to the Mapping Agent. How does the Mapping Agent resolve this RP conflict?
A network architect is implementing dynamic RP distribution using IETF Bootstrap Router (BSR RFC 5059). Which statement correctly describes the transmission and forwarding of BSR Bootstrap Messages (BSMs)?
An engineer configures two Candidate BSRs in a PIM-SM network: Router-A (BSR Priority 64, IP 10.1.1.1) and Router-B (BSR Priority 128, IP 10.1.1.2). How do the routers elect the active Bootstrap Router?
A multi-region enterprise requires an Anycast RP architecture that supports both IPv4 and IPv6 multicast traffic across its PIM-SM core while eliminating the need for TCP-based peering sessions. Which solution satisfies these requirements?