Internet DRAFT - draft-zhou-opsawg-vnf-config-arch

draft-zhou-opsawg-vnf-config-arch







OPSAWG                                                           H. Zhou
Internet-Draft                                                   H. Song
Intended status: Informational                                    Huawei
Expires: January 4, 2015                                           Q. Fu
                                                            China Mobile
                                                            July 4, 2014


          Virtual Network Function Configuration Architecture
                  draft-zhou-opsawg-vnf-config-arch-01

Abstract

   This document describes the architecture of remote service
   installation and configuration in the provider's network through a
   centralized management system.  This is a typical scenario for
   virtual network function installation and dynamic configuration in
   network function virtualization (NFV) context.  It is also a typical
   scenario in cloud computing environment where end users do not have
   to install applications on their end hosts, but can install their own
   featured powerful software application in the cloud.  This
   specification describes an architecture of virtual network function
   installation and configuration.  It is also applicable to other use
   cases with similar requirements.

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 March 27, 2014.

Copyright Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors.  All rights reserved.





Zhou, et al.             Expires March 27, 2014                 [Page 1]

Internet-DraftVirtual Network Function Configuration ArchiSeptember 2013


   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 . . . . . . . . . . . . . . . . . . . . . . . . .   4
   3.  Architecture  . . . . . . . . . . . . . . . . . . . . . . . .   5
     3.1.  Design Principals . . . . . . . . . . . . . . . . . . . .   5
     3.2.  User-controller . . . . . . . . . . . . . . . . . . . . .   6
     3.3.  Software Vendor-Controller  . . . . . . . . . . . . . . .   7
     3.4.  Controller-VNF  . . . . . . . . . . . . . . . . . . . . .   7
     3.5.  Controller-Infrastructure . . . . . . . . . . . . . . . .   8
   4.  Security Considerations . . . . . . . . . . . . . . . . . . .   8
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   8
   6.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   8
     6.1.  Normative References  . . . . . . . . . . . . . . . . . .   9
     6.2.  Informative References  . . . . . . . . . . . . . . . . .   9
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .   9

1.  Introduction

   This document describes the architecture to solve the problems
   described in [I-D.song-opsawg-virtual-network-function-config], In
   virtual network function configuration.  The network function
   virtualization (NFV) controller is a broker for various software
   vendors.  It manages how to install a virtual network function in the
   provider's network according to user's requirements.  There needs
   standard protocols between user and NFV controller to describe the
   components requirements and resource requirements for a (or a batch
   of) virtual network function installation and configuration.  There
   also needs a standard protocol between software vendor and NFV
   controller to describe the software basic information, running
   environment resource requirements, components information
   description.  The component of a virtual network function may be
   another virtual network function.  And the NFV controller may combine
   some virtual network functions together to form another virtual
   network function.  If layer N (N can be 1, 2, 3...) virtual network
   function is consisted of several layer N-1 virtual network functions,
   the NFV controller must communicate with the user on how to construct
   the upper layer VNF with lower layer VNFS, and what are the



Zhou, et al.             Expires March 27, 2014                 [Page 2]

