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.PIM-BSR-01

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