Internet Draft
  
  Internet Draft    draft-casey-mpls-vpn-00.txt      November 1998
                                       
      
    
  MPLS Working Group                                     L. Casey
  Internet Draft                                    I. Cunningham
  Expiration Date: May 1999                               R. Eros
                                                  Nortel Networks
                                                    November 1998

               IP VPN Realization using MPLS Tunnels
                                 
                   <draft-casey-vpn-mpls-00.txt>
  
  Status of this Memo

  This document is an Internet-Draft.  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."

  To learn the current status of any Internet-Draft, please check
  the "1id-abstracts.txt" listing contained in the Internet-Drafts
  Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net
  (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
  Coast), or ftp.isi.edu (US West Coast).

Abstract

  This Internet Draft describes a method of using MPLS to realize
  a provider IP VPN capability. The approach described here
  exploits the Label Switch Path (LSP) mesh implicitly established
  between all edge routers in an MPLS domain [4]. It uses 2 levels
  of LSP tunneling. The outer or base level is the hop by hop LSP
  tunnels that interconnect all VPN Border (Label Switch) Routers
  (VBR’s). The "bottom of label stack", nested level provides
  logically single hop tunnels between VBR’s. For each IP VPN,
  single hop nested tunnels are established between all VBR's
  serving that particular VPN. The draft outlines the components
  involved in the MPLS IP VPN architecture and outlines how they
  interact. The proposed realization is caste in terms of the VPN
  areas introduced in [1] and is geared to take advantage of a
  virtual router (VR) capability in the VBR's. This results in a
  powerful and flexible method of providing an IP VPN service that
  meets the requirements outlined in [3]. Also described are two
  extensions: offering MPLS VPN service to the customer (rather
  than IP service) and using Label Switching to traverse VPN
  areas[1].

  Casey, et al.                                          [Page 1] 
  

  Internet Draft    draft-casey-mpls-vpn-00.txt      November 1998  

Table of Contents
  1.  Introduction                                               3
  1.1 IP VPN                                                     3
  1.2 VPN Areas                                                  3
  1.3 VPN Border Routers - VBR's                                 3
  1.4 Virtual Routers - VR's                                     3
  1.5 MPLS based IP VPN's                                        4
  1.6 Terminology                                                4
  2.  Architectural Overview                                     5
  2.1 Components                                                 5
  2.1.1Enterprises, VPN-ID's and Enterprise Sites                5
  2.1.2Stub Links                                                6
  2.1.3VBRs and VR's                                             6
  2.1.4Base Network and interior LSR's                           7
  2.2 Operation                                                  7
  2.2.1Establishing VPN Areas                                    7
  2.2.2Establishing a new VPN                                    8
  2.2.3Learning Site Reachability Information:                   8
  2.2.4VPN member dissemination:                                 8
  2.2.5Nested Tunnel Mesh Establishment                          9
  2.2.6Intra VPN reachability                                    9
  2.2.7IP Packet Forwarding                                      9
  3   Details                                                    9
  3.1 VPN membership discovery                                   9
  3.1.1Label space for nested labels                            11
  3.2 Detailed VBR Forwarding Behavior                          11
  3.3 A note on QoS and diff-serv                               11
  4   Extending the scope of MPLS.                              11
  4.1 Extending MPLS into the enterprise site networks.         11
  4.2 Using MPLS between two or more MPLS VPN areas             12
  5   Properties of the proposed scheme                         12
  5.1 IP VPN attributes                                         13
  5.1.1A Routed IP service                                      13
  5.1.2Data privacy                                             13
  5.1.3Address Isolation                                        13
  5.2 Other properties                                          13
  5.2.1Separation of state                                      13
  5.2.2Automatic configuration of VPN's.                        14
  5.2.3Exploits IP's Resilience                                 14
  5.2.4Shared Bandwidth between Enterprises                     14
  5.2.5Engineerable to Enterprise Requirements                  15
  5.2.6Tracks MPLS Improvements                                 15
  5.3 Scaling Factors                                           15
  5.3.1Label Space Considerations                               15
  5.3.2VPN membership dissemination                             16
  6.  Security Considerations                                   16
  6.1 User Data Privacy                                         16
  6.2 Service Provider Security                                 17
  7.  Intellectual Property Considerations                      17
  8.  References                                                18
  9.  Authors' Addresses                                        18

  Casey, et al.                                           [Page 2] 


  Internet Draft    draft-casey-mpls-vpn-00.txt      November 1998
  
  1.Introduction

  1.1  IP VPN

  In [3] Heinanen, Glesson and Lin provide a definition of an IP
  VPN, or VPRN (Virtual Private Routed Network), and summarize its
  properties: address isolation, data privacy and intra VPN
  routing. In this context, an IP VPN is provided by a service
  provider as a service offering to enterprises. The IP
  specificity of an IP VPN arises because the service offered
  includes IP routing. (Since the underlying network technology
  described here is Multi-Protocol Label Switching, schemes
  similar to that proposed here could be used to offer other of
  routed protocol VPNs, e.g. an IPX VPN service). [3] also
  describes the procedures needed for an IP VPN to operate and
  provides examples of the multiple implementation options that
  exist for each procedure.