Internet-DraftVirtual Network Function Configuration ArchiSeptember 2013


   forwarding sequences and what are the conditions to trigger that
   forwarding sequence.  The resource requirements from the user can be
   either explicit or implicit.  If the resource requirement is "on-
   demand", then the NFV controller has to communicate with the virtual
   network function layer to create new service instances when the
   service load is increasing or delete extra service instances when the
   service load is decreasing.  The resource requirements for each
   service instance is based on the recommendation from the software
   vendor.

   This specification gives a basic management architecture for virtual
   network function (VNF) configuration.  It lists the main functional
   modules that plays important roles in VNF configuration, and
   specifies what each functional module does, and what are the contents
   communicated among these functional modules, as depicted in Figure 1.
   The main concepts from this document are from ETSI NFV ISG [NFVE2E] .
   But there is slightly difference from ESTI.  For example, we have a
   central NFV controller in this architecture that contains OSS/BSS,
   VNF management and Infrastructure management, unlike ESTI NFV ISG,
   where it separates the OSS/BSS and a management and orchestration
   system.  In real world implementation, these functional units usually
   reside in the same physical equipment(s) called network management
   system.

   OSS/BSS (operations support system / business support system)
   functional module is responsible for communication with users.  It
   provides software (VNF) provider's information to the users, and get
   components requirements and resource requirements from the users.  It
   also communicates with VNF software vendors to get the software
   information and the recommended resource information, and etc.. VNF
   management module is responsible for VNF instance creation/deletion,
   VNF status management, VNF resource management, and VNF connection
   management when one VNF is represented as a conditional/static
   connection of multiple VNFs.  Infrastructure management module is
   responsible for physical layer resource (CPU, memory, storage,
   bandwidth etc.) allocation for the virtual machine that a VNF is
   resided on.

   This document will describe the basic principle for the architecture
   first, then give the description of the interfaces and what contents
   are exchanged among those interfaces.  At the end, it will discuss
   the security threats for the VNF configuration.









Zhou, et al.             Expires March 27, 2014                 [Page 3]

Internet-DraftVirtual Network Function Configuration ArchiSeptember 2013


         +----------------------------------------------+
         | Controller                                   |
         |           +----------+-----------+           |
         |           |          |           |           |
         | +---------+-+  +-----+----+ +----+----------+|
         | |OSS/BSS    |  |VNF       | | Infrastructure||
         | |           |  |Management| | Management    ||
         | ++--------+-+  +------+---+ +------+--------+|
         |  |        |           |            |         |
         +--+--------+-----------+------------+---------+
            |        |           |            |
            |        |           |            |
            |        |           |            |
       +----++  +----+------+   ++-+    +-----+--------+
       |User |  |VNF        |   |V |    |NFV           |
       +-----+  |Software   |   |N |    |Infrastructure|
                |Vendor     |   |F |    +--------------+
                +-----------+   +--+
                                / \
                               /   \
                        +------+   +------+
                        |VNF   |-->|VNF   |
                        +------+   +------+

   Figure 1  Virtual Network Function Configuration Framework


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 [RFC2119].  And the
   following terms used in this document have their definitions from the
   NFV end to end architecture [NFVE2E].

   User: a person, home or an enterprise customer who installs their own
   virtual network function (such as virtual enterprise firewall,
   virtual home gateway) in the provider's network.  A user can also be
   the provider's network system administrator who want to install a
   general virtual network function (such like the carrier grade network
   address translator (NAT) ) that can server various customers inside
   the provider's network

   NFV: network function virtualization.  NFV technology uses the
   commodity servers to replace the dedicated hardware boxes for the
   network functions, for example, home gateway, enterprise access
   router, carrier grade NAT and etc.  So as to improve the reusability,
   allow more vendors into the market, and reduce time to market.  NFV



Zhou, et al.             Expires March 27, 2014                 [Page 4]

Internet-DraftVirtual Network Function Configuration ArchiSeptember 2013


   architecture includes a NFV controller (orchestrator) to manage the
   virtual network functions and the infrastructure resources.

   NF: A functional building block within an operator's network
   infrastructure, which has well-defined external interfaces and a
   well-defined functional behavior.  Note that the totality of all
   network functions constitutes the entire network and services
   infrastructure of an operator/service provider.  In practical terms,
   a Network Function today is often a network node or physical
   appliance.

   vNF: virtual network function, an implementation of an executable
   software program that constitutes the whole or a part of an NF that
   can be deployed on a virtualization infrastructure.

   VM: virtual machines, a program and configuration of part of a host
   computer server.  Note that the Virtual Machine inherits the
   properties of its host computer server e.g. location, network
   interfaces.

3.  Architecture

