Network Working Group Z. Li Internet-Draft M. Li Intended status: Informational Huawei Technologies Expires: April 24, 2014 October 21, 2013 Framework of Network Virtualization Based on MPLS Global Label draft-li-mpls-network-virtualization-framework-00 Abstract As the virtual network operators develop, it is desirable to provide better network virtualization solutions to facilitate the service provision. In the past years, MPLS plays a key role in the process of implementing network virtualization. This document introduces a new framework to implement network virtualization based on MPLS global label. It can provide the virtualized network topology, nodes and links using MPLS global label which can make up the virtual network. 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 April 24, 2014. Li & Li Expires April 24, 2014 [Page 1] Internet-Draft Framework of MPLS NV October 2013 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. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4. MPLS Virtualization of Network Topology . . . . . . . . . . . 6 5. MPLS Virtualization of Network Nodes . . . . . . . . . . . . 8 6. MPLS Virtualization of Network Links . . . . . . . . . . . . 9 7. Forwarding in Virtual Network . . . . . . . . . . . . . . . . 10 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 9. Security Considerations . . . . . . . . . . . . . . . . . . . 12 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 10.1. Normative References . . . . . . . . . . . . . . . . . . 12 10.2. Informative References . . . . . . . . . . . . . . . . . 12 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 13 1. Introduction The virtual network operators are in fast development. They can deploy possible services based on the virtual network which is provided by the underlying network. Owing to the technology limitation, the virtual network operators face following challenges: -- It is hard to get the traffic and data information of internal nodes. So it is hard to develop value-added services. -- Traditional VPN technology is just to provide a transparent pipe for virtual network operators which cannot control and manage the internal nodes. -- Traditional technologies can not implement virtualization of network nodes and links. It is hard to provide flexible virtual networks. Li & Li Expires April 24, 2014 [Page 2] Internet-Draft Framework of MPLS NV October 2013 -- It is unable to implement central control, which is hard to provide customized virtual networks based on policies and open APIs. For the virtual network operators, in order to provide better services it is necessary to get more control on the internal network nodes. Traditional VPN solutions is just to provide virtual networks on the network edge. This can not satisfy the new network virtualization requirement. On the other hand, the underlying network operators do not hope to expose much internal network details to the virtual network operators. Furthermore, it also exerts much burden on the virtual network operation and management if there is much internal network details for the virtual network operators. In order to solve the problems of existing solutions and satisfy new virtual network requirements, it is desirable to provide a central controlled network virtualization solution which can provide flexible customized virtual networks easily. This document introduces a new framework to implement network virtualization based on MPLS global label. It can provide the virtualized network topology, nodes and links using MPLS global label which can make up the virtual network easily. 2. Terminology Underlying Network: It is the network which the virtual network is built based on. The underlying network can be the physical network or the virtual network. MPLS Virtual Network: The virtual network is built based on the underlying network. It is composed by virtual nodes and virtual links which are identified by MPLS global label. In this document, the concept of virtual network is the same as that of MPLS virtual network. MPLS Virtual Network Topology: It is the topology of the MPLS virtual network. It can be identified by multi-topology ID of corresponding virtual network. MPLS global label is allocated to represent the virtual network topology. Underlying Link: It is the link in the underlying network which the virtual link is built based on. The underlying link can be physical link or the virtual link. MPLS Virtual Link: The virtual link is built based on the underlying link with specific attribute requirement. It can be identified by MPLS global label. In this document, the concept of virtual link is the same as that of MPLS virtual link. Li & Li Expires April 24, 2014 [Page 3] Internet-Draft Framework of MPLS NV October 2013 Underlying Node: It is the node in the underlying network which the virtual node is built based on. The underlying node can be physical node or the virtual node. MPLS Virtual Node: The virtual node is built based on the underlying node with specific attribute requirement. It can be identified by MPLS global label. In this document, the concept of virtual node is the same as that of MPLS virtual node. 3. Framework MPLS is always a basic technology to implement network virtualization. L3VPN and VPLS are typical network virtualization solutions based on MPLS technologies. VPN technologies provides virtual network at the network edge based on BGP or T-LDP. In order to provide better virtual network services the internal network should be virtualized to be provided to the virtual network operators. Then IGP is a better choice to combine with MPLS technologies to provide these virtual networks. In the MPLS virtual network, virtual nodes and virtual links are basic components. They can be represented by unique MPLS global label values. In addition, in order to differentiate virtual networks, the virtual network topology can be identified by multi- topology ID and the unique MPLS global label value can also be allocated to represent the virtual network topology. Thus the network topology, the node and the link can be virtualized by MPLS. They can hide the details of the underlying network. The architecture to construct virtual network is shown in the following figure. There is a central controller to control network nodes. The controller can construct different virtual networks according to the requirements proposed by the virtual network operators. IGP runs among the controller and the network nodes. MPLS global labels can be allocated by the IGP controller for the virtual network topologies, the virtual nodes and the virtual links. The label binding between the MPLS global label and the virtual network topology/node/link are flooded among the controller and the network nodes. When the network nodes receive the label mapping messages, they will install corresponding MPLS forwarding entries accordingly. Li & Li Expires April 24, 2014 [Page 4] Internet-Draft Framework of MPLS NV October 2013 +---------------------------------------------------------+ | Virtual Network Operators | | | | ________ /\ \ VN n / | | / / / \ \ / | | / VN 1 / /VN 2\ ...... ---- | | /_______/ /______\ / \ | | | +---------------------------------------------------------+ | | +---------------------------------------------------------+ | | | IGP Controller | | (Underlying Network) | | | +---------------------------------------------------------+ | | | | | | +-----|---------------------------|-------------------------|------+ | | | | | | | +---------+ | | | | | NODE 1 | | | | | | | | | | | /| IGP |\ | | | | / | CLIENT | \ | | | | / +---------+ \ | | | | / \ | | | +--------+ / \ +--------+ | | | NODE 2 | / \ | NODE n | | | | |__________/ \_________| | | | | IGP | ...... | IGP | | | | CLIENT | | CLIENT | | | +--------+ +--------+ | | | +------------------------------------------------------------------+ Figure 1 Architecture of MPLS Virtual Network Figure 2 shows an example of the virtual network built based on the underlying network. The virtual network topology is represented by the Virtual Topology Global Label (VT-GL). The virtual node is represented by the Node Global Label (N-GL). The virtual link is represented by the Link Global Label (L-GL). In the virtual network shown in the figure 2, there are three virtual links identified by L-GL 1, L-GL 2 and L-GL 3 and there are three virtual nodes identified by N-GL 1, N-GL 2 and N-GL 3. All virtual nodes and links Li & Li Expires April 24, 2014 [Page 5] Internet-Draft Framework of MPLS NV October 2013 constructs a triangle virtual topology identified by VT-GL 1. The virtual network operators can provision their own service based on the virtual network. Especially, for the virtual link, it can have common attributes such as bandwidth, MTU, etc. like the physical link. The virtual network operators need not care about the physical details of links of the virtual network. For example, the bandwidth for the virtual link is 10G. It may be an independent physical interface, or a virtual link allocating 10G bandwidth from a physical interface, or a virtual interface constructed by compositing several physical interfaces. All the details of the underlying network are hidden from the virtual network operators. This can simplify the network operation and management for the virtual network operators which can focus more on their own service provision. On the other hand, the hidden details can improve security of the underlying network to some extent. Virtual Network 1: VT-GL 1 +--------+ | NODE 1 | | | /| N-GL 1 |\ #1 / | | \ #2 L-GL 1 / +--------+ \ L-GL 2 / \ / \ / \ +--------+ / \ +--------+ | NODE 2 |/ #3 \| NODE 3 | | | L-GL 3 | | | N-GL 2 |--------------------------| N-GL 3 | | | | | +--------+ +--------+ Figure 2 An Example of MPLS Virtual Network 4. MPLS Virtualization of Network Topology In essence, constructing virtual networks is to construct different virtual network topologies based on the underlying network. The virtual network topology can be identified by the Multi-Topology ID. The global label for the virtual network topology is allocated by the IGP controller. The label binding between the Multi-Topology ID and the Global Label are flooded from the IGP controller to the network nodes. Li & Li Expires April 24, 2014 [Page 6] Internet-Draft Framework of MPLS NV October 2013 The network nodes should support the multi-topology. It can install FIBs for multi-topologies. That is, there are multiple forwarding instances in one network node. Each forwarding instance is corresponding to a virtual network topology. When network nodes receive the label binding between the Multi- Topology ID and the Global Label, it will install one MPLS forwarding entry: The incoming label is the Global Label. It will be mapped to the forwarding instance corresponding to the Multi-Topology. When packets of different virtual networks are forwarded in the network nodes, they must encapsulate the global label binded with the Multi-Topology, Thus the network node receiving the packet will get the label from the MPLS encapsulation and find the corresponding MPLS forwarding entry. Then the packet will be mapped to the corresponding forwarding instance to determine how to forward in the corresponding virtual network. If the packet is to be forwarded to the next hop in the virtual network, when it leaves the network node, the global label must be encapsulated again. Step 1: Incoming Packet +--------+-----------+ | VT-GL | PAYLOAD | ----| +--------+-----------+ | | | Forwarding Entry | +---------------------------------------------+ | +----------------------+ | | +--------+ | Multi-Topology | | | | VT-GL |--->| Forwarding Instance | | | +--------+ | | | | +----------------------+ | +---------------------------------------------+ Li & Li Expires April 24, 2014 [Page 7] Internet-Draft Framework of MPLS NV October 2013 Step 2: Transiting Packet +-----------+ | PAYLOAD |-------------------------| +-----------+ | | | Forwarding Entry | +----------------------------------------------------------+ | Multi-Topology FIB | | | | +-----------+-------------+ +-------------+--------+ | | | FWD INFO | OUTGOING ID |---->| OUTGOING ID | VT-GL | | | +-----------+-------------+ +-------------+--------+ | +----------------------------------------------------------+ Step 3: Outgoing Packet +--------+-----------+ | VT-GL | PAYLOAD | +--------+-----------+ Figure 3 Forwarding Process for MPLS Virtual Topology 5. MPLS Virtualization of Network Nodes MPLS Virtual nodes can be built based on the underlying node in a specific underlying network. They can be identified by unique MPLS global label allocated for the tuple { Multi-Topology ID, Underlying Node Identification, Attributes of the Virtualized Node }. Multi- topology ID is the identification of the corresponding multi-topology of the underlying network. The underlying node can be identified by the node's address (typically the loopback address) if the underlying node is the physical network node or it can be identified by another global label corresponding to the underlying virtual node. When implement virtual nodes, IGP controller will allocate the global label for the tuple { Multi-Topology ID, Underlying Node Identification, Attributes of the Virtualized Node }. Then the label binding between the tuple and the Global Label are flooded from the IGP controller to the network nodes. When network nodes receive the label binding between the tuple and the Global Label, it will install one MPLS forwarding entry in the forwarding instance corresponding to the Multi-Topology ID: The Li & Li Expires April 24, 2014 [Page 8] Internet-Draft Framework of MPLS NV October 2013 incoming label is the Global Label. It will be mapped to the forwarding information related with the virtualized nodes. The forwarding information is derived according to the specific application requirement. For example, in Segment Routing, the forwarding information can be the shortest path to the underlying node. In addition, the forwarding identification for the specified attributes to the virtual node can also be provided in the forwarding information. +---------------------------------------------+ | Multi-Topology FIB | | +----------------------+ | | +--------+ | Forwarding Info | | | | N-GL |--->| binding with | | | +--------+ | Virtualized Node | | | +----------------------+ | +---------------------------------------------+ 6. MPLS Virtualization of Network Links MPLS Virtual links can be built based on the underlying link in a specific underlying network. They can be identified by unique MPLS global label allocated for the tuple { Multi-Topology ID, Underlying Link Identification, Attributes of the Virtualized Link }. Multi- topology ID is the identification of the corresponding multi-topology of the underlying network. The underlying link can be identified by the link ID or the link's address (typically the pair of the addresses of two end-points of the link) if the underlying link is the physical network link or it can be identified by another global label corresponding to the underlying virtual link. When implement virtual links, IGP controller will allocate the global label for the tuple { Multi-Topology ID, Underlying Link Identification, Attributes of the Virtualized Link }. Then the label binding between the tuple and the Global Label are flooded from the IGP controller to the network nodes. When network nodes receive the label binding between the tuple and the Global Label, it will install one MPLS forwarding entry in the forwarding instance corresponding to the Multi-Topology ID: The incoming label is the Global Label. It will be mapped to the forwarding information related with the virtualized links. The forwarding information is derived according to the specific application requirement. Li & Li Expires April 24, 2014 [Page 9] Internet-Draft Framework of MPLS NV October 2013 +---------------------------------------------+ | Multi-Topology FIB | | +----------------------+ | | +--------+ | Forwarding Info | | | | L-GL |--->| binding with | | | +--------+ | Virtualized Link | | | +----------------------+ | +---------------------------------------------+ The typical attribute for the virtualized link is the bandwidth. When the virtual network need a virtual link with specific bandwidth requirement, IGP controller will create the virtual link by allocating the global label for the tuple {Multi-Topology ID, Underlying Link Identification, Bandwidth} and flood the label binding to the network nodes. When network nodes receive the label binding, it will reserve the bandwidth firstly based on the underlying link to provide QoS service of bandwidth guarantee. Then it will create the MPLS forwarding entry shown in the following figure: +---------------------------------------------------------------+ | Multi-Topology FIB | | +--------------+ | | +--------+ +---------------------+ | QOS Process | | | | L-GL |--->| Underlying Link |QID|--->| based on | | | +--------+ +---------------------+ | Bandwidth | | | +--------------+ | +---------------------------------------------------------------+ 7. Forwarding in Virtual Network If the packet is forwarded in a specific virtual network, the global label binding with the virtual network topology should be encapsulated in the packet. Thus the network node receiving the packet will get the VT-GL to map to the corresponding forwarding instance to determine how to forward the packet in the virtual network. There are two ways to use the virtualized nodes and links for forwarding. 1. Traditional SPF or CSPF Path Calculation The virtualized nodes and links can be added to the LSDB or be added to the TEDB after applying specific MPLS TE attributes. Then these nodes and links can be involved in the path calculation based on SPF Li & Li Expires April 24, 2014 [Page 10] Internet-Draft Framework of MPLS NV October 2013 or CSPF. Then the IP forwarding entry or MPLS TE forwarding entry may be created which can use the virtual link as the outgoing link. A typical IP Routing forwarding entry is shown in the following figure: +----------------------------------------------------------------------------+ | Multi-Topology FIB | | +--------------+ | | +------------------+------+ +-----------------------+ | QOS Process | | | | D-IP | D-IP Mask | L-GL |-->| Underlying Link | QID |-->| based on | | | +------------------+------+ +-----------------------+ | Bandwidth | | | +--------------+ | +----------------------------------------------------------------------------+ In this case, the forwarding entry related with L-GL is not an independent entry. It is combined with other information (Destination IP address and destination IP mask in the example) to compose the forwarding entry. For packets which may use the forwarding entry, they need not encapsulate the L-GL. The L-GL is just like an internal index to link different parts of the forwarding information. 2. Segment Routing The MPLS virtual nodes and links can also be used for Segment Routing. The MPLS forwarding entry for the virtualized nodes and links can be created for the Segment Routing. The MPLS virtual node is just like the Node Segment in the Segment Routing. The MPLS virtual link is just like the Adjacency Segment in the Segment Routing. The difference is that MPLS global label is used for the Adjacency instead of the local label since in the virtual network the unique identification based on the MPLS global label can simplify the network operation and management. In addition, there are specific attributes for the virtual link and virtual node, there should be fowarding process identification of the corresponding attribute in the forwarding entry. The typical Segment Routing forwarding entry is shown in the following figure: Li & Li Expires April 24, 2014 [Page 11] Internet-Draft Framework of MPLS NV October 2013 +---------------------------------------------------------------+ | Multi-Topology FIB | | +-----------+ | | +--------+ +--------------------------+ | Attribute | | | | N-GL |--->|Outgoing Link|Nexthop| ID |-->| | | | +--------+ +--------------------------+ | Process | | | +-----------+ | | +--------------+ | | +-------+ +-----------------------+ | QOS Process | | | | L-GL |--->| Underlying Link | QID |--->| based on | | | +-------+ +-----------------------+ | Bandwidth | | | +--------------+ | +---------------------------------------------------------------+ In this case, the forwarding entry related with N-GL or L-GL is the independent MPLS forwarding entry. For packets which may use the forwarding entry, they must encapsulate the N-GL or the L-GL. 8. IANA Considerations This document makes no request of IANA. 9. Security Considerations TBD. 10. References 10.1. Normative References [I-D.li-rtgwg-cc-igp-arch] Li, Z., Chen, H., and G. Yan, "An Architecture of Central Controlled Interior Gateway Protocol (IGP)", draft-li- rtgwg-cc-igp-arch-00 (work in progress), October 2013. [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 10.2. Informative References [I-D.filsfils-rtgwg-segment-routing] Filsfils, C., Previdi, S., Bashandy, A., Decraene, B., Litkowski, S., Horneffer, M., Milojevic, I., Shakir, R., Ytti, S., Henderickx, W., Tantsura, J., and E. Crabbe, "Segment Routing Architecture", draft-filsfils-rtgwg- segment-routing-00 (work in progress), June 2013. Li & Li Expires April 24, 2014 [Page 12] Internet-Draft Framework of MPLS NV October 2013 [I-D.li-mpls-global-label-framework] Li, Z., Zhao, Q., and T. Yang, "A Framework of MPLS Global Label", draft-li-mpls-global-label-framework-00 (work in progress), July 2013. Authors' Addresses Zhenbin Li Huawei Technologies Huawei Bld., No.156 Beiqing Rd. Beijing 100095 China Email: lizhenbin@huawei.com Ming Li Huawei Technologies 2330 Central Expressway Santa Clara, CA 95050 USA Email: mli@huawei.com Li & Li Expires April 24, 2014 [Page 13]