INTERNET-DRAFT Luyuan Fang Intended Status: Standards Track Microsoft Expires: January 7, 2016 Fabio Chiussi Cisco Systems Barak Gafni Mellanox July 6, 2015 MPLS Label Forwarding with No Swapping draft-fang-mpls-label-forwarding-no-swap-00 Abstract This document defines MPLS label forwarding operation with no label swapping as a new MPLS label operation extension to the existing basic forwarding operation of label push, pop, and swap. Status of this Memo This Internet-Draft is submitted to IETF in full conformance with the provisions of BCP 78 and BCP 79. 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/1id-abstracts.html The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Copyright and License Notice Copyright (c) 2015 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 Fang et al. Expires [Page 1] INTERNET DRAFT MPLS Label Forwarding with No Swapping July 6, 2015 (http://trustee.ietf.org/license-info) in effect on the date of 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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Background . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Use Cases . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. Label Forwarding . . . . . . . . . . . . . . . . . . . . . . . 5 4. Security Considerations . . . . . . . . . . . . . . . . . . . 6 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 6. References . . . . . . . . . . . . . . . . . . . . . . . . . . 6 6.1 Normative References . . . . . . . . . . . . . . . . . . . 6 6.2 Informative References . . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 7 Fang et al. Expires [Page 2] INTERNET DRAFT MPLS Label Forwarding with No Swapping July 6, 2015 1. Introduction MPLS forwarding operation as defined in [RFC3031] has three basic actions for the labels at the network nodes: push, swap, and pop. This document describes an additional operation action: label forwarding, referred to as NO SWAP. Currently, using the same label as both incoming and outgoing label is typically achieved by "swapping" the incoming label with an identical outgoing label. In order to improve processing efficiency and memory usage reduction, a simple label forwarding operation with no swap is desirable. 1.1. Background When MPLS Architecture [RFC3031] was defined, the three types of label operation were sufficient. Label swap operation is performed at a Label Switched Router (LSR) which is not an MPLS edge node, while label push and pop can be performed at an MPLS edge node for label imposition and deposition. Penultimate hop popping can also be performed at the penultimate hop for improved efficiency when appropriate. Since the labels are assigned independently in distributed fashion in a non-traffic engineered basic MPLS networks, it is not possible nor necessary to coordinate the label assignment. Therefore, the label swapping function is sufficient and effective for LSR. With the increased interests and large scale development of Software- Defined Networking (SDN), central controller assigned MPLS label become one of the option for MPLS based forwarding. A coordinated label assignment can be performed by central controller. Use a single label to traverse multiple hops along the Label Switched Path (LSP) become desirable, therefore the needs to extend the label operation with one more action type - forwarding (without swapping). The performance and memory efficiency can be increased by performing simple forwarding function than swapping the labels with the identical identifier. This is an optimization requirement, it does not change the fundamentals of MPLS architecture and label encoding as defined by [RFC3031] [RFC3032]. 1.2. Use Cases Hierarchical SDN (HSDN), [I-D.fang-mpls-hsdn-for-hsdc], [HSDNSOSR15] is an architectural solution that achieves hyper scale for Cloud networks using very small forwarding tables in the network nodes. HSDN introduces a new paradigm for the forwarding and control planes - all viable paths in the network are pre-established in the forwarding tables and the labels identify entire paths rather than Fang et al. Expires [Page 3] INTERNET DRAFT MPLS Label Forwarding with No Swapping July 6, 2015 simply destinations. These properties of HSDN dramatically simplify establishing tunnels, and thus enable optimal handling of both ECMP and any-to-any end-to-end traffic engineering, which in turn yields extremely high network utilization with small buffers in the switches. The pre-established tunnels make HSDN the ideal underlay infrastructure to enable seamless and lossless VM and VNF overlay mobility, and achieve excellent elasticity. HSDN brings important simplifications in the control plane and in the architecture of the SDN controller. The HSDN forwarding architecture in the underlay network is based on four main concepts: 1. Dividing the DC and DCI in a hierarchically- partitioned structure; 2. Assigning groups of Underlay Border Nodes in charge of forwarding within each partition; 3. Constructing HSDN MPLS label stacks to identify the end points according to the HSDN structure; and 4. Forwarding using the HSDN MPLS labels. Label in HSDN is designed to identify the path and destination, the intermediate nodes (non partition border nodes) simply forms the label forwarding with the same incoming and outgoing label. Swapping the label with the same ID can work, but simple label forwarding without swapping performed by hardware can be more efficient as optimization. In addition to HSDN, there are other source routed label forwarding solutions may benefit from the label forwarding operation as well. 2. Terminology 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]. o Incoming Label Map (ILM): It maps each incoming label to a set of NHLFEs. It is used when forwarding packets that arrive as labeled packets. o Label forward: The extended label forwarding operation without label swap, consisting of looking up an incoming label to determine the outgoing port, and other data handling information. o Label forwarding: A simple forwarding paradigm allowing streamlined forwarding of data by using labels to identify classes of data packets which are treated indistinguishably when forwarding without label swapping. Fang et al. Expires [Page 4] INTERNET DRAFT MPLS Label Forwarding with No Swapping July 6, 2015 o Label swap: The basic existing forwarding operation consisting of looking up an incoming label to determine the outgoing label encapsulation, port, and other data handling information. o Label swapping: A forwarding paradigm allowing streamlined forwarding of data by using labels to identify classes of data packets which are treated indistinguishably when forwarding. o Label Switched Path (LSP): The path through one or more LSRs at one level of the hierarchy followed by a packets in a particular forwarding equivalence class (FEC). o Label Switching Router (LSR): An MPLS node which is capable of forwarding native L3 packets. o MPLS edge node: An MPLS node that connects an MPLS domain with a node which is outside of the domain, either because it does not run MPLS, and/or because it is in a different domain. Note that if an LSR has a neighboring host which is not running MPLS, that that LSR is an MPLS edge node. o NHLFE: Next Hop Label Forwarding Entry o Software-Defined Networking (SDN): an architecture that decouples the network control and forwarding functions to enable the network control to be directly programmable and the underlying infrastructure to be abstracted for applications and network services. 3. Label Forwarding Label forwarding is the use of the following procedures to forward a packet. Same as in [RFC3031], in order to forward a labeled packet, a LSR examines the label at the top of the label stack. It uses the ILM to map this label to an NHLFE. Using the information in the NHLFE, it determines where to forward the packet, and performs an operation on the packet's label stack. Unlike in label swapping, label forwarding does not remove the incoming label and encodes the new label stack into the packet as in label swapping, it forwards the packet with the same label stack as the incoming stack, to the outgoing interface. Other processing may be involved in selecting the outgoing interface, for example, load balancing through IP deader hashing or use of Entropy label [RFC6790]. Fang et al. Expires [Page 5] INTERNET DRAFT MPLS Label Forwarding with No Swapping July 6, 2015 4. Security Considerations The MPLS label forwarding operation specified herein does not raise any security issues that are not already present in either the MPLS architecture [RFC3031] or in MPLS label encoding [RFC3032]. In addition, general MPLS and GMPLS considerations and MPLS security defense techniques are documented in [RFC5920]. 5. IANA Considerations None. 6. References 6.1 Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC3031] Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol Label Switching Architecture", RFC 3031, January 2001. [RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack Encoding", RFC 3032, January 2001. [RFC6790] Kompella, K., et.al, "The Use of Entropy Labels in MPLS Forwarding", November 2012. 6.2 Informative References [RFC5920] Fang, L., Ed., "Security Framework for MPLS and GMPLS Networks", RFC 5920, July 2010. [I-D.fang-mpls-hsdn-for-hsdc] L. Fang, et. al., "MPLS-Based Hierarchical SDN for Hyper-Scale DC/Cloud", draft-fang- mpls-hsdn-for-hsdc-03 (work in progress), July 2015. [HSDNSOSR15] L. Fang et al., "Hierarchical SDN for the Hyper-Scale, Hyper-Elastic Data Center and Cloud", SOSR '15 Proceedings of the 1st ACM SIGCOMM Symposium on Software Defined Networking Research. Article No. 7. June 2015. ISBN: 978- 1-4503-3451-8. URL: http://dl.acm.org/citation.cfm?id=2775009 Fang et al. Expires [Page 6] INTERNET DRAFT MPLS Label Forwarding with No Swapping July 6, 2015 Authors' Addresses Luyuan Fang Microsoft 5600 148th Ave NE Redmond, WA 98052 Email: lufang@microsoft.com Fabio Chiussi Cisco Systems 500 108th Avenue N.E., Suite 500 Bellevue, WA 98004 Email: fchiussi@cisco.com Barak Gafni Mellanox 6 Habarzel St. Tel Aviv, Israel Email: gbarak@mellanox.com Fang et al. Expires [Page 7]