You are on page 1of 25

S05-Network Functions Virtualisation: Architecture

Curso 2022-23

Redes Software
Grados familia Ing. Telecomunicación

Departamento de Ingeniería Telemática

Pedro A. Aranda Gutiérrez – Carlos Jesús Bernardos Cano


Universidad Carlos III de Madrid
paranda@it.uc3m.es , cjbc@it.uc3m.es

Materials taken from the SDN-NFV Master program @ UC3M

1 / 49

Outline

1 Introduction

2 The VNF in the NFV architecture

3 VNF Design Patterns

4 VNF Properties

5 Attributes describing VNF’s Requirements: the VNFD

6 VNF States and Transitions

2 / 49
Outline

1 Introduction

2 The VNF in the NFV architecture

3 VNF Design Patterns

4 VNF Properties

5 Attributes describing VNF’s Requirements: the VNFD

6 VNF States and Transitions

3 / 49

The course outline

• PART I: Introduction
• PART II: Virtualisation
• PART III: Network Function Virtualisation
▶ Introduction and motivation
▶ NFV architecture
▶ VNF software architecture
• PART IV: Software Defined Networks

4 / 49
Useful references
• “Foundations of Modern Networking: SDN, NFV, QoE
, IoT, and Cloud,” William Stallings, Addison-Wesley
Professional, 1st edition, 2015
▶ Book available online at UC3M’s library

• “Network Function Virtualisation,” Ken E. Gray and


Thomas D. Nadeau, Morgan Kaufmann, 2016
▶ Book available online at UC3M’s library

5 / 49

Outline

1 Introduction

2 The VNF in the NFV architecture

3 VNF Design Patterns

4 VNF Properties

5 Attributes describing VNF’s Requirements: the VNFD

6 VNF States and Transitions

6 / 49
The VNF in the NFV software architecture
Let’s talk about virtualizing network functions

• We know already some of the concepts behind NFV


• But, when it’s time to design a network service composed of Virtualised Network Functions (VNFs),
how do we do it?
▶ What is the NFV software architecture?
Software architectures describe the functionality of software systems from the viewpoints of various stakeholders
In NFV: Service Provider, Network Operator, and Manufacturer
▶ Some aspects have to be considered/covered
Function and interfaces with the NFV architecture
Support of MANO and NFV Infrastructure (NFVI) requirements
Best practices for NFV design
• ETSI GS NFV-SWA 001: “Virtual Network Functions Architecture”

7 / 49

VNF in the NFV architecture

• A Virtualised Network Function (VNF) is a functional element of the NFV architecture framework
NFV Management and Orchestration
On-Ma-nfvo NFV
OSS/BSS
Orchestrator
On-Vnfm
Ve-Vnfm-em
EM1 EM2 EM3 EM4 VNF Service, VNF and
VNF
VNF
Manager(s) Infrastructure
Ve-Vnfm-vnf
Manager(s)
Manager(s)
VNF1 VNF2 VNF3 VNF4 Description

Vn-Nf Vn-Nf Vn-Nf Vn-Nf

NFVI
Vi-Vnfm
Virtual Virtual Virtual
Computing Storage Network

Virtualisation Layer
Virtualised
Virtualised
Vi-Ha
Virtualised
Nf-Vi Infrastructure
Infrastructure Or-Vi
Infrastructure
Hardware resources Manager(s)
Manager(s)
Manager(s)
Computing Storage Network
Hardware Hardware Hardware

• A network service is a composition of network functions, in the form of network functions sets and/or
network forwarding graphs

8 / 49
VNF in the NFV architecture VNF architecture
• A VNF is a Network Function capable of running on an NFVI and being orchestrated by a NFV
Orchestrator (NFVO) and VNF Manager (VNFM)
▶ It has well-defined interfaces to other Network Functions (NFs) via SWA1, the VNFM, its Element
Manager (EM), and the NFVI and a well-defined functional behaviour

EM

SWA4
VNF
SWA-2
VNFM
VNFC VNFC
SWA-1 SWA-3
Ve-Vnfm-vnf
Vn-Vf Vn-Vf
SWA-5 SWA-5
NFVI