3.1.  Design Principals

   There are five key modules in the architecture.  They are controller,
   software vendor, user, VNF, and infrastructure.  And the controller
   has three key functional modules, OSS/BSS, VNF management, and
   infrastructure management.

   (1) Controller is the brain of all operations.  Controller creates
   virtual network functions in the provider's network.  Although the
   users may communicate with the virtual network functions in the
   service layer directly, but it has not to directly communicate with
   the VNF in the management level.  A user can have multiple VNFs in
   the provider's network, and can configure them or a subset of them
   through a simple communication with the controller.  The controller
   is also a broker for various software vendors.  It provides standard
   interfaces to convey information model with software vendors and
   users.  It also monitors the VNF resource consumption status when the
   resource consumption model is "on-demand".

   (2) Controller MUST NOT be aware of the service logic of each VNF.
   When a user configures multiple VNFs by sending a configuration
   template to the controller.  The controller does not understand the
   contents in the configuration template.  It only has to know how to
   apply the configuration to the appropriate VNFs.





Zhou, et al.             Expires March 27, 2014                 [Page 5]

Internet-DraftVirtual Network Function Configuration ArchiSeptember 2013


   (3) The key point for the protocol development SHOULD focus on the
   information model to describe the VNF itself, the resource
   requirements, the service/forwarding graph, and the status report.

3.2.  User-controller

   User communicates with the OSS/BSS module of the controller, to
   query, buy, or configure VNFs.  User gets the VNF list from the query
   interface.  Each VNF in the list contains: VNF type, function
   description, description of components that can be installed
   optionally, installation resource requirements, possible performance
   standard (which may include capable number of users per instance,
   throughput, concurrent connections, and etc.), and pricing
   information.  User can select the appropriate VNF to install from the
   list.  The information that the user can provide to the OSS/BSS
   before the installation can be the VNF name, quantity, the preferred
   components of the VNF, the preferred installation locations in high
   level (user do not have to know the detailed location such like on
   which virtual machine), and the possible performance requirement at
   the beginning (which will be considered when allocating resources, so
   that even the same VNF provided by the same software vendor can have
   different initial resource allocation when it is installed to serve
   different customers that have different amount of users/traffic).
   User should also tell the controller whether it needs specific
   resources or it only needs resources on-demand.  In the meantime,
   user should also provide the data forwarding graph to the controller,
   so that the controller can figure out how the new VNF is connected to
   the existing network, and how the data flow should forward after the
   installation of this new VNF.  Such forwarding graph should be
   written in a fixed format in spite of the difference of users.  User
   can get the relative report from the controller, the report contains
   information of which VNFs have been installed, the status of each
   VNF, the number of VNF instances, logging information, and accounting
   information.  User can also configure its VNFs from the controller,
   the details of the configuration are relative to the specific VNF
   vendors.  User needs to specify the ID of which VNFs the
   configuration file is used to configure.  When update package is
   released by the vendor, possible procedure may also need for the OSS/
   BSS to inquire the user whether he would like to update the VNF of
   his own.  The protocol between the user and OSS/BSS module of
   controller could be a new protocol or an extension of existing
   protocols such like HTTP, NetConf, YANG or XML.









Zhou, et al.             Expires March 27, 2014                 [Page 6]

Internet-DraftVirtual Network Function Configuration ArchiSeptember 2013


3.3.  Software Vendor-Controller

   Software Vendor communicates with the OSS/BSS module of the
   controller, to publish a VNF, update a VNF, off-the-shelf a VNF.  To
   the details, if a software vendor sends a request to publish a VNF,
   the identity of the software vendor must be verified before any
   further action.  The software vendor needs to provide the software
   description information and the software package itself.  The
   description information should include the following: VNF name,
   classification (classification types can be provided by the
   controller to the software vendor in advance), function description,
   components description, installation environment description
   (operation system, CPU, memory, storage and etc.), and the capacity
   description under the recommended installation environment (for
   example, the capable number of users per instance, throughput,
   concurrent connections, and etc.), as well as the pricing information
   if needed.  Please note that the software package can be submitted to
   the OSS/BSS together with the description information, or be provided
   from some out-of-band methods.  For example, the software vendor can
   provide a URL where the OSS/BSS can get this VNF package, or the OSS/
   BSS provides a URL where the software vendor can upload its package.
   The software vendor should provide the VNF name and the update
   package to the controller when updating a certain VNF.  Modification
   of functions, components, and the other basic information should also
   be provided to the controller.  The protocol between software vendor
   and the OSS/BSS module of controller could be a new protocol or an
   extension of existing protocols such like HTTP, NetConf, YANG and
   XML.

