loader

With shared tree, multicast distribution roots at RP.

RP Configuration

You can configure – for different groups – as many rendezvous points as you like. But you must note that all routers in the multicast domain agree on the RP for the group. There are different ways that RPs are defined:

  • Static RP: You configure the address of RP on every single router in the multicast domain.
  • Dynamic Active/Standby RP(s):
    • Bootstrap Router (BSR): Makes sure that all routers in the multicast domain have the same RP as the BSR.
    • Auto-RP: Cisco proprietary which was used prior to BSR standard.
  • Active/Active RPs
    • Anycast RP
    • Phantom RP
Note: Static RP can coexist with Dynamic RP. But dynamic RP takes precedence over the static RP.
Note: You cannot configure BSR and Auto-RP at the same time.

BSR

Some routers are configured as RPs (candidate RPs) and advertise themselves as such to other PIM routers. The BSR receives this information and distributes the RP-to-group mapping to downstream routers who are listening to these advertisements (224.0.0.13).

Bootstrap Router (BSR)
Bootstrap Router (BSR)
! On RP Candidate
N9K01(config)# ip pim rp-candidate l1 group-list 224.0.0.0/4

! On BSR
N9K03(config)# ip pim bsr bsr-candidate Ethernet1/1

! On Downstream routers
N9K04(config)# ip pim bsr listen

Auto RP

Auto-RP propagates RP information via Auto-RP messages. RPs (Candidate RPs) announce their availability to the mapping agents who is listening on 224.0.1.39. Downstream routers listen to 224.0.1.40 for mapping advertisements from mapping agent.

Auto-RP
Auto-RP

RP Redundancy

There are two RP redundancy mechanisms used with static RPs which I want to cover here:

  • Anycast RP
  • Phantom RP

Anycast RP

Anycast RP achieves active/active RP distribution for PIM-SM. Anycast requires both RPs to use the same IP address. You assign a duplicate Loopback address and advertise into IGP domain. PIM Register and Join messages go to the closest unicast metric RP in the topology. What if PIM Register is sent to one anycast RP, and PIM Join is sent to another? There are two variants for Anycast RP:

  • Multicast Source Discovery Protocol (MSDP) (RFC 3446)
  • PIM Anycast RP (RFC 4610)

Multicast Source Discovery Protocol (MSDP)

MSDP (RFC 3618) was used for Inter-domain source active communication in the Internet. We can make use of this intra domain. MSDP listens to active sources in a network (PIM registers) and shares those sources with only explicitly configured neighbors (on TCP port 639). RPs then join to those active sources. We run MSDP between the RPs. Each device has a globally routable Loopback plus the anycast Loopback.

Anycast RP with MSDP
Anycast RP with MSDP
! On RP1
! Loopback0 is not anycast loopback; not pim enabled
N9K01(config)# feature msdp
N9K01(config)# ip msdp originator-id loopback0
N9K01(config)# ip msdp peer 192.168.0.2 connect-source loopback0
N9K01(config)# ip pim rp-address 192.168.0.254
! 192.168.0.254 is IP address of Loopback 1 which is PIM SM enabled

! On RP2
! Loopback0 is not anycast loopback; not pim enabled
N9K01(config)# feature msdp
N9K02(config)# ip msdp originator-id loopback 0
N9K02(config)# ip msdp peer 192.168.0.1 connect-source loopback 0
N9K01(config)# ip pim rp-address 192.168.0.254
! 192.168.0.254 is IP address of Loopback 1 which is PIM SM enabled

Verification:

N9K01# show ip msdp summary
MSDP Peer Status Summary for VRF "default"
Local ASN: 0, originator-id: 192.168.0.1

Number of configured peers:  1
Number of established peers: 1
Number of shutdown peers:    0

Peer            Peer        Connection      Uptime/   Last msg  (S,G)s
Address         ASN         State           Downtime  Received  Received
192.168.0.2     0           Established     00:11:30  00:00:24  1

N9K02# show ip msdp summary
MSDP Peer Status Summary for VRF "default"
Local ASN: 0, originator-id: 192.168.0.2

Number of configured peers:  1
Number of established peers: 1
Number of shutdown peers:    0

Peer            Peer        Connection      Uptime/   Last msg  (S,G)s
Address         ASN         State           Downtime  Received  Received
192.168.0.1     0           Established     00:11:31  00:00:47  1

N9K02# show ip msdp sa-cache
MSDP SA Route Cache for VRF "default" - 1 entries
Source       Group       RP            ASN      Uptime    In_MRIB   Peer address
172.16.1.2   239.0.1.2   192.168.0.1   0        00:02:19  True      192.168.0.1

N9K02# show ip mroute
IP Multicast Routing Table for VRF "default"

