Anycast-RP Configuration
The Anycast-RP feature provides load balancing among active RPs and redundancy in a PIM-SM network domain. In a PM-SM configuration, only a single active RP for each multicast group within a domain is permitted. However, in an Anycast-RP configuration, this restriction is removed with the support of multiple active RPs for each group in a domain.
OcNOS supports Anycast-RP using the PIM implementation. In PIM Anycast-RP, Multicast Source Discovery Protocol (MSDP) is not employed to share information about active sources. Instead the Register mechanism in PIM is extended to provide this same function.
The following describes Anycast-RP in PIM-SM:
• A Unicast IP address is used as the RP address. The address is statically configured, and associated with all PIM routers throughout the domain.
• A set of routers in the domain is chosen to act as RPs for this RP address. These routers are called the Anycast-RP set.
• Each router in the Anycast-RP set is configured with a loopback address. The loopback address is configured on all RPs for the loopback interface, then configured as the RP address (static RP), and injected into OSPF using redistribute connected. The PIM-SM implementation uses only the first non-loopback address configured on the loopback interface. Therefore, it is important to be sure that the Anycast-RP address is configured with the first non-loopback address.
• Each router in the Anycast-RP set also needs a separate IP address, which is used for communication between the RPs.
• The RP address, or a prefix that includes the RP address, is injected into the unicast routing system inside the domain.
• Each router in the Anycast-RP set is configured with the addresses of all other routers in the Anycast-RP set. This must be consistently configured in all RPs in the set.
Topology
Figure 3-5: Anycast RP Topology
Host1 and Host3 act as hosts and sources for sending join and multicast data packets; Host2 acts as a host.
ARP1, ARP2 and ARP3
#configure terminal | Enter the Configure mode. |
(config)#interface lo | Enter the loopback interface. |
(config-if)#ip address 1.1.1.152/32 secondary | Configure the IP address for loopback |
(config-if)#exit | Exit the Configure mode. |
(config)#ip pim rp-address 1.1.1.152 | Configure the static RP with the address of the loopback. |
(config)#ip pim anycast-rp 1.1.1.152 4.4.4.5 | Configure the member RP address. In this example, 4.4.4.5 is the member RP in ARP2. It is the address used for communication between all RPs. |
(config)#ip pim anycast-rp 1.1.1.152 7.7.7.1 | Configure the member RP address. In this example, 7::7 is the member RP in ARP3. It is the address used for communication between all RPs. |
(config)#ip pim anycast-rp 1.1.1.152 23.23.23.1 | Configure the member RP address. In this example, 23.23.23.1 is the member RP in ARP1. It is the address used for communication between all RPs. |
(config)#commit | Commit the transaction. |
(config)#end | End the session |
#configure terminal | Enter the Configure mode. |
(config)#interface lo | Enter the loopback interface. |
(config-if)#ipv6 address 2000::1 secondary | Configure the IP address for loopback |
(config-if)#exit | Exit the Configure mode. |
(config)#ipv6 pim rp-address 1001::1 | Configure the static RP with the address of the loopback. |
(config)#ipv6 pim anycast-rp 1001::1 2001::1 | Configure the member RP address. In this example, 2001::1 is the member RP in ARP2. It is the address used for communication between all RPs. |
(config)#ipv6 pim anycast-rp 1001::1 2002::2 | Configure the member RP address. In this example, 2002::2is the member RP in ARP3. It is the address used for communication between all RPs. |
(config)#ipv6 pim anycast-rp 1001::1 8000::1 | Configure the member RP address. In this example, 8000::1 is the member RP in ARP1. It is the address used for communication between all RPs. |
(config)#commit | Commit the transaction. |
(cpnfig)#end | End the session |
Disable Anycast-RP
#configure terminal | Enter configure mode. |
(config)#no ip pim anycast-rp 1.1.1.152 | Disable Anycast-RP. |
(config)#no ip pim rp-address 1.1.1.152 | Disable static RP. |
(config)#commit | Commit the transaction. |
#configure terminal | Enter configure mode. |
(config)#no ipv6 pim anycast-rp 1001::1 | Disable Anycast-RP. |
(config)#no ipv6 pim rp-address 1001::1 | Disable static RP. |
(config)#commit | Commit the transaction. |
Validation
1. Verify RP-mapping in ARP1.
#show ip pim rp mapping
PIM Group-to-RP Mappings
Override RP cnt: 0
Anycast-RP 1.1.1.152 members:23.23.23.1
Group(s): 224.0.0.0/4, Static
RP: 1.1.1.152
Uptime: 00:00:13s
FOR IPV6
#show ipv6 pim rp mapping
PIM Group-to-RP Mappings
Override RP cnt: 0
Anycast-RP 1001::1 members :
2002::1 2001::1
Group(s): ff00::/8, Static
RP: 8000::1
Uptime: 00:05:1
2. Verify RP-mapping in ARP1 after disabling anycast-RP and RP-address.
ARP1#show ip pim rp mapping
PIM Group-to-RP Mappings
Override RP cnt: 0
Anycast-RP 1.1.1.152 members :
4.4.4.5 7.7.7.1 23.23.23.1
Group(s): 224.0.0.0/4, Static
RP: 1.1.1.152
Uptime: 00:00:37
FOR IPV6
ARP1#show ipv6 pim rp mapping
PIM Group-to-RP Mappings
Override RP cnt: 0
Anycast-RP 1001::1 members :
2002::1 2001::1
Group(s): ff00::/8, Static
RP: 8000::1
Uptime: 00:05:1
Last modified date: 08/29/2023