Tags
In a previous post we looked at Auto RP configurations with PIM-SM (sparse-mode). Since Auto RP depend upon “RP-announcement” & “RP-Discovery” multicast messages (group 224.0.1.39 & 224.0.1.40) special configurations required to advertise these groups(pim auto-rp listner).
PIM Bootstrap Router (or BSR) is the IEEE standard where multicast control rely entirely on the PIM packets. So no special configs required to advertise RP when yo configure network to pim sparse-mode.
We will use the same topology shown below to understand how to configure PIM-BSR.
In this example we will configure both CME & WAN acting as candidate RPs & WAN router acting as BSR-BootStrap Router (equivalent of Mapping Agent in Auto-RP). you can use “ip pim rp-candidate ” command to define candidate RPs. By using the priority keyword (lower priority wins) you can specify who should become RP if multiple candidates available for same group addresses. You can use “group-list” keyword to filter group addresses for specific RPs. You can use “ip pim bsr-candidate” command to configure BSR (WAN router in my example)
CME(config)#ip pim rp-candidate loopback 0 priority 10 ! WAN(config)#ip pim rp-candidate loopback 0 priority 5 WAN(config)#ip pim bsr-candidate loopback 0
Advantage of this configurations is you do not want to configure any other devices in your network to support this (like auto-rp). If you look at RP mapping on each of your network devices you would see something like this. You can see RP information is learn via bootstrap (BSR)
CAT2#sh ip pim rp mapp PIM Group-to-RP Mappings Group(s) 224.0.0.0/4 RP 10.10.105.20 (?), v2 Info source: 10.10.105.20 (?), via bootstrap, priority 5, holdtime 150 Uptime: 00:42:04, expires: 00:01:39 RP 10.10.205.20 (?), v2 Info source: 10.10.105.20 (?), via bootstrap, priority 10, holdtime 150 Uptime: 00:42:32, expires: 00:01:40 !
You can verify who will become RP by generating traffic to random multicast group number (224.4.4.4 in my example) & check “show ip pim rp” output.
CAT2#ping Protocol [ip]: Target IP address: 224.4.4.4 Repeat count [1]: 10 Datagram size [100]: Timeout in seconds [2]: Extended commands [n]: y Interface [All]: Vlan200 Time to live [255]: Source address: Type of service [0]: Set DF bit in IP header? [no]: Validate reply data? [no]: Data pattern [0xABCD]: Loose, Strict, Record, Timestamp, Verbose[none]: Sweep range of sizes [n]: Type escape sequence to abort. Sending 10, 100-byte ICMP Echos to 224.4.4.4, timeout is 2 seconds: .......... ! CAT2#sh ip pim rp Group: 239.255.255.254, RP: 10.10.105.20, v2, uptime 00:29:53, expires 00:01:32 Group: 239.255.255.253, RP: 10.10.105.20, v2, uptime 00:29:53, expires 00:01:32 Group: 239.255.255.250, RP: 10.10.105.20, v2, uptime 00:29:53, expires 00:01:32 Group: 224.2.127.254, RP: 10.10.105.20, v2, uptime 00:29:53, expires 00:01:32 Group: 224.4.4.4, RP: 10.10.105.20, v2, uptime 00:29:53, expires 00:01:32
You can see WAN (10.10.105.20) become RP as it has lower priority value compare to CME (10.10.205.20). Now if you join to this multicast group at the CAT4 you can see verify multicast traffic flow end to end (ie source to receiver)
CAT4(config)#int vlan 22
CAT4(config-if)#ip igmp join-group 224.4.4.4
!
!
CAT2#ping
Protocol [ip]:
Target IP address: 224.4.4.4
Repeat count [1]: 10
Datagram size [100]:
Timeout in seconds [2]:
Extended commands [n]: y
Interface [All]: Vlan200
Time to live [255]:
Source address:
Type of service [0]:
Set DF bit in IP header? [no]:
Validate reply data? [no]:
Data pattern [0xABCD]:
Loose, Strict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 224.4.4.4, timeout is 2 seconds:
Reply to request 0 from 172.16.99.13, 8 ms
Reply to request 1 from 172.16.99.13, 1 ms........
!
CAT2#sh ip mroute 224.4.4.4
IP Multicast Routing Table
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report,
Z - Multicast Tunnel, z - MDT-data group sender,
Y - Joined MDT-data group, y - Sending to MDT-data group
V - RD & Vector, v - Vector
Outgoing interface flags: H - Hardware switched, A - Assert winner
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 224.4.4.4), 00:16:52/stopped, RP 10.10.105.20, flags: SPF
Incoming interface: FastEthernet1/0/22, RPF nbr 172.16.99.1
Outgoing interface list: Null
(192.168.200.254, 224.4.4.4), 00:00:29/00:03:18, flags: FT
Incoming interface: Vlan200, RPF nbr 0.0.0.0
Outgoing interface list:
FastEthernet1/0/22, Forward/Sparse, 00:00:29/00:03:00
Now we will look at how fast RP fail over works. By default BSR hello packets sends in every 60s & hold-down timer is 150s (2.5 x Hello time). Therefore even RP1 fails, network will not fall back to other RP until this hold down timer expires.(worst case 150s). PIM Hello packets sends in every 30s by default.You can find all timer values & multicast specific configs from Cisco document ID11194.
WAN#sh ip pim bsr-router PIMv2 Bootstrap information This system is the Bootstrap Router (BSR) BSR address: 10.10.105.20 (?) Uptime: 00:25:29, BSR Priority: 0, Hash mask length: 0 Next bootstrap message in 00:00:32 Candidate RP: 10.10.105.20(Loopback0) Holdtime 150 seconds Advertisement interval 60 seconds Next advertisement in 00:00:28 Candidate RP priority : 50
Therefore PIM-SM BSR fail over is not that smooth as these hold down timers are too large in today’s networking context. Anycast MSDP (Multicast Source Discover Protocol) can be used with PIM-SM where fail over occurs based on IGP timers.
In next post we will see how we configure Anycast with MSDP.
Related Posts
1. Test Yourself- Basic Multicast
2. Configuring Multicast on WLC
3. Wireless Multicast is not working – Why ?
4. Understanding “VideoStream” feature
5. IGMP Basics
6. Multicast Address Allocation
7. Multicast Deployment Types
8. PIM-SM Static RP Configurations
9. PIM-SM Auto-RP configurations
10. Anycast with MSDP
11. PIM-SSM Source Specific Multicast
just hit this page while searching for documentation, very clear and concise also like the background image as well 🙂
Hi Sanjeewa,
Thanks for the note.
wOw, you ended up there when finding docs 🙂 . These are my CCIEW study notes in 2013. Glad I spend time posting those as even I can’t remember it today.
Background image is one I took near Weligama beach.
KIT
Rasika
Hi nayarasi,
I was looking at a possible Multicast configuration with redundancy for RP. I believe now its available with an advanced version of pim itself. If i define anycast-rp for my two RPs with a corresponding rp-address , Do you think i still need to further exclusively define rp-candidate as well for each of my RPs or this is not needed “rp-candidate” ?
Router RP 1 (with its unique addr 10.12.0.20 and shared address 1.1.1.1, both defined in appropriate protocols in loopback interfaces)
ip pim anycast-rp 1.1.1.1 10.12.0.20
ip pim anycast-rp 1.1.1.1 10.12.0.21
ip pim rp-address 1.1.1.1 group-list 239.0.0.0/8
ip pim rp-candidate 10.12.0.20 group-list 239.0.0.0/8 (is this cmd needed to be executed as well or not)
Router RP 2 (with its unique addr 10.12.0.21 and shared address 1.1.1.1, both defined in appropriate protocols in loopback interfaces)
ip pim anycast-rp 1.1.1.1 10.12.0.20
ip pim anycast-rp 1.1.1.1 10.12.0.21
ip pim rp-address 1.1.1.1 group-list 239.0.0.0/8
ip pim rp-candidate 10.12.0.20 group-list 239.0.0.0/8
Thanks!
Typo corrected !
Router RP 1 (with its unique addr 10.12.0.20 and shared address 1.1.1.1, both defined in appropriate protocols in loopback interfaces)
ip pim anycast-rp 1.1.1.1 10.12.0.20
ip pim anycast-rp 1.1.1.1 10.12.0.21
ip pim rp-address 1.1.1.1 group-list 239.0.0.0/8
ip pim rp-candidate 10.12.0.20 group-list 239.0.0.0/8 (is this cmd needed to be executed as well or not)
Router RP 2 (with its unique addr 10.12.0.21 and shared address 1.1.1.1, both defined in appropriate protocols in loopback interfaces)
ip pim anycast-rp 1.1.1.1 10.12.0.20
ip pim anycast-rp 1.1.1.1 10.12.0.21
ip pim rp-address 1.1.1.1 group-list 239.0.0.0/8
ip pim rp-candidate 10.12.0.21 group-list 239.0.0.0/8
Query Same , Thanks!