1.2  VPN Areas

  In a companion Internet Draft to this one [1], the IP VPN
  architecture of [3] is extended by the introduction of VPN
  areas. A VPN area is a partition of the service provider's
  network resources used for providing IP VPN service. A prime
  goal of VPN areas is to allow an IP VPN Service Provider to
  partition his base network based upon administrative domains,
  and/or network technology, and/or IP VPN implementation choices.
  The reader may consult [1] for the rationale and properties of
  VPN areas, but for the purposes of this draft, he or she can
  equate a VPN area with an MPLS domain [4].

1.3  VPN Border Routers - VBR's

  All proposals for IP VPN's distinguish the first IP device in
  the path between the enterprise's network and the provider's
  shared network. Unfortunately, there is no common term for it.
  In this Internet Draft we use the term VPN Border Router or VBR.
  VBR's are located at the edge of VPN areas: they serve as tunnel
  ingress and egress points for enterprise IP traffic. (In multi-
  VPN area networks they also serve as the gateway device between
  VPN areas. For more details see [1].)
 
1.4  Virtual Routers - VR's

  A VBR may be dedicated to a single enterprise or it may be
  shared over many enterprises. In the latter case, it has to
  maintain separate forwarding tables for each VPN it serves,
  since their IP address spaces may not be distinct. If the
  reachability information needed to populate these forwarding
  tables is configured and exchanged on a per VPN basis then we
  say that the VBR supports Virtual Routers. (Virtual Routers are


  Casey, et al.                                           [Page 3]
  

  Internet Draft    draft-casey-mpls-vpn-00.txt      November 1998


  described further in [1] and [7]). In this Internet Draft we 
  assume that each VBR supports a Virtual Router (VR) per VPN that
  it serves. However, in fact there would be few changes if
  reachability information were acquired by other methods, such as
  [2].

1.5  MPLS based IP VPN's

  This Internet Draft describes an implementation for a VPN Area
  that coincides with an MPLS domain (see [4]). If the entire
  Service Provider network is a single MPLS domain then the
  implementation provides the entire IP VPN service.

  Mechanisms to implement IP VPN service over MPLS networks have
  been proposed in [2], [6] and [7]. There are significant
  differences between all of these proposals. This proposal is
  closest to [7] in that is makes the use of Virtual Routers
  explicit (which [6] supported but did not describe). It differs
  from [7] in that it does not require IP multicast support in the
  service provider's base network. Rather this proposal exploits
  the tunnel mesh formed in an MPLS area by the topology driven
  implicit LSP set-up. This proposal uses just the functionality
  of MPLS that will be available in early deployments. Unlike [6]
  it does not require explicit LSP set-up.

  The MPLS architecture [3] and its Label Distribution Protocol
  [5], when combined with architectural constructs described in
  this document, provide a very flexible and powerful basis for
  building IP Virtual Private Networks

