About Us

Home >Technology > Full Story

Deploying MPLS-Based VPN Backbones

Service providers stand to gain many operational and scalability benefits by deploying value-added services such as virtual private networks (VPNs) over Multiprotocol Label Switching (MPLS) backbones. Here's a technology backgrounder on deploying MPLS-based VPNs

For VPN service providers, the management challenges associated with quickly deploying scalable VPN services using ATM or Frame Relay Layer 2 virtual circuit technologies remain comparable to those of provisioning private WAN lines. Layer 2 deployments are difficult to scale to support hundreds of thousands of closed user groups. The reason is that virtual circuit-based VPNs require service providers to build and manage separate logical paths between each pair of communicating sites within each user group. This requirement equates to building a full mesh of virtual circuits for each customer.

Management Relief
Multiprotocol Label Switching (MPLS) solves these scalability problems by enabling service providers to deploy multiple VPN services across one very large physical network without having to manually configure full logical point-to-point meshes for each customer's VPN. Rather, MPLS makes use of information in IP addresses for building "any-to-any" linkages in a Layer 3 "connectionless" network. A connectionless network, such as an IP network, is one in which no prior action is necessary to establish communication between hosts, making it easy for two parties to communicate.

The peer-oriented model of MPLS-based VPNs requires a customer site to directly exchange routing information with just one provider edge router, as opposed to all other CPE routers that are members of the VPN. This connectionless architecture allows the creation of VPNs in Layer 3, eliminating the need for Layer 2 tunnels or virtual circuits.

Members of each VPN are identified as belonging to a closed user group through the use of MPLS labels. These labels carry next hop switching information for packet forwarding as well as a VPN identifier to keep communications within a VPN private.

The richness of MPLS lies in the labels. Service providers can assign special meanings to labels a simple, powerful way to deploy scalable services across very large networks. The labeling paradigm decouples packet forwarding from the content of IP headers, providing the mechanism for how MPLS confers Layer 3 services into Layer 2 infrastructures. Labels can indicate packet routes, user group, and service attributes. At the ingress into the provider network, incoming packets are processed and labels are selected and applied using VPN routing and forwarding (VRF) instance tables. The core devices merely forward packets based on labels, replacing traditional switching or routing tables. Because forwarding tables are pre-calculated, traffic is classified only once at the service provider's Edge Label Switch Router (ELSR) yet Layer 3 visibility and services can be applied from end to end.

MPLS separates traffic and provides privacy without Layer 2 tunneling
protocols or encryption by putting information into the MPLS label. MPLS makes service provider cores "VPN-aware" by providing Layer 3 visibility even across Layer 2 backbones. This makes it relatively easy to flexibly group users and services; that is, one user can be associated with multiple services or vice versa. Further, all MPLS functionality resides in the provider network, requiring no configuration at the customer premise. This setup promotes simplicity for customers; all they see is an IP connection.

A Word about Security
Connectionless MPLS VPNs offer the same level of security as connection-oriented VPNs. Packets from one VPN do not inadvertently go to another VPN. Security is provided at the edge of a provider network by ensuring that packets received from a customer are placed on the correct VPN.