9 / 49

VNF in the NFV architecture VNF architecture


• A VNF may implement a single Network Entity (NE) while another VNF may implement groups of
network entities
▶ Interfaces and behaviour of the NE is defined by standardization organizations (e.g., 3GPP or IETF)
• VNF Providers
▶ Structure the software providing the VNF into software components ( implementation view )
Called VNF Components (VNFCs)
Discussion: how does a VNF provider structure a VNF?
▶ Package those components into one or more images ( deployment view )
• VNFs are implemented with one or more VNFCs

10 / 49
VNF in the NFV architecture VNF architecture
Putting together all the relevant terms. . .

• VNF: abstract entity that allows the software contract to be defined


• VNF Instance: runtime instantiation of the VNF
• VNFC: VNF Provider’s specific component of a VNF
• VNFC Instances (VNFCIs): executing constituents which make up a VNF Instance
• Virtualisation Deployment Unit (VDU): it is a construct supporting the description of the deployment
and operational behaviour of a VNFC
▶ A VNFC instance created based on the VDU maps to a single virtualisation container (e.g. a VM)

11 / 49

VNF in the NFV architecture VNF architecture


How is a network function defined by a VNF instantiated?
• The VNFM createa one or more VNFCIs
▶ Each VNFCI is in its own virtualization container
▶ These VNFCIs provide the functionality of the VNF, and expose whatever interfaces are provided by that
VNF
• The requirements for initial deployment state are described in the VNF Descriptor (VNFD)
▶ including the connections between VNFCIs internal to the VNF (not visible to external entities at the VNF
level)
▶ Post-deployment operation capabilities (e.g., migration of the Virtual Machines (VMs) containing VNFCIs,
scale up/down/in/out, etc.) also described in the VNFD
▶ Each VNF has exactly one associated VNFD

12 / 49
VNF in the NFV architecture VNF architecture
• The goal of NFV: decouple key network capabilities from the infrastructure as VNFs
▶ So VNFs can scale when necessary
• Network capabilities need to be well understood, defined, and catalogued for proper inclusion in
service orchestrations
• Two factors need to be taken into account
▶ Functionality: commonly acceptable functionality is either defined or described in the industry (e.g. 3GPP
MME)
▶ Atomicity: has to be guaranteed to ensure that it can be developed, tested and deployed as a separate
VNF

13 / 49

VNF in the NFV architecture: VNF interfaces

• 5 types of interfaces relevant to the VNF software architecture: SWA-1 to SWA-5


NFV Management and Orchestration
On-Ma-nfvo NFV
OSS/BSS
Orchestrator
On-Vnfm
Ve-Vnfm-em
EM1 EM2 EM3 EM4 VNF Service, VNF and
VNF
VNF
SWA-4 Manager(s) Infrastructure
Ve-Vnfm-vnf
Manager(s)
Manager(s)
VNF1SWA-1VNF2 VNF3 VNF4 SWA-3 Description

Vn-Nf Vn-Nf Vn-Nf SWA-2


Vn-Nf

NFVI
Vi-Vnfm
Virtual Virtual Virtual
Computing Storage Network

Virtualisation Layer
Virtualised
Virtualised
Vi-Ha SWA-5 Virtualised
Nf-Vi Infrastructure
Infrastructure Or-Vi
Infrastructure
Hardware resources Manager(s)
Manager(s)
Manager(s)
Computing Storage Network
Hardware Hardware Hardware

14 / 49
VNF in the NFV architecture: VNF interfaces
Os-Ma-nfvo
OSS/BSS NFVO

Or-Vnfm
Vi-Vnfm-em
EM VNFM

SWA-4 VNF SWA-3


SWA-1 Ve-Vnfm-vnf Or-Vi
VNF
SWA-2 Vi-Vnfm

VNFC VNFC
SWA-5 SWA-5
Vn-Nf Separate instances
Vn-Nf
Separate containers
2 SWA-5 i/f
Nf-Vi

NFVI VIM

15 / 49

VNF in the NFV architecture: VNF interfaces


VNF interfaces:SWA-1

• Enables communication between various network functions within the


