MPLS VPN Services in MPLS/IP Networks
A number of technologies provide Virtual Private Network (VPN) solutions. We define such solutions as those that can deliver private network access for many subscribers of the service across a shared infrastructure. One such technology used to provide these services is Multiprotocol Label Switching (MPLS).MPLS may be used to deliver VPN solutions at either Layer 2 (as described in [L2VPN] and [VPLS]) through the use of Pseudowire technology or Layer 3 (as described in [2547bis]) of the OSI Reference Model. All solutions allow a network operator to deliver a private service over a shared IP network.[GRE] or IP Security [IPSEC-ARCH]) provides Layer 3 service over an IP network.During the late 1990s, only about 2 percent of Enterprise networks obtained Layer 3 VPN service from a service provider. The rest opted for Layer 2 transport services (primarily Frame Relay) and either a managed or unmanaged router service. The managed solution called for the operator of the network to provision and manage the customer premises equipment at the end of the transport circuit, whereas the unmanaged service simply provided a circuit to the customer on which that Enterprise installed routers and built their own VPN routing infrastructure.However, over time, each of the aforementioned technologies suffers from scaling issues to varying degrees, especially when applications demand any-to-any connectivity (an example of which is voice over IP [VoIP]). When you select a VPN solution, the factors that determine its ultimate scaling properties are a key criterion. Evaluation of each technology should take into consideration the following points:How much design, provisioning, and configuration are necessary for each new VPNHow provisioning and configuration scale with the number of VPN sitesHow customer routing scales (how many adjacencies are needed)How backbone routing scales (how many adjacencies and how much state)How the service scales for the end customerWhat type of services are required within a VPN
Splitting the different technologies into the two broad categories of overlay and network-based VPN can help you make such an evaluation. It is clear that an overlay arrangement does not scale to the size and number of client connections typically needed today. This is primarily because of the need to provision an individual connection from each site to every other site (so as to provide any-to-any connectivity) and the need to run routing adjacencies across these connections (an O(n) problem, where n is the number of sites). When contrasted with a network-based solution, where each site needs only a connection to its locally attached PE router (an O(1) problem, where 1 is a constant), it is easy to see that the network-based category is more appropriate for this environment. Therefore, the trend as we move into the 21st century is to deploy a network-based Layer 3 VPN solution. This is where the MPLS VPN architecture based on [2547bis] really shines.This architecture provides complete isolation between different end-customer network domains, both within the service provider core network and at the edge routers that provide the interface to the VPN service. It also provides the ability to reduce the amount of routing state that core routers within the service provider backbone network need to hold to meet the scalability requirements and ensure optimal service delivery. This was not true of earlier [2547bis] architecture (called the Layer 3 MPLS VPN architecture from this point on) and all its necessary components. We will also look at how this technology is progressing across autonomous system boundaries. For more detailed technical information, refer to [2547bis], [MP-BGP], [MPLS-VPN-Vol1], and [MPLS-VPN-Vol2] as additional resources.
Layer 3 MPLS VPN Network Components
Several network components are defined within the Layer 3 MPLS VPN architecture. These components perform different functions within the overall architecture framework and are used in combination to constitute a Layer 3 VPN service.Figure 1-1 summarizes each of the network components used in the Layer 3 MPLS VPN architecture:
Figure 1-1. Layer 3 MPLS VPN Network Components
[View full size image]

Separation of Routing State at PE Routers
Because each PE router needs to support multiple end customers, separation of routing state between these customers is mandatory. This separation is achieved by storing routing information in customer-specific Virtual Routing/Forwarding instances (VRFs). A VRF may be visualized as a separate virtual router instance within a physical router. It consists of the following structures:An IP packet forwarding and routing tableA set of interfaces that use the forwarding tableA set of rules that control the import and export of routes to and from the VPN-specific routing tableA set of routing protocol peers that inject routes into the VPN-specific routing table
Without this separation it would be possible for one VPN customer to gain access to another customer's private network. The VRFs also provide a mechanism whereby each customer can use his or her own registered IP address space, or private addresses from the [PRIVATE] space, without concern that his or her routing information might clash with another customer of the service provider, or the service provider infrastructure itself. Figure 1-2 shows how a PE router separates routing information via VRFs.
Figure 1-2. Routing Separation with VRFs

Customer-to-Service Provider Routing Exchange
As soon as the CE router has physical connectivity with the PE router, it must be able to exchange routing information with the service provider. This may be achieved through static configuration. In this case a dynamic routing protocol is unnecessary, because static routes provide all the necessary IP forwarding information. However, for customers who do not want to use static routing (for example, because of dual-homing requirements or a large number of routes that cannot be summarized), the Layer 3 MPLS VPN architecture specifies the ability to exchange routing information using a dynamic routing protocol such as Border Gateway Protocol version 4 (BGP-4), Open Shortest Path First (OSPF), Enhanced Interior Gateway Routing Protocol (EIGRP), or Routing Information Protocol version 2 (RIPv2). A PE-router can run multiple dynamic routing protocols concurrently, as illustrated in Figure 1-3.
Figure 1-3. PE-CE Routing Protocol Exchange
[View full size image]

