MPLS Working Group R. Li
Internet-Draft M. Li
Intended status: Standards Track Huawei Technologies
Expires: January 02, 2014 July 01, 2013

Encoding of Big Labels in MPLS Label Stacks
draft-renwei-mpls-big-label-00.txt

Abstract

This document specifies encoding and encapsulation methods for MPLS big labels. Big labels are required for accessing virtual networks in data centers by using, for example, BGP/MPLS IP VPNs. Data center virtualization encapsulation methods and protocols such as VXLAN, NVGRE and NVO3 are being standardized to support a few millions of virtual networks, but the currently label format can support up to one million of labels. When the BGP/MPLS IP VPN method, for example, is used by an enterprise/customer to access its corresponding virtual networks, more than one million of labels are required to map VPN labels and Virtual Network Identifiers.

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 02, 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 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.

This document may contain material from IETF Documents or IETF Contributions published or made publicly available before November 10, 2008. The person(s) controlling the copyright in some of this material may not have granted the IETF Trust the right to allow modifications of such material outside the IETF Standards Process. Without obtaining an adequate license from the person(s) controlling the copyright in such materials, this document may not be modified outside the IETF Standards Process, and derivative works of it may not be created outside the IETF Standards Process, except to format it for publication as an RFC or to translate it into languages other than English.


Table of Contents

1. Introduction

Network virtualization and server virtualization are being designed and deployed in data center networks, and new data encapsulation methods and protocols are being defined and specified, for example, VXLAN, NVGRE and NVO3. The general idea is to add a new virtual network header so that a physical network can be used to support millions (16M) of virtualized overlaid networks. Network overlay virtualization has placed a new requirement on the access method to such huge number of virtulized networks.

BGP/MPLS IP VPNs, as specified in RFC 2547 and RFC 4364, provide a market-proven technology and solution for end-to-end IP VPNs. In BGP/MPLS IP VPNs, all the customer sites are connected to the service provider networks through PE-CE link. It is desirable to extend the BGP/MPLS scheme so that customers can access their virtualized networks hosted in a data center by using BGP/MPLS IP VPNs.

In the data plane of BGP/MPLS IP VPNs, the customer VPN/VRF instances are represented by an MPLS label (VPN label) locally assgined by the PE connecting to CE. Since MPLS labels are 20 bits long, a PE can maximally support 1 million VPNs/VRFs, but the PE is required to support 16 millions of virtual networks that are being standardized in VXLAN, NVGRE and NVO3. When BGP/MPLS IP VPNs are extended to access virtualized networks in data centers, [I-D.draft-renwei-l3vpn-big-label] specifies use cases and solutions to use big labels to represent the VPN and maps them to virtual network instances.

This document specifies the label format and encoding methods of big labels in the MPLS label stack of [RFC 3032].

1.1. Requirement 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].

1.2. Terminology

The following terms are used in this document:

VXLAN

Virtual eXtensible Local Area Network
NVGRE

Network Virtualization using GRE
NVO3

Network Virtualization Overlay over Layer 3
PE

Provider Edge, the provider edge router connected to CE.
CE

Customer Edge, the customer edge router connected to PE

2. Motivations

In [I-D.draft-renwei-l3vpn-big-label], several use cases are described so that an enterprise/customer can use provider-provided BGP/MPLS IP VPN to access its corresponding virtual network hosted in a data center.

The virtual network may be provided by VXLAN, NVGRE or NVO3. In all such network virtualization frameworks, 16 millions of virtual networks may be supported. This implies that up to 16 millions of enterprises/customers can have their own data centers hosted by data center service providers. On the other hand, BGP/MPLS IP VPNs have been used widely by the service providers. This imposes a new requirement of using BGP/MPLS IP VPN protocols and solutions to access the virtual networks in data centers. One problem and obstacle of using BGP/MPLS IP VPN to access virtual networks is that there are not enough labels to do one-one mapping between VPN label space and virtual network identification space.

3. Review of MPLS Label Stack


 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Label
|                Label                  | Exp |S|       TTL     | Stack
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Entry

                    Label:  Label Value, 20 bits
                    Exp:    Experimental Use or for QoS, 3 bits.
                    S:      Bottom of Stack, 1 bit
                    TTL:    Time to Live, 8 bits

The label stack is represented as a sequence of "label stack entries". Each label stack entry is represented by 4 octets as follows:

For BGP/MPLS IP VPN, the VPN labels share the same format as all other common MPLS labels as defined as in the above figure.

4. Big Labels

A PE device uses VPN labels to find the associated VRFs for VPN packet forwarding. Since there are potentially 16 millions of virtual networks, 20 bits label are not sufficient; we need to specify a new type of labels: big labels. A big label is an extension to the MPLS label format of RFC 3032 so that the label space is bigger than the 20-bit space with the minimal space being 16 millions of labels.

There are several options to define big labels. One option is to totally re-define the label format; A second option is to extend the length of label entry; A third option is, for the sake of backward compatibility, to add a new field to the common label entry specified in RFC 3032.


 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Big Label Indicator        | Exp |S|       TTL     |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|            Big Label Value                                    |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                    Exp:    Experimental Use or for QoS, 3 bits
                    S:      Bottom of Stack, 1 bit
                    TTL:    Time to Live, 8 bits


The exact format of the third option is defined as follows:

When an MPLS LSR receivs an MPLS packet, it reads out the MPLS label. If the MPLS label is a Big Label Indicator, it will use the subsequent 32-bit value as the MPLS label for the forwarding purpose.

All the EXP, S and TTL are also applicable to the Big Label Value as follows:

5. IANA Considerations

This draft will request IANA to assign a reserved label for Big Label Indicator.

6. Security Considerations

This draft does not add any additional security implications to the BGP/MPLS IP VPNs. All existing authentication and security mechanisms for BGP and MPLS still apply.

7. References

7.1. Normative References

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2547] Rosen, E. and Y. Rekhter, "BGP/MPLS VPNs", RFC 2547, March 1999.
[RFC3107] Rekhter, Y. and E. Rosen, "Carrying Label Information in BGP-4", RFC 3107, May 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.

7.2. Informative References

[I-D.mahalingam-dutt-dcops-vxlan] Mahalingam, M., Dutt, D., Duda, K., Agarwal, P., Kreeger, L., Sridhar, T., Bursell, M. and C. Wright, "VXLAN: A Framework for Overlaying Virtualized Layer 2 Networks over Layer 3 Networks", Internet-Draft draft-mahalingam-dutt-dcops-vxlan-03, February 2013.
[I-D.sridharan-virtualization-nvgre] Sridharan, M., Greenberg, A., Venkataramaiah, N., Wang, Y., Duda, K., Ganga, I., Lin, G., Pearson, M., Thaler, P. and C. Tumuluri, "NVGRE: Network Virtualization using Generic Routing Encapsulation", Internet-Draft draft-sridharan-virtualization-nvgre-02, February 2013.

Authors' Addresses

Renwei Li Huawei Technologies 2330 Central Expressway Santa Clara, CA 95050 USA EMail: renwei.li@huawei.com
Ming Li Huawei Technologies 2330 Central Expressway Santa Clara, CA 95050 USA EMail: mli@huawei.com