same or different network service VNF
• May represent data and/or control plane interfaces of the network
functions (VNF, Physical Network Function (PNF))
• A VNF may support more than one SWA-1 VNF PNF
• The VNFD should provide sufficient information about the SWA-1
supported by the VNF to determine compatibility with VNFs obtained End
from different VNF Providers Point

16 / 49
VNF in the NFV architecture
VNF interfaces: SWA-2
• VNF internal interface, e.g., VNFC to VNFC
• Defined by VNF Providers, vendor-specific
• Typically place performance (e.g., capacity, latency, etc.) requirements on the underlying virtualized
infrastructure, but are not visible from the perspective of a VNF user
• SWA-2 interfaces leverage underlying communication mechanisms implemented over the NFV
Infrastructure
▶ If deployed on the same host, other technologies may be used (e.g., serial bus or shared memory)

17 / 49

VNF in the NFV architecture: VNF interfaces


VNF interfaces: SWA-3 and SWA-4
• SWA-3
▶ Interfaces the VNF with the NFV Management and Network Operation (MANO), specifically with the
VNFM
The Management Interfaces are used to perform the life cycle management (e.g. instantiation, scaling, etc.) of
one or more VNFs
SWA-3 interfaces may use IP/L2 connectivity
• SWA-4
▶ Used by the EM to communicate with a VNF.
▶ Used for the runtime management of the VNF according to the Fulfilment, Assurance, and Billing (FAB)
and FCAPS network management models and frameworks

18 / 49
VNF in the NFV architecture
VNF interfaces: SWA-5
• VNF-NFVI interface
▶ It is a set of interfaces that exist between each VNF and the underlying NFVI
▶ Different types of VNFs exist, as well as collections of VNFs
Each of these relies on a potentially different set of NFVI resources provided at the SWA-5 interface
▶ This interface provides access to a virtualized slice of the NFVI resources allocated to the VNF
Thus, the SWA-5 interface describes the execution environment for a deployable instance of a VNF

19 / 49

Outline

1 Introduction

2 The VNF in the NFV architecture

3 VNF Design Patterns

4 VNF Properties

5 Attributes describing VNF’s Requirements: the VNFD

6 VNF States and Transitions

20 / 49
VNF Design Patterns
VNF Internal Structure
• VNF = 1 or more VNFC
▶ A VNFC is a software entity deployed in a virtualization container
▶ VNFCs of a VNF are connected in a graph
• The same VNF may be realized differently by each VNF Provider

VNF1

VNF1 VNFC2

VNFC1
VNFC1 VNFC3

VNF with a single component VNF with mulitple components

21 / 49

VNF Design Patterns


VNF Instantiation
• Each VNFC of a VNF is either parallelizable or non-parallelizable
▶ If parallelizable, it may be instantiated multiple times per VNF Instance, but there may be a constraint on
the minimum and maximum number of parallel instances
▶ If non-parallelizable, it shall be instantiated exactly once per VNF Instance

VNF1 VNF1

VNFC1 VNFC1
VNFC1
VNFC1

non-parallelisable VNF parallelisable VNF

22 / 49
VNF Design Patterns
VNF States
• Each VNFC of a VNF may need to handle state information
▶ A VNFC that does not have to handle state information is a stateless VNFC
▶ A VNFC that needs to handle state information may be implemented either as a stateful VNFC or as a
stateless VNFC with external state (state data is held in a data repository external to the VNFC)

VNF1 VNF1 VNF1

VNFC1 VNFC1
VNFC1
S S S

stateless VNF stateful VNF VNF w/ external state

23 / 49

VNF Design Patterns


The 4 VNF Load Balancing Models: VNF-internal Load Balancer (LB)

• VNF instance seen as 1 logical NF by a Peer NF


• The VNF has at least one VNFC that can be replicated and an internal load balancer (which is also a
VNFC)
▶ The VNFM instantiates the LB
• Examples: VNF Provider specific implementation of a scalable NF

Peer VNF VNF 1

VNFC
LB VNFC 1
VNFC3 2
(VNFC) VNFC
VNFC5 4

