Layer 3 VPNs
A virtual private network can be defined as a network shared between organizations, each one with its own individual policy concerning addressing, routing, and security. A VPN thus offers significant savings to organizations because the network investment and operating costs are shared between all users. As long as the service provider ensures that traffic belonging to the various companies is isolated and the preceding policies are respected, the VPN can be considered transparent. Because the VPN is managed by an operator external to the company, service provision is subject to a contract in which the operator agrees to respect the terms of an SLA. This specifies, for example, the degree of network availability (number of outages, average time to repair, and so on), the minimum transmission rate between sites, packet loss, jitter, and the maximum latency between sites.
Until the introduction of MPLS architecture, private networks were deployed by using one of two basic techniques: the overlay and the peer-to-peer models. The overlay model typically uses the virtual circuits of a Frame Relay or ATM service, which means that sites can be interconnected by stacking the IP layer above a Layer 2 connectivity service. The overlay model has advantages such as permitting the duplication of addresses and the isolation of the control and security planes. The overlay model, however, also has drawbacks, including the difficulty in optimizing the size of the virtual circuits between sites, the requirement for meshed circuits that optimize routing, and the obligation to manage Layer 3 adjacencies for all circuits. Conversely, implementing IPSec over the Internet or via general routing encapsulation (GRE) tunnels are examples of Layer 3 overlay over IP for private or public network constructs.
An example of the overlay model is shown in Figure 3-8.
Figure 3-8 Scalability Problem with Fully Meshed Layer 2 VPN
In the peer-to-peer model, certain limitations of the overlay model are overcome by replacing the use of multiple virtual circuits with a direct exchange of routing information between the service provider and the customer's equipment. The main advantage of this model is the simplification of routing as it appears from the CE installation, thanks to the elimination of multiple virtual circuits. Moreover, the size of the circuits is no longer problematic, and intersite routing is optimal from the moment the service starts up. The main disadvantages of the model are the requirement for the service provider's IGP protocol to manage all the customer VPN routes and the fact that duplication of addressing between clients is impossible.
The VPN service defined over the MPLS architecture allows a group of customers to share common routing information. Thus, a site can belong to one or more VPNs. An MPLS VPN operates at Layer 3 and is also referred to as a BGP-VPN because multiprotocol BGP is used to transport the VPN constructs, as is discussed later in this section. The MPLS VPN architecture is based on a VPN router from the customer site (CE) and a provider edge router (PE). The service provider's backbone—specifically the provider (P) routers—have no knowledge of the routing information specific to the various customer VPNs. The PE performs the most important function in the MPLS VPN architecture; the VPN's intelligence is located on the PE, but only for VPNs directly attached to it. The PE manages two or more separate tables for storing routing information.
- Global table—Contains all the service provider's internal routes as well as the interface addresses of routers not linked to the VPN (P routers) and the PEs. The global table can contain external IPv4 routes that are useful for providing Internet access for example.
- VPN routing and forwarding instances (VRF) table—Includes the customer VPN routes associated with one or more directly connected sites (CE routers). The notion of a VRF is similar to a virtual router.
MPLS-VPN is an example of a peer-to-peer model and is depicted in Figure 3-9.
Figure 3-9 MPLS Implementations: VPN Peer-to-Peer Model
VRF and its Function
A VRF table can be associated with all types of interfaces, logical or physical, and these interfaces can share the same routing information. Whenever a route is defined for a VPN site, the corresponding VRF is informed thanks to the routing context associated with the incoming interface. A routing context can be thought of as the capacity to manage several instances of a given routing protocol, but with a total separation of routing information between the contexts, as summarized in Figure 3-10.
Figure 3-10 MPLS Implementations: VRF and Multiple Routing
To allow the duplication of addressing between VPN clients, a single identifier is required: the route distinguisher (RD). The RD is added to the beginning of an IPv4 route before the route is distributed in BGP and is used for exchanging VPN routes between the PE routers. The combination of the RD and the IPv4 prefix constitutes the VPNv4 prefix. The exchange of routing information for MPLS-VPN or Layer 3 VPN is carried out using the dynamic routing protocols (BGP-4, OSPF, RIPv2, and EIGRP), one the PE-CE links, (or by static routing), and by using multiprotocol BGP between the PE routers. The multiprotocol extension of BGP is necessary because BGP does not carry simple IPv4 prefixes in the MPLS-VPN architecture. In fact, with the creation of the VPNv4 prefix through the addition of the RD to the IPv4 prefix, BGP should be able to transport prefixes that are no longer IPv4. After the route is memorized in the VRF, it is redistributed through the backbone as a VPNv4 prefix via multiprotcol BGP to the other PE routers, as shown in Figure 3-11.
Figure 3-11 MPLS Implementations: VRF Route Distribution
Clearly, a mechanism must exist to permit the receiving PE to distribute the information on the input routes to all VPN sites concerned. The PE router must be able to obtain the suitable routes from the appropriate VRF table and then inform the affected VPN sites. To do this, the sending PE router inserts an extended community attribute called a route target (RT) in the BGP message. The route target is used by the receiving PE to identify which of its various VRF tables should receive the route. This function is entirely managed by configuration. Each VRF of the receiving PE must be configured with the acceptable RT values that allow it to import the appropriate routes. After the routes are imported into VRFs, the PE router can transmit them to the affected VPN sites, providing the routing information that ensures connectivity between the VPN sites. Figure 3-12 depicts the RT operation.
Figure 3-12 MPLS Implementations: Basic VPN Model
MPLS Label Stack Role
To permit label switching in the MPLS backbone, an MPLS label used by the receiving PE as an index in the transfer table is associated with each VPN route communicated via multiprotocol BGP. An additional label is then used to switch the packet to the source PE. To make the MPLS network transparent for the transmitted and received data on a VPN link, a stack or hierarchy of labels allows the transfer of information between the two PEs, while a second level (announced via multiprotocol BGP) informs the exit or egress PE on which VPN interface to send the packet. In this way, a two-level stack of labels is used for end-to-end transfer, as shown in Figure 3-13.
Figure 3-13 Putting it All Together: Forwarding Plane
We have discussed building a basic VPN or an intranet. Via the manipulation of RTs, so-called extranets can also be deployed; additionally, hub and spoke topologies can be supported. The next section discusses advanced services, such as Carriers Carrier (CsC) and Inter-Provider Autonomous System (Inter-AS). CsC and Inter-AS are described in detail in the book MPLS and VPN Architectures, Vol 2, J. Guichard, et al., Cisco Press.
Finally, you could use a subset of the MPLS-VPN architecture. For example, you could use virtual routing forwarding instances to support multiple (overlapping and independent) routing tables (and forwarding tables) per customer, which is referred to as Multi-Lite VRF. The CE supports traffic separation between customer networks. In addition, no MPLS functionality exists on the CE and no label exchange exists between the CE and PE.
A customer could implement Multi-Lite CE in an enhanced branch office capability where CE routers use VRF interfaces. VLAN-like configuration on the customer side and the CE router can only configure VRF interfaces and support VRF routing tables. An alternative to Multi-Lite VRF is to use separate CE routers per each client's organization.
Figure 3-14 shows an example of Multi-VRF deployment.
Figure 3-14 Multi-VRF/VRF-Lite CE Architecture: Operational Model
We have discussed the Layer 3–centric examples of MPLS used to build VPNs or BGP-based VPNs. We have also highlighted VRF's attributes and the types of topologies that can be supported.
In the next section, we explore advanced MPLS VPN implementations, such as Carrier Supporting Carrier and Inter-AS constructs, specifically used across multiple operator domains.