Multicast virtual private network (MVPN) requires a multicast backbone network (a core network or a public network) to support multicast functions.
A PIM instance that runs in a VPN instance bound to a PE is called a VPN-specific PIM instance or a PIM C-instance.
A PIM instance that runs in a public network instance bound to a PE is called a PIM P-instance.
MVPN implements communication between PIM C-instances as follows:
MVPN establishes a multicast tunnel (MT) between each two PIM C-instances.
Each PIM C-instance creates a multicast tunnel interface (MTI) to connect to a specific MT.
Each PIM C-instance joins a specific MT based on the configured share-group.
VPN instances with the same share-group address construct a multicast domain (MD).
On the network shown inFigure1 MVPN networking, VPN BLUE instances bound to PE1 and PE2 communicate through MD BLUE, and VPN RED instances bound to PE1 and PE2 communicate through MD RED. See Figure 2 and Figure 3.
The PIM C-instance on the local PE considers the MTI as a LAN interface and sets up a PIM neighbor relationship with the remote PIM C-instance. The PIM C-instances then use the MTIs to perform DR election, send Join/Prune messages, and transmit multicast data.
The PIM C-instances send PIM protocol packets or multicast data packets to the MTIs and the MTIs encapsulate the received packets. The encapsulated packets are public network multicast data packets that are forwarded by PIM P-instances. Therefore, an MT is actually a multicast distribution tree on a public network.
VPNs use different MTs, and each MT uses a unique packet encapsulation mode, so multicast data is isolated between VPNs.
PIM C-instances on PEs in the same VPN use the same MT and communicate through this MT.
A VPN uniquely defines an MD. An MD serves only one VPN. This relationship is called a one-to-one relationship. The VPN, MD, MTI, and share-group are all in a one-to-one relationship.