24 / 49
VNF Design Patterns:
VNF Load Balancing Models: VNF-external LB
• N VNF Instances seen as 1 logical NF by a Peer NF
▶ VNFs may be of different VNF Providers, e.g. to increase resilience
• There is a load balancer external to the VNF (which may be a VNF itself)
▶ The NFVO may instantiate the VNF multiple times and add a LB (V)NF
• Example: Direct Server Return (DSR) in front of a web-server

VNF 3 VNFC
VNFC
VNFC
3
12

Peer NF LB(VNF)
VNF 2 VNFC
VNFC
VNFC
LB 3
12

VNF 1 VNFC
VNFC
VNFC
VNF External Load Balancer 3
12

25 / 49

VNF Design Patterns:


VNF Load Balancing Models: End-to-End Load Balancing
• N VNF instances seen as N logical NFs by a Peer NF
▶ VNFs may be of different VNF Providers, e.g. to increase resilience
• The Peer NF itself contains load balancing functionality
• The NFVO may instantiate multiple VNFs, but does not instantiate a LB

VNF 3 VNFC
VNFC
VNFC
3
12

Peer NF
VNF 2 VNFC
VNFC
VNFC
3
12

VNF 1 VNFC
VNFC
VNFC
VNF E2E Load Balancing 3
12

26 / 49
VNF Design Patterns:
VNF Load Balancing Models: Infrastructure Network Load Balancer
• VNF instances seen as one logical NF by a Peer NF
▶ VNFs may be of different VNF Providers, e.g. to increase resilience
• The load balancer is provided by the NFVI
▶ The NFVO instantiates the VNF multiple times and configure a load balancer in the NFVI
• Example: NFVI providing load balancing for several Firewall instances

VNF 3 VNFC
VNFC
VNFC
3
12

Peer NF LB VNF 2 VNFC


LB VNFC
VNFC
(Infrastructure) 3
12

VNF 1 VNFC
VNFC
VNFC
VNF External Load Balancer in the NFVI 3
12

27 / 49

VNF Design Patterns:


The 3 VNF Scaling Models: Auto scaling

• For example, based on monitoring of resource utilization of the VNF’s VMs, upon events received
from the VNF, the EM, the VIM, or locally generated
• The VNFM triggers the scaling of VNF according to the rules in the VNFD
▶ Both scale out/in and scale up/down may be supported

VNF
VNFC
VNF Manager VNFC
VNFC3
2
1

Autoscaling triggered by the VNF

28 / 49
VNF Design Patterns:
VNF Scaling Models: On-demand scaling (from VNF or EM)
• A VNF Instance or its EM monitors the states o the VNFC Instances and trigger a scaling operation to
the VNFM
▶ Through a explicit operation to add or remove VNFC instances (scale out/in) or to increase or decrease
resources of one of more VNFC instances (scale up/down)

EM

VNF
VNFC
VNF Manager VNFC
VNFC3
2
1

On-demand scaling

29 / 49

VNF Design Patterns:


VNF Scaling Models: Scaling based on a management request

• Manually triggered scaling (e.g. by NOC operators),


• or OSS/BSS triggered scaling according to the rules in the VNFD by issuing requests to the NFVO via
an appropriate interface
• Both scale out/in and scale up/down may be supported

Manual
request NFVO

VNF
VNFC
VNF Manager VNFC
VNFC3
2
1

Scaling based on management request

30 / 49
VNF Design Patterns:
VNF Update and Upgrade
• As any other product, a VNF requires
▶ Updates. A VNF update does not introduce new functionality and/or new interfaces
can be deployed without coordination with other VNFs participating in the same VNFFG
▶ Upgrades. A VNF upgrade might introduce new functionality and/or new interfaces
may require planning on network service level
• Updates and Upgrades pose requirements for VNF Providers
▶ Provision of automatic procedures to execute the VNF Instance update/upgrade as part of the VNF
Package
Controlling the progress of the process (including requests of virtual resources from the NFV MANO)
Supporting the roll-back (including returning the obtained resources)

31 / 49

Outline

1 Introduction

2 The VNF in the NFV architecture

3 VNF Design Patterns

4 VNF Properties

