Internet DRAFT - draft-chin-nfvrg-model-dynamic-service-chain

draft-chin-nfvrg-model-dynamic-service-chain







NFV Research Group                                               J. Chin
Internet-Draft                                             Cisco Systems
Intended status: Informational                          February 3, 2016



           A Model Based Approach to Dynamic Service Chaining 
            draft-chin-nfvrg-model-dynamic-service-chain-01

Abstract

   In the context of Network Function Virtualization (NFV), a service
   chain refers to a group of Virtual Network Functions (VNFs) deployed 
   in a virtual infrastructure manager (VIM) environment, such as 
   OpenStack, to apply a set of networking services to users' traffic
   passing through it. 

   Depending on the service requirements, the service chain may consist 
   of a single VNF or multiple VNFs deployed serially, or in parallel, 
   and the Virtual Network Forwarding Graph (VNF-G) describes the 
   topologies of how these VNFs are interconnected together via virtual 
   links to provide different networking services.

   After a service chain is deployed, its user may require to modify 
   the VNF-G from time to time, and on-demand, to meet changing service 
   requirements. Therefore, operators may require to support a high 
   degree of flexibility to orchestrate the provisioning and dynamic 
   modifications of VNFs in service chains.

   This document presents a hierarchical model based approach to allow 
   the NFV Orchestrator (NFV-O) and the VNF Manager (VNF-M) to support 
   the dynamic provisioning and on-demand modifications of VNFs in 
   service chains.


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."


Chin                    Expires August 6, 2016                  [Page 1]

Internet-Draft        Model Based Service Chaining      February 3, 2016


