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]