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.
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.
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.
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.
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.
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. |
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.
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.