Bootstrap Router Protocol

In PIM-SM, every PIM router must know the rendexvous point (RP) in the network, so that it can map multicast groups to the available RP addresses. The Bootstrap Router (BSR) Protocol is a mechanism by which a PIM router learns the RP information.

An RP address is the root of a multicast group-specific distribution tree, the branches of which extend to all the nodes interested in receiving the traffic for that multicast group. All PIM routes use the same group-to-RP address mapping, allowing multicast sources to reach all receivers. Each node learns the same RP information using the following methods.

Some PIM routers act as candidate RPs (C-RPs), of which one C-RP is elected as RP for a particular group range. Some PIM routers are configured as candidate BSRs (C-BSRs), of which one is elected as the BSR. All PIM routers learn the elected BSR through bootstrap messages (BSMs). All C-RPs then report to the elected BSR, which forms the RP-set available in the network and distributes it to all the PIM routers. All PIM routers eventually have the same RP-set information.

The BSR protocol mechanism converges in the following phases.
Click to expand in new window
BSR election

Each candidate BSR periodically generates a BSM, which carries the configured BSR priority. Every PIM router in the domain floods these BSMs. Other C-BSRs that receive a BSM with higher priority suppress their own BSMs. Eventually, there is only one C-BSR with BSMs that flood periodically into the network. This lone C-BSR becomes the elected BSR and its BSM informs all routers that it is the elected BSR.

Click to expand in new window
Candidate RP advertisement and RP-set formation

Each C-RP sends periodic candidate RP advertisement (C-RP-Adv) messages to the elected BSR. These messages contain the candidate‘s priority and a list of multicast group ranges for which this C-RP wants to act as RP. The messages also carry a hold time, after which the BSR discards this C-RP. In this way, the elected BSR learns about all C-RPs that are up and reachable. When the BSR starts receiving C-RP advertisements, it builds the RP-set information. This RP-set contains the list for multicast group ranges and C-RP addresses available for each of these group ranges, along with their respective priorities and hold times.

Click to expand in new window
RP-set distribution

The RP-set built by the BSR is sent through the same BSM message. Because these BSMs are flooded, the RP-set information rapidly reaches each PIM router. When a PIM router receives the RP-set, it adds all group-to-RP mappings to its pool of mappings, also created from static RP configurations. Every PIM router runs the same RP hash algorithm to ensure the same C-RP is elected for a particular multicast group throughout the domain. In this way, all PIM routers can build the multicast group-specific distribution tree rooted to the same RP.

BSR Timers and Values

The BSR mechanism uses timers to ensure that the protocol provides reliability and faster convergence. These timers can be configured.

Timer Default value Description
Bootstrap message interval 60 seconds The interval after which a BSM is generated by a BSR.
Bootstrap timeout 130 seconds The interval after which a BSR times out if no BSM is received from it.
Bootstrap minimum interval 10 seconds The minimum interval after which a BSR should send a BSM.
C-RP mapping expiry timer From message Hold time from a C-RP advertisement message. The hold time for C-RP is 2.5 times the RP advertisement interval.
RP mapping expiry timer From message Hold time from BSM.
Candidate RP advertisement interval 60 seconds The interval after which a C-RP generates an advertisement message to the BSR.

RP Election Algorithm (Group-to-RP Hashing)

The RP-set information received from the BSR is stored locally and updated by each PIM router periodically upon receiving BSMs. This RP-set contains the list for group prefixes and the corresponding list for C-RP for each group prefix.

The following steps explain the RP election process for a multicast group address.

  1. A longest match look-up is performed on all the group prefixes in the RP-set.
  2. If the look-up finds more than one C-RP, the C-RP with the lowest priority is elected.
  3. If more than one C-RP has the same lowest priority, the BSR hash function is used to elect the RP.
  4. If the hash functions return the same hash value for more than one C-RP, the C-RP with the highest IP address is elected.

Loopback Interfaces as RPs

Because loopback interfaces are operationally always up, it is preferable to use them as RPs. All existing PIM-SM protocol features are supported on loopback interfaces. Layer 3-enabled loopback interfaces can act as static RPs or candidate-RPs. They can also be configured as candidate-BSRs.