mVPN Architecture
The mVPN solution discussed in this chapter is based on section 2 of Multicast in MPLS/BGP VPNs Internet draft (draft-rosen-vpn-mcast).
Section 2 of this Internet draft describes the concept of multicast domains in which CE routers maintain a PIM adjacency with their local PE router only, and not with other CE routers. As mentioned previously, this adjacency characteristic is identical to that used in MPLS VPNs. Enterprise customers can maintain their existing multicast configurations, such as PIM SM/PIM DM and any RP discovery mechanisms, and they can transition to an mVPN service by using multicast domains without configuration changes. P routers do not hold state information for individual customer source trees; instead, they can hold as little as a single state entry for each VPN (assuming that PIM Bi-Dir is deployed) regardless of the number of multicast groups within that VPN.
If a service provider is using PIM SM in the core (instead of PIM Bi-Dir), then the greatest amount of state information that would be required in a P router would be roughly equivalent to the number of PE routers in the backbone multiplied by the number of VPNs defined on those PE routers. This should be significantly less than the number of potential customer multicast groups. Although you can reduce the amount of P-network state information, the real point to note here is that with multicast domains, regardless of which multicast mode the service provider is using (PIM SM, Bi-Dir, SSM), the amount of state information in the core is deterministic. The core information does not depend on the customer's multicast deployment.
Customer networks are also free to use whatever multicast groups they need without the possibility of overlap with other VPNs. These groups are invisible to the P router network, in the same manner that VPN unicast routes are invisible to P routers in an MPLS VPN network.
Multicast Domain Overview
A multicast domain is a set of multicast-enabled virtual routing and forwarding instances (VRFs) that can send multicast traffic to each other. These multicast VRFs are referred to as mVRFs. Multicast domains map all of a customer's multicast groups that exist in a particular VPN to a single unique global multicast group in the P-network. This is achieved by encapsulating the original customer multicast packets within a provider packet by using GRE. The destination address of the GRE packet is the unique multicast group that the service provider has allocated for that multicast domain. The source address of the GRE packet is the BGP peering address of the originating PE router. A different global multicast group address is required for every multicast domain. Therefore, the set of all customer multicast states (*, G1)_(*, GN) can be mapped to a single (S, G) or (*, G) in the service provider network.
NOTE
The use of GRE in a multicast domain is not the same as the overlay solution in which point-to-point GRE tunnels are used between CE routers. The GRE tunnels used here are between PE routers in a multicast configuration. The tunnels can be considered point-to-multipoint connections if PIM SM is deployed or even multipoint-to-multipoint if using PIM Bi-Dir. Therefore, the use of GRE for multicast domains is inherently more efficient than GRE overlay.
Each PE router that is supporting an mVPN customer is part of the multicast domain for that customer. Multiple end customers can attach to a particular PE router, which means that the PE router can be a member of many multicast domainsone for each mVPN customer who is connected to it.
One of the major attractions of the multicast domain solution is that the P routers do not need a software upgrade to enable new multicast features to support mVPNs. Only native multicast is required in the core network to support multicast domains. The advantage of this is that native multicast is a mature technology in Cisco IOS; therefore, the operational risk is minimized in the service provider network when deploying multicast domains.
The P-network builds a default multicast distribution tree (Default-MDT) between PE routers for each multicast domain by using a unique multicast group address that the service provider allocates. These unique multicast groups are referred to as MDT-Groups. Each mVRF belongs to a default MDT. Therefore, the amount of state information that a P router must hold is not a function of the number of customer multicast groups in the network; instead, it is the number of VPNs. This considerably reduces the amount of state information required in a P router. If the MDT is configured as a bidirectional tree, then it is possible to have a single (*, G) multicast state entry for each VPN.
Figure 7-7 shows the concept of multicast domains in the SuperCom network. The FastFoods and EuroBank VPNs belong to separate multicast domains. The SuperCom core creates a Default-MDT for each of these multicast domains by using the MDT-group addresses 239.192.10.1 for FastFoods and 239.192.10.2 for EuroBank. The PE routers at San Jose and Paris join both Default-MDTs as they are connected to the FastFoods and EuroBank sites. The Washington PE router only needs to connect to the Default-MDT for the EuroBank VPN.
Figure 7-7 Multicast Domains
Any EuroBank or FastFoods packets that travel along these Default-MDTs are encapsulated by using GRE. The source of the outer packet is the Multiprotocol BGP peering address of the sending PE router, and the destination is the appropriate MDT-group address. GRE essentially hides the customer multicast packet from the P-network and allows us to map many multicast groups in a VPN to a single provider multicast group. The SuperCom P routers only see the source and destination of the outer IP header that SuperCom allocates. This source and destination appear as an (S, G) state entry in the SuperCom global multicast table.
Assuming that the SuperCom network has been configured with PIM Bi-Dir, only two (*, G) states are required in each P router: (*, 239.192.10.1) and (*, 239.192.10.2). This compares favorably with the six states required in the native multicast network described earlier in Figure 7-6. Also note in our example that the amount of state information in the P-network is always bounded to two entries regardless of how many new sources and groups FastFoods or EuroBank introduce.
NOTE
A P router is only aware of the PE router source addresses and the MDT-Group addresses that form the MDTs. CE router traffic traveling along an MDT is forwarded in a GRE-encapsulated packet (P-packet) using the MDT-group address as the destination (more on this in the later section, "MDTs"). The GRE P-packet uses IP only, and no MPLS label headers are applied to MDT traffic. Only pure IP multicast exists in the core.
mVPN will be supported from IOS versions 12.2(13)T and 12.0(23)S for Cisco 7200 and 7500 series routers. Support for Cisco 10000 series routers will be available from IOS version 12.0(23)SX, Cisco 12000 series is suppored in 12.0(26)S. The initial release will permit a VPN to participate only in a single multicast domain; access to Internet multicast or other multicast domains will not be permissible. However, it is expected that this limitation will be removed in future versions of IOS.
PIM SM or SSM are the only multicast modes supported in the P-network for mVPN.
To summarize, the goals of the multicast domain solution are as follows:
To deliver Enterprise Multicast to customers who subscribe to an MPLS VPN service
To minimize the amount of state information in the P-network (the service provider core) while providing optimal routing
To allow customers the freedom to choose their own multicast groups, multicast operations mode, RP placement, and so on
To allow multicast in the P-network to be completely separated from the operation of multicast in the customer network.
The various components used to deliver multicast domains are explained in the following sections.
Multicast VRF
On a PE router, each VRF can have an associated multicast routing and forwarding table configured, referred to as a multicast VRF (mVRF). The mVRF is the PE router's view into the enterprise VPN multicast network. The mVRF contains all the multicast routing information for that VPN. This information includes the state entries for distribution trees or RP-to-group mappings (if PIM SM is being used). When a PE router receives multicast data or control packets from a CE router interface in a VRF, multicast routing such as RPF checks and forwarding will be performed on the associated mVRF.
The PE router also can configure multicast features or protocols in the context of the mVRF. For example, if the customer network were using static RP configurations (that is, it was not using Auto-RP to distribute RP information), then the PE router would need to configure the same static RP entry information that was being used in the C-network. The multicast routing protocols in Cisco IOS such as PIM, IGMP, and MSDP have been modified to operate in the context of an mVRF and as such only modify data structures and states within that mVRF.
Example 7-3 shows the PIM and MSDP commands available in the context of a VRF.
Example 7-3 VRF-Aware Multicast Configuration Commands
SuperCom_Paris(config)#ip pim vrf EuroBank ? accept-register Registers accept filter accept-rp RP accept filter bsr-candidate Candidate bootstrap router (candidate BSR) register-rate-limit Rate limit for PIM data registers register-source Source address for PIM Register rp-address PIM RP-address (Rendezvous Point) rp-announce-filter Auto-RP announce message filter rp-candidate To be a PIMv2 RP candidate send-rp-announce Auto-RP send RP announcement send-rp-discovery Auto-RP send RP discovery message (as RP-mapping agent) spt-threshold Source-tree switching threshold ssm Configure Source Specific Multicast state-refresh PIM DM State-Refresh configuration SuperCom_Paris(config)#ip msdp vrf EuroBank ? default-peer Default MSDP peer to accept SA messages from description Peer specific description filter-sa-request Filter SA-Requests from peer mesh-group Configure an MSDP mesh-group originator-id Configure MSDP Originator ID peer Configure an MSDP peer redistribute Inject multicast route entries into MSDP sa-filter Filter SA messages from peer sa-limit Configure SA limit for a peer sa-request Configure peer to send SA-Request messages to shutdown Administratively shutdown MSDP peer timer MSDP timer ttl-threshold Configure TTL Thresold for MSDP Peer
In addition to the commands in the previous example, there are several multicast show commands that support VRF contexts. These are shown in Example 7-4.
Example 7-4 VRF-Aware Multicast show Commands
SuperCom_Paris#show ip pim vrf EuroBank ? autorp Global AutoRP information bsr-router Bootstrap router (v2) interface PIM interface information mdt Multicast tunnel information neighbor PIM neighbor information rp PIM Rendezvous Point (RP) information rp-hash RP to be chosen based on group selected SuperCom_Paris#show ip msdp vrf EuroBank ? count SA count per AS peer MSDP Peer Status sa-cache MSDP Source-Active Cache summary MSDP Peer Summary SuperCom_Paris#show ip igmp vrf EuroBank ? groups IGMP group membership information interface IGMP interface information membership IGMP membership information for forwarding tracking IGMP Explicit Tracking information udlr IGMP undirectional link multicast routing information
Example 7-5 shows the commands to enable multicast for the EuroBank VRF. The ip multicast-routing vrf enables multicast routing on the associated EuroBank VRF. In addition, any multicast interfaces in the EuroBank VRF will also require PIM to be enabled, as shown with the ip pim sparse command. The various PIM adjacencies that can exist are discussed in the following section.
Example 7-5 Enabling Multicast in a VRF
ip multicast-routing vrf EuroBank ! interface Serial0/0 ip vrf forwarding EuroBank ip address 192.168.2.26 255.255.255.252 ip pim sparse
NOTE
If the ip vrf forwarding command is removed from the PE router configuration, not only is the ip address command removed from any associated VRFs, but the ip pim sparse command is also removed.
PIM Adjacencies
Each VRF that has multicast routing enabled has a single PIM instance created on the PE router. This VRF-specific PIM instance forms a PIM adjacency with each PIM-enabled CE router in that mVRF. The customer multicast routing entries that each PIM instance creates are specific to the corresponding mVRF.
In addition to the CE router PIM adjacency, the PE router forms two other types of PIM adjacencies. The first is a PIM adjacency with other PE routers that have mVRFs in the same multicast domain. This PE router PIM adjacency is accessible through the multicast tunnel interface (MTI) and is used to transport multicast information between mVRFs (through a MDT) across the backbone. MDTs and MTIs are described later in this chapter. The PE router PIM adjacencies are maintained by using the same PIM instance that is used between the PE router and CE router for the associated mVRF.
The second type of PIM adjacency is created by the global PIM instance. The PE router maintains global PIM adjacencies with each of its IGP neighbors, which will be P routers, or directly connected PE routers (that are also providing a P router function). The global PIM instance is used to create the multicast distribution trees (MDTs) that connect the mVRFs.
NOTE
CE routers do not form PIM adjacencies with each other, nor does a CE router form an adjacency with a PE router by using the global PIM instance.
Figure 7-8 shows the different types of PIM adjacencies in the SuperCom network for the FastFoods VPN. A PIM adjacency exists between the San Francisco FastFoods CE router and San Jose PE router, as well as between the Lyon FastFoods CE router and the Paris PE router. Because the FastFoods mVRFs are part of the same multicast domain, a PIM adjacency is active between the San Jose and Paris PE routers. Both San Jose and Paris PE routers have separate PIM adjacency in the global table to the Washington P router.
Figure 7-8 PIM Adjacencies