Label Allocation at the PE Router
As discussed in the later section "Carrier's Carrier Architecture"), to perform forwarding. Therefore, for each route received from a locally attached customer site, the PE router may allocate a separate labela label that represents the entire VRFor it may allocate a single label to represent several routes from the same source attached to that VRF. The label allocation policy is driven by how the customer attaches to the Layer 3 MPLS VPN service. If a customer has a single connection into its local PE router, allocation of a different label for each prefix has little benefit and increases the number of resources required at the PE router to store the forwarding state. Therefore, allocating a single label that represents the gateway (that is, the CE router through which the routes can be reached) is appropriate in this case. On the other hand, a customer who wants to use the Carrier's Carrier architecture, where label switching is extended across the PE-CE link toward the customer site, must use a single label per prefix to maintain the Label-Switched Path (LSP) between source and destination endpoint.
Advertisement of VPNv4 Routes Across the IP/MPLS Backbone
Having received local routing information from attached customer sites, either via a dynamic routing protocol or through static configuration by the service provider, a PE router advertises the routing state to other PE routers in the network for subsequent distribution to remote customer sites in the same VPN.Because multiple customers may use the same IP address space (which typically happens if they are using the addresses from [PRIVATE]), to avoid overlap within their service boundaries, the service provider needs to be able to distinguish between different customer routes. This is achieved through the creation of VPNv4 prefixes at the PE routers using extensions to BGP-4 (as detailed in [MP-BGP]) before the routes are advertised into the core network. VPNv4 prefixes are constructed by prepending a 64-bit route distinguisher to the IPv4 address, as shown in Figure 1-4. This ensures global uniqueness for each VPN route within the service provider backbone.
Figure 1-4. VPNv4 Address Format

Figure 1-5. Route Distinguisher Formats
[MP-BGP], to allow it to carry routes from multiple address families, including VPNv4 routes that belong to the VPN-IPv4 address family. The ability to use this particular address family is indicated during BGP capabilities exchange between two MP-BGP peers during their initial session startup.If routes from a given VRF were statically configured or learned through an Interior Gateway Protocol running on the PE-CE links, they must be redistributed into MP-BGP. This redistribution must be explicitly configured. As soon as the customer routes are present in the MP-BGP table, they are advertised within the VPN-IPv4 address family, either directly between PE routers or via route reflectors.The redistribution process performs a number of tasks. The first is to translate a given IPv4 prefix in the VRF to a subsequent VPNv4 route in the backbone. The PE router also assigns the relevant export tags (called route targets, as discussed in the next section) and rewrites the BGP next-hop attribute to one of its interface addresses. It also sets all the necessary BGP attributes, such as local preference, MED, communities, and so forth). Finally, a label is assigned for each prefix (which may or may not be a unique value, as discussed in the preceding section). The resulting update is ready for transmission to other PE routers or route reflectors.
Import of Remote Routing Information into VRFs
After receiving an MP-BGP routing update, a PE router needs to determine into which VRF(s) the routes contained in the update should be placed. This is defined by the import policy in the receiving PE routers' VRFs and is locally configured in each VRF. As mentioned earlier, each [EXTCOM]) known as route targets. The route target tells the receiving PE router into which VRFs the routes should be imported based on the local configuration. The format of the route target is shown in Figure 1-6.
Figure 1-6. Route Target Formats
[View full size image]

Figure 1-7. End-to-End Control Plane Packet Flow
[View full size image]

Forwarding of Layer 3 MPLS VPN Packets
[L2TPv3]) or GRE in the backbone.The outer label in an MPLS environment may be assigned by one of three different protocols: Label Distribution Protocol (LDP), Tag Distribution Protocol (TDP), or Resource Reservation Protocol Traffic Engineering (RSVP-TE). When LDP or TDP is used to allocate the outer label, each service provider router allocates a local label for all the routes in its routing table (except those learned via BGP-4). These label/prefix bindings are exchanged between directly connected neighbor routers using the LDP/TDP protocol (the details of this exchange may be found in [LDP]). When RSVP-TE is used between PE routers, the LDP protocol is not needed, and the outer label is instead the label allocated by RSVP-TE to represent the traffic-engineered tunnel interface. (You'll read more about RSVP-TE in the next chapter beginning with the section "Traffic Engineering.")When a two-level label stack is used (which is typical for the Layer 3 MPLS VPN service), the outer label in the stack corresponds to the label assigned to the IP address of the remote PE router (the BGP next hop for a given remote VPN prefix). The inner label in the stack represents the label assigned to the customer route itself by the originating (egress) PE router. This is essentially the VPN label.NoteThere are cases where a larger label stack is necessary, such as when RSVP-TE tunnels exist in the network core. In this case a stack of {RSVP-TE, LDP, VPN} may be present while traversing the tunnels.In the case of an MPLS-enabled backbone, the outer label is generally removed by the penultimate hop router before the packet is delivered at the egress PE router. This process is called penultimate hop popping. This functionality does not occur if IP tunneling is used in the backbone; instead, the IP encapsulation must be removed by the egress PE router. Penultimate hop popping behavior has the added benefit of preventing a two-stage lookup at the egress PE router.Regardless of whether MPLS or IP tunneling is used in the backbone, the egress PE router needs to forward any incoming packets from the backbone network based on a lookup of the VPN label. This is achieved by performing a lookup of the label within the Label Forwarding Information Base (LFIB). The label is thus removed and the packet is forwarded based on information contained in the LFIB. Figure 1-8 illustrates this process.
Figure 1-8. Layer 3 MPLS VPN Packet Forwarding