5 Attributes describing VNF’s Requirements: the VNFD

6 VNF States and Transitions

32 / 49
VNF Properties
• Some properties are reflected in the descriptor made available to MANO functions
▶ others mentioned to understand the SW architecture
• Hardware Independence
▶ COTS-Ready
Fully independent from the infrastructure
Example: session controllers
▶ Partly Commercial off-the-shelf (COTS)-Ready
Some VNFCs can run only on specific HW, while others can run on any HW
Example: Multimedia Resource Function Processor
▶ Hardware dependent
Requires a specified type of hardware for all its components (it’s a PNF!)
Example: some DPI implementations

33 / 49

VNF Properties
Virtualization and Container Awareness
• Hypervisor agnostic
▶ the NF can run on different hypervisors, even on native hardware
• Hypervisor dependent
▶ the NF implementation is dependent on the virtual machine/hypervisor environment it is running in
• Operating System Containers
▶ the NF software is designed for use with OS container
• Higher layer container technologies
▶ the NF software is able to run on some higher layer container technology such as Java virtual machines
• Not virtualized and no container technology
▶ it’s a PNF!
• Partly virtualized
▶ some components of the NF can be virtualized, some may be virtualization aware, some not virtualized

34 / 49
VNF Properties
• Elasticity
▶ No elasticity
The VNF requires a fixed set of resources that cannot be changed
▶ Elasticity by scaling up/down only
The NFV framework can increase or decrease the size, performance or bandwidth of the virtual resources
▶ Elasticity by scaling out/in only
The VNF is able to perform scaling operations by separately adding/removing instances of specified VNFCs
▶ Elasticity in either dimension
The VNF has VNFCs that may be scaled out/in, up/down or both
• VNF Policy Management
▶ Fully policy based VNF
▶ Not policy based VNF

35 / 49

VNF Properties
Migration operations
• No live migration supported
▶ The VNF does not support that its resources are migrated
• Live migration supported
▶ The VNF allows its resources to be migrated to different NFVI resources using hypervisor technology
• Migration partially supported
▶ Some VNFC support migration while others do not
• Other migration mechanisms
▶ The VNF allows other mechanisms (e.g. shutdown and restart on different hardware) to change the
resource assignments dynamically
▶ These mechanisms might make use of the VNF’s internal redundancy schemes
Example: VNF using internally 1+1 redundancy (one VNFC active and one in standby)
It is possible to migrate VNFC by shutting down and restarting on a different resource

36 / 49
VNF Properties
• VNF State
▶ Stateful operation
▶ Stateless operation
• VNF Internal Structure
▶ Simple
The VNF contain a single VNFC
▶ Structured
The VNF consists of multiple VNFCs
• Reliability
• Location Awareness

37 / 49

VNF Properties
• Application Management
▶ No management
The VNF does not require management operations during its lifetime
All configuration shall be done during installation
▶ Standardized management interface
The VNF provides a standard management interface to be used by a separate Element Management (EM), or
other OSS/BSS software packages
▶ Proprietary management interface
The VNF provides a non-standard OAM interface to be used by a separate Element Management by the same
VNF Provider
▶ Multiple service providers’ management interfaces

38 / 49
Outline

1 Introduction

2 The VNF in the NFV architecture

3 VNF Design Patterns

4 VNF Properties

5 Attributes describing VNF’s Requirements: the VNFD

6 VNF States and Transitions

39 / 49

Attributes describing
VNF’s Requirements
• VNF Descriptor (VNFD)
▶ Describes the deployment configuration and operational behaviour of a VNF
Deployment behaviour: defines the state and environment for a VNF to be deployed
Deployment flavour
Operational behaviour: defines the needed functions for a VNF to be operated and managed properly
▶ It is a template capturing the general characteristics of each VNF and is used to on-board the VNF
• More details can be found in the specification ETSI GS NFV-IFA 011

40 / 49
Attributes describing
VNF’s Requirements
• The VNFD is composed of the following main information elements groupings
▶ VNF identification data
▶ VNF specific data, such as:
Specific VNF configuration data
Connectivity requirements and inter-dependencies of VNFCs
▶ VNFC data, such as
Virtualization container files/images references
VDU
▶ Virtualized resource requirements, such as
Compute, Storage and Network resources