Copyright 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
   (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.

Conventions used in this document

   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.

Table of Contents

   1. Introduction ....................................................3
   2. A Hierarchical Model Based Approach to Service Chaining..........3
      2.1. Anchor VNF..................................................4
      2.2. Define the "End State" Service Chain Topology...............5
      2.3. Start of service chain at the anchor VNF....................7
      2.4. Initial Configurations and Traffic Flow.....................7
      2.5. Expanding the service eastwards and southwards..............8
   3. Dependency Relationship in Service Chain........................11
   4. Service Chain Rollback..........................................11
   5. Caveats.........................................................12
   6. IANA Considerations.............................................12
   7. Security Considerations ........................................12
   8. References .....................................................12
   Authors' Addresses ................................................13

















Chin                    Expires August 6, 2016                  [Page 2]

Internet-Draft        Model Based Service Chaining      February 3, 2016


1. Introduction

   Network Function Virtualization (NFV) has provided operators with
   the potential to reduce cost, while at the same time, it increases 
   business agility, flexibility and accelerate the time to market new
   services. For the users, NFV promises the delivery of networking
   services with a quicker turnaround time than traditional hardware 
   based networking services. Users may also expect NFV to give them a
   greater degree of flexibility in the way they consume networking 
   services. 
 
   As traditional networking services are increasingly being supported
   by Virtual Network Functions (VNFs), it is important for operators 
   to provide their end users with greater flexibility to modify their 
   services "on the fly". For example, a user may have initially 
   deployed a virtual routing function, but now requires another virtual 
   firewall to be added due to new security requirements. As such, the 
   existing service chain needs to be expanded or modified, and ideally 
   carried out with minimal service disruptions.
  

2. A Hierarchical Model Based Approach to Service Chaining

   The purpose of interconnecting Virtual Network Functions (VNFs) 
   together to create a service chain is to provide its user with a set
   of services which cannot be fulfilled by a single VNF alone. VNFs
   run in software and they are interconnected together via virtual 
   links, for example by OpenStack Neutron service and OpenVSwitch
   (OVS).

   A service chain of VNFs is functionally equivalent to hardware 
   appliances physically interconnected but by nature there are notable
   variations in specifications and performance between software and 
   hardware based devices.

   Just like in hardware devices, changes to the networking services
   may require modifications of the network topology, and this may lead
   to "re-wiring" of network connectivity between software VNFs, and
   hardware appliances alike. 

   To handle such topology modifications, the NFV orchestrator (NFV-O) 
   and VNF Manager (VNF-M) must ensure newer VNFs added to the service 
   chain are correctly connected to the existing VNFs and virtual links,
   and all VNFs in the service chain are properly configured to effect
   the new services.






Chin                    Expires August 6, 2016                  [Page 3]

Internet-Draft        Model Based Service Chaining      February 3, 2016


   When a particular VNF in a service chain is no longer required, the 
   NFV-O must coordinate with the VNF-M to gracefully terminate the VNF 
   without affecting the remaining VNFs in the service chain. The NFV-O 
   must reverse all device configuration changes it made in the service 
   chain to restore the service to its previous state. 

   The NFV-O should support conditional checks to prevent unsupported 
   topologies in a service chain.


2.1. Anchor VNF

   The hierarchical model based approach discussed in this document 
   firstly establishes a single VNF in the service chain as the anchor 
   VNF, which is shown in Figure 1. There are no special requirements 
   for the anchor VNF to support any particular network service or 
   technology, but rather the anchor VNF simply means it is the first 
   VNF to be deployed at the start of service. From the anchor VNF, 
   the service chain can expand eastwards and southwards.
 
        ------------------------------------------> expands eastwards
        *Anchor* 
    |   +--------+        +--------+         +--------+
    |   |1st Tier| <----> |2nd Tier| <-----> |3rd Tier| <-----> ...
    |   |  VNF   |        |  VNF   |         |  VNF   |
    |   +--------+        +--------+         +--------+
    |       ^                 ^                  ^
    |       |                 |                  |
    |       V                 V                  V
    |   +--------+        +--------+         +--------+
    |   |1st Tier| <----> |2nd Tier| <-----> |3rd Tier| <-----> ...
    |   |  VNF   |        |  VNF   |         |  VNF   |
    |   +--------+        +--------+         +--------+
    |       ^                 ^                  ^
    |       |                 |                  |
    |       V                 V                  V
    |   +--------+        +--------+         +--------+
    |   |1st Tier| <----> |2nd Tier| <-----> |3rd Tier| <-----> ...
    |   |  VNF   |        |  VNF   |         |  VNF   |
    |    +--------+        +--------+         +--------+
    |       ^                 ^                  ^
    |       |                 |                  |
    |       V                 V                  V
    V      ...               ...                ...
   expands                        
   southwards

          Figure 1: Hierarchial service chain with Anchor VNF



Chin                    Expires August 6, 2016                  [Page 4]

Internet-Draft        Model Based Service Chaining      February 3, 2016

                                 
2.2. Define the "End State" Service Chain Topology

   An "End State" topology typically reflects the maximum number of VNFs
   in a service chain required to support the most complex NFV services.
   Operationally, it is a challenge to manage large and complex service 
   chains in a virtual environment, especially if the maximum number of 
   VNFs allowed in a service and its topology are both unknown.

   However, the hierarchical model does not impose any restriction on
   the maximum number of VNFs allowed in any service chain topology.
   The "end state" topology can be expanded with additional VNFs or the
   number of VNFs can be reduced anytime to support changing user
   requirements. This "end state" topology should be translated into a
   service catalog to be presented in a customer facing service (CFS)
   portal.

   Similarly, there is no restriction imposed on the VNF types in the 
   model - they can be of the same type or entirely different. To use a
   case in point, we can deploy multiple instances belonging to the same   
   brand of virtual firewall in a service chain to deliver a multi-tier
   firewall security service. The VNF-M and NFV-O are responsible for
   onboarding VNFs in the VIM and orchestrating the VNFs device 
   configurations to deliver the desired network service regardless of
   the VNF types.

   To help illustrate the concepts behind our model based approach, we 
   shall study an example in Figure 2 with a maximum number of six VNFs 
   as its "end state" topology, arranged in a 2-dimensional array (i.e 
   2 rows x 3 columns). The anchor VNF refers to the VNF at A1.
   

                *Anchor* 
   Ingress |   +--------+   |   +--------+   |   +--------+   |  Egress
     VL    |---| VNF A1 |---|---| VNF B1 |---|---| VNF C1 |---|    VL
   segment |   +--------+   |   +--------+   |   +--------+   | Segment
   ()------|                |                |                |------()
           |   +--------+   |   +--------+   |   +--------+   |
           |---| VNF A2 |---|---| VNF B2 |---|---| VNF C2 |---|
           |   +--------+   |   +--------+   |   +--------+   |
      

       Figure 2: "End State" service chain topology with six VNFs


   






Chin                    Expires August 6, 2016                  [Page 5]

Internet-Draft        Model Based Service Chaining      February 3, 2016


   It is necessary to define the different permutations of VNFs allowed 
   in the service chain, such as virtual router, firewall, load 
   balancer, or IPS etc. The NFV-O is responsible to apply the correct 
   device configurations based on the types, brands, and placement of 
   VNFs in the topology.

   Figure 3 shows an example of a list of possible VNF permutations 
   required in the service chain to deliver different sets of network 
   services:


           *anchor*
            VNF A1          VNF B1          VNF C1
        =============   ==============  ==============
           router          firewall          IPS
           router          firewall     load balancer
          firewall         firewall        firewall
          firewall         firewall   
            IPS            firewall
            IPS             router    
        load balancer       router


   Figure 3: Example of a list of VNFs permutations in a service chain


   Mapping the list of VNF permutations in Figure 3 above to the six VNF 
   topology example in Figure 2, the "A1" anchor VNF can be a virtual 
   router, firewall, load balancer or IPS; the "B1" VNF, if present, can 
   be a virtual firewall or router; and "C1" VNF, if present, can be a 
   virtual IPS, firewall, or load balancer. For the second row of VNFs 
   - A2, B2, and C2 - its most common deployment scenario is to create 
   an identical VNF of the top row VNF to support High Availability
   (HA), using either standards based or proprietary protocols. For 
   example, if the anchor VNF is a virtual router, then the VNF at A2 
   will be the same virtual router and both devices shall be configured 
   to support HA functions in the service chain, e.g. provide gateway 
   redundancy via Virtual Router Redundancy Protocol (VRRP) to devices 
   on ingress VL segment. 

   A NFV service request may provision a service chain made up of any
   number of VNFs from one to the maximum six. 

   In every service chain, there are virtual links connecting the VNFs
   in the virtual domain to the physical environment. Traffic from 
   users will enter and exit the service chain via the ingress and
   egress segments. The underlay network, for example, can be VxLAN 
   in a data center environment or IP/MPLS over a WAN environment.
  


Chin                    Expires August 6, 2016                  [Page 6]

Internet-Draft        Model Based Service Chaining      February 3, 2016


2.3. Start of service chain at the anchor VNF

   Referring to the service chain example in Figure 2, the anchor VNF 
   has utmost significance in the model. Regardless of the number of 
   VNFs requested by a user, the NFV-O and VNF-M must always create the
   anchor VNF at A1 at the start of any service deployment. If the user 
   requests for a single virtual router, then this virtual router will
   be placed at the A1 position in the service chain topology.

   In addition, the NFV-O orchestrating the service must instruct the 
   VNF-M and the VIM to provision three virtual link segments - ingress, 
   egress, and A1-B1 - and attach the anchor VNF to these VL links. 
   Certain types of VNF may use a dedicated heartbeat link for HA 
   purposes. If a heartbeat link is required by a particular VNF, then 
   an additional A1-A2 virtual link must be created. All VNFs are also 
   connected to the VNF-M via a shared management network which is 
   pre-created. The anchor VNF and the virtual link segments, including 
   the optional heartbeat link, are shown in Figure 4.


      ========================+====================== out-of-band
                              |                        management 
                     (anchor) |       A1-B1          (pre-created)
                  |      +----+---+     |
                  |------| VNF A1 |xx---|    
                  |      +----+---+--+  |
       >>>  ------|           |      |  |
      Ingress     |         A1-A2    |  |
      VL segment  |    (If required  |  |       
                  |    for dedicated |  |
                       heartbeat to  |          
                       future A2 VNF |
                                     |            
      ===============================+=============================== 
                                            Egress VL segment >>>

        Figure 4: Onboarding VNF at A1 and its virtual links


2.4. Initial Configurations and Traffic Flow

   After the anchor VNF at A1 is deployed, the VNF-M should apply the
   initial device configurations (day-0) which will put its virtual 
   network interface connected to the A1-B1 virtual link in the disabled 
   state. The NFV-O will reactivate this virtual network interface when 
   a new VNF at B1 is added to the service chain. Similarly, if the 
   A1-A2 virtual link for HA is required, the NFV-O will place it in the 
   disabled state until a VNF at A2 is added to the service chain. 



Chin                    Expires August 6, 2016                  [Page 7]

Internet-Draft        Model Based Service Chaining      February 3, 2016


   The NFV-O should apply any necessary additional device configurations 
   (day-1) in the anchor VNF to enable the requested services. The NFV-O 
   may need to orchestrate physical network devices in the outside 
   network to effect end-to-end service chaining to the VNF. At this 
   stage, the service chain with the anchor VNF is considered 
   operational. Depending on the networking service provided and the 
   traffic patterns of the user applications, the traffic flow across 
   the service chain can be uni-directional or bi-directional.Traffic 
   from the outside can enter and exit the service chain via the ingress 
   and egress segments, as shown in Figure 5. 


              Traffic Flow 
    <<<----------------------------+
                  (anchor)  A1-B1  |         
    Ingress  |   +--------+   |    |
       VL    |---| VNF A1 |xx-|    ^      >>>> service chain
    segment  |   +--------+-+ |    ^           expands
   ()--------|          V   | |    |
             | service  V   | |    V
       >>>   |  chain   V   | |    V
             | expands  V   | |    |         Traffic Flow 
                            |      +-------------------------->>>
    ========================+========================================
                                            Egress VL segment >>>

           Figure 5: Start of service chain and traffic flow 


2.5. Expanding the service eastwards and southwards

   Assuming the user now requests for modifications to the existing 
   service and this request requires a new virtual firewall to be 
   deployed and added to the service chain. To fulfill the request, 
   the existing service chain can expand eastwards or southwards away 
   from the anchor VNF at A1. The NFV-O and VNF-M must implement 
   conditional checks to only allow the next VNF to be deployed at 
   either B1 or A2 position.

   Supposed the new virtual firewall shall be deployed at B1 position, 
   the NFV-O and NFV-M must now expand the service eastwards. The VNF-M
   does not need to create the ingress and egress virtual link segments
   since these are now pre-existing segments previously created during 
   the service deploy of the anchor VNF. Instead, the VNF-M must create 
   a new B1-C1 virtual link segment and a B1-B2 heartbeat link if 
   necessary, as shown in Figure 6. All subsequent service chain 
   expansions eastwards will repeat the same sequence described here. 

  


Chin                    Expires August 6, 2016                  [Page 8]

Internet-Draft        Model Based Service Chaining      February 3, 2016


    ------------------------------------------------+
                  (anchor)  A1-B1            B1-C1  |
    Ingress  |   +--------+   |   +--------+   |    |
      VL     |---| VNF A1 |---|---| VNF B1 |xx-|    | >>>> service chain
    segment  |   +--------xx+ |   +--------+-+ |    |        expands
   ()--------|          V   | |          V   | |    |
             | service  V   | | service  V   | |    |
       >>>   |  chain   V   | |  chain   V   | |    |  Traffic Flow
             | expands  V   | | expands  V   | |    |    Direction
                 (HA)       |                |      +---------------->>>
    ====================================================================
                                                  Egress VL segment >>>

            Figure 6: Expansion of service chain eastwards


   Similar to the anchor VNF at A1, the VNF-M will attach the new VNF at 
   B1 to three virtual link segments - the new B1-C1 segment and the 
   existing A1-B1 and egress VL segments. If the new VNF require a 
   dedicated heartbeat link for HA purposes, then the VNF-M must create 
   a B1-B2 virtual link for it as well.

   The VNF-M must apply the day-0 configurations to the VNF at B1, and 
   again the VNF-M must put its virtual network interface connected to 
   B1-C1 in the disabled state. After the VNF at B1 has come up online, 
   the NFV-O must do three things.

   Firstly, the NFV-O must apply the necessary day-1 device 
   configurations to the VNF at B1 to effect the new network service. 

   Secondly, it must re-configure the anchor VNF at A1 to activate its 
   virtual network interface connected to A1-B1 and disable its virtual 
   network interface connected to the egress VL segment. 

   Lastly, it must apply any additional device configurations changes
   necessary to the anchor VNF at A1 to effect the new service together 
   with the new VNF at B1.

   Ideally, the NFV-O should be transaction based to track all the 
   service changes it made in a last-in-first-out fashion. For example,
   when the VNF at B1 is deleted the NFV-O can reverse all configuration 
   changes it did to the anchor VNF.









Chin                    Expires August 6, 2016                  [Page 9]

Internet-Draft        Model Based Service Chaining      February 3, 2016


   If another new VNF is required at A2 position for HA purposes, the
   service can expand southwards. In this case, VNF-M does not need to
   create any new virtual link segment but rather, it attaches the new 
   VNF at A2 to the pre-existing virtual link segments previously 
   created by A1 - namely ingress, egress and A1-B1 VL segments. If both 
   VNFs require a dedicated virtual link for heartbeat purposes, then 
   the VNF-M must attach the VNF at A2 to the A1-A2 segment. The NFV-O 
   must apply the day-1 device configurations to the new VNF at A2, 
   and if necessary, apply device configurations changes to the VNF at 
   A1 to activate and synchronize HA services.

   In all scenarios, the NFV-O must wait for the VNF-M to bring up the 
   VNF before it apply any configuration changes to service chain. This 
   allows the service chain to be modified with minimal impact to the 
   network service provided by active VNFs.

   The sequence of steps described here should be repeated when more 
   VNFs are added to the service chain. For example, after A1 and B1
   VNFs are active, a new VNF can now be deployed at either A2, B2, or 
   C1 positions. The dynamic expansion of the service chain can continue 
   until it reaches the "end state" topology, if one is defined. The
   NFV-O or the customer service portal can impose this topological 
   restriction. Figure 7 shows the service chain all six VNFs deployed.



                  (anchor)  A1-B1            B1-C1            C1-D1  ..    
    Ingress  |   +--------+   |   +--------+   |   +--------+   |
       VL    |---| VNF A1 |---|---| VNF B1 |---|---| VNF C1 |---| <- new  
    segment  |   +--------+-+ |   +--------+-+ |   +--------+-+ |   VNFs  
   ()--------|              | |              | |              | |   
             |   +--------+ | |   +--------+ | |   +--------+ | |
       >>>   |---| VNF A2 |-|-|---| VNF B2 |-+-|---| VNF C2 |-|-| <- new
             |   +------+-+ | |   +------+-+ | |   +------+-+ | |   VNFs
                        |   |            |   |            |   | 
    ====================+===+============+===+===============+==========
                                                Egress VL segment  >>>

             Figure 7: Dynamic service chain expansion

  










Chin                    Expires August 6, 2016                 [Page 10]

Internet-Draft        Model Based Service Chaining      February 3, 2016


3. Dependency Relationship in Service Chain

   The model based approach presented in this document establishes
   dependency relationships between VNFs in the service chain topology. 
   The VNF at A1 is the anchor VNF in every service chain, hence all 
   VNFs are dependent on it. What this means is that the NFV-O and VNF-M 
   must not allow the anchor VNF to be deleted before all other VNFs in 
   the service chain are deleted first. And, because our model based 
   approach is designed to expand the service chain eastwards and 
   southwards, every VNF in the service chain topology is dependent on 
   the VNF to its left and on top, if any. For example, the VNF at C1 is 
   dependent on the VNF at B1. Therefore, the VNF at B1 cannot be
   deleted ahead of the VNF at C1. 
   
   For any VNFs in the bottom row, they are only dependent on the VNF in 
   the top most row. For example, the VNF at B1 cannot be deleted ahead
   of any VNFs at B2 or B3. Figure 8 shows the dependency relationships 
   between the VNFs based on the original example shown in Figure 2.


                  (anchor)  A1-B1            B1-C1            C1-D1     
    Ingress  |   +--------+   <<  +--------+   <<  +--------+   |
      VL     |---| VNF A1 |---|---| VNF B1 |---|---| VNF C1 |---| 
    segment  |   +--------+-+ |   +--------+-+ |   +--------+-+ | 
   ()--------|       ^^   | | |       ^^   | | |       ^^   | | |  .....
             |   +--------+ | |   +--------+ | |   +--------+ | |
       >>>   |---| VNF A2 |-|-|---| VNF B2 |-+-|---| VNF C2 |-|-| 
             |   +------+-+ | |   +------+-+ | |   +------+-+ | |
                        |   |            |   |            |   | 
    ====================+===+============+===+================+=========
                                                   Egress VL segment >>>
    << and ^^ are dependency                             

             Figure 7: Dependency Relationships


4. Service Chain Rollback

   The NFV-O and VNF-M must support the reversal of the service chain by 
   observing the dependency relationships between the VNFs. When a VNF 
   is deleted in the service chain, the NFV-O must not only instruct the 
   VNF-M to terminate the virtual instance, but it must reverse any 
   configuration changes it previously made in the service chain. For 
   example, when the VNF at C1 is deleted, the NFV-O must now ensure 
   user traffic will exit via the VNF at B1 instead. 






Chin                    Expires August 6, 2016                 [Page 11]

Internet-Draft        Model Based Service Chaining      February 3, 2016


5. Caveats

   The hierarchical model based approach presented in this document 
   allows a NFV service chain to be dynamically expanded and contracted.
   However, due to the dependency relationships established by VNFs in 
   the model, there are two caveats we should be aware of. 

   Firstly, if the user requests to replace the anchor VNF with an 
   entirely different type of virtual device, then the NFV-O and VNF-M 
   have to unprovision the entire service chain and re-deploy the anchor 
   VNF in the VIM, then expand the service chain with the rest of the 
   VNFs.
 
   Secondly, the NFV-O must not allow a particular VNF which is depended 
   upon by another VNF to be deleted. For example, we cannot delete a
   VNF at B1 while keeping the VNF at C1.

   In both scenarios above, the NFV-O and VNF-M have to delete the 
   existing service chain and re-deploy it.


6. IANA Considerations

   This draft does not have any IANA considerations.

7. Security Considerations

   This draft does not have any Security considerations.

8.  Informative References

   [1] "OpenStack," http://www.openstack.org/

   [2] "OpenStack Neutron," https://wiki.openstack.org/wiki/Neutron

   [3] "Virtual Router Redundancy Protocol (VRRP) Version 3 for IPv4 and
       IPv6," https://tools.ietf.org/html/rfc5798"

   [4] ETSI GS NFV 002 v1.2.1 (2014-12): "Network Function
   Virtualisation (NFV); Architectural Framework,"
   http://www.etsi.org/deliver/etsi_gs/NFV/001_099/002/
   01.02.01_60/gs_nfv002v010201p.pdf

   [5] ETSI GS NFV 004 v1.1.1 (2013-10): "Network Function
   Virtualisation (NFV); Virtualization Requirements,"
   http://www.etsi.org/deliver/etsi_gs/NFV/001_099/004/01.01.01_60/
   gs_NFV004v010101p.pdf




Chin                    Expires August 6, 2016                 [Page 12]

Internet-Draft        Model Based Service Chaining      February 3, 2016


   [6] ETSI GS NFV-INF 001 v.1.1.1 (2015-01): "Network Function
   Virtualisation (NFV); Infrastructure Overview,"
   http://www.etsi.org/deliver/etsi_gs/NFV-
   INF/001_099/001/01.01.01_60/gs_NFV-INF001v010101p.pdf


Authors' Addresses

   Jonathan Chin
   Cisco Systems
   8 Changi Business Park Avenue 1
   #05-51, UE BizHub East
   Singapore 486018

   Phone: +65 9479-0029
   Email: jonachin@cisco.com

   

































Chin                    Expires August 6, 2016                 [Page 13]