1.6  Terminology

  In addition to the MPLS related terminology of [4] the following
  terms are introduced
  
  Base label     A label used by the base network as part of a              
                  hop by hop LSP.
  
  Base network   The provider's IP/MPLS network

  LDP            Label Distribution Protocol [4]

  LSP            Label Switched Path [4]

  LSR            Label Switching Router [4]

  MPLS Domain    A set of MPLS enabled nodes that are contiguous
                 at the outermost label stack level. (A
                 clarification of the definition in [4])



  Casey, et al.                                           [Page 4]


  Internet Draft    draft-casey-mpls-vpn-00.txt      November 1998              
  

  Nested label   Label pushed onto label stack first, to identify
                 nested LSP tunnel link.

  Nested LSP tunnel A LSP in which the links between nodes are
                 hops are themselves base network LSP's. The
                 label for a nested LSP tunnel link is pushed
                 onto the label stack before the base label.

  Peer label     A nested label used to identify the single
                 logical hop between peer VR's

  Peer VR's      VR's that serve the same IP VPN within the same
                 VPN area.

  Stub link      Dedicated IP link between a VBR and an
                 enterprise site

  VBR            VPN Border (Label Switched) Router

  VR             Virtual Router

  VPN Area       A partition of the base network, upon which IP
                 VPN service is offered. Within a VPN Area the
                 various VPN mechanisms (tunnelling, VPN
                 membership discovery etc.) are the same.


2.Architectural Overview

2.1  Components
  
  The key elements of the MPLS based VPN architecture proposed in
  this draft are shown in Figure 1.


  +----+    +---+   +---+  +---+   +---+   +---+   +---+    +----+
  |EntR|----|VBR|---|LSR|--|LSR|---|VBR|---|LSR|---|VBR|----|EntR|
  +----+    +---+   +---+  +---+   +---+   +---+   +---+    +----+
  Enter-     <--------VPN Area-------> <---VPN Area---->    Enter-
  Prise      <-----MPLS Domain----->   <--MPLS Domain-->    prise
                                 
              Figure 1: IP VPN Path over 2 VPN Areas

2.1.1  Enterprises, VPN-ID's and Enterprise Sites

  The purpose of an IP VPN is to carry IP traffic between
  geographically dispersed sites of an enterprise.

  An enterprise that wants IP VPN service is first assigned a VPN-
  ID by the service provider.  The VPN-ID as an identifier that is


  Casey, et al.                                           [Page 5]


  Internet Draft    draft-casey-mpls-vpn-00.txt      November 1998
  

  unique within the carrier or group of carriers offering IP VPN
  service. (Strictly speaking for this proposal, a VPN-ID needs
  only be unique within a VPN area. However, we propose that a 16
  bit VPN-ID be used that is unique within an AS. Prepending the
  AS number will then give a 32 bit globally unique VPN-ID,
  suitable for cross provider administrative purposes).

2.1.2  Stub Links

  All but the smallest of sites will interface to the provider's
  network from an enterprise router (EntR in figure 1) over a stub
  link. (Very small sites might not have an enterprise router,
  instead they might consist of a single LAN subnet, e,g an
  Ethernet, served directly from a VBR). Enterprise sites are
  connected to VBR's by dedicated stub links. The links may be
  logical (e.g. a Frame Relay VC) or physical, but they carry only
  traffic of the particular enterprise. The service offered on
  stub links is routed IP. There will be agreement between
  enterprise and provider on such factors as the routing protocol
  for each stub link. Since the VBR will participating in a
  routing exchange with enterprise routers it must have an IP
  address compatible with the enterprise's IP address space.

  An Enterprise may wish to use the same link for its traffic to
  and from the Internet or some extranet(s). This is most securely
  done by using different Layer 2 connections or tunnels, but a
  VBR might be able to separate out non-VPN traffic based upon its
  destination address. The handling of such traffic is outside the
  scope of this draft.

  Some larger Enterprise sites may be "not so stubby". They may
  have multiple links, from the same or different enterprise
  routers, to the same VBR or to different VBR's. There might be
  direct links between enterprise sites outside of the VPN.

