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]