Information About the PIMv6 Anycast RP Solution
PIMv6 Anycast RP Solution Overview
The anycast RP solution in IPv6 PIM allows an IPv6 network to support anycast services for the PIM-SM RP. It allows anycast RP to be used inside a domain that runs PIM only. Anycast RP can be used in IPv4 as well as IPv6, but it does not depend on the Multicast Source Discovery Protocol (MSDP), which runs only on IPv4. This feature is useful when interdomain connection is not required.
Anycast RP is a mechanism that ISP-based backbones use to get fast convergence when a PIM RP device fails. To allow receivers and sources to rendezvous to the closest RP, the packets from a source need to get to all RPs to find joined receivers.
A unicast IP address is chosen as the RP address. This address is either statically configured or distributed using a dynamic protocol to all PIM devices throughout the domain. A set of devices in the domain is chosen to act as RPs for this RP address; these devices are called the anycast RP set. Each device in the anycast RP set is configured with a loopback interface using the RP address. Each device in the anycast RP set also needs a separate physical IP address to be used for communication between the RPs. Each device in the Anycast set must contain the list of all the devices in the Anycast set.
The RP address, or a prefix that covers the RP address, is injected into the unicast routing system inside of the domain. Each device in the anycast RP set is configured with the addresses of all other devices in the anycast RP set, and this configuration must be consistent in all RPs in the set. The IP address of the local device must be included in the set so that all devices in anycast set have the same IP addresses.
PIMv6 Anycast RP Normal Operation
-
RP1, RP2, RP3, and RP4 are members in the same anycast RP group.
-
S11 and S31 are sources that use RP1 and RP3, respectively, based on their unicast routing metric.
-
R11, R12, R2, R31, and R32 are receivers. Based on their unicast routing metrics, R11 and R12 join to RP1, R2 joins to RP2 and R31, and R32 joins to RP3, respectively.
The following sequence of events occurs when S11 starts sending packets:
-
DR1 creates (S,G) states and sends a register to RP1. DR1 may also encapsulate the data packet in the register.
-
Upon receiving the register, RP1 performs normal PIM-SM RP functionality, and forwards the packets to R11 and R12.
-
RP1 also sends the register (which may encapsulate the data packets) to RP2, RP3, and RP4.
-
RP2, RP3, and RP4 do not further forward the register to each other.
-
RP2, RP3, and RP4 perform normal PIM-SM RP functionality, and if there is a data packet encapsulated, RP2 forwards the data packet to R2 and RP3 forwards the data packet to R31 and R32, respectively.
-
The previous five steps repeat for null registers sent by DR1.
PIMv6 Anycast RP Failover
The following illustration shows PIM anycast RP failover.
-
Registers from DR1 will be routed transparently to RP2.
-
R11 uses RP2 as the RP, and R12 uses RP4 as the RP.
-
Registers from DR1 will be routed from RP2 to RP3 and RP4.
In this way, the loss of the RP (RP1 in this case) is transparent to DR1, R11, and R12, and the network can converge as soon as the IGP is converged.