Network Working Group                                              Z. Li
Internet-Draft                                                   Q. Zhao
Intended status: Informational                       Huawei Technologies
Expires: January 12, 2014                                        T. Yang
                                                            China Mobile
                                                           July 11, 2013


                    A Framework of MPLS Global Label
                draft-li-mpls-global-label-framework-00

Abstract

   The document defines the framework of MPLS global label including:
   representation of MPLS global label, process of control plane for
   MPLS global label, and process of data plane for MPLS global label.

Requirements Language

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in RFC 2119 [RFC2119].

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on January 12, 2014.

Copyright Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of



Li, et al.              Expires January 12, 2014                [Page 1]


Internet-Draft      A Framework of MPLS Global Label           July 2013


   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Representation of MPLS Global Label . . . . . . . . . . . . .   3
     3.1.  Option A  -- Traditional MPLS Label . . . . . . . . . . .   3
     3.2.  Option B -- Expansions of MPLS Label  . . . . . . . . . .   4
   4.  Control Plane . . . . . . . . . . . . . . . . . . . . . . . .   4
     4.1.  Overview  . . . . . . . . . . . . . . . . . . . . . . . .   4
       4.1.1.  Shared MPLS Global Label Range Calculation  . . . . .   4
       4.1.2.  MPLS Global Label Allocation  . . . . . . . . . . . .   5
       4.1.3.  MPLS Global Label Withdraw  . . . . . . . . . . . . .   5
       4.1.4.  Error Process . . . . . . . . . . . . . . . . . . . .   6
       4.1.5.  Redundancy  . . . . . . . . . . . . . . . . . . . . .   6
     4.2.  BGP-Based Control Plane . . . . . . . . . . . . . . . . .   6
     4.3.  IGP-Based Control Plane . . . . . . . . . . . . . . . . .   7
     4.4.  PCE-Based Control Plane . . . . . . . . . . . . . . . . .   8
   5.  Data Plane  . . . . . . . . . . . . . . . . . . . . . . . . .   9
   6.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   9
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  10
   8.  Normative References  . . . . . . . . . . . . . . . . . . . .  10
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  10

1.  Introduction

   [I-D.li-mpls-global-label-usecases]proposes possible usecases of MPLS
   global label.  MPLS global label can be used for identification of
   the location, the service and the network in different application
   scenarios.  The new solutions based on MPLS global label can gain
   advantage over the existing solutions to facilitate service
   provisions.

   This document defines the framework for MPLS global label.  The
   framework includes the representation of MPLS global label, the
   process of control plane and data plane for MPLS global label.









Li, et al.              Expires January 12, 2014                [Page 2]


Internet-Draft      A Framework of MPLS Global Label           July 2013


2.  Terminology

   BDR: Backup Designated Router

   DR: Designated Router

   FEC: Forward Equivalence Class

   MVPN: Multicast VPN

   NBMA: Non-broadcast multi-access

   PCE: Path Computation Element

   PCC: Path Computation Client

   RR: Route Reflector

3.  Representation of MPLS Global Label

3.1.  Option A -- Traditional MPLS Label

   Current MPLS label uses 20 bits to represent the label range from 0
   to 2^20 - 1.  Since the existing MPLS label forwarding mechanism has
   been widely deployed, it is difficult to adopt following possible
   ways to represent MPLS global label:

   1.  Specific label in the existing label range to represent MPLS
   global label.  Since a specific MPLS global label should be
   understood by all nodes for the same meaning, it is hard for all
   nodes to allocate a specific label value for the same usage.  For
   example, a specific label value may be allocated for MPLS global
   label while the same label value may be allocated for MPLS LDP for
   MPLS local label.  Thus, the inconsistency for the specific label
   value will happen.

   2.  Reserve a segment of existing MPLS label range for MPLS global
   label and the MPLS global label is allocated concentratedly.  This is
   also hard to implement owing to following reasons:

   1) The label capability of network nodes are different.  It is hard
   to get a shared label segment of all nodes for the usage of MPLS
   global label.

   2) Even if the label capability of all network nodes can be collected
   and the shared label segment can be calculated, once new nodes are
   introduced into the network, the shared label segment reserved for
   MPLS global label maybe has to calculate again according to the new



