11-16-2012 07:06 AM - edited 03-01-2019 04:52 PM
Bootstrap router (BSR) is protocol available with PIMv2. The protocol performs the same function as Cisco’s proprietary Auto-RP, i.e. distribute the RP(Rendezvous point) information. Both protocols use the concept of candidate RP, i.e. the router that announces messages to advertise the multicast group for which it is the RP. Unlike Auto-RP, BSR does not use any dense-mode groups to flood candidate RP and RP mapping information. Instead, the information is flooded using PIM messages, on hop-by-hop basis. The flooding procedure utilizes reverse path forwarding (RPF).when a router receives a BSR message, it applies RPF check, based on the source IP address in the packet. If the RPF check succeeds, the message is flooded out of all PIM-enabled interfaces until all routers in the domain learn the information. Auto-RP is not supported for IPv6 Multicast. Auto-RP is a Cisco proprietary mechanism.
In a PIM-SM network, every router must somehow need to learn IP address of an RP.
There are three ways to learn the IP address of an RP in IPv6.
1) Static RP(For more information on configuration of IPv6 Multicast using static RP , refer to IPv6 Multicast-Routing:configuration Example)
2) BSR
3) Embedded RP
This document describes the configuration of IPv6 multicasting using BSR.
Static RP configuration becomes suboptimal under the following conditions:
1) When an enterprise has a large no of PIM-SM routers and the enterprise want to implement many different RP's for different groups, it becomes time consuming to statically configure the IP address of RPs.
2) When an RP fails or need to be changed because of new RP is being installed, it becomes extremely difficult in statically configured PIM-SM domain to switch over to an alternative RP without taking considerable downtime.
In IPv6 multicast environment BSR dynamically provides the IP address of an RP to PIM-SM routers.
Understanding of IPv4 Multicasting
BSR configuration involves only 2 steps:
Step: 1: Configuration of RP
The command to configure a router to announce itself as a RP via the BSR protocol is:
ipv6 pim bsr candidate rp X:X:X:X::X (IP name or address of Candidate RP)
Step: 2: Configuration of BSR (also called Mapping Agent)
ipv6 pim bsr candidate bsr X:X:X:X::X (IP name or address of BSR)
You can also configure a single router as a RP and a BSR.
Note: There is slight difference between IPv4 PIM and IPv6 PIM source registration process.When Source starts multicasting, the DR on the segment is responsible for registering with the RP. This can be perform by sending message to the RP and encapsulate original data packet inside them. As soon as IPv6 multicast router learns the RP address it create tunnel interface connecting router to the RP.PIM tunnels are automatically created. These are used for initial register messages, and then the receiver switch to optimal path.
First, you need to configure router R4 as BSR candidates. The router R4 (BSR) will listen for RP's announcement, and let the rest of the network know which device is the RP. All of this is done directly through PIM messages on multicast address (224.0.0.13).The loopback of R4 is configuring the IP address (3001::1) of BSR, as you know loopback will never go down until you Shutdown the interface.
R4(config)#ipv6 pim bsr candidate bsr 3001::1
You can also configure multiple BSR candidates for redundancy.
Verify your BSR configuration and information distribution with the following command:
R4#show ipv6 pim bsr election
PIMv2 BSR information
BSR Election Information
Scope Range List: ff00::/8
BSR Address: ::
Uptime: 00:00:00, BSR Priority: 0, Hash mask length: 0
RPF: ::,
BS Timer: 00:00:02
This system is candidate BSR
Candidate BSR address: 3001::1, priority: 0, hash mask length: 126
Then you will need to configure candidate RP (R1).The loopback of R4 is configuring the IP address (3001::2) of RP. Notice below, that the PIM Tunnels are built, indicating that R1 has been mapped as the RP by the BSR, and R1 learned about the mapping via PIM.
R1(config)#ipv6 pim bsr candidate rp 3001::2
R1(config)#^Z
R1#
*Mar 1 00:45:34.331: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel1, changed state to up
*Mar 1 00:45:34.359: %LINEPROTO-5-UPDOWN: Line protocol on Interface Tunnel2, changed state to up
*Mar 1 00:45:34.375: %SYS-5-CONFIG_I: Configured from console by console
R1#sh ipv6 pim tunnel
Tunnel0*
Type : PIM Encap
RP : Embedded RP Tunnel
Source: 2001:11::1
Tunnel1*
Type : PIM Encap
RP : 3001::2*
Source: 3001::2
Tunnel2*
Type : PIM Decap
RP : 3001::2*
Source: -
R1#sh ipv6 pim bsr candidate-rp
PIMv2 C-RP information
Candidate RP: 3001::2 SM
All Learnt Scoped Zones, Priority 192, Holdtime 150
Advertisement interval 60 seconds
Next advertisement in 00:00:08
Now also verify RP information learned on R4 using following command:
R4#sh ipv6 pim bsr rp-cache
PIMv2 BSR C-RP Cache
BSR Candidate RP Cache
Group(s) FF00::/8, RP count 1
RP 3001::2 SM
Priority 192, Holdtime 150
Uptime: 00:06:50, expires: 00:01:40
Also verify RP information distributed on the remaining routers in the topology i.e. on R2 and R3 (neither a BSR nor a RP candidate).
R3#sh ipv6 pim range-list | beg BSR
BSR SM RP: 3001::2 Exp: 00:01:33 Learnt from : 3001::1
FF00::/8 Up: 00:11:58
R2#sh ipv6 pim range-list | beg BSR
BSR SM RP: 3001::2 Exp: 00:02:06 Learnt from : 3001::1
FF00::/8 Up: 00:12:25
To test this, configuring R3 join a group in the FF08::/8 range, and then simulate a multicast server, by pinging that group from H1.The RP of R1 will be used to start the shared tree, and then a shortest path tree will be built between the listener (R3) and the content server (R2). The replies will be unicast from R3 to R2.
R2(config)#int lo 0
R2(config-if)#ipv6 mld join-group ff04::3
R2(config-if)#exit
R3#sh ipv6 pim group-map ff04::3
IP PIM Group Mapping Table
(* indicates group mappings being used)
FF00::/8*
SM, RP: 3001::2
RPF: Fa0/0,FE80::C203:39FF:FEAC:1
Info source: BSR From: 3001::1(00:02:26), Priority: 192
Uptime: 00:33:10, Groups: 0
R3#sh ipv6 mroute
Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group,
C - Connected, L - Local, I - Received Source Specific Host Report,
P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set,
J - Join SPT
Timers: Uptime/Expires
Interface state: Interface, State
(FC00::2, FF04::3), 00:00:06/00:03:23, flags: SFT
Incoming interface: FastEthernet1/0
RPF nbr: FC00::2
Immediate Outgoing interface list:
FastEthernet0/1, Forward, 00:00:06/00:03:23
R3#sh ipv6 pim topology
IP PIM Multicast Topology Table
Entry state: (*/S,G)[RPT/SPT] Protocol Uptime Info
Entry flags: KAT - Keep Alive Timer, AA - Assume Alive, PA - Probe Alive,
RA - Really Alive, LH - Last Hop, DSS - Don't Signal Sources,
RR - Register Received, SR - Sending Registers, E - MSDP External,
DCC - Don't Check Connected
Interface state: Name, Uptime, Fwd, Info
Interface flags: LI - Local Interest, LD - Local Disinterest,
II - Internal Interest, ID - Internal Disinterest,
LH - Last Hop, AS - Assert, AB - Admin Boundary
(FC00::2,FF04::3)
SM SPT UP: 00:00:30 JP: Join(never) Flags: KAT(00:02:59) RA
RPF: FastEthernet1/0,FC00::2*
FastEthernet0/1 00:00:30 fwd Join(00:02:59)
You can also verify SPT and RPT on RP(R1) in multicast routing table.
R1#sh ipv6 mroute
Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group,
C - Connected, L - Local, I - Received Source Specific Host Report,
P - Pruned, R - RP-bit set, F - Register flag, T - SPT-bit set,
J - Join SPT
Timers: Uptime/Expires
Interface state: Interface, State
(*, FF04::3), 00:03:51/00:02:35, RP 3001::2, flags: S
Incoming interface: Tunnel2
RPF nbr: 3001::2
Immediate Outgoing interface list:
FastEthernet0/0, Forward, 00:03:51/00:02:35
(FC00::2, FF04::3), 00:00:14/00:03:16, RP 3001::2, flags: SPR
Incoming interface: Tunnel2
RPF nbr: 3001::2
Immediate Outgoing interface list:
FastEthernet0/0, Null, 00:00:14/00:03:15
(FC00::2, FF04::3), 00:00:15/00:03:16, flags: S
Incoming interface: FastEthernet0/1
RPF nbr: FE80::C200:EFF:FEB8:0
Inherited Outgoing interface list:
FastEthernet0/0, Forward, 00:03:51/00:02:35
Embedding the Rendezvous Point (RP) Address in an IPv6 Multicast Address
Base Initial configuration:
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: