cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
544
Views
0
Helpful
0
Comments
punmakhi
Cisco Employee
Cisco Employee

Introduction

You can achieve redundancy for the Rendezvous Point (RP) by using protocols such as Auto-RP and Bootstrap Protocol. However, their convergence may not be rapid in the event of a failure. The concept of Anycast RP addresses this issue. In Anycast RP, the same IP address (rp-address) is configured on two or more routers designated to function as RP. This IP is then advertised within the Interior Gateway Protocol (IGP). As a result, other routers select an RP based on the best path to the rp-address. If there's a failure, convergence occurs as quickly as the IGP itself.

A challenge with Anycast RP is that information must be synchronized between the RPs, as some senders and receivers may join one RP while others join a different one. Without synchronization, these routers would not have complete source information, leading to potential multicast disruption. To resolve this, a mechanism is required to sync source-related information among all routers acting as RPs. Two protocols can fulfill this function:

Multicast Source Discovery Protocol (MSDP)
Protocol Independent Multicast (PIM)

MSDP is a well-established protocol. It sends Source Active messages to other routers whenever a source registers with an RP. There is also an enhancement to PIM, which is currently exclusive to Nexus devices. To make it work in IOS-XE devices for IPV4, you need to use Anycast-RP MSDP flavour.


Components used:

CML is used to replicate the use case

-> CSR1000v Routers working as Source and Destination.
-> Two Nexus C9000V boxes used as Anycast-RP PIM.
-> CSR1000v Router working as Anycast-RP MSDP.

Topology as follows:

punmakhi_0-1716561487987.png

First part of the lab, we will configure Anycast-RP on Nexus boxes and test the traffic.
In second, part we will migrate from Anycast-RP PIM to Anycast-RP MSDP and test the traffic.

PART 1:

Anycast-RP PIM Configuration

Source:
-> Running EIGRP as IGP for reachability. Establishing EIGRP with Nexus on GigabitEthernet1.

sh run | sec eigrp
router eigrp 1
network 0.0.0.0
!
interface GigabitEthernet1
ip address 192.168.1.1 255.255.255.0
negotiation auto
no mop enabled
no mop sysid
end


----------------------------

Nexus-ANYCAST-RP-Core-1:

-> Running EIGRP as IGP for reachability. Establishing EIGRP neighborship with all boxes shown in diagram.
-> Running PIM sparse mode on all the interfaces on the Nexus box.
-> Loopback0 is used as Anycast-RP source to exchange SA messages, which is 172.16.158.110/32.
-> Loopback7 is used as Anycast-RP address, which is 172.16.158.248/32.

interface loopback0
ip address 172.16.158.110/32
ip router eigrp 1
ip pim sparse-mode
!
interface loopback7
ip address 172.16.158.248/32
ip router eigrp 1
ip pim sparse-mode
!
interface Ethernet1/1
no switchport
ip address 192.168.2.1/24
ip router eigrp 1
ip pim sparse-mode
no shutdown
!
interface Ethernet1/2
no switchport
ip address 192.168.3.1/24
ip router eigrp 1
ip pim sparse-mode
no shutdown
!
interface Ethernet1/3
no switchport
ip address 192.168.1.2/24
ip router eigrp 1
ip pim sparse-mode
no shutdown

ip pim rp-address 172.16.158.248 group-list 224.0.0.0/4 override
ip pim anycast-rp 172.16.158.248 172.16.158.110
ip pim anycast-rp 172.16.158.248 172.16.158.111
!

---------------------

Nexus-ANYCAST-RP-Core-2:

-> Running EIGRP as IGP for reachability. Establishing EIGRP neighborship with all boxes shown in diagram.
-> Running PIM sparse mode on all the interfaces on the Nexus box.
-> Loopback0 is used as Anycast-RP source to exchange SA messages, which is 172.16.158.111/32.
-> Loopback7 is used as Anycast-RP address, which is 172.16.158.248/32.

interface loopback0
ip address 172.16.158.111/32
ip router eigrp 1
ip pim sparse-mode
!
interface loopback7
ip address 172.16.158.248/32
ip router eigrp 1
ip pim sparse-mode
!
interface Ethernet1/1
no switchport
ip address 192.168.3.2/24
ip router eigrp 1
ip pim sparse-mode
!
interface Ethernet1/2
no switchport
ip address 192.168.5.2/24
ip router eigrp 1
no shutdown
!
interface Ethernet1/3
no switchport
ip address 192.168.4.2/24
ip router eigrp 1
ip pim sparse-mode
no shutdown
!

ip pim rp-address 172.16.158.248 group-list 224.0.0.0/4 override
ip pim anycast-rp 172.16.158.248 172.16.158.110
ip pim anycast-rp 172.16.158.248 172.16.158.111