Li, et al.              Expires January 12, 2014                [Page 3]


Internet-Draft      A Framework of MPLS Global Label           July 2013


   label capability introduced.  The worst case is that the new shared
   label segment can not be available and it will do harm to the
   existing deployed services based on MPLS global label.

3.2.  Option B -- Expansions of MPLS Label

   It is a reasonable way to define a new label range or segment for
   MPLS global label which is independent from the existing MPLS label
   range.  [I-D.li-mpls-mega-label] defines the label stacking mechanism
   to expand the MPLS label range.  The mechanism can be used to define
   a new label range for MPLS global label.

   The MPLS global label can be represented as the following figure.
   The global label value is achieved by adding the actual base label
   value indicated by the base label and the remainder label value.

   0                                     32                                   64
   +-------------------+----+-+---------+-------------------+----+-+---------+
   |    Base    Label  | TC |S|   TTL   |  Remainder Label  | TC |S|   TTL   |
   +-------------------+----+-+---------+-------------------+----+-+---------+

                 Figure 1 Representation of MPLS Global Label


   [I-D.li-mpls-mega-label] specifies that the base label can be any
   value range from 0 to 2^20 -1 (excluding the special labels which
   have been reserved).  But for MPLS global label, it is better to
   define a new special label which is in the range from 0 to 15.  Thus
   all nodes can understand it for the same meaning.  Otherwise, if a
   label value in the range from 16 to 2^20 -1 is used for the base
   label of the global label, it is necessary to get all network nodes
   to reserve the specific label value.  It has the same issues as those
   described in Section 3.1 such as difficulty in reservation,
   recalculation when new nodes are introduced, etc.

4.  Control Plane

4.1.  Overview

   MPLS global label should be allocated concentratedly to guarantee all
   nodes can understand the same meaning for a specific global label.
   It should adopt a server/client model in the control plane for MPLS
   global label allocation.  The procedures for the global label are
   described as follows.

4.1.1.  Shared MPLS Global Label Range Calculation





Li, et al.              Expires January 12, 2014                [Page 4]


Internet-Draft      A Framework of MPLS Global Label           July 2013


   1.  Clients nodes should report MPLS global label capability to the
   centralized controller.  Since the label range for MPLS global label
   is newly defined, it is MANDATORY for each client node to support a
   least range of labels for the usage of MPLS global label.  This is to
   guarantee that a shared global label segment can be derived for all
   nodes.

   2.  The centralized controller collects MPLS global label capability
   and MPLS global label range of all nodes.  Then it can calculate the
   shared MPLS global label range for all nodes.

   3.  The centralized controller should notify the shared global label
   range to all client nodes.

4.1.2.  MPLS Global Label Allocation

   1.  The client node should send the global label request for specific
   usage to the centralized controller.  FEC(Forward Equivalence Class)
   should be incorporated in the MPLS global label request message.

   2.  When the centralized controllers receives the MPLS global label
   request, it should allocate the label from the shared MPLS global
   label segment of all nodes.

   3.  The centralized controller sends the MPLS global label mapping
   message to all client nodes.  Thus the MPLS global label for specific
   usage can be understood by all client nodes.

   4.  The client node receives the MPLS global label mapping message
   and installs the corresponding MPLS forwarding entry for the global
   label.

4.1.2.1.  Process of Duplicate MPLS Global Label Request

   Since MPLS global label is used for specific usage globally, it is
   possible that multiple MPLS global label requests for the same usage
   are sent by different client nodes to the centralized controller.
   The controller needs to count the MPLS global label requests for the
   same usage.  It can send multiple global label mapping messages to
   respond these requests.  It can also send only one copy of the global
   label mapping message to all nodes in order to reduce the unnecessary
   protocol operation.  If the controller sends multiple copies of the
   global label mapping message to respond each label request, client
   nodes need to ignore the subsequent messages.

4.1.3.  MPLS Global Label Withdraw

   TBD.



Li, et al.              Expires January 12, 2014                [Page 5]


Internet-Draft      A Framework of MPLS Global Label           July 2013


4.1.4.  Error Process

   TBD.

4.1.5.  Redundancy

   Since MPLS global label is allocated concentratedly, it is important
   to guarantee the high availability of the centralized controller.
   Redundant backup needs to be introduced for the high availability.
   The backup centralized controller needs to learn global label
   requests sent by client nodes and corresponding label mapping sent by
   the primary centralized controller.  The backup centralized
   controller will not send any global label mapping to client nodes
   until failure happens for the primary centralized controller.

   The primary role and the backup role of the centralized controllers
   can be specified administratively.  They can also be elected
   dynamically based on auto-discovery of these controllers.

   The failure detection mechanism also needs to be introduced between
   the primary controller and the backup controller.  It can be the
   keepalive-like mechanism, the fast detection mechanism like BFD, or
   mixing use of both mechanisms.

4.2.  BGP-Based Control Plane

                            +---------------+
                            |   IP/MPLS     |
                            |   Network     |
          +----+     +----+ |               | +----+     +----+
          | CE1|-----|    | |               | |    |-----| CE2|
          +----+\    | PE1|\|    +---- +    |/| PE3|     +----+
                 \   +----+ \____|     |    / +----+
                  \              | RR+ |___/|
                   \ +----+ /----|     |    |
                    \|    |/|    +-----+    |
                     | PE2| |               |
                     +----+ |               |
                            +---------------+

                 Figure 2: BGP-based Control Plane


   Many types of services such as VPLS[RFC4761], Multicast VPN[RFC6514]
   and E-VPN[I-D.ietf-l2vpn-evpn] are based on MP-BGP.  If new solutions
   based on MPLS global label are introduced for such services, the
   architecture shown in the figure 2 can be applied.




Li, et al.              Expires January 12, 2014                [Page 6]


Internet-Draft      A Framework of MPLS Global Label           July 2013


   In the BGP-based control plane, Route Reflector (RR) of BGP
   [RFC4456]can act as the role of the centralized controller.  We call
   this type of RR as RR+. For VPLS, Multicast VPN and E-VPN services,
   auto-discovery mechanisms based on MP-BGP are introduced.  So the RR+
   can learn the necessary membership information through these A-D
   routes.  RR+ can also learn the MPLS label capability information
   through necessary MP-BGP extensions.  When MPLS global label is
   necessary, the BGP client on the PE node can send label request to
   RR+ and the label mapping for the allocated MPLS global label will be
   advertised to all PEs.  Thus all PEs can learn the binding between
   the service and the MPLS global and the forwarding entry for the MPLS
   global label can be installed accordingly.

4.3.  IGP-Based Control Plane

   +------------------------------+    +------------------------------+
   |          IGP AREA 1          |    |          IGP AREA 2          |
   |          +--------+          |    |          +--------+          |
   |          |        |          |    |          |        |          |
   |          |  DR+   |--------------------------|  DR+   |          |
   |          |        |          |    |          |        |          |
   |          |        |          |    |          |        |          |
   |          +--------+          |    |          +--------+          |
   |         /          \         |    |         /          \         |
   |        /            \        |    |        /            \        |
   |       /              \       |    |       /              \       |
   | +--------+        +--------+ |    | +--------+        +--------+ |
   | | NODE 1 |        | NODE n | |    | | NODE 1 |        | NODE n | |
   | |        | ...... |        | |    | |        | ...... |        | |
   | |  IGP   |        |  IGP   | |    | |  IGP   |        |  IGP   | |
   | | CLIENT |        | CLIENT | |    | | CLIENT |        | CLIENT | |
   | +--------+        +--------+ |    | +--------+        +--------+ |
   |                              |    |                              |
   +------------------------------+    +------------------------------+

                 Figure 3: IGP-based Control Plane


   If the internal nodes of the network support MPLS global label, IGP-
   based control plane can be introduced.  IGP has ever introduced the
   DR(Designated Router) and BDR(Backup Designated Router) concepts for
   broadcast and NBMA network([RFC2328]).  The Designated Router is
   elected in the broadcast or NBMA network to act as a centralized
   control point to advertise adjacencies among DR and DR others.  In
   the IGP-base control plane for MPLS global label, we can adopt the DR
   concept which can act as the centralized controller for the MPLS
   global label.  We called this type of DR ad DR+. The DR+ can collect
   the MPLS global label capability of all client nodes.  If MPLS global