In addition, across the backbone VPN, traffic is kept separate among user groups. Malicious spoofing (an attempt to gain access to a service provider's edge router) is nearly impossible, because the packets received from customers are IP packets that must be received on a particular interface or sub interface to be uniquely identified with a VPN label.

Deploying VPN services using MPLS requires the following steps:

  • Configure VRF instances for each VPN.
  • Choose a routing protocol between customer and provider edges.
  • Configure Multiprotocol Border Gateway Protocol (MP-BGP) between ELSRs.
  • Identify interfaces going to VPN sites.

Step 1: Configuring VRF Instances for Each VPN

At the provider network edge, an ELSR needs to contain knowledge of each VPN attached to it. First, Label Distribution Protocol (LDP) should be activated and run to verify that packets are forwarded across all interfaces in the MPLS backbone. Then, ELSR devices (usually Cisco routers) need to be configured to contain unique VRF instances and route distinguishers (RDs). VRF instances convert routers into multiple virtual routers by creating a separate forwarding table for each VPN.

The RD is a 64-bit VRF-based header that is added to the beginning of the customer's IPv4 prefixes to change them into globally unique VPN-IPv4 prefixes. While its possible to configure a single RD per VPN, assigning an RD for each VRF enables load-balancing using Interior BGP (IBGP) and also eases VPN management.

The next step is to establish VRF import and export policies based on the route target, which is an extended community identifier of all routers within a VPN. MPLS uses route targets to allow updates to VRF instance tables.

Step 2: Choosing a Routing Protocol

A routing protocol enables network devices to advertise their status and best-route forwarding information to one another. For router-to-router communication between the customer's premise and the provider's network edge, MPLS supports the use of static routes, Routing Information Protocol Version 2 (RIPv2), External Border Gateway Protocol (EBGP), and Open Shortest Path First (OSPF) protocols.

Learned routes populate the VRF associated with the interface where the protocol is configured. Within the MPLS core, there are no restrictions on which routing protocol is used for VPN services; however, certain routing protocols (such as link-state protocols) make it possible to deploy other MPLS-based services.

By associating VRF instances with specific VPNs, MPLS automatically partition each VPN's traffic, enabling one physical network to support thousands of private VPNs. Basing VPN design upon VRF instances lets providers establish multiple VPNs per customer. At the provider edge, incoming packets are associated with a specific VPN according to the incoming interface. The ELSR places a stack of MPLS headers on incoming packets that include a label identifying the exit point in the provider network and a second label denoting the specific VPN. Core devices read the first MPLS header and swap labels to forward packets. The penultimate LSR (last hop before the egress LSR) strips the first label from the MPLS header. The ELSR reads the second label to forward native IP packets to the destination VPN.

Because MPLS networks only read original packet headers at the ingress and egress, customers can use their internal IP addressing scheme across the provider network. They do not have to invoke Network Address Translation (NAT), as long as they do not need Internet access or as long as the address range used by more than one VPN customer of a given service provider does not overlap.

Customers can design their own addressing plans independent of addressing plans for other service provider customers. MPLS VPNs allow customers to continue to use their present address spaces without NAT by providing a public and private view of the address. Customers, then, get to use their own unregistered private addresses while gaining the ability to communicate freely across a public IP network.

Step 3: Configuring MP-BGP between ELSRs

MPLS uses MP-BGP to support extended communities such as route-targets and VPN-IPv4 addresses as defined in IETF RFC 2547. Core LSRs do not run BGP. Instead, BGP is restricted to ELSR devices, and route tables list only edge devices for their own directly connected VPNs without regard to core hops.

MP-BGP distributes information about VPNs only to members of the same VPN, defining which edge devices can talk to which. MP-BGP does this by filtering BGP information at each ELSR using the import policies of each route target. Partitioning route reflectors to store routes for a subset of VPNs substantially reduces the amount of information stored within each ELSR, so that the volume of data in the BGP table is equivalent to that of the attached VRF instances. This approach provides a key scalability feature for very large networks that contain thousands of routes. Lastly, mutual redistribution between MP-BGP and the provider-to-customer routing protocol in use enables interaction between the two networks.

Step 4: Identifying Interfaces to VPN Sites

The last configuration step is to identify interfaces on the ELSRs going to VPN sites according to the VRF instance. This step accomplishes two things:

  • All routers within a VPN know each other.
  • Non-VPN interfaces on the router may be used for other services.

VPN-to-Internet Routing
In some cases, VPN sites may need Internet connectivity, meaning the site must be able to reach Internet destinations and, conversely be reachable from any Internet source. Naturally, security mechanisms such as firewalls or access control lists (ACLs) must be imposed to protect VPNs from unwanted traffic off the Internet. Internet connectivity can be provided using either one or two interfaces.

The single-interface design
separates VPN and Internet traffic at the provider-edge interface. It typically specifies a single default route in the VRF instance table, and requires NAT to hide a customer's private IP addresses. The Internet gateway specified in the default VRF route does not need to be directly connected to the ELSR, and each VRF can use a different Internet gateway. Note that using a default route for Internet routing does not allow any other default route for intra-VPN routing. A second option uses a full BGP table within the VRF instance table, which adds flexibility but uses more memory.

The dual-interface design separates traffic at the customer edge. The provider edge has one VRF interface for VPN connectivity and a second IP interface for Internet connectivity. This design uses discrete routing tables at each interface, separating traffic for greater VPN privacy. At the customer edge, NAT would be active on the IP interface but not on the VRF interface.

Integrated Class-of-Service Class of service (CoS) is an important requirement for many IP VPN customers. It provides the ability to address two fundamental VPN requirements:

  • Predictable performance and policy implementation
  • Support for multiple levels of service in an MPLS VPN

Network traffic is classified and labeled at the edge of the network before traffic is aggregated.

VPN Economics
As with any product or service, lower costs expand market reach. MPLS provides a revolutionary architecture for deploying VPN services in very large networks. By allowing service providers to deploy thousands of VPNs over a single infrastructure, MPLS enables service providers to quickly provision services to keep up with market demand while also lowering their management costs. This combination of benefits enables service providers to reach new markets, especially small and midsize businesses.

MPLS enables network operators to take advantage of such business opportunities by providing an IP VPN infrastructure that enables the quick, low-cost deployment of scalable private network services to businesses over a public infrastructure.

Chandan Mendiratta is a Principal Consultant with Cisco India and can be reached at chandanm@cisco.com.


- <Back to Top>-  

Copyright 2001: Indian Express Group (Mumbai, India). All rights reserved throughout the world. This entire site is compiled in Mumbai by The Business Publications Division of the Indian Express Group of Newspapers. Site managed by BPD