-------------------

Destination#

-> GigabitEthernet1 is joining multicast group 239.1.1.1
-> Static RP is configured as 172.16.158.248.
-> Running EIGRP as IGP for reachability.

sh run int gig1
Building configuration...

Current configuration : 170 bytes
!
interface GigabitEthernet1
ip address 192.168.5.1 255.255.255.0
ip pim sparse-mode
ip igmp join-group 239.1.1.1
negotiation auto
no mop enabled
no mop sysid
end
!
ip pim rp-address 172.16.158.248
!
router eigrp 1
network 0.0.0.0
!

-----------------------

OUTPUTS of Anycast-RP PIM:

Source#

-> Source can reach the Destination ip 192.168.5.1.
-> When we ping the multicast group 239.1.1.1, we can see the destination ip is responding.

ping 192.168.5.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.5.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 5/6/7 ms
Source#ping 239.1.1.1 re 5
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:

Reply to request 0 from 192.168.5.1, 15 ms
Reply to request 1 from 192.168.5.1, 13 ms
Reply to request 2 from 192.168.5.1, 15 ms
Reply to request 3 from 192.168.5.1, 11 ms
Reply to request 4 from 192.168.5.1, 15 ms

--------------

Nexus-ANYCAST-RP-Core-1#

-> Nexus Core-1 is creating PIM neighborship with other Nexus Core-2.
-> Anycast-RP is configured 172.16.158.248 for all the groups.
-> We can see mroute table is populated with incoming interface, OIL for the group 239.1.1.1/32.

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 172.16.158.248 members:
172.16.158.110* 172.16.158.111

RP: 172.16.158.248*, (0),
uptime: 00:51:26 priority: 255,
RP-source: (local),
group ranges:
224.0.0.0/4

sh ip pim neighbor
PIM Neighbor Status for VRF "default"
Neighbor Interface Uptime Expires DR Bidir- BFD
ECMP Redirect
Priority Capable State
Capable
192.168.2.2 Ethernet1/1 00:30:49 00:01:23 1 no n/a
no

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

(192.168.1.1/32, 239.1.1.1/32), uptime: 00:07:59, ip pim
Incoming interface: Ethernet1/3, RPF nbr: 192.168.1.1, internal
Outgoing interface list: (count: 1)
Ethernet1/1, uptime: 00:04:22, pim

--------------------------

Nexus-ANYCAST-RP-Core-1#

-> Nexus Core-2 is creating PIM neighborship with other Nexus Core-1.
-> Anycast-RP is configured 172.16.158.248 for all the groups.
-> We can see mroute table is populated with incoming interface, OIL for the group 239.1.1.1/32.

Core-2# 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 172.16.158.248 members:
172.16.158.110 172.16.158.111*

RP: 172.16.158.248*, (0),
uptime: 01:04:51 priority: 255,
RP-source: (local),
group ranges:
224.0.0.0/4
Core-2# sh ip pim ne
PIM Neighbor Status for VRF "default"
Neighbor Interface Uptime Expires DR Bidir- BFD
ECMP Redirect
Priority Capable State
Capable
192.168.5.1 Ethernet1/2 00:14:05 00:01:27 1 no n/a
no
192.168.4.1 Ethernet1/3 00:43:06 00:01:28 1 no n/a
no
Core-2# show ip mroute
IP Multicast Routing Table for VRF "default"

(192.168.1.1/32, 239.1.1.1/32), uptime: 00:17:49, msdp mrib pim ip
Incoming interface: Ethernet1/3, RPF nbr: 192.168.4.1, internal
Outgoing interface list: (count: 1)
Ethernet1/2, uptime: 00:14:12, mrib

----------------------------

PART 2:

Migrating Anycast-RP PIM to Anycast-RP MSDP:

Let's introduce New-Core(IOS-XE-ANYCAST-RP-MSDP) box CSR1000v in the topology and configure Anycast-RP MSDP flavor this time.
We need to shutdown the Loopback0 and Loopback7 on Nexus Core-2 and create the same Loopback interfaces
on IOS-XE box.

New Configuration for Anycast-RP MSDP on Nexus Core-1:

-> We need to disable Anycast-RP PIM.
-> Enable MSDP peer configuration for New-Core.

Nexus-ANYCAST-RP-Core-1#

!
no ip pim anycast-rp 172.16.158.248 172.16.158.110
no ip pim anycast-rp 172.16.158.248 172.16.158.111
!
ip pim rp-address 172.16.158.248 group-list 224.0.0.0/4 override
!
ip msdp originator-id loopback0
ip msdp peer 172.16.158.111 connect-source loopback0
!