Li, et al.              Expires January 12, 2014                [Page 7]


Internet-Draft      A Framework of MPLS Global Label           July 2013


   label is necessary for specific usage, the MPLS global label will be
   allocated by the DR+ and the corresponding label mapping can be
   advertised to all network nodes through IGP extensions.  Thus all
   network nodes in the IGP area can learn the label binding between the
   specific usage and the MPLS global label and the forwarding entry for
   the MPLS global label can be installed accordingly.

   MPLS global label binding information should be always advertised in
   a specific IGP area.  There may be multiple IGP areas and nodes in
   other IGP areas may be necessary to learn the MPLS global label
   information.  There are two possible solutions:

   1.  The global label information can be advertised by IGP to span
   multiple areas.  It is like leaking the information from the native
   area to other areas.

   2.  There can exist direct connections between IGP DR+. The MPLS
   global label information can be advertised from the native IGP DR+ to
   the other IGP DR+ using possible protocol extensions other than
   IGP(e.g. PCEP extensions or BGP extensions).  The other IGP DR+ can
   learn the MPLS global label information and advertise it in its own
   area through IGP extensions.

4.4.  PCE-Based Control Plane

   +------------------------------+    +------------------------------+
   |         PCE DOMAIN 1         |    |         PCE DOMAIN 2         |
   |          +--------+          |    |          +--------+          |
   |          |        |          |    |          |        |          |
   |          |  PCE   |--------------------------|  PCE   |          |
   |          | Server |          |    |          | Server |          |
   |          |        |          |    |          |        |          |
   |          +--------+          |    |          +--------+          |
   |         /          \         |    |         /          \         |
   |        /            \        |    |        /            \        |
   |       /              \       |    |       /              \       |
   | +--------+        +--------+ |    | +--------+        +--------+ |
   | | NODE 1 |        | NODE n | |    | | NODE 1 |        | NODE n | |
   | |        | ...... |        | |    | |        | ...... |        | |
   | |  PCC   |        |  PCC   | |    | |  PCC   |        |  PCC   | |
   | |        |        |        | |    | |        |        |        | |
   | +--------+        +--------+ |    | +--------+        +--------+ |
   |                              |    |                              |
   +------------------------------+    +------------------------------+

                   Figure 4: PCE-based Control Plane





Li, et al.              Expires January 12, 2014                [Page 8]


Internet-Draft      A Framework of MPLS Global Label           July 2013


   PCE[RFC4655] is another choice to implement the control plane for
   MPLS global label.  The PCE servers can act as the role of the
   centralized controller and the PCC can act the role of the client for
   process of MPLS global label.  PCE servers can collect the MPLS
   global label capability of all nodes through PCEP extensions.  If
   MPLS global label is necessary for specific usage, the label request
   can be sent from PCC to PCE server.  MPLS global label will be
   allocated by the PCE server and the corresponding label mapping will
   be advertised to all network nodes through PCEP extensions.  Thus all
   network nodes in the domain can learn the label binding between the
   specific usage and the MPLS global label and the forwarding entry for
   the MPLS global label can be installed accordingly.

   If MPLS global label information needs to be advertised in different
   domain, it can be advertised from the native PCE server to other PCE
   servers through PECP extensions.  Then other PCE servers can
   advertise the MPLS global information to PCC through PCEP in its own
   domain.