41 / 49

Attributes describing
VNF’s Requirements
• Deployment Behaviour
▶ Virtualization containers
Number of VNFCs required for this VNFs instantiation, including the corresponding Virtualization container
files/images references
▶ NFVI Resources
▶ Components and Relationship
▶ Location
E.g., there might be a constraint for redundancy that dictates how many instances of a VNF can be collocated in
the same location
▶ Other constraints
For example, regarding degree of isolation
• Operational Behaviour
▶ Management Operations

42 / 49
Outline

1 Introduction

2 The VNF in the NFV architecture

3 VNF Design Patterns

4 VNF Properties

5 Attributes describing VNF’s Requirements: the VNFD

6 VNF States and Transitions

43 / 49

VNF States and Transitions


• A number of generic internal states represent the status of the VNF
▶ Before a VNF can start its lifecycle, it has to be on-boarded
On-boarding: process of registering the VNF with the NFVO and uploading the VNF data (VNFD, SW images,
etc )
On-boarding is the responsibility of NFVO

State Description
Null A VNF Instance does not exist and is about to be cre-
ated
Instantiated Not Configured VNF Instance does exist but is not configured for ser-
vice
Instantiated Configured - In- A VNF Instance is configured for service
active
Instantiated Configured - Ac- A VNF Instance that participates in service
tive
Terminated A VNF Instance has ceased to exist

44 / 49
VNF States and Transitions - II
VNF State Transition Diagram
Configure
Configure/
Upgrade/
Upgrade/
Update/
Instantiated Instantiated Update/
roll-back/
Not configured Configured roll-back/
scale(in,out,
scale(in,out,
up,down)
up,down)
Reset

Terminate Terminate
Instantiate

Start

Null
Terminated Inactive Active

Stop

45 / 49

VNF States and Transitions


The VNFD’s role in VNF instantiation
• VNF Descriptor = specification template provided by the VNF Provider for describing virtual resource
requirements of a VNF
▶ Used by the MANO functions to determine how to execute VNF lifecycle operations (such as instantiation)
▶ Besides resource requirements, a VNFD also contains unambiguous references to VNF binaries, scripts,
configuration data, etc., necessary for the MANO functions to configure the VNF properly
▶ The requirements for the NFVI resources (e.g. connectivity requirements, bandwidth, latency, etc.) are
also present in the VNFD

46 / 49
VNF States and Transitions
The VNFD’s role in VNF instantiation

VNFCA VM1 NFVI


VNFD • VNFCA bins, • 2 cores,
etc, 2G RAM VM1a VM1b
• OS1 • n vETH
VNF
• VM1 • ...
• 2 x
VNFCB VM2
VNFCA
• VNFCB bins, • 4 cores,
• 1 x
etc, 8G RAM VM2
VNFB
• OS2 • n vETH
• 1 x
• VM2 • ...
VNFC
VNFCC VM3
• VNFFG
• VNFCC bins, • 1 cores, 1G
etc, RAM VM3
• OS3 • n vETH
• VM3 • ...

47 / 49

Demo!

OSM in action

48 / 49
Demo environment NFV Management and Orchestration
On-Ma-nfvo NFV
OSS/BSS
Orchestrator
On-Vnfm
Ve-Vnfm-em
EM1 EM2 EM3 EM4 VNF Service, VNF and
VNF
VNF
Manager(s) Infrastructure
Ve-Vnfm-vnf
Manager(s)
Manager(s)
VNF1 VNF2 VNF3 VNF4 Description

Vn-Nf Vn-Nf Vn-Nf Vn-Nf OSM12


NFVI
Vi-Vnfm
Virtual Virtual Virtual
Computing Storage Network
Docker
Virtualisation Layer
Virtualised
Virtualised
Vi-Ha
Virtualised
Nf-Vi Infrastructure
Infrastructure Or-Vi
Infrastructure
Hardware resources Manager(s)
Manager(s)
Manager(s)
Computing Storage Network
Hardware Hardware Hardware

minivim
49 / 49

You might also like