3.4.  Controller-VNF

   Another important role for the controller is the VNF management.  VNF
   management module collaborates with the OSS/BSS and infrastructure
   management module for the VNF creation, deletion, update, monitoring,
   scale-out/scale-in, and software configuration.  OSS/BSS receives the
   VNF request from the user, and then invokes its interface with the
   VNF management module to create VNFs.  VNF management module gets VMs
   with requested resources from the infrastructure module, or directly
   gets the physical host resources.  And then it mounts operation
   system on the VM or the host, then installs the customized VNF(s),
   sets up the forwarding rules between VNFs according to the forwarding
   graph provided by the user.  VNF management is also in charge of VNF
   update when update request is made by the vendor.  When update
   request is agreed by the user, the OSS/BSS invoke the update
   procedure of the VNF management to install the update version VNF(s)
   on the corresponding VM.  Each VNF will report its status to the VNF
   management module, such like the CPU, memory, storage usage, current
   traffic volume information , the link usage on the forwarding graph.



Zhou, et al.             Expires March 27, 2014                 [Page 7]

Internet-DraftVirtual Network Function Configuration ArchiSeptember 2013


   User can configure his VNFs through the OSS/BSS interface, but the
   configurations are finally carried out by the VNF management module.
   VNF management module can automatically scale-out or scale-in the
   number of VNF instances according to the load information on the
   current VNFs.  For example, when a user's resource model is "on-
   demand", then when the VNF management module finds a relative VNF is
   beyond the load threshold, then it creates another same VNF to
   offload the relative VNF.  And if the VNF function is process network
   traffic for the user, then VNF management module needs to coordinate
   with the NFV infrastructure to configure the relative switches
   (including soft switches), routers (including soft routers), so as to
   make traffic be divided to different VNFs.  And user SHOULD be
   agnostic of this traffic division operation.

   The protocol between the VNF management module can be a new protocol
   or the extension of existing protocols, such like HTTP, NetConf, and
   YANG.

3.5.  Controller-Infrastructure

   The third module in the controller is the infrastructure management
   module.  It manages the infrastructure resources that the VNFs are
   using.  It can create, delete, query about VMs.  It configures the
   underlying network, including IP address, VLAN, ACL rules and flow
   tables.  It can utilize OpenStack, CloudStack for some network
   management system similar to that.  Infrastructure management can use
   the existing open interfaces.  Infrastructure management also
   configure the network for the forwarding graph among the VNFs.

4.  Security Considerations

   Because VNFs are running in the provider's network, so the privacy
   concern should be the most important aspect that a user would think
   about.  The operator of NFV must guarantee that no third party can
   access the user's VNFs or any information of the VNFs without the
   user's permission.

   VNFs are generally considered to be run on cloud computing
   environment, so the security threats to a cloud computing system are
   also applicable here.

5.  IANA Considerations

   There is no IANA considerations in this document.

6.  References





Zhou, et al.             Expires March 27, 2014                 [Page 8]

Internet-DraftVirtual Network Function Configuration ArchiSeptember 2013


6.1.  Normative References

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [I-D.song-opsawg-virtual-network-function-config]
              Song, H., "The Problems of Virtual Network Function
              Configuration", draft-song-opsawg-virtual-network-
              function-config-00 (work in progress), September 2013.

6.2.  Informative References

   [NFVE2E]   , "Network Functions Virtualisation: End to End
              Architecture, http://docbox.etsi.org/ISG/NFV/70-DRAFT/0010
              /NFV-0010v016.zip", .

Authors' Addresses

   Hong Zhou
   Huawei

   Email: zhouhong@huawei.com


   Haibin Song
   Huawei

   Email: haibin.song@huawei.com


   Fu Qiao
   China Mobile

   Email: fuqiao@chinamobile.com

















Zhou, et al.             Expires March 27, 2014                 [Page 9]