5.  Data Plane

   According to Section 3, MPLS global label can be represented by label
   stacking.  When encapsulate MPLS global label, the remainder label
   for the MPLS global label should be encapsulated firstly.  Then the
   base label for the MPLS global label should be encapsulated in a row.
   The TTL, COS and S values should be the same in the base label
   encapsulation and the remainder label encapsulation.

   When receive the packet with MPLS global label encapsulation, the
   base label should be decapsulated firstly.  The actual base label
   value indicated by the base label will be derived.  Then the
   remainder label should be decapsulated.  The actual MPLS global label
   value can be acquired by adding the actual base label value and the
   remainder label value.  The TTL, COS and S value in the base label
   encapsulation and the remainder label encapsulation for the MPLS
   global label should be the same.  If there exists inconsistency, the
   TTL, COS and S value in the remainder label encapsulation should be
   adopted for MPLS forwarding.

   Since MPLS global label can be used for different usages, the process
   of the data plane may be related with the specific usage of the MPLS
   global label.  These processes are out of scope of this document and
   should be defined combining with the specific usage.

6.  IANA Considerations

   This document makes no request of IANA.




Li, et al.              Expires January 12, 2014                [Page 9]


Internet-Draft      A Framework of MPLS Global Label           July 2013


7.  Security Considerations

   TBD.

8.  Normative References

   [I-D.ietf-l2vpn-evpn]
              Sajassi, A., Aggarwal, R., Henderickx, W., Balus, F.,
              Isaac, A., and J. Uttaro, "BGP MPLS Based Ethernet VPN",
              draft-ietf-l2vpn-evpn-03 (work in progress), February
              2013.

   [I-D.li-mpls-global-label-usecases]
              Li, Z., Zhao, Q., and T. Yang, "Usecases of MPLS Global
              Label", draft-li-mpls-global-label-usecases-00 (work in
              progress), July 2013.

   [I-D.li-mpls-mega-label]
              Li, Z. and L. Zheng, "Mega Label - Expansion of MPLS Label
              Range", draft-li-mpls-mega-label-00 (work in progress),
              July 2013.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2328]  Moy, J., "OSPF Version 2", STD 54, RFC 2328, April 1998.

   [RFC4456]  Bates, T., Chen, E., and R. Chandra, "BGP Route
              Reflection: An Alternative to Full Mesh Internal BGP
              (IBGP)", RFC 4456, April 2006.

   [RFC4655]  Farrel, A., Vasseur, J., and J. Ash, "A Path Computation
              Element (PCE)-Based Architecture", RFC 4655, August 2006.

   [RFC4761]  Kompella, K. and Y. Rekhter, "Virtual Private LAN Service
              (VPLS) Using BGP for Auto-Discovery and Signaling", RFC
              4761, January 2007.

   [RFC6514]  Aggarwal, R., Rosen, E., Morin, T., and Y. Rekhter, "BGP
              Encodings and Procedures for Multicast in MPLS/BGP IP
              VPNs", RFC 6514, February 2012.

Authors' Addresses








Li, et al.              Expires January 12, 2014               [Page 10]


Internet-Draft      A Framework of MPLS Global Label           July 2013


   Zhenbin Li
   Huawei Technologies
   Huawei Bld., No.156 Beiqing Rd.
   Beijing  100095
   China

   Email: lizhenbin@huawei.com


   Quintin Zhao
   Huawei Technologies
   125 Nagog Technology Park
   Acton, MA  01719
   US

   Email: quintin.zhao@huawei.com


   Tianle Yang
   China Mobile
   32, Xuanwumenxi Ave.
   Beijing  01719
   China

   Email: yangtianle@chinamobile.com


























Li, et al.              Expires January 12, 2014               [Page 11]