One document matched: draft-renwei-l3vpn-big-label-00.xml
<?xml version="1.0" encoding="US-ASCII"?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd">
<?rfc toc="yes"?>
<?rfc tocompact="yes"?>
<?rfc tocdepth="3"?>
<?rfc tocindent="yes"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="no"?>
<?rfc comments="no"?>
<?rfc inline="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc category="std"
docName="draft-renwei-l3vpn-big-label-00.txt"
ipr="pre5378Trust200902">
<front>
<title abbrev="Big Labels for L3VPN">
The Use of Big Labels for BGP/MPLS IP VPN</title>
<author fullname="Renwei Li" initials="R." surname="Li">
<organization>Huawei Technologies</organization>
<address>
<postal>
<street>2330 Central Expressway</street>
<city>Santa Clara</city>
<region>CA</region>
<code>95050</code>
<country>USA</country>
</postal>
<email>renwei.li@huawei.com</email>
</address>
</author>
<author fullname="Katherine Zhao" initials="K" surname="Zhao">
<organization>Huawei Technologies</organization>
<address>
<postal>
<street>2330 Central Expressway</street>
<city>Santa Clara</city>
<region>CA</region>
<code>95050</code>
<country>USA</country>
</postal>
<email>katherine.zhao@huawei.com</email>
</address>
</author>
<author fullname="Walter Wu" initials="W" surname="Wu">
<organization>Huawei Technologies</organization>
<address>
<postal>
<street>2330 Central Expressway</street>
<city>Santa Clara</city>
<region>CA</region>
<code>95050</code>
<country>USA</country>
</postal>
<email>walter.wu@huawei.com</email>
</address>
</author>
<date year="2013"/>
<area>Routing</area>
<workgroup>L3VPN Working Group</workgroup>
<abstract>
<t>
This document describes big labels in L3VPN.
</t>
</abstract>
</front>
<middle>
<section title="Introduction">
<t>
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 have placed a new requirement on the access
method to such virtualized overlaid networks.
</t>
<t>
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.
</t>
<t>
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, which are not sufficient 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, we will have to provide a solution
on how to associate a customer to a virtual network. This document will describe
some use cases and specify
a solution to this problem.
</t>
<section title="Requirement Language">
<t>
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].
</t>
</section>
<section title="Terminology">
<t>The following terms are used in this document:
<figure>
<artwork>
VXLAN - Virtual eXtensible Local Area Network
NVGRE - Network Virtualization using Generic Routing Encapsulation
NVO3 - Network Virtualization Over layer 3
BGP - Border Gateway Protocol
MPLS - Multiprotocol Label Switching
VPN - Virtual private network
PE - Provider Edge
CE - Customer Edge
VRF - Virtual Routing and Forwarding
NVE - Network Virtualization Edge
VTEP - VXLAN Tunnel End Point
VNI - VXLAN Network Identifier (VXLAN)
VSID -Virtual Subnet ID (NVGRE)
VNID - Virtual Network ID (NVO3)
VM - Virtual Machine
TS - Tenant System
VLAN - Virtual Local Area Network
</artwork>
</figure>
</t>
</section>
</section>
<section title = "Use Cases and Scenarios">
<t>
In BGP/MPLS IP VPN reference models, at each site there are one or more Customer Edge (CE) devices,
each of which is attached to one or more Provider Edge (PE) routers via some
sort of attachment circuit such as PPP, Ethernet/VLAN, etc.
</t>
<t>
When the BGP/MPLS IP VPNs reference model is extended to connect to a virtual
network, the Customer Edge (CE) devices and Provider Edge (PE) devices on
the data center site can be physically the same device: it will be both the PE
device with respect to the VPN model and the NVE device with respect to the
network virtualization, as illustrated in the following diagram
</t>
<t>
<figure>
<artwork>
-----------+ +----------------+ +----------------
| | | |
+---+--+ +------+ +-------+--+
| CE |----| PE | MPLS | PE-NVE | Data center
Site 1 |device| |device| network | device | virtualized
+---+--+ +------+ +-------+--+ network
| | | |
-----------+ +----------------+ +----------------
</artwork>
</figure>
</t>
<t>
In addition to the VPN PE functionalities of RFC 4364, PE-NVE will also perform
the functionalities of network overlay virtualization. In what follows we describe
three use cases for VXLAN, NVGRE, and NVO3, respectively.
</t>
<section title = "VXLAN">
<t>
In this use case, the VXLAN protocol of [I-D.mahalingam-dutt-dcops-vxlan] is
used for network overlay virtualiztion.
</t>
<t>
<figure>
<artwork>
..................................
. .
. +------------+ .
. |+----+ +---+| .
. || | |VM || .
. /+| | +---+| .
. / ||VTEP| +---+| .
-----+ +----------------+ . +------------+ || | |VM || .
| | | . | | |+----+ +---+| .
+---+--+ +------+ +---+---+--+ VXLAN | | Server | .
| CE |---| PE | MPLS | PE-VTEP | network | +------------+ .
|device| |device| network | device | over L3 | .
+---+--+ +------+ +---+---+--+ network | +------------+ .
| / | | . | | |+----+ +---+| .
-----+ / +----------------+ . +------------+ || | |VM || .
/ . \ || | +---+| .
-----+ / . \+|VTEP| +---+| .
| / . || | |VM || .
+---+--+ . |+----+ +---+| .
| CE | . | Server | .
|device| . Data Center +------------+ .
+---+--+ ..................................
|
-----+
+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+
|LSP label| | Outer Header |
+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+
|VPN label| | VXLAN Header |
+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+
| VM IP | | Inner Header |
+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+
Packet format Packet format
out of PE device out of PE-VTEP device
to MPLS network to VXLAN network
</artwork>
</figure>
When one PC in a CE site wants to send a packet to one VM in the data center,
the outgoing packet headers of PE device and PE-VTEP device are described as above.
VPN label is mapped to VNI in VXLAN Header.
</t>
<t>
The Provider Edge device connecting to the virtual networks will perform the
following functionalities:
</t>
<t> <list style = "symbol" >
<t> VPN PE functions: (1) It uses BGP to distribute VPN routes;
(2) It maintains VRFs; (3) It uses MPLS to receive and forward packets from and
to the MPLS network.
</t>
<t>
VXLAN VTEP functions: (1) It originates and terminates VXLAN tunnels; (2)
It runs all the necessary protocols to build and tear down the VXLAN tunnels;
(3) It maintains the VXLAN tunnel forwarding states including the MAC table;
</t>
<t>
L3VPN-VXLAN Interworking Functions: It maintains the mapping information
between L3VPN label and VXLAN Network Identifier (VNI). This mapping information
is used to receive packets from the MPLS network and forward them to the VXLAN network,
and receive packets from the VXLAN network and forward them to the MPLS network
</t>
</list>
</t>
<t>
In order to correctly provide one-one mapping between VPN labels and VNI, we
need to extend the MPLS label space to have at least 16 million labels.
</t>
</section>
<section title = "NVGRE">
<t>
In this use case, the NVGRE protocol of [I-D.sridharan-virtualization-nvgre] is
used for network overlay virtualiztion.
</t>
<t>
<figure>
<artwork>
..................................
. .
. +------------+ .
. |+----+ +---+| .
. || | |VM || .
. /+| | +---+| .
. / ||NVE | +---+| .
-----+ +----------------+ . +------------+ || | |VM || .
| | | . | | |+----+ +---+| .
+---+--+ +------+ +---+---+--+ NVGRE | | Server | .
| CE |---| PE | MPLS | PE-NVE | network | +------------+ .
|device| |device| network | device | over L3 | .
+---+--+ +------+ +---+---+--+ network | +------------+ .
| / | | . | | |+----+ +---+| .
-----+ / +----------------+ . +------------+ || | |VM || .
/ . \ || | +---+| .
-----+ / . \+|NVE | +---+| .
| / . || | |VM || .
+---+--+ . |+----+ +---+| .
| CE | . | Server | .
|device| . Data Center +------------+ .
+---+--+ ..................................
|
-----+
+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+
|LSP label| | Outer Header |
+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+
|VPN label| | NVGRE Header |
+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+
| VM IP | | Inner Header |
+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+
Packet format Packet format
out of PE device out of PE-NVE device
to MPLS network to NVGRE network
</artwork>
</figure>
When one PC in a CE site wants to send a packet to one VM in the data center,
the outgoing packet headers of PE device and PE-NVE device are described as above.
VPN label is mapped to VSID in NVGRE Header.
</t>
<t>
The Provider Edge device connecting to the virtual networks will perform the
following functionalities:
</t>
<t> <list style = "symbol" >
<t> VPN PE functions: (1) It uses BGP to distribute VPN routes;
(2) It maintains VRFs; (3) It uses MPLS to receive and forward packets from and
to the MPLS network.
</t>
<t>
NVGRE Endpoint functions: It originates and terminates NVGRE packets; (2)
It maintains the NVGRE Virtual Subnet Identifier (VSID) for NVGRE
</t>
<t>
L3VPN-NVGRE Interworking Functions: It maintains the mapping information
between L3VPN label and NVGRE Virtual Subnet Identifier (VSID). This mapping information
is used to receive packets from the MPLS network and forward them to the NVGRE
virtual network,
and receive packets from the NVGRE virtual network and forward them to the MPLS network
</t>
</list>
</t>
<t>
In order to correctly provide one-one mapping between VPN labels and VSID, we
need to extend the MPLS label space to have at least 16 million labels.
</t>
</section>
<section title = "NVO3">
<t> NVO3 is an on-going effort to standardize solutions to data center virtualizaiton
with the goal of providing viable data encapsulation and protocols across a scaling
range of a few thousand VMs to several million VMs running on greater than
one hundred thousand physical servers. NVO3 considers approaches to
multi-tenancy that reside at the network layer rather than using traditional
isolation mechanisms that rely on the underlying layer 2 technology (e.g. VLANs).
</t>
<t> Based on NVO3 framework and problem statement, NVO3 will deliver 16 million
virtual networks in a physical data center. If L3VPN is used to access
the virtual networks inside the data center, we need to solve the problem
of associating MPLS labels to NVO3 VNIDs.
</t>
<t>
<figure>
<artwork>
..................................
. .
. +------------+ .
. |+----+ +---+| .
. || | |VM || .
. /+|NVE | +---+| .
. / || | +---+| .
-----+ +----------------+ . +------------+ || | |VM || .
| | | . | | |+----+ +---+| .
+---+--+ +------+ +---+---+--+ NVO3 | | Server | .
| CE |---| PE | MPLS | PE-NVE | network | +------------+ .
|device| |device| network | device | over L3 | .
+---+--+ +------+ +---+---+--+ network | +------------+ .
| / | | . | | |+----+ +---+| .
-----+ / +----------------+ . +------------+ || | |VM || .
/ . \ ||NVE | +---+| .
-----+ / . \+| | +---+| .
| / . || | |VM || .
+---+--+ . |+----+ +---+| .
| CE | . | Server | .
|device| . Data Center +------------+ .
+---+--+ ..................................
|
-----+
</artwork>
</figure>
</t>
</section>
</section>
<section title = "Big Labels">
<t>
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 minimum of
16 millions of labels.
</t>
<t>
The exact big label format is described in [I-D.draft-renwei-mpls-big-label].
One option of the big label format is as follows:
<figure>
<artwork>
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, 3 bits
S: Bottom of Stack, 1 bit
TTL: Time to Live, 8 bits
</artwork>
</figure>
The Big Label Indicator is a reserved MPLS label. The currently unassigned
reserved label
range is 4-6 and 8-12. We will temporarily use label 8 for big label indicator,
but the final value will be assigned by IANA. The Big Label Value is a 32-bit
value.
</t>
<t>
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.
</t>
</section>
<section title = "VRFs">
<t> In BGP/MPLS L3VPN models, A VRF on each PE is associated to a local attachment
circuit connected to a customer site and routing targets connected to remote
sites. When BGP/MPLS L3VPN model is extended to connect a virtulized network,
A VRF on each PE-NVE device is associated to a virtual network instance
which is
significant locally to the virtualized networks in the data center.
</t>
<t> Except for big labels being used, there are no changes to VRFs. In
particular, the operational procedure is the same as common label-based VRFs.
</t>
</section>
<section title = "VPN Route Distribution">
<t>
VPN route distribution is performed by BGP in the same way as in RFC 2547 except
that the labels associated to VRFs are "big labels". The
detailed changes to BGP protocols
are described in [I-D.draft-renwei-mpls-bgp-big-label].
</t>
</section>
<section anchor="IANA" title="IANA Considerations">
<t> The requirements on IANA are specified in other related documents
[I-D.draft-renwei-mpls-big-label] and [I-D.draft-renwei-mpls-bgp-big-label],
which request a reserved label to represent Big Label Indicator and BGP
capabilities for big labels.
</t>
</section>
<section anchor="Security" title="Security Considerations">
<t>
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.
</t>
</section>
</middle>
<back>
<references title="Normative References">
<?rfc include="reference.RFC.2119" ?>
<?rfc include="reference.RFC.2547" ?>
<?rfc include="reference.RFC.3107" ?>
</references>
<references title="Informative References">
<?rfc include="http://xml.resource.org/public/rfc/bibxml3
/reference.I-D.draft-mahalingam-dutt-dcops-vxlan-03.xml" ?>
<?rfc include="http://xml.resource.org/public/rfc/bibxml3
/reference.I-D.draft-sridharan-virtualization-nvgre-02.xml" ?>
</references>
</back>
</rfc>
| PAFTECH AB 2003-2026 | 2026-04-22 21:12:06 |