(*, 232.0.0.0/8), uptime: 00:13:38, pim ip
  Incoming interface: Null, RPF nbr: 0.0.0.0
  Outgoing interface list: (count: 0)

(*, 239.0.1.2/32), uptime: 00:13:19, pim ip
  Incoming interface: loopback1, RPF nbr: 192.168.0.254
  Outgoing interface list: (count: 1)
    Ethernet1/2, uptime: 00:13:16, pim

(172.16.1.2/32, 239.0.1.2/32), uptime: 00:13:27, ip pim msdp mrib
  Incoming interface: Ethernet1/1, RPF nbr: 10.1.1.9
  Outgoing interface list: (count: 1)
    Ethernet1/2, uptime: 00:13:16, pim

On downstream routers, you tell who the RP is, remember to give them the anycast loopback IP (not the Lo0 with the example above).

PIM Anycast RP

Let’s not enable MSDP feature. Let’s do anycast RP technic with using only PIM protocol. Let’s use PIM register message for synchronization. PIM Anycast RP uses PIM to build active/active distribution between the RPs. You need to configure a set of RP routers on each RP. Once one RP (let’s say RP1), receives Register message, this router adds (S,G) to its forwarding table, then it sends Register message to all other RPs listed in the set of RPs.

PIM Anycast RP
Anycast RP with PIM Register Message

Configuration on RPs

N9K01(config)# ip pim anycast-rp 192.168.0.254 192.168.0.1
N9K01(config)# ip pim anycast-rp 192.168.0.254 192.168.0.2
N9K01(config)# ip pim rp-address 192.168.0.254

Configuration on non-RPs remain unchanged

N9K03(config)# ip pim rp-address 192.168.0.254

Verification on an RP and a non-RP

N9K01# show ip pim rp
PIM RP Status Information for VRF "default"
BSR disabled
Auto-RP disabled
BSR RP Candidate policy: None
BSR RP policy: None
Auto-RP Announce policy: None
Auto-RP Discovery policy: None

Anycast-RP 192.168.0.254 members:
  192.168.0.1*  192.168.0.2

RP: 192.168.0.254*, (0),
 uptime: 1d23h   priority: 255,
 RP-source: (local),
 group ranges:
 224.0.0.0/4
!
N9K03# show ip pim rp
rp        rp-hash
N9K03# sho ip pim rp
PIM RP Status Information for VRF "default"
BSR disabled
Auto-RP disabled
BSR RP Candidate policy: None
BSR RP policy: None
Auto-RP Announce policy: None
Auto-RP Discovery policy: None

RP: 192.168.0.254, (0),
 uptime: 1d23h   priority: 255,
 RP-source: (local),
 group ranges:
 224.0.0.0/4

Below, you can see the mroute is synchronized between the two RPs:

N9K01# show ip mroute
IP Multicast Routing Table for VRF "default"

(*, 232.0.0.0/8), uptime: 00:07:53, pim ip
  Incoming interface: Null, RPF nbr: 0.0.0.0
  Outgoing interface list: (count: 0)

(*, 239.0.1.2/32), uptime: 00:07:29, pim ip
  Incoming interface: loopback1, RPF nbr: 192.168.0.254
  Outgoing interface list: (count: 1)
    Ethernet1/2, uptime: 00:07:29, pim

(172.16.1.2/32, 239.0.1.2/32), uptime: 00:00:04, pim mrib ip
  Incoming interface: Ethernet1/1, RPF nbr: 10.1.1.1, internal
  Outgoing interface list: (count: 1)
    Ethernet1/2, uptime: 00:00:04, pim
!
N9K02# show ip mroute
IP Multicast Routing Table for VRF "default"

(*, 232.0.0.0/8), uptime: 1d23h, pim ip
  Incoming interface: Null, RPF nbr: 0.0.0.0
  Outgoing interface list: (count: 0)

(*, 239.0.1.2/32), uptime: 00:08:25, pim ip
  Incoming interface: loopback1, RPF nbr: 192.168.0.254
  Outgoing interface list: (count: 0)

(172.16.1.2/32, 239.0.1.2/32), uptime: 00:00:08, pim mrib ip
  Incoming interface: Ethernet1/1, RPF nbr: 10.1.1.9, internal
  Outgoing interface list: (count: 0)

The Nexus platform supports both Anycast PIM and MSDP modes. So, This is a good choice to use Anycast PIM as we are not enabling MSDP feature.

Phantom RP

PIM BiDir uses phantom RP or virtual RP for HA. It doesn’t need to be a physical router because there is no PIM Register message with PIM BiDir; so, there is no unicast packet to the RP address. Unlike PIM ASM, with BiDir the RP does not handle any control plane load and RP information. It is just an indication towards the root of the RPT.

Leave a Reply

Your email address will not be published. Required fields are marked *