Network Working Group R. Callon Internet Draft Juniper Networks Expires: August 2001 M. Suzuki NTT B. Gleeson Nortel Networks A. Malis Vivace Networks, Inc. K. Muthukrishnan Lucent Technologies Eric Rosen Cisco Systems Chandru Sargor Jieyun Jessica Yu CoSine Communications February 23, 2001 A Framework for Provider Provisioned Virtual Private Networks Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. Abstract This document provides a framework for Provider Provisioned Virtual Private Networks (PPVPNs). This framework is intended to aid in the standardization of protocols and mechanisms for support of PPVPNs. Design Team Expires August 2001 [Page 1] INTERNET-DRAFT A Framework for PPVPNs February, 2001 It is the intent of this document to produce a coherent description of the significant technical issues which are important in the design of PPVPN solutions. Selection of specific approaches, making choices regarding engineering tradeoffs, and detailed protocol specification, are outside of the scope of this framework document. 1. Introduction 1.1 Objectives and Scope of this Document This document provides a framework for Provider Provisioned Virtual Private Networks (PPVPNs). This framework is intended to aid in standardizing protocols and mechanisms to support interoperable PPVPNs. The term "provider provisioned VPNs" refers to Virtual Private Networks (VPNs) for which the service provider participates in management and provisioning of the VPN, as defined in section 1.3. There are multiple ways in which a provider can participate in a VPN, and there are therefore multiple different types of PPVPNs. The current draft of this framework document is primarily oriented towards layer 3 VPNs (as defined in section 1.3). While there is some discussion of layer 2 VPNs, the coverage of layer 2 VPNs is very incomplete at this time. Future revisions of this document will be enhanced to describe technical issues related to layer 2 provider provisioned VPNs, as well as VPNs in which the provider participates in provisioning for CPE-based equipment. This document gives a brief overview of requirements for PPVPNs. Requirements are discussed in more detail in [PPVPN-REQ]. We discuss reference models for PPVPNs. We discuss technical aspects of PPVPN operation from the customers point of view. We discuss technical aspects of PPVPNs from the providers point of view-specifically this includes discussion of the technical issues which are important in the design of standards and mechanisms for support of PPVPNs. We also discuss security issues as they apply to PPVPNs. This document will take a "horizontal description" approach, in that it describes issues, technology, and the possible solutions to each problem. We will therefore describe multiple possible solutions which may be used for each particular issue which arises in the design of VPN solutions. This document does not make choices, and does not select any particular approach to support VPNs. Design Team Expires August 2001 [Page 2] INTERNET-DRAFT A Framework for PPVPNs February, 2001 Other documents will be needed to take a "vertical description" approach, in that they will specify one or more complete protocols for support of VPNs. Note that any specific solution will need to make choices based on SP requirements, customer needs, implementation cost, and engineering tradeoffs. Solutions will need to chose between flexibility (supporting multiple options) and conciseness (selection of specific options in order to simplify implementation and deployment). While a framework document can discuss issues and criteria which are used as input to these choices, the specific selection of a solution is outside of the scope of a framework document. 1.2 Overview of Virtual Private Networks The term "Virtual Private Network" (VPN) refers to the interconnection of customer sites, making use of a shared network infrastructure. Multiple sites of a customer network may therefore be interconnected via the public infrastructure, in order to facilitate the operation of the private network. The logical structure of the VPN, such as addressing, reachability, and access control, is equivalent to part of or all of a conventional private network using private facilities. In some cases VPN services may be used to interconnect multiple parts of a public or service provider network. This case is generally known as a "carrier of carrier" service. In this document, in cases where the user could be either a private or service provider network, we will make use of the term "customer" to refer to the user of the VPN services. Similarly we will use the term "customer network" to refer to the user's network. VPNs may support intranets, in which the multiple sites are under the control of a single customer administration, such as multiple sites of a single company. VPNs may also support extranets, in which the multiple sites are controlled by administrations of different customers, such as sites corresponding to a company, its suppliers, and its customers. Figure 1.1 illustrates a example network, which will be used in the discussions below. PE1 and PE2 are provider edge devices within an SP network. CE1, CE2, and CE3 are customer edge devices within a customer network. Routers r3, r4, r5, and r6 are IP routers internal to the customer sites. Design Team Expires August 2001 [Page 3] INTERNET-DRAFT A Framework for PPVPNs February, 2001 ............ ................. ............ . . . . . . . +---+ +-------+ +-------+ +---+ . . r3---| | | | | |----|CE2|---r5 . . | | | | | | +---+ . . |CE1|----| PE2 | | PE2 | : . . | | | | | | +---+ . . r4---| | | | | |----|CE3|---r6 . . +---+ +-------+ +-------+ +---+ . . Customer . . Service . . Customer . . site 1 . . provider(s) . . site 2 . ............ ................. ............ Figure 1.1: VPN interconnecting two sites. In general provider edge (PE) and customer edge (CE) devices may be either routers, hosts or switches or bridges of various kinds. Some approaches may limit the type of PE and/or CE device that can be used. For example, in some approaches the PE devices may be required to be IP routers. It is desired to interconnect the customer network sites via the service provider network. In many cases, customer networks will make use of private IP addresses [RFC1918]. This implies that there is no guarantee that the IP addresses used in the customer network are globally unique. In the case, that a single PE router provides services to multiple different customer networks, this implies that the addresses uses in the different customer networks may overlap. The internal operation of the PE device needs to maintain a level of isolation between the packets from different customer networks. This also implies that the IP packets from the customer network cannot be transmitted in their native form across the public network. Instead, some form of encapsulation/tunneling must be used. Tunneling is also important for other reasons, such as providing isolation between different customer networks, allowing a wide range of protocols to be carried over a public network, etc. Different QoS and security characteristics may be associated with different tunnels. 1.3 Types of VPNs This section describes multiple types of VPNs, and some of the engineering tradeoffs between different types. It is not up to this document to decide between different types of VPNs. Different types Design Team Expires August 2001 [Page 4] INTERNET-DRAFT A Framework for PPVPNs February, 2001 of VPNs may be appropriate in different situations. 1.3.1 CPE-based vs network-based VPNs The term "CPE-based VPN" (or Customer Premise Equipment-based virtual private network) refers to an approach in which (ignoring management systems) knowledge of the customer network is limited to customer premise equipment. In a classical CPE-based VPN, the service provider is oblivious to the existence of the customer network. The provider may be offering a simple IP service, ATM service, or Frame Relay service. However, it is common for a service provider to take on the task of managing and provisioning the Customer Edge equipment, in order to reduce the management requirements of the customer. This results in provider provisioned CPE-based VPNs. In CPE-based VPNs, the customer network is supported by tunnels which are set up between CPE equipment. If the provider offers an ATM or Frame Relay service, the tunnels may consist of simple link layer connections. If the provider offers IP service, then the tunnels may make use of various encapsulations to sent traffic over IP (such as GRE, IP-in-IP, IPsec, L2TP, or MPLS tunnels). For classical CPE-based VPNs, provisioning and management of the tunnels is up to the customer network administration. Typically this may make use of manual configuration of the tunnels. For Provider Provisioned CPE-based VPNs, provisioning and management of the tunnels is up to the service provider. For CPE-based VPNs (whether classical or provider provisioned) routing in the customer network thinks of the tunnels as simple point to point links, or in some cases as broadcast LANs. A network-based VPN (NBVPN) is one in which equipment in the SP network provides the VPN. This allows the existence of the VPN to be hidden from the CPE equipment, which can operate as if part of a normal customer network. In NBVPNs, the customer network is supported by tunnels which are set up between PE equipment. The tunnels may make use of various encapsulations to sent traffic over the SP network (such as GRE, IPsec, IP-in-IP, or MPLS tunnels). 1.3.2 Types of network-based VPNs Different types of NBVPNs may be distinguished by the service offered. o Layer 2 service Design Team Expires August 2001 [Page 5] INTERNET-DRAFT A Framework for PPVPNs February, 2001 Provider forwards packets based on layer 2 addresses (such as frame relay, ATM, or MAC address) and/or on the basis of the incoming link. o Layer 3 service Provider forwards packets based on layer 3 information, as well as on the basis of the incoming link. 1.3.2.1 Layer 2 network-based VPNs A layer 2 network-based VPN is one in which the network is aware of the VPN, but does only layer 2 forwarding and signaling. This implies that the SP provisions and maintains layer 2 connections between CE equipment. Forwarding options include MAC addresses (such as LAN emulation), use of point-to-point link layer connections (ATM, Frame Relay, or MPLS), multipoint-to-point (using MPLS multipoint to point LSPs), and point- to-multipoint (e.g., ATM VCCs). For a layer 2 NBVPN, the PE device may be a router or a switch. From the CE's perspective, the PE will be operating as a switch. 1.3.2.2 Layer 3 network-based VPNs A layer 3 network-based VPN is one in which the SP takes part in IP level forwarding based on the customer network's IP address space. In general, the customer network is likely to make use of private IP addresses. This implies that at least some devices in the provider network needs to understand the IP address space as used in the customer network. Typically this knowledge is limited to the Provider Edge (PE) equipment which is directly attached to the customer. For a layer 3 NBVPN, the PE device must be an IP router. In a layer 3 NBVPN the provider will need to participate in some aspects of management and provisioning of the VPNs, such as ensuring that the PE routers are configured to support the correct VPNs. This implies that network-based layer 3 NBVPNs are by definition provider provisioned VPNs. Layer 3 VPNs have the advantage that they offload some aspects of VPN management from the customer network. Scaling of customer network routing is also improved, since it avoids the need for "n squared" (actually n*(n-1)/2) point to point links between n customer sites. From the perspective of the customer network, it looks as if there is just a normal network (specific VPN functionality is hidden from the customer network). Design Team Expires August 2001 [Page 6] INTERNET-DRAFT A Framework for PPVPNs February, 2001 However, these advantages come along with other consequences. Specifically, the public network has to know about the customer network. This adds work to the public network, and limits the protocols which can be supported by the VPN. Given that PE equipment needs to forward packets directly from the customer network, using the customer network's address space, this implies that PE equipment needs to participate in some manner in routing for as many customer networks as the PE equipment supports. The protocols supported are limited to those which are understood by the PE device, which typically means only IP is supported. A service provider may offer a range of layer 3 NBVPN services. At one end of the range is a service limited to simply providing connectivity (optionally including QoS support) between specific customer network sites. This is referred to as "Network Connectivity Service." There is a spectrum of other possible services, such as firewalls, user or site of origin authentication, and address assignment (e.g., using Radius or DHCP). This framework document will discuss methods for providing network connectivity service. This may include mechanisms which will can be used to constrain connectivity between sites, including the use and placement of firewalls, based on administrative requirements. Similarly the use and placement of NAT functionality is discussed. However, this framework document will not discuss methods for additional services such as firewall administration and address assignment. A discussion of specific firewall mechanisms and policies, and detailed discussion of NAT functionality, are out of the scope of this document. This document does not discuss those forms of VPNs which are outside of the scope of the IETF Provider Provisioned VPN working group. Specifically, this document excludes discussion of: o NBVPNs using VPN native (non-IP, non-MPLS) protocols as the base technology used to provide the VPN service (e.g., native ATM service provided using ATM switches with ATM signaling). However, this does not mean to exclude multiprotocol access to the NBVPN by customers. o Virtual leased lines, which provide a point-to-point link between two customer sites based on SONET, optical, or physical links. o Virtual private dialup networks, which are defined as an emulation of on demand isolated IP reachability from a remote user to a user site. The remote user is connected via a dial up PSTN or ISDN link. Design Team Expires August 2001 [Page 7] INTERNET-DRAFT A Framework for PPVPNs February, 2001 1.4 Terminology Backdoor Links CPE-based VPN Customer Customer Edge Equipment Customer Premise Equipment Network-Based VPNs Port Port Based VPNs Provider Edge equipment Provider Provisioned VPNs Route Reflectors Virtual Forwarding Instance Virtual Private Network Virtual Router VPN Tunnels 1.5 Acronyms BGP Border Gateway Protocol CE Customer Edge CPE Customer Premise Equipment CR-LDP Constraint-based Routing Label Distribution Protocol GRE Generic Routing Encapsulation IGP Interior Gateway Protocol (e.g., RIP, IS-IS and OSPF are all IGPs) IP Internet Protocol (same as IPv4) IPsec Internet Protocol Security protocol IPv4 Internet Protocol version 4 (same as IP) IPv6 Internet Protocol version 6 IS-IS Intermediate System to Intermediate System routing protocol L2TP Layer 2 Tunneling Protocol LAN Local Area Network LDP Label Distribution Protocol LSP Label Switched Path MIB Management Information Base MPLS Multi Protocol Label Switching NBMA Non-Broadcast Multi-Access NBVPN Network-Based VPN NMS Network Management System OSPF Open Shortest Path First routing protocol P Provider equipment PE Provider Edge equipment PPVPN Provider Provisioned VPN QoS Quality of Service RIP Routing Information Protocol Design Team Expires August 2001 [Page 8] INTERNET-DRAFT A Framework for PPVPNs February, 2001 RSVP Resource Reservation Protocol RSVP-TE Resource Reservation Protocol with Traffic Engineering Extensions VFI Virtual Forwarding Instance VPN Virtual Private Network VR Virtual Router VRF Virtual Routing and Forwarding 2. A Brief Overview of Requirements Detailed requirements for PPVPNs are outside of the scope of this document, and are being pursued in a separate effort [PPVPN-REQ]. This section gives only a very brief overview of requirements for PPVPNs. o Security/Privacy The basic goal of a VPN service is to provide connectivity within a closed user group (CUG). Other user sites (outside of a VPN) cannot reach them. User traffic and control information relating to one customer network needs to be kept separate from user traffic and control information for other customer networks. There are a wide range of different levels of security and privacy which may be offered. Different levels may be appropriate in different cases. o Quality of Service QoS/SLA services may for example provide guaranteed and/or differentiated communications with VPN-specific SLAs covering characteristics such as loss rates, delay, delay variation, and bandwidth etc. Various classes of QoS are provided, although they may depend on the supporting technologies. o Scaling There are many aspects of scaling, which need to be considered in evaluation of methods for supporting VPNs. Some dimensions of scaling include: The number of VPNs supported in a single piece of PE equipment, the total number of VPNs supported in a service provider network, the size of each VPN, scaling of the provisioning and management system, the amount of bandwidth supported (per VPN and in aggregate). Scaling also has implications in multiple dimensions of the design of a solution, as is discussed later in this document. o Management Design Team Expires August 2001 [Page 9] INTERNET-DRAFT A Framework for PPVPNs February, 2001 Ease of management is an important consideration the design and evaluation of VPN solutions. Network management personnel are scarce, for both customer networks and service providers. Also, network management errors can have significant adverse effects on network availability, reliability, and security. It is therefore important to minimize the network management effort required in support of VPNs. o Intranets A VPN solution must support intranets: This is, networks in which multiple sites are interconnected, where each site belongs to one single administration. o Extranets A VPN solution should support extranets: That is, networks in which sites belonging to one administration desire constrained connectivity with multiple sites belonging to multiple other administrations. For example, a equipment manufacturer might want extranet connectivity with suppliers and customers. However, two companies which are both the customer of the same third company might nonetheless not want or need direct communication with each other. o VPN Support Across Multiple Service Providers A PPVPN service over multiple SPs service enables a single VPN to cover sites supported by different SPs. o Multicast Some VPN services may require multicast support. 3. Reference Models This section describes reference models for PPVPN that provides services as mentioned in sections 1 and 2. The purpose of discussing reference models is to clarify the common components and pieces that are needed to build and deploy a PPVPN. Three types of VPNs, layer 3 network-based VPN, provider provisioned CPE-based VPN, and layer 2 network-based VPN, are covered in separated sections below. 3.1 Reference Model for Layer 3 NBVPN This subsection describes functional components and their relationship for implementing layer 3 network-based VPN. Design Team Expires August 2001 [Page 10] INTERNET-DRAFT A Framework for PPVPNs February, 2001 Figure 3.1 shows the reference model for layer 3 NBVPNs and Figures 3.2 and 3.3 show relationship between entities in the reference model. +---------+ +------------------------------------+ +---------+ | | | | | | | | | +------+ +------+ : +------+ +------+ : | | | | | | : | CE | | CE | : | | | P | | PE | : |device| |device| : +------+ VPN tunnel : |router| |router| : | of | | of |-:--| |================:===============| |--:-|VPN A| |VPN A| : | | : +------+ +------+ : +------+ +------+ : | PE | : | | : | +------+ : |router| Network interface | | : | | CE | : | | : +------+ : +------+ |device|-:--| |================:===============| |--:-| CE | | of | : +------+ : VPN tunnel | PE | : |device| |VPN B| : | | |router| : | of | +------+ : | | +------------+ +------------+ | | : |VPN B| | : | | | Customer | | Network | +------+ : +------+ |Customer | | | management | | management | | | : | |interface| | | function | | function | | |Customer | | | | +------------+ +------------+ | |interface| | | | | | | +---------+ +------------------------------------+ +---------+ | Access | |<---------- SP network(s) --------->| | Access | | network | | single or multiple SP domains | | network | Figure 3.1: Reference model for layer 3 NBVPN. +----------+ +----------+ +-----+ |PE router | |PE router | +-----+ | CE | | | | | | CE | | dev | Access | +------+ | | +------+ | Access | dev | | of | conn. | |VFI of| | VPN tunnel | |VFI of| | conn. | of | |VPN A|----------|VPN A |======================|VPN A |----------|VPN A| +-----+ | +------+ | | +------+ | +-----+ | | | | +-----+ Access | +------+ | | +------+ | Access +-----+ | CE | conn. | |VFI of| | VPN tunnel | |VFI of| | conn. | CE | | dev |----------|VPN B |======================|VPN B |----------| dev | | of | | +------+ | | +------+ | | of | |VPN B| | | | | |VPN B| +-----+ +----------+ +----------+ +-----+ Figure 3.2: Relationship between entities in reference model (1). Design Team Expires August 2001 [Page 11] INTERNET-DRAFT A Framework for PPVPNs February, 2001 +----------+ +----------+ +-----+ |PE router | |PE router | +-----+ | CE | | | | | | CE | | dev | Access | +------+ | | +------+ | Access | dev | | of | conn. | |VFI of| | | |VFI of| | conn. | of | |VPN A|----------|VPN A | | | |VPN A |----------|VPN A| +-----+ | +------+\| VPN tunnel |/+------+ | +-----+ | >==================< | +-----+ Access | +------+/| |\+------+ | Access +-----+ | CE | conn. | |VFI of| | | |VFI of| | conn. | CE | | dev |----------|VPN B | | | |VPN B |----------| dev | | of | | +------+ | | +------+ | | of | |VPN B| | | | | |VPN B| +-----+ +----------+ +----------+ +-----+ Figure 3.3: Relationship between entities in reference model (2). 3.1.1 Entities in the reference model The entities in the reference model are described below. o Customer edge (CE) device A CE device is a device on the customer site which has an access connection to a PE router. It may be a router, host, or switch located at the edge of a user site. o P router A router within a provider network which is used to interconnect PE routers, but which does not have any VPN state and does not have any direct attachment to CE devices. o Provider edge (PE) router A PE router is attached via an access connection to one or more CE devices. In the context of supporting VPNs, a PE router implements one or more VFIs and maintains per-VPN state. (Note that access connections are terminated by VFIs from the functional point of view.) o Customer site TBD. A customer site is a contiguous portion of customer network. Design Team Expires August 2001 [Page 12] INTERNET-DRAFT A Framework for PPVPNs February, 2001 o SP networks An SP network is a network administered by a single service provider. o Access connection An access connection represents an isolated layer 2 connectivity between a CE device and a PE router. This includes dedicated physical circuits, logical circuits (such as Frame Relay and ATM), plus IP tunnels (e.g., using IPsec, L2TP). o Access network An access network provides access connections between CE devices and PE routers. It may be a TDM network, layer 2 network (e.g., FR, ATM, and Ethernet), or IP network over which access is tunneled (e.g., using L2TP [RFC2661]). o VPN tunnel A VPN tunnel is a logical link between two entities which is created by encapsulating packets within an encapsulating header for purpose of transmission between those two entities for support of VPNs. VFIs are typically interconnected via (per-)VPN tunnels. This is illustrated in Figure 3.2. Another example of a tunnel is a connection between PE routers. This is illustrated in Figure 3.3. Multiple tunnels at one level may be hierarchically multiplexed into a single tunnel at another level. For example, multiple per- VPN tunnels may be multiplexed into a single PE to PE tunnel. o VPN forwarding instance (VFI) A VFI is a logical entity that resides in a PE, that includes the router information base and forwarding information base for a VPN. A VFI enables router functions dedicated to serving a particular VPN. In general a VFI terminates tunnels for interconnection with other VFIs and also terminates access connections for accommodating CEs. The interaction between routing and VFIs is discussed in section 5.4.2. Design Team Expires August 2001 [Page 13] INTERNET-DRAFT A Framework for PPVPNs February, 2001 o Customer and network management functions Customer and network management functions may use a combination of proprietary network management system, SNMP manager, or directory service (e.g., LDAP [RFC1777] [RFC2251]). The definition of customer and network management functions is TBD. 3.1.2 Relationship between CE and PE A CE device is usually connected to a single PE router. However, four types of dual homing arrangements, shown in Figure 3.4, may be supported. Design Team Expires August 2001 [Page 14] INTERNET-DRAFT A Framework for PPVPNs February, 2001 +---------------- +--------------- | | +------+ +------+ +---------| PE | +---------| PE | | |router| | |router| SP network | +------+ | +------+ +------+ | +------+ | | CE | | | CE | +--------------- |device| | SP network |device| +--------------- +------+ | +------+ | | +------+ | +------+ | | PE | | | PE | +---------|router| +---------|router| SP network +------+ +------+ | | +---------------- +--------------- This type includes a CE device connected to a PE router via two access lines. (a) (b) +---------------- +--------------- | | +------+ +------+ +------+ +------+ | CE |-----| PE | | CE |-----| PE | |device| |router| |device| |router| SP network +------+ +------+ +------+ +------+ | | | | | Backdoor | | Backdoor +--------------- | link | SP network | link +--------------- | | | | +------+ +------+ +------+ +------+ | CE | | PE | | CE | | PE | |device|-----|router| |device|-----|router| SP network +------+ +------+ +------+ +------+ | | +---------------- +--------------- (c) (d) Figure 3.4: Four types of double-homing arrangements. 3.2 Reference Model for Provider Provisioned CPE-based VPN This subsection describes functional components and their relationship for implementing provider provisioned CPE-based VPN. Figure 3.5 shows the reference model for provider provisioned CPE- Design Team Expires August 2001 [Page 15] INTERNET-DRAFT A Framework for PPVPNs February, 2001 based VPN. +---------+ +------------------------------------+ +---------+ | | | | | | | | | +------+ +------+ : +------+ +------+ : | | | | | | : | CE | | CE | : | | | P | | PE | : |device| |device| : +------+ VPN tunnel |router| |router| : | of | | of |=:====================================================:=|VPN A| |VPN A| : | | +------+ +------+ : +------+ +------+ : | PE | | | : | +------+ : |router| | | : | | CE | : | | VPN tunnel +------+ : +------+ |device|=:====================================================:=| CE | | of | : +------+ | PE | : |device| |VPN B| : | | |router| : | of | +------+ : | | +------------+ +------------+ | | : |VPN B| | : | | | Customer | | Network | +------+ : +------+ |Customer | | | management | | management | | | : | |interface| | | function | | function | | |Customer | | | | +------------+ +------------+ | |interface| | | | | | | +---------+ +------------------------------------+ +---------+ | Access | |<---------- SP network(s) --------->| | Access | | network | | | | network | Figure 3.5: Reference model for provider provisioned CPE-based VPN 3.2.1 Entities in the reference model The entities in the reference model are described below. o Customer edge (CE) device TBD. o Provider edge (PE) router TBD. It is a router without any VPN specific functionality. o SP networks TBD. IP network + CE management function. Design Team Expires August 2001 [Page 16] INTERNET-DRAFT A Framework for PPVPNs February, 2001 o Access connection TBD. o Access network (See section 3.1.1) o VPN tunnel TBD. A tunnel is a connection between CE routers. o Customer management function (See section 3.1.1) o Network management function TBD. 3.3 Reference Model for Layer 2 NBVPN TBD. 4. Customer Interface 4.1 VPN Establishment at the CE-PE Boundary It is necessary for each PE device to know which CEs it is attached to, and what VPNs each CE is associated with. VPN membership refers to the association of VPNs, CEs, and PEs. A given CE belongs to one or more VPNs. Each PE is therefore associated with a set of VPNs, and a given VPN has a set of associated PEs which are supporting that VPN. If a PE has at least one attached CE belonging to a given VPN, then state information for that VPN (e.g., the VPN routes) must exist on that PE. The set of VPNs that exist on a PE may change over time as sites for new VPNs are added, or all sites for a VPN are removed. Distributing VPN membership information thus refers to distributing information about which devices are associated with which VPNs. This information may be used in different ways by different VPN schemes, for example, to constrain VPN route distribution or to establish VPN tunnels. A VPN site may be added or deleted as a result of a provisioning operation carried out by the network administrator, or may be dynamically added or deleted as a result of a subscriber initiated operation; thus VPN membership information may be either static or dynamic, as discussed below. Design Team Expires August 2001 [Page 17] INTERNET-DRAFT A Framework for PPVPNs February, 2001 4.1.1 Static binding An example of a static binding between PE/CE access connection and the VPN associated with the access connection is where a network administrator sets up a dedicated link layer connection, such as an ATM VCC or a Frame Relay circuit, between a PE and a CE device at the customer site. In this case the binding between the PE/CE access connection and the VPN to be used is fixed at provisioning time, and remains the same until another provisioning action that changes the binding. 4.1.2 Dynamic binding It is also possible for the PE/CE access connection to VPN binding to be dynamic. For example a mobile user may dial up the provider network and carry out user authentication and VPN selection procedures. Thus the PE to which the user is attached is not one permanently associated with the user, but rather one that is typically geographically close to where the mobile user happens to be. Another example of dynamic binding is that of a permanent access connection between a PE and a CE at a public facility such as a hotel or conference center, where the link may be accessed by multiple users in turn, each of which may wish to connect to a different VPN. To support dynamically connected users, PPP and RADIUS are commonly used, as these protocols provide for user identification, authentication and VPN selection. Other mechanisms are also possible. For example a user's HTTP traffic may be initially intercepted by a PE and diverted to a provider hosted web server. After a dialogue that includes user authentication and VPN selection, the user can then be connected to the required VPN. This is sometimes referred to as a "captive portal." Independent of the particular mechanisms used for user authentication and VPN selection, an implication of dynamic binding is that a user for a given VPN may appear at any PE at any time. Thus VPN membership may change at any time as a result of user initiated actions, rather than as a result of network provisioning actions. As such there must be a way to dynamically distribute membership information to all devices that need it. 4.2 Data Exchange at the CE-PE Boundary TBD Design Team Expires August 2001 [Page 18] INTERNET-DRAFT A Framework for PPVPNs February, 2001 4.3 Customer Visible Routing PE/CE routing interaction involves a PE obtaining customer prefixes reachable at its attached customer site via the local CE router and providing reachability information about other sites in the same VPN to the customer site. The possible PE/CE route distribution mechanisms are: static routing, IGP, such as RIP, OSPF, IS-IS, or BGP. The extent of this routing instance generally involves the PE and the CE router. However, if the customer site is running the same IGP as that used in its corresponding PE/PE routing instance, the domain may extend to the routing instance of the entire VPN. If a different routing protocol runs in the customer site, the CE router redistributes the routes between the PE/CE routing instance and the customer site routing instance. 4.3.1 Customer view of routing in the customer network For layer 2 VPNs, the VPN service provides links between CE devices. These links may show up as point-to-point links in the customer network, or as broadcast LANs, switched LANs, or NBMA networks. For layer 3 VPNs, the PE devices are routers which forward IP packets for the customer network. This implies that a PE router participates in some manner in routing for each customer network that it supports. Thus, each PE router looks to the customer network as if it were a single router in the customer network. The access connections from CE device to PE router are normal links between within the customer network. The routing information exchanged on the CE-PE access connection is routing information of the customer network. The options for routing across the CE-PE boundary are therefore the same as those available on any link within a customer IP network. However, the manner in which routing for the VPN is accomplished across the SP network may have an impact on the choice of routing for the customer network. For example, if BGP or static routing is used across the CE-PE access connections, then the routing in the customer network will need to be aware of this. In the case of network-based layer 3 VPNs a single PE router is likely to provide service for multiple different VPNs, implying that it is interconnected with multiple CE devices, including multiple CEs with one VPN as well as multiple different VPNs. The PE device must therefore support independent forwarding of user data for each VPN which it supports. The forwarding table used for each VPN will in general be different. This implies that the PE router will therefore need to maintain multiple separate forwarding instances. These will be referred to as Virtual Forwarding Instances (VFIs). Each VFI is Design Team Expires August 2001 [Page 19] INTERNET-DRAFT A Framework for PPVPNs February, 2001 therefore a logical entity internal to the PE router. VFIs are defined in section 3.1.1, and discussed in more detail in section 5.4.2. The scaling and management of the customer network (as well as the operation of the VPN) will depend upon the implementation approach and the manner in which routing is done. 4.3.1.1 Routing for intranets In the intranet case all of the sites to be interconnected belong to the same administration (for example, the same company). The options for routing within a single customer network include: o A single IGP area (using OSPF, IS-IS, or RIP) o Multiple Areas within a single IGP o A separate IGP within each site, with routes redistributed from each site to backbone routing (i.e., to a backbone as seen by the customer network). Note that these options look at routing from the perspective of the overall routing in the customer network. This list does not specify whether Provider Edge (PE) equipment is considered to be in a site or not. This issue is discussed below. A single IGP area (such as a single OSPF area, a single IS-IS area, or a single instance of RIP between routers) may be used for small networks. In this case, all routers within the customer network (including VFIs, for layer 3 VPNs) appear within a single area. Links between routers also appear as normal links (including tunnels between VFIs). In some cases the multi-level hierarchy of OSPF or IS-IS may be used. One way to apply this to VPNs would be to have each site be a single OSPF or IS-IS area. The VFIs will participate in routing within each site as part of that area. The VFIs may then be interconnected as the backbone (OSPF area 0 or IS-IS level 2). If OSPF is used, the VFIs therefore appear to the customer network as area border routers. If IS-IS is used, the VFIs therefore participate in level 1 routing within the local area, and appear to the customer network as if they are level 2 routers in the backbone. Where an IGP is used across the entire network, it is straightforward for VPN tunnels, access connections, and "backdoor" links to be mixed in a network. Given that OSPF metrics will be assigned to all links, paths via alternate links can be compared and the shortest cost path Design Team Expires August 2001 [Page 20] INTERNET-DRAFT A Framework for PPVPNs February, 2001 will be used regardless of whether it is via VPN tunnels, access connections, or backdoor links. If multiple sites of a VPN do not use a common IGP, or if the backbone does not use the same common IGP as the sites, then special procedures may be needed to ensure that routes to/from other sites are treated as intra-area routes, rather than as external routes (depending upon the VPN approach taken). Another option is to operate each site as a separate routing domain. For example each site could operate as a single OSPF area, a single IS-IS area, or a RIP domain. In this case the per-site routing domains will need to redistribute routes into a backbone routing domain (Note: in this context the "backbone routing domain" refers to a backbone as viewed by the customer network). In this case it is optional whether or not the VFIs participate in the routing within each site. 4.3.1.2 Routing for extranets In the extranet case the sites to be interconnected belong to multiple different administrations. In this case IGPs (such as OSPF, IS-IS, or RIP) are normally not used across the interface between organizations. Either static routes or BGP may be used between sites. If the customer network administration wishes to maintain control of routing between its site and other networks, then either static routing or BGP may be used across the CE-PE interface. If the customer wants to outsource all such control to the provider, then an IGP or static routes may be used at this interface. The use of BGP between sites allows for policy based routing between sites. This is particularly useful in the extranet case. 4.3.1.3 Routing for layer 2 VPNs TBD. 4.3.1.4 Customer edge and provider edge equipment for layer 3 VPNs When using a single IGP area across an intranet, the entire customer network participates in a single area of an IGP. In this case, for layer 3 VPNs both CE and PE routers participate as normal routers within the area. The other options make a distinction between routing within a site, and routing between sites. In this case the CE routers would normally be considered as part of the site where they are located. However, there is an option regarding how the PE routers should be considered. Design Team Expires August 2001 [Page 21] INTERNET-DRAFT A Framework for PPVPNs February, 2001 In some cases, from the perspective of routing within the customer network, the PE routers (or more precisely the virtual forwarding instances within a PE router) may be considered to be internal to the same area or routing domain as the site to which they are attached. This simplifies the management responsibilities of the customer network administration, since inter-area routing would be handled by the provider. For example, suppose that either static routes or BGP are used between sites. With this approach each site could operate as a single IGP area, and the CE-PE access connection would simply be configured as internal links within that area. Static routes or BGP for inter-site routing can be handled by the provider. In other cases, from the perspective of routing within the customer network, the CE routers may be the "edge" routers of the IGP area. In this case, static routing, BGP, or whatever routing is used in the backbone, may be used across the CE-PE boundary. 4.3.2 Options for customer visible routing The following technologies are available for the exchange of routing information. o Static routing Routing tables may be configured through a management system. o RIP (Routing Information Protocol) [RFC2453] RIP is an interior gateway protocol and is used within an autonomous system. It sends out routing updates at regular intervals and whenever the network topology changes. Routing information is then propagated by the adjacent routers to their neighbors and thus to the entire network. A route from a source to a destination is the path with the least number of routers. This number is called the "hop count" and its maximum value is 15. This implies that RIP is suitable for a small- or medium-sized networks. o OSPF (Open Shortest Path First) [RFC1583] OSPF is an interior gateway protocol and is applied to a single autonomous system. Each router distributes the state of its interfaces and neighboring routers as a link state advertisement, and maintains a database describing the autonomous system's topology. A link state is advertised every 30 minutes or when the topology is reconfigured. Design Team Expires August 2001 [Page 22] INTERNET-DRAFT A Framework for PPVPNs February, 2001 Each router maintains an identical topological database, from which it constructs a tree of shortest paths with itself as the root. The algorithm is known as the Shortest Path First or SPF. The router generates a routing table from the tree of shortest paths. OSPF supports a variable length subnet mask, which enables effective use of the IP address space. OSPF allows sets of networks to be grouped together into an area. Each area has its own topological database. The topology of the area is invisible from outside its area. The areas are interconnected via a "backbone" network. The backbone network distributes routing information between the areas. The area routing scheme can reduce the routing traffic and compute the shortest path trees and is indispensable for larger scale networks. Each multi-access network with multiple routers attached has a designated router. The designated router generates a link state advertisement for the multi-access network and synchronizes the topological database with other adjacent routers in the area. The concept of designated router can thus reduce the routing traffic and compute shortest path trees. To achieve high availability, a backup designated router is used. o IS-IS (intermediate system to intermediate system) [RFC1195] IS-IS is a routing protocol designed for the OSI (Open Systems Interconnection) protocol suites. Integrated IS-IS is derived from IS-IS in order to support the IP protocol. In the Internet community, IS-IS means integrated IS-IS. In this, a link state is advertised over a connectionless network service. IS-IS has the same basic features as OSPF. They include: link state advertisement and maintenance of a topological database within an area, calculation of a tree of shortest paths, generation of a routing table from a tree of shortest paths, the area routing scheme, a designated router, and a variable length subnet mask. o BGP4 (Border Gateway Protocol version 4) [RFC1771] BGP4 is an exterior gateway protocol and is applied to the routing of inter-autonomous systems. A BGP speaker establishes a session with other BGP speakers and advertises routing information to them. A session may be an External BGP (EBGP) that connects two BGP speakers within different autonomous systems, or an internal BGP (IBGP) that connects two BGP speakers within a single autonomous system. Routing information is qualified with path attributes, which differentiate routes for the purpose of selecting an appropriate one from possible routes. Also, routes are grouped by the community attribute [RFC1997] [BGP-COM]. Design Team Expires August 2001 [Page 23] INTERNET-DRAFT A Framework for PPVPNs February, 2001 The IBGP mesh size tends to increase dramatically with the number of BGP speakers in an autonomous system. BGP can reduce the number of IBGP sessions by dividing the autonomous system into smaller autonomous systems and grouping them into a single confederation [RFC1965]. Route reflection is another way to reduce the number of IBGP sessions [RFC1966]. BGP divides the autonomous system into clusters. Each cluster establishes the IBGP full mesh within itself, and designates one or more BGP speakers as "route reflectors," which communicate with other clusters via their route reflectors. Route reflectors in each cluster maintain path and attribute information across the autonomous system. The autonomous system still functions like a fully meshed autonomous system. On the other hand, confederations provide finer control of routing within the autonomous system by allowing for policy changes across confederation boundaries, while route reflection requires the use of identical policies. 4.4 QoS TBD. 5. Network Interface and Service Provider Support of VPNs 5.1 Functional Components of a VPN The basic functional components of an implementation of an VPN are: o A mechanism to acquire VPN membership/capability information o A mechanism to tunnel traffic among VPN sites o For layer 3 VPNs, a means to exchange and maintain the customer routes pertaining to the customer sites connected to it and reachability information for the public backbone to be able to forward data from the customer sites over the SP network. Based on the actual implementation, these functions could be implemented on a per-VPN basis or could be accomplished via a common mechanism shared by all VPNs. For instance, a single process could handle the routing information for all the VPNs or a separate process may be created for each VPN. Before data can be exchanged across a VPN, the sites involved in the VPN must learn of one another, acquire information on VPN membership, determine or know the type of VPN that will be set up, and finally invoke mechanisms that will establish the tunnels and disseminate the routing information among the sites. The establishment of a VPN can Design Team Expires August 2001 [Page 24] INTERNET-DRAFT A Framework for PPVPNs February, 2001 be thought of as composed of the following three stages. It worth noting that separation of the VPN setup into three stages is logical. Depending on the actual means used to determine such information, one or more stages can be combined. In the membership/capability discovery stage, membership and capability information needs to be acquired to determine if any two PEs contain common VPNs. This can be accomplished, for instance, by exchanging VPN identifications of the configured VPNs at each PE for determining if there are any common VPNs between them. The capabilities of the PEs need to be determined to be able to agree on a common mechanism to use for tunneling and/or routing. For instance, if site A supports both IPsec and MPLS as tunneling mechanisms and site B supports only MPLS, they can both agree to use MPLS for tunneling. In some cases the capability information may be determined implicitly, for example some service providers may implement a single VPN solution. Likewise, the routing information for VPNs can be distributed using the methods discussed in section 5.4. In the tunnel establishment stage, the mechanisms for tunneling need to be invoked to actually set up the tunnels. With IPsec, for instance, this could involve the use of IKE to exchange keys and policies for securing the data traffic. In the VPN routing stage, routing information for the VPN sites must be exchanged before data transfer between the sites can take place. Based on the VPN model, this could involve the use of static routes, IGPs such as OSPF/ISIS/RIP, or an EGP such as BGP. VPN membership and capability information can be distributed via routing protocols such as BGP, central management system such as LDAP or manual configuration. Manual configuration does not scale and is error prone, and therefore is discouraged. While every VPN solution must address the functionality of all three components, the combinations of mechanisms used to provide the needed functionality, and the order in which different pieces of functionality are carried out, may differ. For layer 2 and CPE-based VPNs, the VPN service is offering tunnels between CE equipment. Routing for the VPN is done by the customer network. With these solutions, the service provider is involved in the operation of the membership/capability discovery stage and the tunnel establishment stage. However, the routing functional component is entirely up to the customer network. Design Team Expires August 2001 [Page 25] INTERNET-DRAFT A Framework for PPVPNs February, 2001 5.2 VPN Establishment and Maintenance For a provider provisioned VPN the SP is responsible for the establishment and maintenance of the VPNs. Many different approaches and schemes are possible in order to provide PPVPNs, however there are some generic problems that any VPN solution must address, including: o When a new VPN is added to a PE, how does the PE find out about the existing parts of the VPN and vice versa? o In order for layer 3 VPNs to scale, all routes for all VPNs cannot reside on all PEs. How is the distribution of VPN routing information constrained to only those devices that need it? o An administrator may wish to use different topologies for different VPNs (e.g., a full mesh or a hub & spoke topology). How can this be achieved? This section looks at some of these generic problems and at some of the mechanisms that can be used to solve them. 5.2.1 VPN discovery Mechanisms are needed to acquire information that allows the establishment and maintenance of VPNs. This may include, for example, information on VPN membership, topology, and VPN device capabilities. This information may be statically configured, or distributed by an automated protocol. As a result of the operation of these mechanisms and protocols, a device is able to determine where to set up tunnels, and where to advertise the VPN routes for each VPN. With a physical network, the equivalent problem can by solved by the control of the physical interconnection of links, and by having a router run a discovery/hello protocol over its locally connected links. With VPNs both the routers and the links (tunnels) may be logical entities and thus some other mechanisms are needed. A number of different approaches are possible for VPN discovery. One scheme is where the network management system used to configure the PEs is also used to distribute VPN discovery information, either using proprietary protocols or using standard management protocols and MIBs. Another approach is where the PEs act as clients of a centralized directory or database server that contains VPN discovery information. Another is where VPN discovery information is piggybacked onto a routing protocol running between the PEs. Design Team Expires August 2001 [Page 26] INTERNET-DRAFT A Framework for PPVPNs February, 2001 5.2.1.1 Network management for membership information Service Providers use network management extensively to configure and monitor various devices in their network, which may be distributed across geographically separate sites. The same approach could be used for distributing VPN related information as well. A central network management system could be used by the SP to configure VPNs on PE devices at various locations. VPN configuration information could be entered into the system at the central location and distributed via SNMP or CLI to the remote sites. Security and access control could be achieved through the use of SNMPv3. This approach can be very effectively used within an SP network, since the SP has access to all PEs in its domain. A standardized VPN configuration MIB will need to be developed before this approach can be used to configure PEs across SP boundaries. 5.2.1.2 Directory servers A Service Provider typically needs to maintain a database of its customer's configuration/membership information regardless of the mechanisms used to distribute it. LDAP [RFC1777] is a standard directory protocol which makes it possible to use a common mechanism for both storing such information and distributing it. LDAP defines a schema, which is a standard format for representing information that will be stored in an LDAP server. Having a standard schema ensures interoperability between different implementations of LDAP servers and clients. Moreover, LDAPv3 [RFC2251] supports authentication of messages and associated access control, which can be used to limit access to VPN information to authorized entities. In addition, LDAP v3 supports the notion of extensions, which may be used to introduce new functionality without needing to change the base protocol itself. Using this feature, extensions to LDAP v3 are being proposed that will support a persistent search capability [LDAP-PERSIST] that allows an LDAP client to request a server to notify it when any information of interest to the client is modified. This can be used to ensure timely delivery of VPN information. LDAP extensions are also being proposed to support the replication of directory information across LDAP servers, which may reside in different administrative domains. This is useful for automatically propagating local VPN information to remote sites and vice versa. 5.2.1.3 Augmented routing for membership information BGP supports extensions which allows it to carry VPN information. This allows the VPN discovery information and routing information to Design Team Expires August 2001 [Page 27] INTERNET-DRAFT A Framework for PPVPNs February, 2001 be combined in a single protocol. BGP is also widely deployed by service providers. BGP also contains mechanisms to control route distribution. Route filters can be used to constraining the distribution of routing information. Information needed to establish per-VPN tunnels can also be carried by this routing instance. Augmented routing may be done in combination with aggregated routing, as discussed in section 5.4. 5.2.1.4 Multi-SP VPNs When two sites of a VPN belong to different SP networks, there must be a common mechanism for exchanging membership/capability information. At least one mechanism for VPN information discovery must be standardized and supported across multiple SPs. Inter-SP trust relationships will need to be established that will allow for exchange of membership information across SP boundaries. Also, some mechanisms will be needed to control which membership information is exchanged between SPs. 5.2.2 Constraining distribution of VPN information With layer 2 and CPE-based VPNs, the VPN service provides tunnels between customer edge equipment(which might optionally be routers). In this case, distribution of routing information occurs between routers on the customer sites and is therefore outside of the scope of the provider aspects of VPN support. With layer 3 VPNs, the PE devices are routers, and the service provider participates directly in routing for the customer network. In this case, it is necessary to control the distribution of VPN routes between PE routers. In order to provide a scalable solution it is not possible to use a scheme where all PEs contain all routes for all VPNs. Instead only PEs that have attached sites for a given VPN should contain the routing information for that VPN. As VPN membership may change dynamically, it is necessary to have a mechanism that allows for VPN route information to be distributed to any PE where there is an attached user for that VPN, and to allow for the removal of this information when it is no longer needed. With the Virtual Router scheme (see section 5.4), per-VPN tunnels must be established before any routes for that VPN are distributed, and controlling the distribution of route information is thus achieved by controlling the establishment of these tunnels. In this Design Team Expires August 2001 [Page 28] INTERNET-DRAFT A Framework for PPVPNs February, 2001 scheme, the distribution of membership information consists of the set of VPNs that exists on each PE, and also topology information, to allow a PE to determine its neighbors. When a PE receives this information it checks to see if it has VPNs in common with its neighbors, and if so it establishes tunnels for those VPNs. With the aggregated routing scheme (see section 5.4.4), the distribution of VPN routing information can be constrained by means of route filtering. As VPN membership changes on a PE, the route filters in use between the PE and its peers can be adjusted. Each peer may then adjust the filters in use with each of its peers in turn, and thus the changes propagate across the network. When BGP is used, this filtering may take place at route reflectors as discussed in section 5.4.4. 5.2.3 Controlling VPN topology The topology for a VPN consists of a set of nodes interconnected via tunnels. The topology may be a full mesh, a hub and spoke topology, or an arbitrary topology. For a VPN the set of nodes will include all PEs that have attached sites for that VPN, and may also include non-PE devices. (Note that in this section topology is used to indicate the interconnectivity between PEs, (e.g., traffic between PE A and PE B traverses PE C), rather than restricted reachability between VPN sites (e.g., A can talk to B, and B can talk to C, but A cannot talk to C)). The simplest topology is a full mesh, where a tunnel exists between every pair of PEs. If we assume the use of point-to-point tunnels (rather than multipoint-to-point), then with a full mesh topology there are N*(N-1)/2 tunnels for N PEs. Each tunnel consumes some resources at a PE, and depending on the type of tunnel, may or may not consume resources in intermediate routers or switches. One reason for using a non full mesh topology is to reduce the number of tunnels a PE, and/or the network, needs to support. Another reason is to support the scenario where an administrator requires all traffic from certain sites to traverse some particular site for policy or control reasons, such as to force traffic through a firewall, or for monitoring or accounting purposes. Note that the topologies used for each VPN are separate, and thus the same PE may be part of a full mesh topology for one VPN, and of a non full mesh topology for another VPN. An example of where a non full mesh topology could be suitable is for a VPN that supports a large number of telecommuters and one, or a small number of, corporate sites. Most traffic will be between telecommuters and the corporate sites, not between pairs of telecommuters. A hub and spoke topology for the VPN would thus map Design Team Expires August 2001 [Page 29] INTERNET-DRAFT A Framework for PPVPNs February, 2001 onto the underlying traffic flow, with the telecommuters attached to spoke PEs and the corporate sites attached to hub PEs. Traffic between telecommuters is still supported, but this traffic traverses a hub PE. The selection of a topology for a VPN is an administrative choice, but it is useful to examine protocol mechanisms that can be used to automate the construction of the desired topology, and thus reduce the amount of configuration needed. To this end it is useful for a PE to be able to advertise per-VPN topology information to other PEs. Typically this per-VPN topology information is advertised using the same mechanism that is used to advertise membership information. The topology information may be associated with a PE, or with subsets of routes reachable via that PE. A simple scheme is where a PE advertises itself either as a hub or as a spoke, for each VPN that it has. When received by other PEs this information can be used when determining whether to establish a tunnel. A more comprehensive scheme allows a PE to advertise a set of topology groups, with tunnels established between a pair of PEs if they have a group in common. 5.2.4 Constraining VPN connectivity TBD. 5.3 VPN Tunneling VPN solutions use tunneling in order to transport VPN packets across the service provider backbone. There are different types of tunneling protocols, different ways of establishing and maintaining tunnels, and different ways to associate tunnels with VPNs (e.g., shared versus dedicated per-VPN tunnels). Sections 5.3.1 through 5.3.5 discusses some common characteristics shared by all forms of tunneling, and some common problems to which tunnels provide a solution. Section 5.3.6 provides a survey of available tunneling techniques. Note that tunneling protocol issues are generally independent of the mechanisms used for VPN membership and VPN routing. One motivation for the use of tunneling is that the packet addressing used in a VPN may have no relation to the packet addressing used across the SP backbone. For example the customer VPN traffic could use non-unique private IP addressing [RFC1918]. Also an IPv6 VPN could be implemented across an IPv4 provider backbone. As such the packet forwarding across the SP backbone must use information other than that contained in the VPN packets themselves. A tunneling protocol adds additional information, such an extra header or label, Design Team Expires August 2001 [Page 30] INTERNET-DRAFT A Framework for PPVPNs February, 2001 to a VPN packet, and this additional information is then used for forwarding the packet across the SP backbone. Another capability optionally provided by tunneling is that of isolation between different VPN traffic flows. The QoS and security requirements for these traffic flows may differ, and can be met by using different tunnels with the appropriate characteristics. This allows a provider to offer different service characteristics for traffic in different VPNs, or to subsets of traffic flows within a single VPN. The specific tunneling protocols considered in this section are IPsec, MPLS, GRE, and IP-in-IP as these are the most suitable for carrying VPN traffic across a provider backbone. Other tunneling protocols, such as L2TP [RFC2661], are used primarily to tunnel users across an access backbone to a PE or access server, or are used in a CPE-based VPN. As the tunneling protocol used across the SP backbone between PEs is orthogonal to how sites and subscribers access the VPN, these access side tunneling protocols are not discussed here. 5.3.1 Tunnel encapsulations All tunneling protocols use an encapsulation that adds additional information to the packet that is used for forwarding across the SP backbone. Examples are provided in section 5.3.6. One characteristic of a tunneling protocol is whether per-tunnel state is needed in the SP backbone in order to forward the tunneled packets. For IP tunneling schemes (IPsec, GRE, and IP-in-IP) no such per-tunnel state is needed since forwarding is carried out using the outer IP header. When forwarding packets core routers make no distinction between tunneled and non-tunneled packets. For MPLS, per-tunnel state is needed, since the top label in the label stack must be examined and swapped by intermediate LSRs. The amount of state required can be minimized by hierarchical multiplexing, and by use of multi-point to point tunnels, as discussed below. Another characteristic is the tunneling overhead introduced. With IPsec the overhead may be considerable as it may include, for example, an ESP header, ESP trailer and an additional IP header. The other mechanisms listed use less overhead, with MPLS being the most lightweight. The overhead inherent in any tunneling mechanism may result in additional IP packet fragmentation, if the resulting packet is too large to be carried by the underlying link layer. As such it is important to report any reduced MTU sizes via mechanisms such as Path MTU discovery in order to avoid fragmentation where possible. Design Team Expires August 2001 [Page 31] INTERNET-DRAFT A Framework for PPVPNs February, 2001 5.3.2 Tunnel multiplexing In order to support multiple VPNs on the same PE, a tunneling protocol must support a multiplexing field that allows a particular tunnel to be associated with a particular VPN. Some tunneling protocols have a field explicitly designed for multiplexing, while others have a field that wasn't originally designed for this but can be pushed into service as a multiplexing field. For example: o IPsec: SPI field. o MPLS: Label. o GRE: "Key" field, originally intended for authentication. o IP-in-IP: IP address in outer header. Note that IP-in-IP tunneling does not have a real multiplexing field but if a different IP address is used for every VPN then the IP address field can be used for this purpose. This solution has the significant disadvantage that it requires the allocation and assignment of a potentially large number of IP addresses, and that all these addresses have to be visible to and reachable via backbone routing. 5.3.3 Tunnel establishment In order to be able associate a tunnel with a VPN, it is necessary to determine and distribute values for the multiplexing field used in the tunneling protocol. There are two main approaches to this - the use of an explicit signaling protocol used between the two tunnel endpoints, or distribution without an explicit signaling exchange. With explicit signaling there is a protocol exchange between the tunnel endpoints which, among other things, determines a value for the multiplexing field. For example IKE signaling is used to determine SPI values used with IPsec, and CR-LDP and RSVP-TE can be used to determine MPLS label values. Thus given the identity of the remote party (e.g., IP address) the multiplexing values are generated automatically as a result of the protocol exchanges. Information about the identity of the VPN with which tunnel is to associated needs to be exchanged as part of the signaling protocol (e.g., a VPN- ID can be carried in the signaling protocol). One advantage of this approach is that per-tunnel security, QoS and other characteristics may also be negotiable via the signaling protocol used. A disadvantage is that there may be scalability constraints, discussed further below. Design Team Expires August 2001 [Page 32] INTERNET-DRAFT A Framework for PPVPNs February, 2001 Multiplexing field values can also be exchanged without the use of an explicit signaling protocol. For example MPLS labels can be piggybacked on the protocol used for the distribution of VPN routes, or on a protocol used for VPN membership. IP-in-IP and GRE have no associated signaling protocol, and thus by necessity the multiplexing values are distributed via some other mechanism, such as via configuration, or piggybacked in some manner on a VPN membership or VPN routing protocol. The resources used by the different tunneling establishment mechanisms may vary. With a full mesh VPN topology, and explicit signaling, each PE has to establish a tunnel to all the other PEs for every VPN. The resources needed for this on a PE may be significant and issues such as the time needed to recover following a device failure may also be taken into account, due to the need to have to reestablish a large number of tunnels. 5.3.4 Scaling and hierarchical tunnels For tunnels that require state to be maintained in the core of the network, simply using per-VPN tunnels between all adjacent devices in the VPN topology may not scale to large numbers of tunnels. Such a scheme also breaks the principle that there should be no per-VPN state in the core of the network. For example, MPLS tunnels require that core network devices maintain state for the topmost label in the label stack. If per-VPN tunnels are visible in the core then this will not scale, particularly as the core devices can act as aggregation points and handle tunnels originating from many PEs. There are also scaling considerations related to the use of explicit signaling for tunnel establishment. Even if the tunneling protocol does not maintain per tunnel state in the core, the number of tunnels that a single PE needs to handle may be large, as this grows according to the number of VPNs and the number of neighbors per VPN. One way to reduce the number of tunnels in a network is to use a VPN topology other than a full mesh. However this may not always be desirable, and even with hub and spoke topologies the hubs PEs may need to handle large numbers of tunnels. Scaling can be achieved by using hierarchical tunnels. One tunnel is established between a pair of PEs, which is then used to carry multiple VPN-specific tunnels inside this tunnel. Many different ways of using hierarchical tunnels are possible. A single PE-PE tunnel could be established, which is used by all the per-VPN tunnels, or multiple PE-PE tunnels (perhaps with different QoS or security characteristics) could be established, which are then used by other groups of tunnels. The tunnels used in the hierarchy may be of the same type (e.g., an MPLS label stack) or may be different Design Team Expires August 2001 [Page 33] INTERNET-DRAFT A Framework for PPVPNs February, 2001 (e.g., GRE carried over IPsec). One example using hierarchical tunnels is the use of an MPLS label stack. A single PE-PE LSP is used to carry all the per-VPN LSPs. The mechanisms used for label establishment are typically different. The PE-PE LSP could be established using LDP, as part or normal backbone operation, with the per-VPN LSP labels established by piggybacking on VPN routing (e.g., using BGP). Another example is the establishment of a number of different IPsec security associations, providing different levels of security between PEs. Per-VPN GRE tunnels can then be grouped together and then carried over the appropriate IPsec tunnel, rather than having a separate IPsec tunnel per VPN. 5.3.5 Tunnel maintenance Once a tunnel is established it is necessary to know that the tunnel is operational. With the virtual router scheme, a per-VPN instance of routing is running over the tunnel, thus any loss of connectivity between the tunnel endpoints will be detected by the VPN routing instance. With the aggregated routing scheme, there isn't a per-VPN instance of routing running over the tunnel, and therefore some other scheme to detect loss of connectivity is needed. A tunneling protocol may have an in-built keep alive mechanism that can be used to detect loss connectivity. The base IPsec standard does not contain such a mechanism but there are proposals to extended IPsec in this manner. GRE and IP-in-IP tunneling have no such mechanism. MPLS detects failures as part of the signaling protocols. With hierarchical tunnels it may suffice to only monitor the outermost tunnel for loss of connectivity. However there may be failure modes in a device where the outermost tunnel is up but one of the inner tunnels is down. 5.3.6 Survey of tunneling techniques Tunneling mechanisms provide isolated and secure communication between two CE devices. Available tunneling mechanisms include (but are not limited to): MPLS [RFC3031] [MPLS-FRAME] [RFC3035], GRE [RFC2784] [RFC2890], IPsec [RFC2401] [RFC2402], and IP-in-IP encapsulation [RFC2003]. Tunnels may occur between PE devices, or between CE devices. In the case of PE-to-PE encapsulation with layer 3 VPNs, a PE router encapsulates a data packet incoming from a CE device, and injects it into an appropriate tunnel. The data packet traverses the network, and reaches the PE router on the far side. The PE router then Design Team Expires August 2001 [Page 34] INTERNET-DRAFT A Framework for PPVPNs February, 2001 retrieves the data packet from a tunnel, and passes it to the destination CE device. 5.3.6.1 MPLS [RFC3031] [MPLS-FRAME] [RFC3035] Multiprotocol Label Switching (MPLS) is a method for forwarding packets through a network. Routers at the edge of a network apply simple labels to packets. A label may be inserted between the data link and network headers, or may be carried in the data link header (e.g., the VPI/VCI field in an ATM header). Routers in the network switch packets according to the labels with minimal lookup overhead. A path, or a tunnel in the NBVPN, is called a "label switched path (LSP)." o Multiplexing LSPs may be multiplexed into another LSP. o Multiprotocol transport MPLS can carry data packets other than IP ones. o QoS/SLA MPLS does not have intrinsic QoS or SLA management mechanisms. Some other techniques such as DiffServ may be used with it [MPLS- DIFF]. o Tunnel setup and maintenance LSPs are set up and maintained by LDP (Label Distribution Protocol) or RSVP (Resource Reservation Protocol) [LSP-RSVP]. o Large MTUs, minimization of tunnel overhead, and frame sequencing MPLS does not restrict the MTU size. The overhead of label switching should be minimal. MPLS guarantees in-order delivery of packets. 5.3.6.2 GRE [RFC2784] [RFC2890] Generic Routing Encapsulation (GRE) specifies a protocol for encapsulating an arbitrary payload protocol over an arbitrary delivery protocol [RFC2784]. In particular, it may encapsulate an IP payload packet over IP. An endpoint encapsulates and decapsulates GRE packets. A GRE tunnel is a communication path between two endpoints established by the use of GRE. Design Team Expires August 2001 [Page 35] INTERNET-DRAFT A Framework for PPVPNs February, 2001 o Multiplexing The GRE specification [RFC2784] does not explicitly support multiplexing. But the key field extension to GRE is specified in [RFC2890] and it may be used as a multiplexing field. o Multiprotocol transport GRE is assumed to support any type of payload protocol. o QoS/SLA These capabilities depend on the delivery protocol. o Tunnel setup and maintenance GRE is not equipped with standard ways for setting up and maintaining GRE tunnels. o Large MTUs, minimization of tunnel overhead, and frame sequencing These capabilities depend on the delivery protocol, but the GRE header overhead is designed to be minimal. The sequence field proposed in [RFC2890] may be used to achieve in-order delivery. 5.3.6.3 IPsec [RFC2401] [RFC2402] [RFC2406] [RFC2409] IP Security (IPsec) provides security services at the IP layer [RFC2401]. It comprises authentication header (AH) protocol [RFC2402], encapsulating security payload (ESP) protocol [RFC2406], and Internet key exchange (IKE) protocol [RFC2409]. AH protocol provides data integrity, data origin authentication, and an anti- replay service. ESP protocol provides data confidentiality and limited traffic flow confidentiality. It may also provide data integrity, data origin authentication, and an anti-replay service. AH and ESP may be used in combination. IPsec may be employed in either transport or tunnel mode. In transport mode, either an AH or ESP header is inserted between the IPv4 header and the transport protocol header. In tunnel mode, an IP packet is encapsulated with an outer IP packet header. Either an AH or ESP header is inserted between them. AH and ESP establish a unidirectional secure communication path between two endpoints, which is called a security association. In tunnel mode, two security associations compose a tunnel between PE routers. The IKE protocol is used to set up IPsec tunnels. Design Team Expires August 2001 [Page 36] INTERNET-DRAFT A Framework for PPVPNs February, 2001 o Multiplexing The SPI field of AH and ESP is used to multiplex security associations (or tunnels) between two peer devices. o Multiprotocol transport IPsec needs extensions to carry packets other than IP ones. Alternatively, GRE may be used with it. o QoS/SLA IPsec itself does not have intrinsic QoS/SLA capabilities. Other mechanisms such as "RSVP Extensions for IPsec Data Flows" [RFC2207] or DiffServ may be used with it. o Tunnel setup and maintenance IKE is used for the setup and maintenance of tunnels. o Large MTUs, minimization of tunnel overhead, and frame sequencing IPsec does not restrict the MTU size. IPsec may impose its own overhead. IPsec has a sequence number field that is used by a receiver to perform an anti-replay check, not to guarantee in- order delivery of packets. Note: IPsec is applicable to a CPE-based VPN as well as to an PPVPN. This document deals with the aspects of IPsec that are relevant to a PPVPN. 5.3.6.4 IP-in-IP encapsulation [RFC2003] TBD. 5.4 Routing for VPNs Across the Service Provider Network For network-based layer 2 VPNs, routing is relatively straightforward: The provider network participates in setting up link layer tunnels between CE equipment. However, once the tunnels are set up, then the provider does not participate in network layer routing. This implies that in the case of network-based layer 2 VPNs the routing occurs between CPE routers over the VPN tunnels. For network-based layer 3 VPNs, PE routers forward network layer packets (IP packets) on behalf of the customer network. This implies that the PE routers need to participate in some manner in routing for the customer network. Section 4.3 discussed how routing would be Design Team Expires August 2001 [Page 37] INTERNET-DRAFT A Framework for PPVPNs February, 2001 done in the customer network, including the CE-PE interface. However,there are also significant issues regarding how routing is done in the provider network, which are discussed here. The provider network needs to carry two types of information: (i) Routing information about the public network (including routes to the public Internet); (ii) Routing information about routes within the customer networks served by the VPNs. Routing for the Internet or for public IP networks are outside of the scope of this document. 5.4.1 Options for VPN routing in the service provider The following technologies can be used for exchanging routing information within an SP network: o Static routing (see section 4.3.2) o RIP (see section 4.3.2) o OSPF (see section 4.3.2) o BGP (see section 4.3.2) o Multiprotocol BGP4 [RFC2858] BGP4 has been extended to support IPv6, IPX, and others as well as IPv4 [RFC2283]. Multiprotocol BGP4 carries routes from multiple "address families," such as the "VPN-IPv4 address family" discussed in [VPN-2547BIS]. 5.4.2 Virtual forwarding instances (VFIs) For layer 3 network-based VPNs, the PE devices are routers which forward IP packets for the customer network. This implies that PE devices must obtain routes for the customer networks. This in turn implies that the PE device participates in some manner in routing for the customer network. Thus each PE router looks to the customer network as if it were a router in the customer network. The access connections from CE device to PE router are normal links between routers within the customer network. In layer 3 VPNs a single PE router is likely to be interconnected with multiple CE devices, including multiple CEs within one VPN as well as CE devices from multiple different VPNs. The PE device must therefore support independent forwarding of user data for each VPN which it supports. The forwarding table used for each VPN will in general be different. This implies that the PE router will therefore need to maintain multiple separate forwarding instances. These will Design Team Expires August 2001 [Page 38] INTERNET-DRAFT A Framework for PPVPNs February, 2001 be referred to as Virtual Forwarding Instances (VFIs), as defined in section 3.1. Note that each VFI will need to obtain routes from the customer network that is supports, implying that it needs to participate in the operation of routing within each customer network. This implies that from the PE perspective, routing towards the edge of the network (on the CE to PE interfaces) must be separated on a per-VPN basis. However, note that in some cases routing across the CE-PE interface may be very simple. For example,a static route may be used. Alternatively, BGP may be used, but with the provider advertising only a simple default route to the CE device, and with the CE device advertising only a single address prefix or a very small list of address prefixes to the provider. PE routers may end up supporting a large number of VPNs, and therefore a large number of virtual forwarding instances. This implies that scaling may potentially be difficult in PE routers. On the other hand, the resource load on a particular PE is largely linearly proportional to the number of VPNs that the PE router supports, and to the size of the VPNs. In general, a routing protocol instance may populate multiple VFIs, or a single VFI. Also, a VFI may be populated by a single routing protocol, or multiple routing protocols. Therefore there is not necessarily a one to one correspondence between VFI and routing protocol instance. There are several options for how VPN routes are carried across the provider network, as discussed below. 5.4.3 Per-VPN routing One option is to operate separate instances of routing protocols across the provider network, one instance for each VPN. When this is done, routing protocol packets for each customer network need to be tunneled between PEs. This uses the same tunneling method, and optionally the same tunnels, as is used for transporting VPN user data traffic between PEs. With per-VPN routing, a distinct routing instance corresponding to each VPN exists within the corresponding PE device. VPN-specific tunnels are set up between PE devices (using the control mechanisms that were discussed in sections 4 and 5). Logically these tunnels are between the VFIs which are within the PE devices. The tunnels then used as if they were normal links between normal routers. Routing protocols for each VPN operate between VFIs and the routers within the customer network. Design Team Expires August 2001 [Page 39] INTERNET-DRAFT A Framework for PPVPNs February, 2001 This approach minimizes the interactions between multiple different VPNs, in that routing is done independently for each VPN. However, with this approach each PE device implements the capabilities of multiple different routers. This implies that some sharing of resources may occur within the PE device. The multiple routing instances within the PE device may be separate processes, or may be in the same process with different data structures. Similarly, there may be mechanisms internal to the PE routers to partition memory and other resources between routing instances. The mechanisms for implementing multiple routing instances within a single physical PE are outside of the scope of this framework document, and are also outside of the scope of other standards documents. 5.4.4 Aggregated routing model Another option is to use one single instance of a routing protocol for carrying VPN routing information across the provider network. With this method the routing information for multiple different VPNs is aggregated into a single routing protocol. This implies that whichever routing protocol is used in the provider network needs to be enhanced to allow routes from different VPNs to be distinguished. In this approach, the number of routing protocol instances in a PE router does not depend on the number of CEs supported by the PE router, if the routing between PE router and CE device is static or BGP4. However, CE devices and PE routers in a VPN exchange route information inside a VPN using a routing protocol except for BGP4, the number of routing protocol entities in a PE router depends on the number of CEs supported by the PE router. In principle it is possible for routing to be aggregated using either BGP or on an IGP. 5.4.4.1 Aggregated routing with OSPF or IS-IS When supporting VPNs, it is likely that there can be a large number of VPNs supported within any given provider network. Also, in general only a small number of PE devices will be interested in the operation of any one VPN. Thus the total amount of routing information related to the various customer networks will be very large. However, any one PE needs to know about only a small number of such networks. Design Team Expires August 2001 [Page 40] INTERNET-DRAFT A Framework for PPVPNs February, 2001 Generally provider networks use OSPF or IS-IS for interior routing within the provider network. There are very good reasons for this choice, which are outside of the scope of this document. Both OSPF and IS-IS are link state routing protocols. With link state routing, the information used for routing is broadcast throughout all routers within an area of the network. This implies that all routers within an area have identical information about the status of the network. In general, any given PE will only support a subset of the VPNs supported by the service provider. It is important therefore to be able to restrict the distribution of routing information for any one VPN to those PEs which support that VPN. With link state routing protocols there is no provision for limiting the distribution of routing information to only a small number of routers within an area. Thus if the VPN routing information is aggregated into OSPF or IS-IS, the information would need to be broadcast to all routers in the area, even routers which don't want to know about any one particular VPN. Given the potential magnitude of the total routing information required for supporting a large number of VPNs, this broadcast may have unfortunate scaling implications. In some cases VPNs may span multiple areas within a provider, or span multiple providers. If VPN routing information is aggregated into the IGP used within the provider, then some method would need to be used to extend the reach of IGP routing information between areas and between providers. 5.4.4.2 Aggregated routing with BGP BGP is a path vector routing protocol. This implies that any router participating in BGP has a great deal of flexibility concerning which routes it gives to any particular neighbor. Specifically,a router x passes to a neighboring router y whatever routes x would like y to be able to use. Each route includes a specification of what IP addresses are reachable via the route, and the path for the route (summarized to be on a routing domain by routing domain basis). Flexible and configurable export policies control which routes x decides to pass to y. Similarly, import policies control which routes y is willing to accept from x. In many cases, all routers within a routing domain, or at least all border routers within the domain (i.e., all routers which have neighbors outside the domain) may want to hear about the same routes. It is not efficient to have each router exchange routes directly with Design Team Expires August 2001 [Page 41] INTERNET-DRAFT A Framework for PPVPNs February, 2001 every other router in the domain. Instead BGP allows certain routers (or devices running routing software) to operate as route reflectors. A route reflector can then receive routes from certain routers, and distribute those routes as desired to other routers. Also note that BGP can be run between routers which are physically adjacent, or alternatively can be run between two routers which are interconnected only by a longer path through other routers. BGP is tunneled over IP in order to allow its operation between non-adjacent routers. When the VPN routing information is piggybacked on BGP, there is therefore a considerable amount of flexibility regarding which information is exchanged via which routers and route reflectors. This flexibility makes BGP a candidate for carrying BGP routes across a provider network [VPN-2547BIS]. As noted above, there may be a large number of VPNs which are supported by any particular provider, and the total amount of routing information associated with all VPNs may be quite large. However, any one PE will in general only need to be aware of a small number of VPNs. This implies that where VPN routing information is aggregated into BGP, it is desirable to be able to limit which VPN information is distributed to which PEs. BGP route filters can be used to control the distribution of routing information. In some cases it may be desirable to simplify the design of PE equipment, and limit the number of systems which needs to be reconfigured when VPN membership changes. It may also be desirable to avoid a full mesh of n-squared BGP associations between n PE routers within an organization. BGP route reflectors can be used to control the redistribution of VPN routes between PE routers. In many cases therefore it is likely that route reflectors may be used to distribute VPN routing information to PEs, and route filters will be used to ensure that information about a particular VPN will be distributed only to those PEs which participate in that VPN. 5.4.4.3 Partitioning of routing information with BGP BGP is used in most or all public networks for computing inter-domain routes to sites throughout the Internet. If BGP is used for carrying VPN information, the total amount of information carried in BGP (including Internet routes and VPN routes) may be quite large. In some cases it may be desirable for any one route reflector to carry only a subset of the routing information. For example, a set of one or more route reflectors might be used to carry Internet routes. These route reflectors would therefore not carry any VPN Design Team Expires August 2001 [Page 42] INTERNET-DRAFT A Framework for PPVPNs February, 2001 routes. A different set of one or more route reflectors might be used to carry all VPN routes. It is possible for the total number of VPN routes (across all VPNs supported by a service provider) to exceed the number which can be supported by a single route reflector. For this reason, the VPN routes may themselves be partitioned, with some route reflectors carrying one subset of the VPN routes and other route reflectors carrying a different subset. Similarly each PE router would need to be aware of only those routes which it needs (specifically the VPN routes for VPNs which are present in that PE device, and optionally the Internet routes). BGP policies need to be configured to control which route reflectors and which PE routers need to pay attention to which pieces of routing information. Whether Internet routes are carried on the PE devices would again depend on configuration. If the customer networks served by a particular PE do not need Internet access, then that PE does not need to be aware of Internet routes. If some or all of the VPNs served by a particular PE need Internet access, then there are two options: (i) A default route may be used to route all Internet traffic from that PE to a different router within the service provider network, and that other router can handle the full Internet routing table. With this approach the PE router needs only a single default route for all Internet routes; (ii) The PE could instead obtain the full Internet routes from an appropriate route reflector. In this case the PE router may be able to pick more optimal routes (avoiding an extra router hop), but at the cost of additional memory and CPU usage at the PE router. 5.4.4.4 Managing PE-to-PE backbone networks TBD. 5.5 Quality of Service, SLAs, and IP Differentiated Services The following technologies for QoS/SLA may be applicable to PPVPNs. 5.5.1 IntServ/RSVP [RFC2205] [RFC2208] [RFC2210] [RFC2746] [RSVP-LSP] Integrated services, or IntServ for short, is a mechanism for providing QoS/SLA by admission control. RSVP is used to reserve network resources. The network needs to maintain a state for each reservation. The number of states in the network increases in proportion to the number of concurrent reservations. Design Team Expires August 2001 [Page 43] INTERNET-DRAFT A Framework for PPVPNs February, 2001 In some cases, IntServ on the edge of a network (e.g., over the CE-PE interface) may be mapped to DiffServ in the core of a network. 5.5.2 DiffServ [RFC2474] [RFC2475] IP differentiated service, or DiffServ for short, is a mechanism for providing QoS/SLA by differentiating traffic. Traffic entering a network is classified into several behavior aggregates at the network edge and each is assigned a corresponding DiffServ codepoint. Within the network, traffic is treated according to its DiffServ codepoint. Some behavior aggregates have already been defined. Expedited forwarding behavior [RFC2598] guarantees the QoS, whereas assured forwarding behavior [RFC2597] differentiates traffic packet precedence values. When DiffServ is used, network provisioning is done on a per-traffic- class basis. This ensures a specific class of service can be achieved for a class (assuming that the traffic load is controlled). All packets within a class are then treated equally within a service provider network. Policing is done at input to prevent any one user from exceeding their allocation and therefore defeating the provisioning for the class as a whole. If a user exceeds their traffic contract, then the excess packets may optionally be discarded, or may be marked as "over contract." Routers throughout the network can then preferentially discard over contract packets in response to congestion, in order to ensure that such packets do not defeat the service guarantees intended for in contract traffic. 5.5.3 MPLS Traffic Engineering LSPs with bandwidth guarantees can be set up using MPLS signaling and Constraint Based Routing. More details are TBD. 5.6 Concurrent Access to VPNs and the Internet TBD. 5.7 Network Management of VPNs 5.7.1 Customer management TBD. 5.7.2 Network management TBD. Design Team Expires August 2001 [Page 44] INTERNET-DRAFT A Framework for PPVPNs February, 2001 6. Security Considerations TBD. Appendix A: Optimizations for Tunnel Forwarding A.1 Header Lookups in the VFIs If network based layer 3 VPNs are implemented in the most straightforward manner, then it may be necessary for PE routers to perform multiple header lookups in order to forward a single data packet. This section discusses an example of how multiple lookups might be needed with the most straightforward implementation. Optimizations which might optionally be used to reduce the number of lookups are discussed in the following sections. As an example, in many cases a tunnel may be set up between VFIs within PEs for support of a given VPN. When a packet arrives at the egress PE, the PE may need to do a lookup on the outer header to determine which VFI the packet belongs to. The PE may then need to do a second lookup on the packet that was encapsulated across the tunnel, using the forwarding table specific to that VPN, before forwarding the packet. For scaling reasons it may be desired in some cases to set up PE to PE tunnels, and then multiplex multiple VPN-specific tunnels within the PE to PE tunnels. This implies that in the most straightforward implementation three header lookups might be necessary in a single PE device: One lookup may identify that this is the end of the PE to PE tunnel (implying the need to strip off the associated header). A second lookup may identify that this is the end of the VPN-specific tunnel. This lookup will result in stripping off the second encapsulating header, and will identify the VFI context for the final lookup. The last lookup will make use of the IP address space associated with the VPN, and will result in the packet being forwarded to the correct CE within the correct VPN. A.2 Penultimate Hop Popping for MPLS Penultimate hop popping is an optimization which is described in the MPLS architecture document [RFC3031]. Consider the egress node of any MPLS LSP. The node looks at the label, and discovers that it is the last node. It then strips off the label header, and looks at the next header in the packet (which Design Team Expires August 2001 [Page 45] INTERNET-DRAFT A Framework for PPVPNs February, 2001 may be an IP header, or which may have another MPLS header in the case that hierarchical nesting of LSPs is used). For the last node on the LSP, the outer MPLS header doesn't actually convey any useful information (except for one situation discussed below). For this reason, the MPLS standards allow the egress node to request that the penultimate node strip the MPLS header. If requested, this implies that the penultimate node does not have a valid label for the LSP, and must strip the MPLS header. In this case, the egress node receives the packet with the corresponding MPLS header already stripped, and can forward the packet properly without needing to strip the header for the LSP which ends at that egress node. There is one case in which the MPLS header conveys useful information: This is in the case of a VPN-specific LSP terminating at a PE router. In this case, the value of the label tells the PE which LSP the packet is arriving on, which in turn is used to determine which VFI is used for the packet (i.e., which VPN-specific forwarding table needs to be used to forward the packet). However, consider the case where multiple VPN-specific LSPs are multiplexed inside one PE-to-PE LSP. Also, let's suppose that in this case the egress PE has chosen all incoming labels (for all LSPs) to be unique in the context of that PE. This implies that the label associated with the PE to PE LSP is not needed by the egress node. Rather, it can determine which VFI to use based on the VPN-specific LSP. In this case, the egress PE can request that the penultimate LSR performs penultimate label popping for the PE to PE LSP. This eliminates one header lookup in the egress LSR. Note that penultimate node label popping is only applicable for VPN standards which use multiple levels of LSPs. Even in this case penultimate node label popping is only done when the egress node specifically requests it from the penultimate node. A.3 Demultiplexing to Eliminate the Tunnel Egress VFI Lookup Consider a VPN standard which makes use of MPLS as the tunneling mechanism. Any standard for encapsulating VPN traffic inside LSPs needs to specify what degree of granularity is available in terms of the manner in which user data traffic is assigned to LSPs. In other words, for any given LSP, the ingress or egress PE device needs to know which LSPs need to be set up, and the ingress PE needs to know which set of VPN packets are allowed to be mapped to any particular LSP. Design Team Expires August 2001 [Page 46] INTERNET-DRAFT A Framework for PPVPNs February, 2001 Suppose that a VPN standard allows some flexibility in terms of the mapping of packets to LSPs, and suppose that the standard allows the egress node to determine the granularity. In this case the egress node would need to have some way to indicate the granularity to the ingress node, so that the ingress node will know which packets can be mapped to each LSP. In this case, the egress node might decide to have packets mapped to LSPs in a manner which simplifies the header lookup function at the egress node. For example, the egress node could determine which set of packets it will forward to a particular neighbor CE device. The egress node can then specify that the set of IP packets which are to use a particular LSP correspond to that specific set of packets. For packets which arrive on the specified LSP, the egress node does not need to do a header lookup on the VPN's customer address space: It can just pop the MPLS header and forward the packet to the appropriate CE device. If all LSPs are set up accordingly, then the egress node does not need to do any lookup for VPN traffic which arrives on LSPs from other PEs (in other words, the PE router will not need to do a second lookup in its role as an egress node). Note that PE routers will most likely also be an ingress routers for traffic going in the other direction. The PE router will need to do an address lookup in the customer network's address space in its role as an ingress node. However, in this direction the PE still needs to do only a single header lookup. When used with MPLS tunnels, this optional optimization reduces the need for header lookups, at the cost of possibly increasing the number of label values which need to be assigned (since one label would need to be assigned for each next-hop CE device, rather than just one label for every VFI). The same approach is also possible when other encapsulations are used, such as IP-in-IP [RFC2003], GRE [RFC2784] [RFC2890], or IPsec [RFC2401] [RFC2402]. This requires that distinct values are used for the multiplexing field in the tunneling protocol. If IP-in-IP encapsulation is used, then separate IP addresses could assigned for tunnels which are to be forwarded to different next hop CE devices. This implies that this method may be used to reduce the number of header lookups, at the cost of increasing the use of IP addresses used as destination addresses for tunnels. If GRE encapsulation is used, then the "key" field could be used for multiplexing, which implies that different values of this field could be used for packets destined to different next hop CE routers. For IPsec the SPI field could be used in the same manner. Design Team Expires August 2001 [Page 47] INTERNET-DRAFT A Framework for PPVPNs February, 2001 Acknowledgments This document is output of the framework document design team of the PPVPN WG. However, sources of this document are based on various inputs from colleagues of authors. We would like to thank Junichi Sumimoto, Kosei Suzuki, Hiroshi Kurakami, Takafumi Hamano, Naoto Makinae, and Kenichi Kitami of NTT and Rajesh Balay, Anoop Ghanwani, Harpreet Chadha, Samir Jain, Lianghwa Jou, Vijay Srinivasan, and Abbie Matthews of CoSine Communications. We would also like to thank Yakov Rekhter of Juniper Networks and Scott Bradner of Harvard University for their valuable comments and suggestions. Intellectual Property Intellectual property rights may have been claimed with regard to some of the techniques and mechanisms described in this framework document. For more information consult the online list of claimed rights maintained by the IETF at http://www.ietf.org/ipr.html. References [PPVPN-REQ] McDysan, D. et al., "Service Requirements for Provider Provisioned Virtual Private Networks," Internet-draft , February 2001. [RFC2764] Gleeson, B. et al., "A Framework for IP Based Virtual Private Networks," RFC 2764, February 2000. [RFC2547] Rosen, E. and Rekhter, Y., "BGP/MPLS VPN," RFC 2547, March 1999. [RFC2684] Grossman, D. and Heinanen, J., "Multiprotocol Encapsulation over ATM Adaptation Layer 5," RFC 2684, September 1999. [RFC2685] Fox B. and Gleeson, B., "Virtual Private Networks Identifier," RFC 2685, September 1999. [VPN-2547BIS] Rosen, E. et al., "BGP/MPLS VPNs," Internet-draft , July 2000. [VPN-BGP-V6] Nguyen, T. et al., "BGP-MPLS VPN extension for IPv6 VPN over an IPv4 infrastructure," Internet-draft , October 2000. Design Team Expires August 2001 [Page 48] INTERNET-DRAFT A Framework for PPVPNs February, 2001 [VPN-BGP-OSPF] Rosen, E., "OSPF as the PE/CE Protocol in BGP/MPLS VPNs," Internet-draft , July 2000. [VPN-BGP-MCAST] Rosen, E. et al., "Multicast in MPLS/BGP VPNs," Internet-draft , November 2000. [VPN-BGP-IPSEC] De Clercq, J. et al., "BGP/IPsec VPN," Internet-draft , July 2000. [VPN-BGP-VR] Ould-Brahim, H. et al., "Using BGP as an Auto-Discovery Mechanism for Network-based VPNs," Internet-draft , November 2000. [VPN-BGP-MIB] Nadeau, T. et al., "MPLS/BGP Virtual Private Network Management Information Base Using SMIv2," Internet-draft , November 2000. [VPN-VR] Ould-Brahim H. et al., "Network based IP VPN Architecture Using Virtual Routers," Internet-draft , November 2000. [VPN-IPSEC] Lordello, C. et al, "VPN-ID-Enhanced IPSec-VPN DOI for ISAKMP," Internet-draft , August 2000. [VPN-INTER] Kurakami, H. et al., "Provider-Provisioned VPN Interworking," Internet-Draft , February 2001. [VPN-2917BIS] Muthukrishnan, K. et al, "A Core MPLS IP VPN Architecture," Internet-draft , November 2000. [RFC3031] Rosen E. et al., "Multiprotocol Label Switching Architecture," RFC 3031, January 2001. [MPLS-FRAME] Callon, R. et al., "A Framework for Multiprotocol Label Switching," , September 1999. [RFC3035] Davie, B. et al., "MPLS using LDP and ATM VC Switching," RFC 3035, January 2001. [MPLS-DIFF] Le Faucheur, F. et al., "MPLS Support of Differentiated Services," Internet-draft , August 2000. Design Team Expires August 2001 [Page 49] INTERNET-DRAFT A Framework for PPVPNs February, 2001 [MPLS-GMNCL] GMN-CL home page: http://www.gmncl.ecl.ntt.co.jp/top_e.html [RFC2003] C. Perkins "IP Encapsulation within IP," RFC 2003, October 1996. [RFC2784] Farinacci, D. et al., "Generic Routing Encapsulation (GRE)," RFC 2784, March 2000. [RFC2890] Dommety, G., "Key and Sequence Number Extensions to GRE," RFC 2890, September 2000. [RFC2401] Kent, S. and Atkinson, R., "Security Architecture for the Internet Protocol," RFC 2401, November 1998. [RFC2402] Kent, S. and Atkinson, R., "IP Authentication Header," RFC 2402, November 1998. [RFC2406] Kent, S. and Atkinson, R., "IP Encapsulating Security Payload (ESP)," RFC 2406, November 1998. [RFC2409] Harkins, D. and Carrel, D., "The Internet Key Exchange (IKE)," RFC 2409, November 1998. [RFC2661] Townsley, W. et al., "Layer Two Tunneling Protocol 'L2TP'," RFC 2661, August 1999. [RFC2453] Malkin, G., "RIP Version 2," RFC 2453, November 1994. [RFC2328] Moy, J., "OSPF Version 2," RFC 2328, April 1998. [RFC1195] Callon, R., "Use of OSI IS-IS for Routing in TCP/IP and Dual Environments," RFC 1195, December 1990. [RFC1771] Rekhter, Y. and Li, T., "A Border Gateway Protocol 4 (BGP-4)," RFC 1771, March 1995. [RFC1965] Traina, P., "Autonomous System Confederations for BGP," RFC 1965, June 1996. [RFC1966] Bates, T., "BGP Route Reflection: An alternative to full mesh IBGP," RFC 1966, June 1996. [RFC1997] Chandra, R., Traina, P., and Li, T., "BGP Communities Attribute," RFC 1997, August 1996. [RFC2858] Bates, T., Chandra, R., Katz, D., and Rekhter, Y., "Multiprotocol Extensions for BGP-4," RFC 2283, February 1998. Design Team Expires August 2001 [Page 50] INTERNET-DRAFT A Framework for PPVPNs February, 2001 [BGP-COM] Ramachandra, S., "BGP Extended Communities Attribute," Internet-draft , May 2000. [RFC2205] Braden, R. et al., "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification," RFC 2205, September 1997. [RFC2208] Mankin, A. et al., "Resource ReSerVation Protocol (RSVP) Version 1 Applicability Statement Some Guidelines on Deployment," RFC 2208, September 1997. [RFC2210] Wroclawski, J., "The Use of RSVP with IETF Integrated Services," RFC 2210, September 1997. [RFC2211] Wroclawski, J., "Specification of the Controlled-Load Network Element Service," RFC 2211, September 1997. [RFC2212] Shenker, S., Partridge, C., and Guerin, R., "Specification of Guaranteed Quality of Service," RFC 2212, September 1997. [RFC2207] Berger, L. and O'Malley, T., "RSVP Extensions for IPSEC Data Flows," RFC 2207, September 1997. [RFC2746] Terzis, A. et al., "RSVP Operation Over IP Tunnels," RFC 2746, January 2000. [RSVP-LSP] Awduche, D. et al., "Extensions to RSVP for LSP Tunnels," Internet-draft , August 2000. [RFC2474] Nichols, K. et al., "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers," RFC 2474, December 1998. [RFC2475] Blake S. et al., "An architecture for Differentiated Services," RFC 2475, December 1998. [RFC2597] Heinanen, J. et al., "Assured Forwarding PHB Group," RFC 2597, June 1999. [RFC2598] Jacobsen, V. et al., "An Expedited Forwarding PHB," RFC 2598, June 1999. [RFC2983] Black, D., "Differentiated Services and Tunnels," RFC 2983, October 2000. [RFC1777] Yeong, W. et al., "Lightweight Directory Access Protocol," RFC 1777, March 1995. Design Team Expires August 2001 [Page 51] INTERNET-DRAFT A Framework for PPVPNs February, 2001 [RFC2251] Wahl, M. et al., "Lightweight Directory Access Protocol (v3)," RFC 2251, December 1997. [LDAP-PERSIST] Smith, M. (Ed.), "Persistent Search: A Simple LDAP Change Notification Mechanism," Internet-draft , November 2000. [RFC1918] Rekhter, Y. et al., "Address Allocation for Private Internets," RFC 1918, February 1996. Authors' addresses Ross Callon Juniper Networks 1194 N. Mathilda Ave Sunnyvale, CA 94089, USA Email: rcallon@juniper.net Muneyoshi Suzuki NTT Information Sharing Platform Labs. 3-9-11, Midori-cho, Musashino-shi, Tokyo 180-8585, Japan Email: suzuki.muneyoshi@lab.ntt.co.jp Bryan Gleeson Nortel Networks 2305 Mission College Blvd Santa Clara CA 95054 Email: bgleeson@shastanets.com Andrew G. Malis Vivace Networks, Inc. 2730 Orchard Parkway San Jose, CA 95134, USA Email: Andy.Malis@vivacenetworks.com Karthik Muthukrishnan Lucent Technologies 1 Robbins Road Westford, MA 01886, USA Email: mkarthik@lucent.com Eric C. Rosen Cisco Systems, Inc. 250 Apollo Drive Chelmsford, MA, 01824 Email: erosen@cisco.com Design Team Expires August 2001 [Page 52] INTERNET-DRAFT A Framework for PPVPNs February, 2001 Chandru Sargor Cosine Communications 1200 Bridge Parkway Redwood City, CA 94065 Email: Chandramouli.Sargor@cosinecom.com Jieyun Jessica Yu Cosine Communications 1200 Bridge Parkway Redwood City, CA 94065 Email: jyy@cosinecom.com Design Team Expires August 2001 [Page 53]