---------------------


Nexus-ANYCAST-RP-Core-1#

-> Shutdown the Loopback0 and Loopback7 to make sure Core-2 does not take part in Anycast-RP election.
-> Remove Anycast-RP PIM configuration from box.

interface Loopback0
shutdown
!
interface Loopback7
shutdown
!
no ip pim anycast-rp 172.16.158.248 172.16.158.110
no ip pim anycast-rp 172.16.158.248 172.16.158.111
!

----------------------

IOS-XE-ANYCAST-RP-MSDP:

-> Created same Loopback0 and Loopback7 on New-Core which were created on Core-2.
-> Created Static RP.
-> Created MSDP peer configuration.

interface Loopback0
ip address 172.16.158.111 255.255.255.255
ip pim sparse-mode
end
!
interface Loopback7
ip address 172.16.158.248 255.255.255.255
ip pim sparse-mode
end
!
interface GigabitEthernet1
ip address 192.168.2.2 255.255.255.0
ip pim sparse-mode
negotiation auto
no mop enabled
no mop sysid
end
!
interface GigabitEthernet2
ip address 192.168.4.1 255.255.255.0
ip pim sparse-mode
negotiation auto
no mop enabled
no mop sysid
end
!
router eigrp 1
network 0.0.0.0
!
ip pim rp-address 172.16.158.248

sh run | i msdp
ip msdp peer 172.16.158.110 connect-source Loopback0
ip msdp cache-sa-state
ip msdp originator-id Loopback0


-----------------------

OUTPUTS after Change to Anycast-RP MSDP:

Source#

-> Can ping the multicast group 239.1.1.1.

ping 239.1.1.1 re 50
Type escape sequence to abort.
Sending 50, 100-byte ICMP Echos to 239.1.1.1, timeout is 2 seconds:

Reply to request 0 from 192.168.5.1, 18 ms
Reply to request 1 from 192.168.5.1, 13 ms
Reply to request 2 from 192.168.5.1, 15 ms
Reply to request 3 from 192.168.5.1, 17 ms
Reply to request 4 from 192.168.5.1, 13 ms
Reply to request 5 from 192.168.5.1, 12 ms

------------------------

Nexus-ANYCAST-RP-Core-1#

-> We can see Anycast-RP is configured.
-> Mroute table is populated.
-> Can see now MSDP neighborship created with new IOS-XE box.

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

RP: 172.16.158.248*, (0),
uptime: 01:36:04 priority: 255,
RP-source: (local),
group ranges:
224.0.0.0/4

sh ip mroute
(192.168.1.1/32, 239.1.1.1/32), uptime: 00:02:56, ip pim
Incoming interface: Ethernet1/3, RPF nbr: 192.168.1.1, internal
Outgoing interface list: (count: 1)
Ethernet1/1, uptime: 00:02:46, pim

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

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
172.16.158.111 0 Established 00:16:30 00:00:21 0

--------------------------

IOS-XE-ANYCAST-RP-MSDP:

-> We can see Anycast-RP is configured.
-> Mroute table is populated with MT Flag.
M - MSDP created entry
T - SPT-bit set
-> Can see now MSDP neighborship created with new IOS-XE box.

sh ip pim rp
Group: 239.1.1.1, RP: 172.16.158.248
Group: 224.0.1.40, RP: 172.16.158.248

show ip mroute

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, E - Extranet,
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,
G - Received BGP C-Mroute, g - Sent BGP C-Mroute,
N - Received BGP Shared-Tree Prune, n - BGP C-Mroute suppressed,
Q - Received BGP S-A Route, q - Sent BGP S-A Route,
V - RD & Vector, v - Vector, p - PIM Joins on route,
x - VxLAN group, c - PFP-SA cache created entry,
* - determined by Assert, # - iif-starg configured on rpf intf,
e - encap-helper tunnel flag, l - LISP Decap Refcnt Contributor
Outgoing interface flags: H - Hardware switched, A - Assert winner, p - PIM Join
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode

(192.168.1.1, 239.1.1.1), 00:09:46/00:01:48, flags: MT
Incoming interface: GigabitEthernet1, RPF nbr 192.168.2.1
Outgoing interface list:
GigabitEthernet2, Forward/Sparse, 00:09:46/00:03:12

show ip msdp summary
MSDP Peer Status Summary
Peer Address AS State Uptime/ Reset SA Peer Name
Downtime Count Count
172.16.158.110 ? Up 00:14:51 1 1 ?

Note: Anycast-RP PIM is supported for IPV6 in IOS-XE boxes. However, to run Anycast RP for IPV4 there is only one way  MSDP.

Getting Started

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: