8.2 Protocol Independent Multicast Sparse Mode (PIM-SM) and Rendezvous Point Discovery
Key Takeaways
Multicast distribution trees dictate packet propagation paths, utilizing either Source-Based Shortest Path Trees (S, G) rooted directly at the sending host or Shared Trees (*, G) rooted at a centralized Rendezvous Point (RP).
PIM Sparse Mode (PIM-SM, RFC 7761) operates on an explicit-join model where traffic is forwarded only to subnets with active receivers, electing a Designated Router (DR) based on highest priority (default 1) and then highest IP address.
The first-hop router registers active multicast sources with the RP by encapsulating multicast data inside unicast PIM Register messages (IP protocol 103) until it receives a PIM Register-Stop message.
The last-hop router initiates Shortest Path Tree (SPT) switchover upon receiving the initial packet over the (*, G) shared tree, issuing an (S, G) Join toward the source and an (S, G) Prune toward the RP to optimize path latency.
Rendezvous Point discovery mechanisms include manual Static RP configuration, Cisco proprietary Auto-RP utilizing candidate announcements (224.0.1.39) and mapping agents (224.0.1.40), and IETF Bootstrap Router (BSR, RFC 5059) distributing dynamic RP-sets via hop-by-hop Bootstrap Messages to 224.0.0.13.
Protocol Independent Multicast Sparse Mode (PIM-SM) and Rendezvous Point Discovery
In enterprise campus and wide area networks, dynamic multicast routing protocols construct distribution trees that deliver streams from senders to receivers. Protocol Independent Multicast (PIM) is the industry standard for constructing these distribution trees. PIM is termed "protocol independent" because it does not maintain its own topology discovery mechanism; instead, it relies on the router's existing unicast routing table—populated by OSPF, EIGRP, BGP, or static routes—to perform Reverse Path Forwarding (RPF) checks. PIM Sparse Mode (PIM-SM, standardized in RFC 7761) uses an explicit-join forwarding model, delivering traffic only to network segments with active, verified receivers.
Multicast Distribution Trees: Shared Trees (*, G) vs. Source Trees (S, G)
Multicast data traverses networks across two architectural tree topologies:
- Source-Based Shortest Path Trees (SPT): An SPT is rooted directly at the transmitting source host and creates branches downward toward every active receiver. In the multicast routing table (
mroute), an SPT entry is designated as(S, G), pronounced "S comma G," where S represents the specific unicast IP address of the source and G represents the multicast group address. Because packets flow along the most direct path calculated by the underlying unicast IGP, SPTs provide optimal latency and throughput. However, if a network contains hundreds of sources transmitting to various groups, every transit router must maintain individual state information for every(S, G)pair, significantly increasing router memory consumption. - Shared Distribution Trees (RPT - Rendezvous Point Tree): A shared tree is rooted at a centralized anchor node called the Rendezvous Point (RP) rather than at the source itself. Shared tree entries are designated as
(*, G), pronounced "star comma G," where the asterisk (*) acts as a wildcard representing any source sending to group G. All sources transmit their data to the RP, which then replicates the packets down the branches of the shared tree to active receivers. Shared trees drastically reduce memory utilization on core routers because all sources for a given group consolidate into a single(*, G)state entry. However, routing traffic through an intermediate RP can introduce sub-optimal, dog-legged forwarding paths that increase packet latency and create bandwidth bottlenecks at the RP.
Shortest Path Tree (S, G) vs. Shared Tree (*, G)
| Dimension / Characteristic | Source Tree (S, G) — SPT | Shared Tree (*, G) — RPT |
|---|---|---|
| Root Location | Directly at the sending source host | Centralized Rendezvous Point (RP) |
| Multicast Routing State | Specific (S, G) state per source and group | Wildcard (*, G) state per multicast group |
| Path Optimality | Lowest latency; follows shortest IGP path | Sub-optimal; traffic detours through the RP |
| Router Memory Scaling | Higher memory overhead (O(S x G)) | Minimal memory overhead (O(G)) |
| Tree Initiation | Receiver DR switches after initial packet | Receiver DR initiates upon receiving IGMP join |
| Core Network Role | Primary data forwarding path post-switchover | Initial rendezvous point and shared transit |
Protocol Independent Multicast Sparse Mode (PIM-SM) Architecture
PIM-SM operates on a "pull" model: network segments receive multicast streams only if they explicitly request them by sending PIM Join messages upstream.
PIM Designated Router (DR) Election Mechanics
On multiaccess shared media (such as Ethernet segments where multiple routers connect to the same switch VLAN), having every router forward multicast traffic or send registration messages would cause packet duplication. PIM-SM resolves this by electing a single Designated Router (DR) on each multiaccess LAN:
- Hello Exchange: Routers exchange periodic PIM Hello messages (sent every 30 seconds to
224.0.0.13with a hold time of 105 seconds) to discover neighbors and negotiate capabilities. - Priority Evaluation: The router with the highest configured PIM DR priority (configured via
ip pim dr-priority <value>, default value of 1) wins the election. - IP Tiebreaker: If all routers share the same DR priority, the router with the highest numerical IP address on the interface becomes the DR.
The DR fulfills two critical responsibilities:
- On the Source Subnet (First-Hop Router / FHR): The DR is solely responsible for intercepting multicast packets sent by local hosts and encapsulating them into unicast PIM Register messages directed to the RP.
- On the Receiver Subnet (Last-Hop Router / LHR): The DR receives IGMP Membership Reports from local hosts and originates upstream PIM Join/Prune messages toward the RP or source.
PIM-SM End-to-End Operational Lifecycle
The operation of PIM-SM progresses through three structured phases: shared tree construction, source registration, and Shortest Path Tree switchover.
[Source] ---> (FHR / DR) ===== Unicast PIM Register =====> [ RP ]
|
| (*, G) Shared
| Tree
v
[Receiver] <-- (LHR / DR) <========= (S, G) Join ========= [Transit Router]
(SPT Switchover initiates)
Phase 1: Receiver Joins and Shared Tree Construction
- A client host signals its intention to receive group
239.1.1.1by transmitting an IGMP Membership Report onto its local subnet. - The Last-Hop Router (LHR), acting as the receiver DR, receives the IGMP report, instantiates a
(*, 239.1.1.1)entry in its multicast routing table, and adds its local host-facing interface to the Outgoing Interface List (OIL). - The LHR determines the IP address of the Rendezvous Point (RP) for group
239.1.1.1and performs an RPF lookup toward the RP. - The LHR transmits a PIM
(*, G)Join message out its RPF interface toward the RP. - Each intermediate router along the path processes the Join, instantiates a
(*, G)entry, adds the incoming interface to its OIL, and forwards the Join hop-by-hop until it reaches the RP. This establishes the shared Rendezvous Point Tree (RPT).
Phase 2: Source Registration and Unicast Tunneling
- A multicast source begins transmitting packets destined for
239.1.1.1. - The First-Hop Router (FHR), acting as the source DR, intercepts these native multicast packets. Because the FHR does not yet have an established tree to the RP, it encapsulates the entire multicast packet inside a unicast IP packet header (protocol 103) called a PIM Register message.
- The FHR unicasts the PIM Register packet directly to the RP's IP address.
- Upon receiving the Register packet, the RP decapsulates the packet and injects the original multicast data into the
(*, G)shared tree, delivering it down to active receivers. - Concurrently, the RP initiates a native
(S, G)Join hop-by-hop back toward the source IP address. Once intermediate routers complete this path, multicast packets flow natively from the FHR to the RP without encapsulation. - The RP then transmits a unicast PIM Register-Stop message back to the FHR, instructing the FHR to cease CPU-intensive unicast encapsulation.
Phase 3: Shortest Path Tree (SPT) Switchover and Pruning
- The Last-Hop Router (LHR) receives the first native multicast packet flowing down the
(*, G)shared tree from the RP. - By default in Cisco IOS XE, the SPT switchover threshold is set to zero (
ip pim spt-threshold 0). This instructs the LHR to switch immediately to the optimal Shortest Path Tree upon receiving the very first packet. - The LHR inspects the source IP address in the packet header and performs an RPF lookup directly toward the source.
- The LHR sends an
(S, G)Join upstream toward the source along the shortest IGP path. - As native packets begin arriving over the new
(S, G)tree, the LHR transmits a PIM Prune message (with the RPT-bit set) upstream toward the RP along the shared tree. This prunes the LHR from the(*, G)tree for that specific source, preventing duplicate packet delivery. Traffic now flows along the low-latency Shortest Path Tree directly from source to receiver.
Dynamic Rendezvous Point Discovery Mechanisms
Deploying static RP configurations (ip pim rp-address <ip>) requires manual provisioning across every network router. If an RP fails, static configurations cannot automate failover without third-party scripting. To resolve this, dynamic RP discovery mechanisms automate RP assignment and redundancy.
Cisco Auto-RP
Auto-RP is a Cisco-proprietary protocol that automates RP discovery using two primary functional roles:
- Candidate RPs (C-RPs): Routers configured to act as potential RPs advertise their availability by sending periodic
RP-Announcemessages every 60 seconds to the reserved multicast address224.0.1.39(CISCO-RP-ANNOUNCE). - RP Mapping Agents (MAs): Specialized routers listen to
224.0.1.39, collect all C-RP announcements, resolve conflicts by electing the candidate with the highest IP address for each group range, and broadcast the active group-to-RP mappings every 60 seconds to224.0.1.40(CISCO-RP-DISCOVERY).
Because Auto-RP relies on multicast packets (224.0.1.39 and 224.0.1.40) to distribute RP information, routers face a circular dependency: they cannot route multicast traffic without an RP, but they need multicast to find the RP. Cisco addresses this using PIM Sparse-Dense Mode (where interfaces operate in dense mode for groups without an RP) or by configuring ip pim autorp listener, which selectively floods the two Auto-RP control groups in dense mode across sparse-mode interfaces.
IETF Bootstrap Router (BSR) Protocol
Standardized in RFC 5059, the Bootstrap Router (BSR) protocol is an open-standard dynamic RP discovery mechanism integrated into PIM version 2. BSR eliminates the circular dependency of Auto-RP by using hop-by-hop link-local multicast:
- BSR Election: Routers configured as Candidate BSRs (C-BSRs) exchange Bootstrap Messages (BSMs) sent to the link-local multicast address
224.0.0.13with TTL=1. The router with the highest BSR priority (default 0) is elected; ties are broken by the highest IP address. - C-RP Registration: Candidate RPs (C-RPs) transmit unicast Candidate-RP-Advertisement messages directly to the elected BSR's IP address.
- RP-Set Flooding: The elected BSR compiles all valid C-RPs into an RP-Set and floods BSM packets hop-by-hop throughout the PIM domain every 60 seconds using
224.0.0.13. Routers validate BSMs using RPF checks toward the BSR. - Deterministic Hash Selection: Every router in the domain receives the complete RP-Set and independently runs a standardized hash function over the group address and candidate list, selecting the exact same RP for any given multicast group without requiring a centralized mapping agent.
Comparison of Rendezvous Point Discovery Methods
| Feature / Metric | Static RP | Cisco Auto-RP | IETF Bootstrap Router (BSR) |
|---|---|---|---|
| Standardization | Universal / Proprietary | Cisco Proprietary | IETF Open Standard (RFC 5059) |
| Control Messages | None; manual CLI entry | Multicast (224.0.1.39 / 224.0.1.40) | Link-Local Multicast (224.0.0.13, TTL=1) |
| Dense Mode Requirement | None | Requires Sparse-Dense or Auto-RP Listener | None; native PIMv2 hop-by-hop flooding |
| Arbitration Mechanism | Manual configuration | Mapping Agent selects highest IP | Deterministic hash mask across RP-Set |
| Failover Convergence | None (manual reconfiguration) | 3 missed announcements (~180 seconds) | 3 missed BSM intervals (~130 seconds) |
| RP-Set Distribution | None | Mapping Agent advertises winners only | BSR advertises complete candidate RP-Set |
What criteria determine the election of the PIM Designated Router (DR) on a multiaccess Ethernet segment connecting multiple PIM-SM routers?
The router with the lowest IP address on the segment, with lower OSPF router ID serving as the tiebreaker
The router with the highest PIM DR priority, with highest IP address serving as the tiebreaker
The router directly configured with the static Rendezvous Point mapping for the active group
The router that transmits the first PIM Register packet to the active Bootstrap Router
During the initial source registration phase of PIM-SM, how does the First-Hop Router (FHR) transmit multicast traffic to the Rendezvous Point (RP) before native distribution is established?
The FHR floods the traffic out all of its active interfaces using PIM dense mode flood-and-prune behavior
The FHR establishes a BGP EVPN overlay tunnel directly to the Last-Hop Router
The FHR encapsulates the packets in unicast PIM Register messages (IP protocol 103) sent to the RP
The FHR queries the Bootstrap Router to allocate a dynamic multicast group MAC address for the source
Which statement accurately contrasts Cisco Auto-RP with the IETF Bootstrap Router (BSR) protocol for dynamic RP discovery?
Auto-RP requires PIM sparse-dense mode or an Auto-RP listener to flood its discovery groups, whereas BSR floods hop-by-hop link-local messages to 224.0.0.13
Auto-RP elects the mapping agent using a hash algorithm, whereas BSR requires all routers to be manually configured with the BSR IP address
BSR uses TCP port 639 to synchronize RP states, whereas Auto-RP relies exclusively on UDP port 161
BSR supports only IPv6 multicast networks, whereas Auto-RP is restricted to IPv4 Class D addressing
Sections you finish are checked off in the contents.