2.1.3  VBRs and VR's

  VBR's are located at the edge of VPN areas. In this proposal
  they are edge LSR's: they serve as tunnel ingress and egress
  points for enterprise IP traffic crossing the provider's shared
  network. In multi VPN area networks, they also serve as the
  gateway device between VPN areas.

  We say that a VBR serves a particular VPN if it terminates one
  or more stub links to enterprise sites of that VPN. A gateway
  VBR that straddles two or more VPN areas serves a particular VPN
  if it forwards traffic for that VPN between the areas. With a VR
  implementation there is one VR realization on a VBR for each VPN
  that VBR serves. Each VR in effect terminates all the stub links
  of one enterprise.

  
  Casey, et al.                                         [Page 6]


  Internet Draft    draft-casey-mpls-vpn-00.txt      November 1998
  

  A VBR may serve just one VPN, in which case it has just one VR
  (but since it is a LSR, it is also running a router
  instantiation in the provider's IP address space and routing
  regime). The more interesting case is when a VBR serves a large
  number of VPN's and consequently has a large number of VR
  realizations.

2.1.4  Base Network and interior LSR's

  The base network is the provider's underlying network that is
  shared amongst enterprises' IP VPN service. Here the base
  network is an MPLS network. The VBR's are MPLS edge nodes. In
  general, they will be connected to interior Label Switch Routers
  (LSR's). In this proposal the interior LSR's have no knowledge
  of the VPN service. They do not see native packets of the
  enterprises; all VPN traffic is tunneled through them.


2.2  Operation

2.2.1  Establishing VPN Areas

  A carrier, or consortium of carriers, (the Provider) wishing to
  offer IP VPN service has first to configure one or more MPLS
  domains. Each MPLS domain becomes a VPN area. The VPN area
  consists of VBR's around the edge and plain (non-edge) LSR's,
  interconnected by links.  The interfaces to the links each have
  assigned to them an IP address from the provider's IP address
  space. In particular a VBR has an IP address in the Provider's
  IP address space. This address is not directly visible within
  any of the IP VPN's that the VBR will support.

  The provider determined routing regime determines routes within
  the MPLS domain and then, as per normal MPLS operation, LDP is
  invoked to establish implicit LSP's across the MPLS domain. The
  result is a full mesh of LSP's between all edge LSR's (which
  includes all VBR's). I.e. in each VBR's the is a Forwarding
  Equivalence Class (FEC) to next hop label map [4] that has an
  entry in it for every other VBR for the first hop of an LSP to
  that VBR. This defines the base tunnel mesh.

  We call these first hop labels in the FEC map base labels. They
  will be used as the top of stack labels for all inter VBR
  traffic. Base labels will be swapped at each LSR on the path to
  the destination VBR. (Since there are going to be two labels on
  the MPLS packets in this scheme, the somewhat confusing
  terminology of [4] would have base labels called level 2 labels
  - the LSP's that form the base tunnel mesh between VBR's would
  be called level 2 LSP's).



  Casey, et al.                                           [Page 7]


  Internet Draft    draft-casey-mpls-vpn-00.txt      November 1998


  2.2.2  Establishing a new VPN

  The IP VPN Provider selects VBR's that will serve the new VPN
  and configures a VR at each one with the VP-ID. The provider
  then provisions stub links between VR's and one or more routers
  at each enterprise site. The stub link interfaces are assigned
  IP addresses from the enterprise's IP address space. (Note that
  in fact, if the provider has a globally unique subnet address
  range, he can reuse it within every IP VPN. It will not overlap
  with the enterprise IP address space whether the enterprise is
  using its own globally unique address space, or is using private
  addresses, 10.x.x.x etc).
  
  If the IP VPN to be established spans multiple VPN areas the
  provider must enable VR's in some of the gateway VBR's that
  straddle the relevant VPN areas. These VR's will participate in
  the following steps in all the VPN areas that they have been
  configured to operate in.


2.2.3  Learning Site Reachability Information:

  Heinanen et al. in [3] suggest a number of mechanisms for the
  VBR to learn the set of address prefixes that are reachable over
  the stub link to an Enterprise site. Using a VR to exchange
  routing information with one or more enterprise site routers is
  the most general mechanism. Part of the stub link configuration
  is to specify what routing protocol runs over it, between the
  Enterprise Router and the VBR. Of course, for genuine stub
  enterprise sites the degenerate routing regime is default
  routing at the enterprise router and static routing at the VR
  towards the enterprise site.

2.2.4  VPN member dissemination:

  Concurrent with a VR learning the IP address prefixes of the
  enterprise sites it is directly connected to, the VR needs to
  find its peer VR's. It has to discover which other VBR's in the
  VPN area serve its VPN. Although [3] suggests a number of
  mechanisms for this step, the one proposed here is unique to
  MPLS. Basically, the VR offers to establish a direct LDP session
  with every other VBR in the VPN area. But only VR's serving the
  same VPN will discover each other, and go on to establish pair-
  wise LDP sessions with each other. LDP sessions will only be
  successfully established between (the VR's in) VBR's that are
  supporting the same VPN's.

  A more complete description of this step is given in Section
  3.1.



  Casey, et al.                                           [Page 8]


  Internet Draft    draft-casey-mpls-vpn-00.txt      November 1998

  2.2.5  Nested Tunnel Mesh Establishment

  With every VR having an LDP session with every other VR of the
  same VPN, the stage is set to establish MPLS single hop nested
  tunnels between all the VR's, forming a private tunnel mesh.
  Each VR offers a single label to its peer (the upstream VR) for
  it to use when forwarding traffic to it. The peer VR will store
  this in a forwarding table as the nested label (i.e. the first
  label to be pushed on the label stack) for the destination VR).

2.2.6  Intra VPN reachability

  The first traffic that will flow over the nested tunnels is the
  exchange of routing information between VR's. We assume that
  when a VR is first configured for an IP VPN, part of the
  configuration information is the routing protocol that it should
  use "intra VPN". It would also be given any security credentials
  that it needs in order to participate as a neighbour router to
  the other VR's. After any discovery phase of the "intra VPN"
  routing regime, each VR will be advertising the enterprise
  address prefixes reachable through it.

2.2.7  IP Packet Forwarding

  As a result of routing exchanges between peer VR's and between
  VR's and enterprise routers, as appropriate, each VR will build
  a forwarding table that relates enterprise address prefixes
  (forward equivalency classes) to next hop. The next hop could be
  stored as the IP addresses of the end points the nested LSP
  tunnel to be used, or it could just be the tunnel labels (both
  levels).  When IP packets arrive whose next hop is a VBR, the
  forwarding process pushes first the label for the peer VR (the
  nested tunnel label). Then the base label, for the first hop of
  the base network LSP that leads to the VBR, is pushed onto the
  packet. The doubly labeled packet is then forwarded to the next
  LSR in the base network LSP.
  When the packet arrives at the destination VBR the outermost
  label may have changed several times but the nested label has
  not changed. As the label stack is popped, the nested label is
  used to direct the packet to the correct VR.

3 Details

3.1  VPN membership discovery

  This section examines more closely the VPN membership discovery
  process: the way that each VR discovers all other VR's in the
  VPN area that are serving the same IP VPN.

  The entire process is enabled by the fact that each VBR has a
  set of labels for LSP's that lead to all other VBR's in the VPN


  Casey, et al.                                           [Page 9]


  Internet Draft    draft-casey-mpls-vpn-00.txt      November 1998


  area. This is the result of the basic MPLS implicit LSP
  construction process. We call this resulting mesh of MPLS hop-by-
  hop LSP's the base network tunnel mesh. An advantage of using
  MPLS is that the mesh of LSP's is self-healing in the event of
  interior, base network, topology changes. There is no route re-
  calculations performed by the VR's.
  Note that if the MPLS base network is used for traffic other
  than IP VPN's then some method of flagging VBR IP addresses from
  other FEC's is needed. A suggested method is that an unique
  address prefix be assigned to the VPN area and addresses from it
  only be used for VBR interfaces. Other methods are for further
  study.

  The LDP session initiation process [5] is used as the method of
  VR's discovering their peers, since the ultimate intent of the
  scheme is to establish a second level of MPLS tunnels. Every VR
  sends an LDP hello message down every base network LSP that
  exits its VBR. Hello messages (and any subsequent session
  messages) are encapsulated with the base MPLS label so that they
  are carried all the way to destination VBR. The LDP hello
  message is a form of query to determine if a VR for the same VPN
  (a peer) resides at the destination VBR. The VPN-ID (16 bits) is
  carried in the header of the LDP link hello as the