SlideShare a Scribd company logo
1 of 29
Download to read offline
Control of Communication and Energy Networks
Master Degree in Engineering in Computer Science
Service Function Chaining
in
Network Function Virtualization
Author:
Biagio Botticelli 1212666
January 5, 2017
Contents
1 Introduction 4
2 Network Function Virtualization (NFV) 5
2.1 Design and Architectural Framework for NFV . . . . . . . . . . . . . . . . . . . . . . 7
3 Service Function Chaining (SFC) 9
3.1 Service Function Chains as Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4 Service Function Chaining in Network Function Virtualization 11
4.1 Genetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4.2 Proposed Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.1 Generation of Initial Population . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.2 Computation of Fitness Function . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.2.3 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2.4 Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
4.2.5 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5 Results Analysis 18
5.1 Experimental Environment Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.2 Performance Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2.1 Fitness Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.2.2 Fitness Change by Number of Repetitions . . . . . . . . . . . . . . . . . . . . 19
6 Conclusion 21
7 Appendix: Glossary 22
1 Introduction
Today’s networks are formed by a huge variety of existing Network Elements (NEs): PCs,
Laptops, DSL modems, Ethernet switches, Hubs, Proxies, IP routers, Firewalls, etc...
and newer and more complex ones are being created all the time.
In this environment, building new services is becoming increasingly difficult and costly.
To launch a new network service often requires a newer component or an upgrade to an existing
one and to find the space where to install it and power to accommodate it; compounded by the
cost due to the proprietary nature of hardware appliances and the costs of energy, and the lack of
skilled professional figures which are able to design, integrate and operate increasingly complex
hardware-based applications.
Moreover, hardware-based applications rapidly reach end of life and require much effort for the:
procure → design → integrate → deploy
control cycle to be repeated with little or no revenue benefit.
In practice:
there is a fundamental disconnection between software and networking
Network Functions Virtualization (NFV) was recently proposed to alleviate these problems,
along with another emerging technology called Software Defined Networking (SDN).
4
2 Network Function Virtualization (NFV)
In the current environment of network infrastrucures, telecommunications and networking software
is being run on four types of platforms:
1. Industry standard Linux or Windows servers;
2. Virtual applications running over hypervisors[7] on industry standard servers;
3. Commercial Off-The-Shelf (COTS)[7] blades integrated in network elements;
4. Proprietary hardware appliances.
Analyzing this context, the telecommunications providers tried to find a technique that could greatly
simplify their services and operations and that could reduce the total cost.
The solution is Network Function Virtualization.
Basic Idea:
In this environment, the available network functions could be seen as virtual appliances.
So, they could be virtualized using hypervisors and they could be easily provided and inte-
grated regardless of the vendor of the appliance or the hypervisors on which they run.
Observation:
Many, but NOT all network elements can be replaced by a software running on a Virtual Machine.
For example: switches, routers, NATs, firewalls, IDS, etc. are network elements which data
rates are not too high, so they are all good candidates that could be replaced by a virtual resource.
Virtualizing Network Functions could potentially offer many benefits including:
• to create fully software implementation for functionalities:
– Time reduction for development and deployment cycles;
– Opening up the R&D Market[7];
5
• to use standard COTS hardware[7] (such as high volume servers and storage):
– Reduction of CAPEX[7];
– Reduction of OPEX[7];
• to improve the available types of devices:
– Reduction of Power Consumption;
• to concentrate network functions in Data Centers or Points Of Presence (POPs)[7]:
– Gain further Economies of Scale;
– Enabling rapid Scale-Up[7] and Scale-Down[7];
Physical layer functions (e.g: Software Defined Radio) are NOT ideal candidates that could
be replaced by virtualization[7].
High data-rate (core) network elements also are NOT ideal candidates for virtualization and
they will probably remain in dedicated hardware.
So NFV implements a lower cost agile network infrastructure that can potentially bring
several benefits to network carriers, dramatically changing the landscape of the telecommunica-
tions industry.
To leverage these benefits, there are a number of technical challenges which need to be faced:
• Achieving high performance virtualized network appliances which are portable between
different hardwares and hypervisors[7];
• Achieving co-existence with specific hardware-based network platforms while enabling an
efficient migration path from proprietary physical appliances to open standard fully virtual-
ized network platforms which reuse the existing network operator’s Operation and Business
Support Systems (OSS[7], BSS[7]) and Element and Network Management Systems
(EMS[7], NMS[7]);
• Managing and orchestrating many virtual network appliances while ensuring security from
attacks and misconfiguration;
• NFV will scale only if all of the functions can be automated;
• Ensuring the appropriate level of resilience to hardware and software failures;
• Integrating multiple virtual appliances from different vendors.
Network operators need to create an heterogeneous environment formed by hardwares, hypervi-
sors and virtual appliances from differenr vendors without incurring in expensive integration
costs and avoiding lock-in.
6
2.1 Design and Architectural Framework for NFV
Virtualization provides us the opportunity for a flexible software design: NFV allows to inte-
grate the existing networking services (supported by different network functions based on a static
connection), into a more dynamical scheme which would facilitate the creation and manage-
ment of network applications.
The NFV introduces three major differences from the current context:
1. Separation between software and hardware:
This enables the software to evolve independently from the hardware, and vice versa.
2. Flexible deployment of network functions:
NFV can automatically deploy softwares that act as network functions on a set of hardware
resources which may run different functions at different times in different data centers.
3. Dynamic service provisioning:
Network operators can scale the NFV performance dynamically according to specific requests
with a very accurate control based on the current conditions of the network.
The the high-level architectural framework of NFV is:
Its four major functional blocks are:
• Orchestrator (VNFO): The Orchestrator is the responsible for the management and
coordination of software resources and the virtualized hardware infrastructure to realize
networking services.
7
It performs orchestration at resource level and service level:
– Resource Level: the Orchestrator coordinates, authorizes, releases and engages
NFV Infrastructures (NFVI) resources among different Points Of Presence (POPs)
[7] or within one PoP.
The interaction with the NFVI resources is made using the north bound APIs of
Virtualized Infrastructure Managers (VIMs) instead of engaging with the NFVI
resources directly;
– Service Level: the Orchestrator creates end-to-end service between different Vir-
tualized Network Functions (VNFs).
It creates this service by coordinating with the respective VNF Managers (VNFMs);
so it does NOT need to talk to VNFs directly.
The Topology Management of the network services instances (also called VNF For-
warding Graphs) is another job of the VNFO at this level.
• VNF Manager (VNFM): The VNF Manager is in charge of the instantiation, termina-
tion, scaling and update events during the lifecycle of a VNF instance which are installed
on the Virtual Machines (VMs) that the Virtualized Infrastructure Manager (VIM)
creates and manages;
Observation:
There may be multiple VNFMs managing separate VNFs or there may be one VNFM man-
aging multiple VNFs;
• Virtualization Layer: The Virtualization Layer abstracts the physical resources and
links the VNFs to the virtualized infrastructure.
It ensures that the VNF lifecycle is independent from the underlying hardware platforms
by offering standardized interfaces.
This type of functionality is typically provided in the forms of VMs and their hypervisors[7].
• Virtualized Infrastructure Manager (VIM): The Virtualized Infrastructure Man-
ager is used to virtualize and manage the configurable resources (computing, network,
storage) from physical ones in an NFVI domain and control their interaction with VNFs.
It allocates Virtual Machines onto hypervisors and manages their network connectivity.
It also keeps inventory of VMs associated with physical resources for capacity planning and
optimization, it does performance and fault management and it keeps north bound
APIs exposing physical and virtual resources to other management systems;
Observation:
There may be multiple VIMs in an NFV architecture, each managing its respective NFV
Infrastructure;
As we can see, the two major enablers of NFV are industry-standard servers and technologies
developed for cloud computing. In standard servers is easy to find interchangeable components with
more competitive price with respect to network appliances based on dedicated Application Specific
Integrated Circuits (ASICs). Using these general purpose servers can also reduce the number of
different hardware architectures in operators’ networks and extend the lifecycle of hardware when
technologies evolve (e.g., running different software versions on the same platform).
8
3 Service Function Chaining (SFC)
The delivery of end-to-end services in traditional networks often requires various service functions.
These could include traditional ones, such as routers, switches, firewalls and IP Network
Address Translators (NATs), as well as application-specific functions.
The definition and instantiation of an ordered set of service functions and subsequent control of
traffic through them is called Service Function Chaining (SFC)[7].
The NFV Orchestrator does the topology management of the network by means of the so called
VNF Forwarding Graphs (VNF-FG): the VNF Forwarding Graph allows virtual appli-
ances to be chained together in a flexible manner:
The flow originating from endpoint A passes through a network monitoring VNF, a load balancing
VNF, and eventually a firewall VNF before arriving at destination point B.
So, in the NFV context, an end-to-end service is built from a set of cooperating virtualized ap-
plications interconnected by network functions in a VNF Forwarding Graph and could be seen as a
Service Function Chaining.
Now, supposing that there is the following SFC:
in which traffic A is classified as SFC1 by a traffic classifier and that SFC1 consists in:
Firewall → Intrusion Detection System → Load Balancer → Deep Packet Inspection
In this case there are four possible different paths to deliver these network services.
9
The path is called the Service Function Path (SFP)[7] and the Service Function Forwarder
(SFF)[7] is the component that is responsible for sends packets to the next Service Function
(SF)[7] from the previous one.
Since many Service Function Paths exist for the Service Function Chain, the selection must be
made considering which SFP provides well-balanced computing resources (CPU and memory).
To determine the Optimal Path is an extremely difficult task: there are multiple different VNFs
and we must consider as many constraints as they are the resources that we want to balance.
This optimization is known as an NP-Hard[7]
Optimization Problem[7]
.
3.1 Service Function Chains as Graphs
Service Function Chaining enables the creation of composite network services that consist of
an ordered set of Service Functions (SFs[7]) that must be applied to packets, frames and flows
selected as a result of a classification.
Each SF is referenced using an identifier that is unique within an SF-enabled domain.
SFC describes a method for deploying SFs in a way that enables dynamic ordering and topo-
logical independence of those SFs as well as the exchange of metadata between entities.
At a high level, an SFC is an abstracted view of a service that specifies the set of required SFs as
well as the order in which they must be executed.
An SFC can be represented as a Directed Graph in which, each node n represents the existence
of at least one SF and each edge e =< n1, n2 > represents the link that goes from the node n1
to the node n2.
A graph node (SF) n can be part of zero, one, or many SFCs and can appear one time or multiple
times in a given SFC. An SFCs can start from the origin point of the service function graph,
or from any subsequent node in the graph and it can have more than one terminus.
SFs may therefore become branching nodes in the graph, with those SFs selecting edges that
move traffic to one or more branches.
The top and the middle graph represent the case of branching nodes: after SF2 an event could
occur and a new graph could be selected (i.e., SF3 instead of SF6).
The bottom graph highlights the concept of a cycle: a given SF can be visited more than once
within a given Service Chain (i.e., SF2, SF4 and SF7).
10
4 Service Function Chaining in Network Function Virtualization
Since many SFPs[7] exist for each SFC, the selection of the optimal SFP must be determined
considering the CPU and Memory resoruces.
An optimization problem[7] with multiple constraints is known as an NP-Hard[7] problem.
The proposed approach to face the problem is an algorithm to determine using Genetic Al-
gorithms, an SFP where the physical machines in the network environment are well balanced.
4.1 Genetic Algorithm
Genetic Algorithms are the heuristic search and optimization techniques developed by John
Holland in 1975 as a calculation model based on the simulation of the process of natural evolution.
Example:
Giraffes have long necks. This long necks may be the effect of an initial mutation. However, as
it was an improvement for the species, this was propagated over the generations by evolution.
• Giraffes with longer necks could feed
on leaves of higher branches.
⇒ Better chance of survival.
• Favorable characteristic propagated
through new generations.
⇒ Select the Best, discard the rest.
• Evolved species has long necks.
Thus, Genetic Algorithms implement the optimization strategies by simulating selection
and evolution of species through mutation to produce several solutions to a given problem.
The most common type of genetic algorithm operates with the generation of an initial population,
an evaluation of the population, a selection of two individuals based on their fitness, a crossover
and a mutation. This continues until a proper solution has been determined or a predefined number
of generations have passed.
• Generation: the initial population is randomly created with a group of individuals.
• Evaluation: the individuals in the population are evaluated by a fitness function.
• Selection: two individuals are then selected based on their fitness. An individual with a
high fitness value will have a high probability of being selected.
• Crossover & Mutation: two selected individuals reproduce to create one or more offspring
through a mutation process.
11
The algorithm can be summarized as:
Algorithm 1 Simple Genetic Algorithm
1: function sga()
2: Initialize the Population;
3: Calculate the Fitness Function;
4: while Fitness Value = Termination Criteria do
5: Selection;
6: Crossover;
7: Mutation;
8: Calculate the Fitness Function;
9: end while
and can be represented by the following diagram:
12
4.2 Proposed Approach
The proposed approach to apply SFC to NFV follows the steps described before:
4.2.1 Generation of Initial Population
The configuration of initial population is the same of enumerating the configuration of a Service
Function Path (SFP)[7] that satisfies the required Service Function Chain (SFC).
So, appropriate number of solutions (chromosomes) in a population is in the range from 100 to
300, since each chromosome can be seen as a point in the search space of candidate solutions.
A chromosome can be represented as:
There are two initialization methods for initializing the population:
• Random: the chromosomes (i.e. solutions) of the search space are randomly chosen;
• Detective: the chromosomes of the search space are chosen after a detection phase of
the feasible solutions for the problem;
According to the nature of the problem, the configuration of the initial population is made by the
detective approach.
The size of the population must be carefully chosen: obviously, larger would be the population,
easier will be to find a good quality solution in it. But a larger population also implies an
increasing complexity. So, the size of population must be determined considering storage size
and calculating complexity of the problem.
Further, it is necessary to consider the constraint of representing a solution in binary to encoding
the actual network environment.
4.2.2 Computation of Fitness Function
After the initial population is created, the fitness of the individuals must be evaluated.
This is an evaluation process to validate whether a fitness value is appropriate for the problem.
The fitness function F is defined using the total of remaining CPU and remaining Memory
amounts after using the i − th SF[7] and SFF[7]. The sum of these amounts is divided by a variable
L, used to consider the Load Balance. The value of L is given by the number of occurrences of
the same SFFs in a given SFP[7].
Example:
A Service Function Path is described by:
SFF1 −→ FW −→ SFF1 −→ IDS −→ SFF1 −→ DPI
all types of traffic are transmitted through SFF1.
In this case, the load is not well distributed and the physical machine hosting SFF1 will experience
an excessive load.
13
The Fitness Function can be expressed as:
Fi =
CPUunused + MEMunused
L
where:
CPUunused =
k
n=1
CPUunused SFFn + CPUrequested SFn
MEMunused =
k
n=1
MEMunused SFFn + MEMrequested SFn
and:
• k: number of used SFs[7];
• SFPi: ith SFP[7];
• CPUunused: Total Remaining Cpu amount of the ithSFPi ;
• CPUunused SFFn : Remaining Cpu amount of the nthSFF in the ithSFPi ;
• CPUrequested SFn : Requested Cpu amount of the nthSF in the ithSFPi ;
• MEMunused: Total Remaining Memory amount of the ithSFPi ;
• MEMunused SFFn : Remaining Memory amount of the nthSFF in the ithSFPi ;
• MEMrequested SFn : Requested Memory amount of the nthSF in the ithSFPi ;
When the result of CPUunused +MEMunused is high, it has a greater probability of being selected
because it has high fitness; however, it is divided by the variable L to adjust the fitness to resolve
the Load Balancing problem described in the previous Example.
When the result of the Fitness Function F is large, the solution is considered as an appropriate
solution for the problem.
4.2.3 Selection
The selection is the process that determines which solutions must be preserved in the population
and allowed to reproduce to create the offspring for the next generation and which ones deserve to
discard.
The primary objective of the selection operator is to emphasize the good solutions and eliminate
the bad ones in a population while keeping the population size constant.
Select the Best, discard the rest
Selection Pressure has to be balanced: too strong selection means that individuals with high
fitness value will take over the population, reducing the diversity needed for further evolution;
too weak selection will result in too slow evolution.
14
Many selection schemes have been proposed in the Genetic Algorithm literature. The most
common ones are:
• Rank-based Selection: the individuals in the population are ranked in increasing order of
fitness (from 1 to N), and the expected value of each individual depends on its rank, rather
than on its absolute fitness.
Rank-based method chooses the two individuals with the highest rank.
• Tournament Selection: Rank Selection requires sorting the entire population by rank.
It’s a expensive time-consuming procedure.
Tournament Selection is similar to rank-based one in terms of selection pressure, but it is
computationally more efficient: It runs several tournaments to select the winners.
The individuals for the tournament are chosen at random from the population. A random
number r is then chosen (between 0 and 1). Now, having k as a parameter (e.g. k = 0, 75):
– If r < k: the fitter of the two individuals is selected to be a parent;
– Otherwise: the less fit individual is selected.
The winner of each tournament or the individual with the highest fitness is selected for
crossover. The two individuals are then returned to the original population and can be
selected again.
The weak individuals have a smaller chance to be selected If tournament size is large.
• Roulette Selection: the most common method is the roulette wheel.
Roulette Selection assigns to each individual a slice of a roulette wheel. The size of the
slice is proportional to the individual’s fitness.
The wheel is turned N times, where N is the number of individuals in the population.
On each spin, the selected individual is inserted in the set of parents for the next generation.
The better chromosomes have a more chance to be selected.
Our approach applies the Roulette Selection method: since the size of sections of the Roulette
is given by the fitness value of the individuals, the chromosome with largest section has the high-
est probability to be pointed by the Roulette at the end of the run.
However, it is not possible to determine where the Roulette will stop.
So, it is necessary to calculate the fitness ratio Pi for the section of the ith selected individual:
Pi =
Fi
n
i=1
Fi
where n is the number of chromosomes in the population.
15
4.2.4 Crossover
The crossover operator is used to create new solutions from the existing ones that are available in
the search space after applying selection operator. This operator exchanges the gene information
between the solutions. Each individual (chromosome) consists of genes (e.g. bits). Each gene
is an instance of a particular allele (e.g. 0 or 1).
The selection operator chooses those chromosomes in the population that will be allowed to
reproduce, and on average the fitter chromosomes produce more offspring than the less fit
ones. Crossover exchanges subparts of two chromosomes, imitating biological recombination be-
tween two single-chromosome organisms (haploid). It randomly chooses a breaking point and
exchanges the sub-sequences of genes before and after this point, between two chromosomes to
create two offspring. This is the One-Point Crossover.
Example: One-Point Crossover
Supposing to have two strings: 10000100 and 11111111.
They could be crossed over after the 3rd allele to produce new offsprings: 10011111 and 11100100.
One-Point Crossover is the simplest and most used method for Genetic Algorithms which op-
erate on binary strings. For other problems or different codings, other crossover methods can be
useful or even necessary. There are:
• N-Point Crossover: Instead of only one, N breaking points are randomly chosen. Every
second section is swapped. In this class, 2-Point Crossover is particularly important.
• Segmented Crossover: Similar to N-Point Crossover with the difference that the
number of breaking points can be variable.
• Uniform Crossover: For each position, it is randomly decided if the positions are swapped.
• Shuffle Crossover: First a randomly chosen permutation is applied to the two parents,
then N-Point Crossover is applied to the shuffled parents; finally, the shuffled children are
transformed back with the inverse permutation.
A probability of crossover Pc (also called crossover rate) is also introduced in order to give
freedom to an individual solution string to determine whether the solution would go for crossover
or not. If no crossover takes place, the two individual strings form two offspring that are exact
copies of their respective parents.
After the Roulette Selection is performed to select the parental genes, our approach applies a
2-Point Crossover method and two cross points are selected randomly to create children genes
for an improved solution.
16
4.2.5 Mutation
Mutation is the last operator of genetic algorithms: it’s a random deformation of the genetic
information of a chromosome by means of environmental influences. In reality, the probability that
a certain gene is mutated is almost equal for all genes.
So, the mutation technique for a given binary string s, with PM that is the probability that a
single gene is modified:
Algorithm 2 Mutation
1: function mutation()
2: for i ← 0 to n do
3: if Random[0, 1] < PM then
4: Invert s[i];
5: end if
6: end for
Observation:
PM should be rather low in order to avoid that the GA behaves chaotically like a random search.
Mutation is the occasional introduction of new features in solution strings of the population pool
to maintain diversity in the search space.
Together with Crossover, they have the main responsibility to search for the optimal solution.
Mutation is what prevents the loss of diversity at a given bit position: without mutation, every
string in the population might come to have a 1 at the 1st bit position and there would be no way
to obtain a new string beginning with a 0.
Mutation assures that this fixaxion will never happen: it randomly changes some of the bits in a
chromosome from 1 to 0 (or vice versa) , with a mutation probability PM (also called Mutation
Rate). After Mutation, the resulting chromosomes are placed in the new population.
Example:
The string s = 00000100 might be mutated in its 2nd position generating: s = 01000100.
Observation:
Mutation can occur at each bit position in a string with probability rate PM (usually, PM ≤ 0.01).
There are different Mutation techniques that could be chosen according of nature of the problem:
• Inversion of single bits: one randomly chosen bit is negated with probability PM ;
• Bitwise Inversion: the whole string is inverted bit by bit with probability PM .
• Random Selection: the string is replaced by a randomly chosen one with probability PM .
Our approach mutates the instances of SFF or SF randomly executing Mutation with a con-
stant probability rate. If the fitness of the solution resulting from the Mutation is in a optimal
range, the algorithm exits.
17
5 Results Analysis
The environment that was developed for evaluating the simulation of our GA approach in NFV has
a maximum number of Service Functions limited to ten types of SFs[7] and a maximum
number of ten instances that could be created by each SF.
5.1 Experimental Environment Setup
An example of experimental environment consisting of five Service Function Forwarders
and five Service Functions (Firewall , Deep Packet Inspector, Intrusion Prevention
System, Intrusion Detection System, and Load Balancer).
The number of instances in each SFFi is five (FWi, DPIi, IPSi, IDSi, LBi).
The figure and the table above illustrate the environment setup and the requested CPU Per-
centage and Memory Usage for each Service Function instance.
The feasible CPU and memory availability of the initial Service Function Forwarder is 100%.
18
5.2 Performance Analysis
5.2.1 Fitness Values
The figure indicates the fitness values of chromosomes in the population.
SFC1 is formed by three Service Functions, while SFC2 is formed by five SFs and SFC3 is
formed by seven SFs.
Conclusion:
More are the Service Functions that form the single Service Function Chain SFCi, higher
is the probability that a chromosome in the search space has an higher finess value.
5.2.2 Fitness Change by Number of Repetitions
Service Function Chain SFC1
The figure displays the fitness values after Selection (a), Crossover (b), and Mutation (c)
computation on SFC1, which consisted of three SFs.
Conclusion: The fitness value increases as the number of repetitions increases.
19
Service Function Chain SFC2
The figure displays the fitness values after Selection (a), Crossover (b), and Mutation (c)
computation on SFC2, which consisted of five SFs.
Conclusion: The fitness value increases as the number of repetitions reached 200.
However, the middle results are unstable: this is because the lengths of chromosomes are in-
creased to five SFs in SFC2.
The long length of the individual solutions indicates that there are a large number of crossover
and mutation points that could be selected.
Service Function Chain SFC3
The figure displays the fitness values after Selection (a), Crossover (b), and Mutation (c)
computation on SFC3, which consisted of seven SFs.
Conclusion: The fitness value increases as the number of repetitions reached 250.
The trend seen with SFC2 is confirmed: since the lengths of chromosomes in SFC3 are increased
to seven SFs, the length of the individual solutions indicates that there are a larger number of
crossover and mutation points that could be selected.
20
6 Conclusion
The proposed approach gives a method to configure a Service Function Chain using a genetic
algorithm in a network environment where Network Functions Virtualization was applied.
Genetic algorithm is Not appropriate to determine a perfect optimized solution.
However, it is an algorithm that can calculate similar values to the optimized solution with
multiple constraint conditions.
The Virtualized Network Functions are chained to provide a Network Service.
Since there are multiple VNFs, the selection of the VNF influenced the performances of each phys-
ical machine. The proposed approach consideres each Cpu and Memory usage.
The results confirm that the proposed approach provides a path that is well-balancing the com-
puting resources.
21
7 Appendix: Glossary
Virtualization
Virtualization refers to the creation of a virtual version of a resource such as a server, desktop,
operating system, file, storage or network.
It is a means of separating hardware from a single operating system.
The main goal of virtualization is to manage workloads by radically transforming traditional com-
puting to make it more scalable.
Hypervisor
Virtualization allows multiple OS instances to run concurrently on a single computer (host).
Each guest Operating System is managed by a Virtual Machine Monitor (VMM), also known
as hypervisor. Because the virtualization system sits between the guest and the hardware, it can
control the guests’ use of CPU, memory, and storage.
COTS Hardware
Commercial Off-The-Shelf (COTS) is a term used to describe the purchase of packaged solu-
tions which are then adapted to satisfy the needs of the purchasing organization, rather than the
commissioning of custom made solutions.
The use of COTS has been chosen by many government and business programs, as such products
may offer significant savings in procurement, development, and maintenance.
CAPEX
Capital Expenditure (CapEx), are funds used by a company to acquire or upgrade physical
assets such as property, industrial buildings or equipment.
Such expenditure is of a non-recurring nature and results in an acquisition of permanent assets.
OPEX
OPEX is the counterpart of CAPEX: an Operational Expenditure is the money that a com-
pany spends on an ongoing day-to-day basis in order to run a business or system.
There is a direct correlation between OPEX and the value of the enterprise: when the OPEX
22
decreases, while maintaining the same level of production and quality, the overall value of the
enterprise increases.
R&D Market
Research and Development (R&D or R+D), also known as Research and Technological
Development (RTD), is a general term for activities in connection with corporate or governmental
innovation. Research and Development is a component of innovation and it is situated at the
front end of the innovation life cycle.
Points Of Presence
A Point of Presence (PoP) is an artificial demarcation point or interface point between commu-
nicating entities. An Internet Point of Presence typically houses servers, routers, network
switches, multiplexers, and other network interface equipment. It is typically located in a data
center. Internet Service Providers (ISPs) typically have multiple PoPs.
Operations Support System
Operations Support System (OSS) is a set of programs that help a communications service
provider to monitor, control, analyze and manage a computer network.
Business Support System
Business Support System (BSS) are the components that a communications service provider
uses to run its business operations towards customers. The role of BSS systems is to cover the
areas of Product, Customer, Revenue, and Order Management.
Together with Operations Support System (OSS), they are used to support various end-to-end
telecommunication services.
Element Management Systems
An Element Management Systems (EMS) consists of systems and applications for manag-
ing network elements (NE) on the Network Element-management Layer (NEL) of the
Telecommunications Management Network (TMN) model.
The EMS’s key functionality is divided into five key areas: fault, configuration, accounting,
performance and security (FCAPS).
Portions of each of the FCAPS functionalities fit into the TMN model: northbound, the EMS
interfaces to Network Management Systems and/or Service Management Systems (de-
pending on the deployment scenario). Southbound, the EMS talks to the devices.
23
An EMS manages one or more specific types of telecommunications network element: typically,
the EMS manages the functions and capabilities within each NE but does not manage the traffic
between different NEs in the network.
Network Management Systems
A Network Management Systems (NMS) is an application (or set of applications) that lets
network administrators manage network independent components inside a bigger network
management framework.
NMS may be used to monitor both software and hardware components in a network: it usually
records data from a remote point of the network to carry out reporting to a system administrator.
The key benefit to NMS is that it allows users to monitor or manage their business operations
using a central computer.
Scale-Up
Scalability is a desirable property of a system, a network, or a process, which indicates its ability
to handle growing amounts of work in a graceful manner. Scale-Up (Scale Vertically) means to
run the application on a stronger computer.
+ Pros: straightforward solution that does Not demand a change in the architecture. It just
requires a stronger computer.
- Cons: Costly and Not an infinite solution. Big computers are expensive and there is a physical
limitation to the computing power and memory you can have in a single computer.
Scale-Down
Scale-Down is the counterpart of Scale-Up: Scale-Down (Scale Horizontally) means to run
the application on many regular computers.
+ Pros: It offers infinite scalability: to support more users you just have to add more low cost
computers to your server farms.
- Cons: It is Not a straightforward solution: the developer needs to design, architect and develop
the application to be ready to scale-out.
24
Service Function Chain
A Service Function Chain (SFC) defines an ordered (or partially ordered) set of abstract
service functions (SFs) and ordering constraints that must be applied to packets, frames and
flows. An example of an abstract service function SF is a firewall.
Service Function
A Service Function (SF) is a function that is responsible for specific work on received packets.
A SF can act at various layers of a protocol stack (e.g. network layer). As a logical component, a
SF can be realized as a virtual element or be embedded in a physical network element.
Multiple occurrences of the same service function can exist in the same domain.
Service Function Forwarder
A Service Function Forwarder (SFF) is the responsible for forwarding traffic to one or
more connected service functions SFs according to information carried in the Service Function
Chain SFC. An SFF is responsible for delivering and transporting traffic to another SFF (in the
same or different type of overlay) and for terminating the Service Function Path (SFP).
Service Function Path
The Service Function Path (SFP): is a constrained specification of where packets assigned to
a certain SFP must go. It may be so constrained to identify the exact locations, but it can also be
less specific. The SFP provides a level of indirection between the fully abstract notion of service
chain (as a sequence of abstract SFs to be delivered), and the fully specified notion of exactly which
SFF/SFs will be visited by the packet it traverses the network.
By allowing the control components to specify this level of indirection, the operator may control
the degree of SFF/SF selection authority delegated to the network.
25
NP-Hardness
NP-hardness (Non-deterministic Polynomial-time Hard) is a class of problems that are
at least as hard as the hardest problems in NP.
More precisely, a problem H is NP-hard when every problem L ∈ NP can be reduced in poly-
nomial time to H. So, assuming a solution for H takes a unit of time, we can use the solution
found for H to solve L in polynomial time.
Consequence ⇒ If P = NP, Then NP-hard problems cannot be solved in polynomial time.
Given a Decision Problem (problem with a Yes or No answer), the Complexity Classes are:
• P: it is a complexity class that represents the set of All decision problems that can be solved
in polynomial time. That is, given an instance of the problem, the answer Yes or No can
be decided in polynomial time.
Example:
Given a connected graph G, can its vertices be coloured using two colours so that no edge is
monochromatic?
Algoritm:
Start with an arbitrary vertex, color it red and all of its neighbors blue and continue.
Stop when the vertices are finished or an edge have both of its endpoints be the same color.
• NP: it is a complexity class that represents the set of All decision problems for which the
instances where the answer is Yes have proofs that can be verified in polynomial time.
This means that if someone gives us an instance of the problem and a certificate (also called
witness) to a Yes answer, we can check that it is correct in polynomial time.
Example:
Integer Factorization ∈ NP: given two integers n and m, is there an integer f with:
1 < f < m, such that f divides n (f is a small factor of n)?
This is a decision problem since the answers are Yes or No.
Given an instance of the problem with n, m and f integers, with 1 < f < m, and knowing
that f is a factor of n (the certificate), we can check the answer in polynomial time by
performing the division n/f.
• NP-Complete: it is a complexity class which represents the set of All problems X ∈ NP
for which it is possible to reduce any other NP problem Y to X in polynomial time.
Since Y is reducible to X, If there is a polynomial time algorithm f to transform instances
y of Y to instances x = f(y) of X in polynomial time, Then the answer to y is Yes
If and Only If also the answer to f(y) is Yes.
Example:
3-Sat ∈ NP-Complete: given a boolean expression formed by a conjunction (And) of
3-clause disjunctions (Or) of the form:
B = x1 ∨ x2 ∨ x3 ∧ x4 ∨ x5 ∨ x6
This boolean expression in 3-SAT form 2 clauses, each clause contains of 3 literals.
The question is the same of Satisfiability: are there values x1, . . . , x6 that make B True?
The Cook’s theorem shows that every NP problem can be reduced to 3-SAT.
26
NP-Complete problems are important because if a deterministic polynomial time algorithm
would be found to solve one of them, every NP problem would be solvable in polynomial
time (one problem to rule them all).
• NP-Hard: a problem X is NP-hard, if there is an NP-Complete problem Y , such that
Y is reducible to X in polynomial time.
But since any NP-Complete problem can be reduced to any other NP-complete problem
in polynomial time, then All NP-complete problems can be reduced to any NP-hard
problem in polynomial time.
So, If there is a solution to one NP-hard problem in polynomial time, Then there is a
solution to All NP problems in polynomial time.
Example:
The Halting Problem ∈ NP-Hard: given a program P and an input I, will P halt?
This is a decision problem but it is Not in NP.
Thus, any NP-Complete problem can be reduced to Halting Problem (NP-hard).
Optimization Problem
An Optimization Problem is the problem of finding the best solution (with regard of some
criterion) from the set of all feasible solutions (also called, search space).
An optimization problem can be defined as a finite set of variables, where the correct values for
the variables specify the optimal solution.
27
References
[1] B.Han, V.Gopalakrishnan, L.Ji and S.Lee.
Network Functions Virtualization: Challenges and Opportunities for Innovations..
[2] M. Chiosi.
Network Functions Virtualization: An Introduction, Benefits, Enablers, Challenges and Call
for Action.
[3] ETSI GS NFV 001.
Network Functions Virtualization (NFV): Use Cases.
[4] ETSI GS NFV 002.
Network Functions Virtualization (NFV): Architectural Framework.
[5] ETSI GS NFV 003.
Network Functions Virtualization (NFV): Terminology for Main Concepts in NFV.
[6] ETSI GS NFV 004.
Network Functions Virtualization (NFV): Virtualization Requirements.
[7] Jim Metzler, Ashton Metzler.
The 2015 Guide to SDN and NFV.
[8] Y.J. Stein.
SDN, NFV and all that.
[9] M. Ghaznavi, N. Shahriar, R. Ahmed, R. Boutaba
Service Function Chaining Simplified.
[10] J. Halpern, C. Pignataro.
Service Function Chaining (SFC) Architecture.
[11] P. Quinn, T. Nadeau.
Service Function Chaining problem statement.
[12] D.E.Goldberg.
Genetic Algorithm in Search, Optimization and Machine Learning.
[13] Ulrich Bodenhofer.
Genetic Algorithms: Theory and Applications.
[14] D.A. Coley.
An Introduction to Genetic Algorithms.
[15] M. Mitchell.
An Introduction to Genetic Algorithms.
[16] Wikipedia Site.
https://en.wikipedia.org/wiki/Main_Page
28

More Related Content

What's hot

IRJET- Consensus Mechanism on Secure Challenges in Blockchain Networks
IRJET-  	  Consensus Mechanism on Secure Challenges in Blockchain NetworksIRJET-  	  Consensus Mechanism on Secure Challenges in Blockchain Networks
IRJET- Consensus Mechanism on Secure Challenges in Blockchain NetworksIRJET Journal
 
IRJET- An Approach to Authenticating Devise in IoT using Blockchain
IRJET-  	  An Approach to Authenticating Devise in IoT using BlockchainIRJET-  	  An Approach to Authenticating Devise in IoT using Blockchain
IRJET- An Approach to Authenticating Devise in IoT using BlockchainIRJET Journal
 
IRJET- Blockchain for Large-Scale Internet of Things Data Storage and Protection
IRJET- Blockchain for Large-Scale Internet of Things Data Storage and ProtectionIRJET- Blockchain for Large-Scale Internet of Things Data Storage and Protection
IRJET- Blockchain for Large-Scale Internet of Things Data Storage and ProtectionIRJET Journal
 
The Blockchain Wave in 2019 and Beyond
The Blockchain Wave in 2019 and BeyondThe Blockchain Wave in 2019 and Beyond
The Blockchain Wave in 2019 and BeyondAhmed Banafa
 
Understanding blockchaintechnology
Understanding blockchaintechnologyUnderstanding blockchaintechnology
Understanding blockchaintechnologySubhashKumar329
 
Blockchain based Security Architectures - A Review
Blockchain based Security Architectures - A ReviewBlockchain based Security Architectures - A Review
Blockchain based Security Architectures - A ReviewGokul Alex
 
Applicability of Machine learning in computer networks
Applicability of Machine learning in computer networksApplicability of Machine learning in computer networks
Applicability of Machine learning in computer networksChetan Kumar S
 
IRJET- A Survey on IoT Reference Architecture with Block Chain for Automatic ...
IRJET- A Survey on IoT Reference Architecture with Block Chain for Automatic ...IRJET- A Survey on IoT Reference Architecture with Block Chain for Automatic ...
IRJET- A Survey on IoT Reference Architecture with Block Chain for Automatic ...IRJET Journal
 
IRJET-Block Chain based Cyber Security System for Data Transfer
IRJET-Block Chain based Cyber Security System for Data TransferIRJET-Block Chain based Cyber Security System for Data Transfer
IRJET-Block Chain based Cyber Security System for Data TransferIRJET Journal
 
Identity based Encryption Utilizing Revocable Capacity of Distributed Computi...
Identity based Encryption Utilizing Revocable Capacity of Distributed Computi...Identity based Encryption Utilizing Revocable Capacity of Distributed Computi...
Identity based Encryption Utilizing Revocable Capacity of Distributed Computi...ijtsrd
 
Smart city landscape
Smart city landscapeSmart city landscape
Smart city landscapeSamir SEHIL
 
Bring Your Own Internet of Things: BYO‐IoT
Bring Your Own Internet of Things: BYO‐IoTBring Your Own Internet of Things: BYO‐IoT
Bring Your Own Internet of Things: BYO‐IoTPriyanka Aash
 
The future of data security and blockchain
The future of data security and blockchainThe future of data security and blockchain
The future of data security and blockchainUlf Mattsson
 
Permissioned v. Permissionless Blockchain 10XTS
Permissioned v. Permissionless Blockchain 10XTSPermissioned v. Permissionless Blockchain 10XTS
Permissioned v. Permissionless Blockchain 10XTSJohn Bentley, II
 
Does the Convergence of the Blockchain, the Internet of Things and Artificial...
Does the Convergence of the Blockchain, the Internet of Things and Artificial...Does the Convergence of the Blockchain, the Internet of Things and Artificial...
Does the Convergence of the Blockchain, the Internet of Things and Artificial...eraser Juan José Calderón
 
Applications of Blockchains in the Internet of Things: A Comprehensive Survey
Applications of Blockchains in the Internet of Things: A Comprehensive SurveyApplications of Blockchains in the Internet of Things: A Comprehensive Survey
Applications of Blockchains in the Internet of Things: A Comprehensive SurveyDavid Bess
 
Cost effective authentic and anonymous data sharing with forward security
Cost effective authentic and anonymous data sharing with forward securityCost effective authentic and anonymous data sharing with forward security
Cost effective authentic and anonymous data sharing with forward securityLeMeniz Infotech
 
The Weakest Point of Security in IoT
The Weakest Point of Security in IoTThe Weakest Point of Security in IoT
The Weakest Point of Security in IoTnsangary
 

What's hot (20)

Blockchain for IoT
Blockchain for IoTBlockchain for IoT
Blockchain for IoT
 
IRJET- Consensus Mechanism on Secure Challenges in Blockchain Networks
IRJET-  	  Consensus Mechanism on Secure Challenges in Blockchain NetworksIRJET-  	  Consensus Mechanism on Secure Challenges in Blockchain Networks
IRJET- Consensus Mechanism on Secure Challenges in Blockchain Networks
 
IRJET- An Approach to Authenticating Devise in IoT using Blockchain
IRJET-  	  An Approach to Authenticating Devise in IoT using BlockchainIRJET-  	  An Approach to Authenticating Devise in IoT using Blockchain
IRJET- An Approach to Authenticating Devise in IoT using Blockchain
 
IRJET- Blockchain for Large-Scale Internet of Things Data Storage and Protection
IRJET- Blockchain for Large-Scale Internet of Things Data Storage and ProtectionIRJET- Blockchain for Large-Scale Internet of Things Data Storage and Protection
IRJET- Blockchain for Large-Scale Internet of Things Data Storage and Protection
 
The Blockchain Wave in 2019 and Beyond
The Blockchain Wave in 2019 and BeyondThe Blockchain Wave in 2019 and Beyond
The Blockchain Wave in 2019 and Beyond
 
Understanding blockchaintechnology
Understanding blockchaintechnologyUnderstanding blockchaintechnology
Understanding blockchaintechnology
 
Blockchain based Security Architectures - A Review
Blockchain based Security Architectures - A ReviewBlockchain based Security Architectures - A Review
Blockchain based Security Architectures - A Review
 
Applicability of Machine learning in computer networks
Applicability of Machine learning in computer networksApplicability of Machine learning in computer networks
Applicability of Machine learning in computer networks
 
BaaS for IoT
BaaS for IoTBaaS for IoT
BaaS for IoT
 
IRJET- A Survey on IoT Reference Architecture with Block Chain for Automatic ...
IRJET- A Survey on IoT Reference Architecture with Block Chain for Automatic ...IRJET- A Survey on IoT Reference Architecture with Block Chain for Automatic ...
IRJET- A Survey on IoT Reference Architecture with Block Chain for Automatic ...
 
IRJET-Block Chain based Cyber Security System for Data Transfer
IRJET-Block Chain based Cyber Security System for Data TransferIRJET-Block Chain based Cyber Security System for Data Transfer
IRJET-Block Chain based Cyber Security System for Data Transfer
 
Identity based Encryption Utilizing Revocable Capacity of Distributed Computi...
Identity based Encryption Utilizing Revocable Capacity of Distributed Computi...Identity based Encryption Utilizing Revocable Capacity of Distributed Computi...
Identity based Encryption Utilizing Revocable Capacity of Distributed Computi...
 
Smart city landscape
Smart city landscapeSmart city landscape
Smart city landscape
 
Bring Your Own Internet of Things: BYO‐IoT
Bring Your Own Internet of Things: BYO‐IoTBring Your Own Internet of Things: BYO‐IoT
Bring Your Own Internet of Things: BYO‐IoT
 
The future of data security and blockchain
The future of data security and blockchainThe future of data security and blockchain
The future of data security and blockchain
 
Permissioned v. Permissionless Blockchain 10XTS
Permissioned v. Permissionless Blockchain 10XTSPermissioned v. Permissionless Blockchain 10XTS
Permissioned v. Permissionless Blockchain 10XTS
 
Does the Convergence of the Blockchain, the Internet of Things and Artificial...
Does the Convergence of the Blockchain, the Internet of Things and Artificial...Does the Convergence of the Blockchain, the Internet of Things and Artificial...
Does the Convergence of the Blockchain, the Internet of Things and Artificial...
 
Applications of Blockchains in the Internet of Things: A Comprehensive Survey
Applications of Blockchains in the Internet of Things: A Comprehensive SurveyApplications of Blockchains in the Internet of Things: A Comprehensive Survey
Applications of Blockchains in the Internet of Things: A Comprehensive Survey
 
Cost effective authentic and anonymous data sharing with forward security
Cost effective authentic and anonymous data sharing with forward securityCost effective authentic and anonymous data sharing with forward security
Cost effective authentic and anonymous data sharing with forward security
 
The Weakest Point of Security in IoT
The Weakest Point of Security in IoTThe Weakest Point of Security in IoT
The Weakest Point of Security in IoT
 

Similar to Control of Communication and Energy Networks Final Project - Service Function Chaining in Network Function Virtualization

RIFT.io_and_Intel_Taking_Virtual_Network_Functions_to_Hyperscale
RIFT.io_and_Intel_Taking_Virtual_Network_Functions_to_HyperscaleRIFT.io_and_Intel_Taking_Virtual_Network_Functions_to_Hyperscale
RIFT.io_and_Intel_Taking_Virtual_Network_Functions_to_Hyperscalevibhorrastogi
 
Network function virtualization
Network function virtualizationNetwork function virtualization
Network function virtualizationSatish Chavan
 
Network Function Virtualisation
Network Function VirtualisationNetwork Function Virtualisation
Network Function VirtualisationIJERA Editor
 
Why Network Functions Virtualization sdn?
Why Network Functions Virtualization sdn?Why Network Functions Virtualization sdn?
Why Network Functions Virtualization sdn?idrajeev
 
Telco Cloud - 02. Introduction to NFV - Network Function Virtualization
Telco Cloud - 02. Introduction to NFV - Network Function VirtualizationTelco Cloud - 02. Introduction to NFV - Network Function Virtualization
Telco Cloud - 02. Introduction to NFV - Network Function VirtualizationVikas Shokeen
 
Demystifying Network Function Virtualization (NFV) Service Assurance
Demystifying Network Function Virtualization (NFV) Service AssuranceDemystifying Network Function Virtualization (NFV) Service Assurance
Demystifying Network Function Virtualization (NFV) Service AssuranceZenoss
 
Research Challenges and Opportunities in the Era of the Internet of Everythin...
Research Challenges and Opportunities in the Era of the Internet of Everythin...Research Challenges and Opportunities in the Era of the Internet of Everythin...
Research Challenges and Opportunities in the Era of the Internet of Everythin...Stenio Fernandes
 
Network Function Virtualization : Overview
Network Function Virtualization : OverviewNetwork Function Virtualization : Overview
Network Function Virtualization : Overviewsidneel
 
Network Functions Virtualization Fundamentals
Network Functions Virtualization FundamentalsNetwork Functions Virtualization Fundamentals
Network Functions Virtualization FundamentalsDamien Magoni
 
A Restful Architecture For Web-Based Smart Homes Using Request Queues
A Restful Architecture For Web-Based Smart Homes Using Request QueuesA Restful Architecture For Web-Based Smart Homes Using Request Queues
A Restful Architecture For Web-Based Smart Homes Using Request QueuesBryce Nelson
 
SDN: A New Approach to Networking Technology
SDN: A New Approach to Networking TechnologySDN: A New Approach to Networking Technology
SDN: A New Approach to Networking TechnologyIRJET Journal
 
Whitepaper nfv sdn-available-now
Whitepaper nfv sdn-available-nowWhitepaper nfv sdn-available-now
Whitepaper nfv sdn-available-nowmilao999
 
Mef ce-and-nfv-whitepaper-final-2016-july-27
Mef ce-and-nfv-whitepaper-final-2016-july-27Mef ce-and-nfv-whitepaper-final-2016-july-27
Mef ce-and-nfv-whitepaper-final-2016-july-27Rodolfo Krautheim
 
Network Function Virtualization (NFV) BoF
Network Function Virtualization (NFV) BoFNetwork Function Virtualization (NFV) BoF
Network Function Virtualization (NFV) BoFAPNIC
 
USING SOFTWARE-DEFINED DATA CENTERS TO ENABLE CLOUD BUILDERS
USING SOFTWARE-DEFINED DATA CENTERS TO ENABLE CLOUD BUILDERSUSING SOFTWARE-DEFINED DATA CENTERS TO ENABLE CLOUD BUILDERS
USING SOFTWARE-DEFINED DATA CENTERS TO ENABLE CLOUD BUILDERSJuniper Networks
 
NFV Linaro Connect Keynote
NFV Linaro Connect KeynoteNFV Linaro Connect Keynote
NFV Linaro Connect KeynoteLinaro
 
SECURITY FOR SOFTWARE-DEFINED (CLOUD, SDN AND NFV) INFRASTRUCTURES – ISSUES A...
SECURITY FOR SOFTWARE-DEFINED (CLOUD, SDN AND NFV) INFRASTRUCTURES – ISSUES A...SECURITY FOR SOFTWARE-DEFINED (CLOUD, SDN AND NFV) INFRASTRUCTURES – ISSUES A...
SECURITY FOR SOFTWARE-DEFINED (CLOUD, SDN AND NFV) INFRASTRUCTURES – ISSUES A...csandit
 
NSX Reference Design version 3.0
NSX Reference Design version 3.0NSX Reference Design version 3.0
NSX Reference Design version 3.0Doddi Priyambodo
 
Service provider-considerations
Service provider-considerationsService provider-considerations
Service provider-considerationsWeam Salem
 

Similar to Control of Communication and Energy Networks Final Project - Service Function Chaining in Network Function Virtualization (20)

RIFT.io_and_Intel_Taking_Virtual_Network_Functions_to_Hyperscale
RIFT.io_and_Intel_Taking_Virtual_Network_Functions_to_HyperscaleRIFT.io_and_Intel_Taking_Virtual_Network_Functions_to_Hyperscale
RIFT.io_and_Intel_Taking_Virtual_Network_Functions_to_Hyperscale
 
Network function virtualization
Network function virtualizationNetwork function virtualization
Network function virtualization
 
Network Function Virtualisation
Network Function VirtualisationNetwork Function Virtualisation
Network Function Virtualisation
 
N fv good
N fv goodN fv good
N fv good
 
Why Network Functions Virtualization sdn?
Why Network Functions Virtualization sdn?Why Network Functions Virtualization sdn?
Why Network Functions Virtualization sdn?
 
Telco Cloud - 02. Introduction to NFV - Network Function Virtualization
Telco Cloud - 02. Introduction to NFV - Network Function VirtualizationTelco Cloud - 02. Introduction to NFV - Network Function Virtualization
Telco Cloud - 02. Introduction to NFV - Network Function Virtualization
 
Demystifying Network Function Virtualization (NFV) Service Assurance
Demystifying Network Function Virtualization (NFV) Service AssuranceDemystifying Network Function Virtualization (NFV) Service Assurance
Demystifying Network Function Virtualization (NFV) Service Assurance
 
Research Challenges and Opportunities in the Era of the Internet of Everythin...
Research Challenges and Opportunities in the Era of the Internet of Everythin...Research Challenges and Opportunities in the Era of the Internet of Everythin...
Research Challenges and Opportunities in the Era of the Internet of Everythin...
 
Network Function Virtualization : Overview
Network Function Virtualization : OverviewNetwork Function Virtualization : Overview
Network Function Virtualization : Overview
 
Network Functions Virtualization Fundamentals
Network Functions Virtualization FundamentalsNetwork Functions Virtualization Fundamentals
Network Functions Virtualization Fundamentals
 
A Restful Architecture For Web-Based Smart Homes Using Request Queues
A Restful Architecture For Web-Based Smart Homes Using Request QueuesA Restful Architecture For Web-Based Smart Homes Using Request Queues
A Restful Architecture For Web-Based Smart Homes Using Request Queues
 
SDN: A New Approach to Networking Technology
SDN: A New Approach to Networking TechnologySDN: A New Approach to Networking Technology
SDN: A New Approach to Networking Technology
 
Whitepaper nfv sdn-available-now
Whitepaper nfv sdn-available-nowWhitepaper nfv sdn-available-now
Whitepaper nfv sdn-available-now
 
Mef ce-and-nfv-whitepaper-final-2016-july-27
Mef ce-and-nfv-whitepaper-final-2016-july-27Mef ce-and-nfv-whitepaper-final-2016-july-27
Mef ce-and-nfv-whitepaper-final-2016-july-27
 
Network Function Virtualization (NFV) BoF
Network Function Virtualization (NFV) BoFNetwork Function Virtualization (NFV) BoF
Network Function Virtualization (NFV) BoF
 
USING SOFTWARE-DEFINED DATA CENTERS TO ENABLE CLOUD BUILDERS
USING SOFTWARE-DEFINED DATA CENTERS TO ENABLE CLOUD BUILDERSUSING SOFTWARE-DEFINED DATA CENTERS TO ENABLE CLOUD BUILDERS
USING SOFTWARE-DEFINED DATA CENTERS TO ENABLE CLOUD BUILDERS
 
NFV Linaro Connect Keynote
NFV Linaro Connect KeynoteNFV Linaro Connect Keynote
NFV Linaro Connect Keynote
 
SECURITY FOR SOFTWARE-DEFINED (CLOUD, SDN AND NFV) INFRASTRUCTURES – ISSUES A...
SECURITY FOR SOFTWARE-DEFINED (CLOUD, SDN AND NFV) INFRASTRUCTURES – ISSUES A...SECURITY FOR SOFTWARE-DEFINED (CLOUD, SDN AND NFV) INFRASTRUCTURES – ISSUES A...
SECURITY FOR SOFTWARE-DEFINED (CLOUD, SDN AND NFV) INFRASTRUCTURES – ISSUES A...
 
NSX Reference Design version 3.0
NSX Reference Design version 3.0NSX Reference Design version 3.0
NSX Reference Design version 3.0
 
Service provider-considerations
Service provider-considerationsService provider-considerations
Service provider-considerations
 

More from Biagio Botticelli

IoT Malware Detection through Threshold Random Walks
IoT Malware Detection through Threshold Random WalksIoT Malware Detection through Threshold Random Walks
IoT Malware Detection through Threshold Random WalksBiagio Botticelli
 
System and Enterprise Security Project - Penetration Testing
System and Enterprise Security Project - Penetration TestingSystem and Enterprise Security Project - Penetration Testing
System and Enterprise Security Project - Penetration TestingBiagio Botticelli
 
Web Information Retrieval - Homework 1
Web Information Retrieval - Homework 1Web Information Retrieval - Homework 1
Web Information Retrieval - Homework 1Biagio Botticelli
 
IoT Honeypots: State of the Art
IoT Honeypots: State of the ArtIoT Honeypots: State of the Art
IoT Honeypots: State of the ArtBiagio Botticelli
 
State of the Art: IoT Honeypots
State of the Art: IoT HoneypotsState of the Art: IoT Honeypots
State of the Art: IoT HoneypotsBiagio Botticelli
 
Anonymity in the web based on routing protocols
Anonymity in the web based on routing protocolsAnonymity in the web based on routing protocols
Anonymity in the web based on routing protocolsBiagio Botticelli
 
Anonymity in the Web based on Routing Protocols
Anonymity in the Web based on Routing ProtocolsAnonymity in the Web based on Routing Protocols
Anonymity in the Web based on Routing ProtocolsBiagio Botticelli
 
Smart Team Tracking Project: Group Tracking
Smart Team Tracking Project: Group Tracking Smart Team Tracking Project: Group Tracking
Smart Team Tracking Project: Group Tracking Biagio Botticelli
 
Adafruit Huzzah Esp8266 WiFi Board
Adafruit Huzzah Esp8266 WiFi BoardAdafruit Huzzah Esp8266 WiFi Board
Adafruit Huzzah Esp8266 WiFi BoardBiagio Botticelli
 

More from Biagio Botticelli (9)

IoT Malware Detection through Threshold Random Walks
IoT Malware Detection through Threshold Random WalksIoT Malware Detection through Threshold Random Walks
IoT Malware Detection through Threshold Random Walks
 
System and Enterprise Security Project - Penetration Testing
System and Enterprise Security Project - Penetration TestingSystem and Enterprise Security Project - Penetration Testing
System and Enterprise Security Project - Penetration Testing
 
Web Information Retrieval - Homework 1
Web Information Retrieval - Homework 1Web Information Retrieval - Homework 1
Web Information Retrieval - Homework 1
 
IoT Honeypots: State of the Art
IoT Honeypots: State of the ArtIoT Honeypots: State of the Art
IoT Honeypots: State of the Art
 
State of the Art: IoT Honeypots
State of the Art: IoT HoneypotsState of the Art: IoT Honeypots
State of the Art: IoT Honeypots
 
Anonymity in the web based on routing protocols
Anonymity in the web based on routing protocolsAnonymity in the web based on routing protocols
Anonymity in the web based on routing protocols
 
Anonymity in the Web based on Routing Protocols
Anonymity in the Web based on Routing ProtocolsAnonymity in the Web based on Routing Protocols
Anonymity in the Web based on Routing Protocols
 
Smart Team Tracking Project: Group Tracking
Smart Team Tracking Project: Group Tracking Smart Team Tracking Project: Group Tracking
Smart Team Tracking Project: Group Tracking
 
Adafruit Huzzah Esp8266 WiFi Board
Adafruit Huzzah Esp8266 WiFi BoardAdafruit Huzzah Esp8266 WiFi Board
Adafruit Huzzah Esp8266 WiFi Board
 

Recently uploaded

Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxpurnimasatapathy1234
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escortsranjana rawat
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝soniya singh
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxhumanexperienceaaa
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVRajaP95
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxupamatechverse
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...srsj9000
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSRajkumarAkumalla
 

Recently uploaded (20)

Microscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptxMicroscopic Analysis of Ceramic Materials.pptx
Microscopic Analysis of Ceramic Materials.pptx
 
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Isha Call 7001035870 Meet With Nagpur Escorts
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
Model Call Girl in Narela Delhi reach out to us at 🔝8264348440🔝
 
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(PRIYA) Rajgurunagar Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptxthe ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
the ladakh protest in leh ladakh 2024 sonam wangchuk.pptx
 
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IVHARMONY IN THE NATURE AND EXISTENCE - Unit-IV
HARMONY IN THE NATURE AND EXISTENCE - Unit-IV
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Introduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptxIntroduction to Multiple Access Protocol.pptx
Introduction to Multiple Access Protocol.pptx
 
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur EscortsCall Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
Call Girls Service Nagpur Tanvi Call 7001035870 Meet With Nagpur Escorts
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
Gfe Mayur Vihar Call Girls Service WhatsApp -> 9999965857 Available 24x7 ^ De...
 
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICSHARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
HARDNESS, FRACTURE TOUGHNESS AND STRENGTH OF CERAMICS
 

Control of Communication and Energy Networks Final Project - Service Function Chaining in Network Function Virtualization

  • 1. Control of Communication and Energy Networks Master Degree in Engineering in Computer Science Service Function Chaining in Network Function Virtualization Author: Biagio Botticelli 1212666 January 5, 2017
  • 2.
  • 3. Contents 1 Introduction 4 2 Network Function Virtualization (NFV) 5 2.1 Design and Architectural Framework for NFV . . . . . . . . . . . . . . . . . . . . . . 7 3 Service Function Chaining (SFC) 9 3.1 Service Function Chains as Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4 Service Function Chaining in Network Function Virtualization 11 4.1 Genetic Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.2 Proposed Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2.1 Generation of Initial Population . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2.2 Computation of Fitness Function . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.2.3 Selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 4.2.4 Crossover . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 4.2.5 Mutation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 5 Results Analysis 18 5.1 Experimental Environment Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 5.2 Performance Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.2.1 Fitness Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 5.2.2 Fitness Change by Number of Repetitions . . . . . . . . . . . . . . . . . . . . 19 6 Conclusion 21 7 Appendix: Glossary 22
  • 4.
  • 5. 1 Introduction Today’s networks are formed by a huge variety of existing Network Elements (NEs): PCs, Laptops, DSL modems, Ethernet switches, Hubs, Proxies, IP routers, Firewalls, etc... and newer and more complex ones are being created all the time. In this environment, building new services is becoming increasingly difficult and costly. To launch a new network service often requires a newer component or an upgrade to an existing one and to find the space where to install it and power to accommodate it; compounded by the cost due to the proprietary nature of hardware appliances and the costs of energy, and the lack of skilled professional figures which are able to design, integrate and operate increasingly complex hardware-based applications. Moreover, hardware-based applications rapidly reach end of life and require much effort for the: procure → design → integrate → deploy control cycle to be repeated with little or no revenue benefit. In practice: there is a fundamental disconnection between software and networking Network Functions Virtualization (NFV) was recently proposed to alleviate these problems, along with another emerging technology called Software Defined Networking (SDN). 4
  • 6. 2 Network Function Virtualization (NFV) In the current environment of network infrastrucures, telecommunications and networking software is being run on four types of platforms: 1. Industry standard Linux or Windows servers; 2. Virtual applications running over hypervisors[7] on industry standard servers; 3. Commercial Off-The-Shelf (COTS)[7] blades integrated in network elements; 4. Proprietary hardware appliances. Analyzing this context, the telecommunications providers tried to find a technique that could greatly simplify their services and operations and that could reduce the total cost. The solution is Network Function Virtualization. Basic Idea: In this environment, the available network functions could be seen as virtual appliances. So, they could be virtualized using hypervisors and they could be easily provided and inte- grated regardless of the vendor of the appliance or the hypervisors on which they run. Observation: Many, but NOT all network elements can be replaced by a software running on a Virtual Machine. For example: switches, routers, NATs, firewalls, IDS, etc. are network elements which data rates are not too high, so they are all good candidates that could be replaced by a virtual resource. Virtualizing Network Functions could potentially offer many benefits including: • to create fully software implementation for functionalities: – Time reduction for development and deployment cycles; – Opening up the R&D Market[7]; 5
  • 7. • to use standard COTS hardware[7] (such as high volume servers and storage): – Reduction of CAPEX[7]; – Reduction of OPEX[7]; • to improve the available types of devices: – Reduction of Power Consumption; • to concentrate network functions in Data Centers or Points Of Presence (POPs)[7]: – Gain further Economies of Scale; – Enabling rapid Scale-Up[7] and Scale-Down[7]; Physical layer functions (e.g: Software Defined Radio) are NOT ideal candidates that could be replaced by virtualization[7]. High data-rate (core) network elements also are NOT ideal candidates for virtualization and they will probably remain in dedicated hardware. So NFV implements a lower cost agile network infrastructure that can potentially bring several benefits to network carriers, dramatically changing the landscape of the telecommunica- tions industry. To leverage these benefits, there are a number of technical challenges which need to be faced: • Achieving high performance virtualized network appliances which are portable between different hardwares and hypervisors[7]; • Achieving co-existence with specific hardware-based network platforms while enabling an efficient migration path from proprietary physical appliances to open standard fully virtual- ized network platforms which reuse the existing network operator’s Operation and Business Support Systems (OSS[7], BSS[7]) and Element and Network Management Systems (EMS[7], NMS[7]); • Managing and orchestrating many virtual network appliances while ensuring security from attacks and misconfiguration; • NFV will scale only if all of the functions can be automated; • Ensuring the appropriate level of resilience to hardware and software failures; • Integrating multiple virtual appliances from different vendors. Network operators need to create an heterogeneous environment formed by hardwares, hypervi- sors and virtual appliances from differenr vendors without incurring in expensive integration costs and avoiding lock-in. 6
  • 8. 2.1 Design and Architectural Framework for NFV Virtualization provides us the opportunity for a flexible software design: NFV allows to inte- grate the existing networking services (supported by different network functions based on a static connection), into a more dynamical scheme which would facilitate the creation and manage- ment of network applications. The NFV introduces three major differences from the current context: 1. Separation between software and hardware: This enables the software to evolve independently from the hardware, and vice versa. 2. Flexible deployment of network functions: NFV can automatically deploy softwares that act as network functions on a set of hardware resources which may run different functions at different times in different data centers. 3. Dynamic service provisioning: Network operators can scale the NFV performance dynamically according to specific requests with a very accurate control based on the current conditions of the network. The the high-level architectural framework of NFV is: Its four major functional blocks are: • Orchestrator (VNFO): The Orchestrator is the responsible for the management and coordination of software resources and the virtualized hardware infrastructure to realize networking services. 7
  • 9. It performs orchestration at resource level and service level: – Resource Level: the Orchestrator coordinates, authorizes, releases and engages NFV Infrastructures (NFVI) resources among different Points Of Presence (POPs) [7] or within one PoP. The interaction with the NFVI resources is made using the north bound APIs of Virtualized Infrastructure Managers (VIMs) instead of engaging with the NFVI resources directly; – Service Level: the Orchestrator creates end-to-end service between different Vir- tualized Network Functions (VNFs). It creates this service by coordinating with the respective VNF Managers (VNFMs); so it does NOT need to talk to VNFs directly. The Topology Management of the network services instances (also called VNF For- warding Graphs) is another job of the VNFO at this level. • VNF Manager (VNFM): The VNF Manager is in charge of the instantiation, termina- tion, scaling and update events during the lifecycle of a VNF instance which are installed on the Virtual Machines (VMs) that the Virtualized Infrastructure Manager (VIM) creates and manages; Observation: There may be multiple VNFMs managing separate VNFs or there may be one VNFM man- aging multiple VNFs; • Virtualization Layer: The Virtualization Layer abstracts the physical resources and links the VNFs to the virtualized infrastructure. It ensures that the VNF lifecycle is independent from the underlying hardware platforms by offering standardized interfaces. This type of functionality is typically provided in the forms of VMs and their hypervisors[7]. • Virtualized Infrastructure Manager (VIM): The Virtualized Infrastructure Man- ager is used to virtualize and manage the configurable resources (computing, network, storage) from physical ones in an NFVI domain and control their interaction with VNFs. It allocates Virtual Machines onto hypervisors and manages their network connectivity. It also keeps inventory of VMs associated with physical resources for capacity planning and optimization, it does performance and fault management and it keeps north bound APIs exposing physical and virtual resources to other management systems; Observation: There may be multiple VIMs in an NFV architecture, each managing its respective NFV Infrastructure; As we can see, the two major enablers of NFV are industry-standard servers and technologies developed for cloud computing. In standard servers is easy to find interchangeable components with more competitive price with respect to network appliances based on dedicated Application Specific Integrated Circuits (ASICs). Using these general purpose servers can also reduce the number of different hardware architectures in operators’ networks and extend the lifecycle of hardware when technologies evolve (e.g., running different software versions on the same platform). 8
  • 10. 3 Service Function Chaining (SFC) The delivery of end-to-end services in traditional networks often requires various service functions. These could include traditional ones, such as routers, switches, firewalls and IP Network Address Translators (NATs), as well as application-specific functions. The definition and instantiation of an ordered set of service functions and subsequent control of traffic through them is called Service Function Chaining (SFC)[7]. The NFV Orchestrator does the topology management of the network by means of the so called VNF Forwarding Graphs (VNF-FG): the VNF Forwarding Graph allows virtual appli- ances to be chained together in a flexible manner: The flow originating from endpoint A passes through a network monitoring VNF, a load balancing VNF, and eventually a firewall VNF before arriving at destination point B. So, in the NFV context, an end-to-end service is built from a set of cooperating virtualized ap- plications interconnected by network functions in a VNF Forwarding Graph and could be seen as a Service Function Chaining. Now, supposing that there is the following SFC: in which traffic A is classified as SFC1 by a traffic classifier and that SFC1 consists in: Firewall → Intrusion Detection System → Load Balancer → Deep Packet Inspection In this case there are four possible different paths to deliver these network services. 9
  • 11. The path is called the Service Function Path (SFP)[7] and the Service Function Forwarder (SFF)[7] is the component that is responsible for sends packets to the next Service Function (SF)[7] from the previous one. Since many Service Function Paths exist for the Service Function Chain, the selection must be made considering which SFP provides well-balanced computing resources (CPU and memory). To determine the Optimal Path is an extremely difficult task: there are multiple different VNFs and we must consider as many constraints as they are the resources that we want to balance. This optimization is known as an NP-Hard[7] Optimization Problem[7] . 3.1 Service Function Chains as Graphs Service Function Chaining enables the creation of composite network services that consist of an ordered set of Service Functions (SFs[7]) that must be applied to packets, frames and flows selected as a result of a classification. Each SF is referenced using an identifier that is unique within an SF-enabled domain. SFC describes a method for deploying SFs in a way that enables dynamic ordering and topo- logical independence of those SFs as well as the exchange of metadata between entities. At a high level, an SFC is an abstracted view of a service that specifies the set of required SFs as well as the order in which they must be executed. An SFC can be represented as a Directed Graph in which, each node n represents the existence of at least one SF and each edge e =< n1, n2 > represents the link that goes from the node n1 to the node n2. A graph node (SF) n can be part of zero, one, or many SFCs and can appear one time or multiple times in a given SFC. An SFCs can start from the origin point of the service function graph, or from any subsequent node in the graph and it can have more than one terminus. SFs may therefore become branching nodes in the graph, with those SFs selecting edges that move traffic to one or more branches. The top and the middle graph represent the case of branching nodes: after SF2 an event could occur and a new graph could be selected (i.e., SF3 instead of SF6). The bottom graph highlights the concept of a cycle: a given SF can be visited more than once within a given Service Chain (i.e., SF2, SF4 and SF7). 10
  • 12. 4 Service Function Chaining in Network Function Virtualization Since many SFPs[7] exist for each SFC, the selection of the optimal SFP must be determined considering the CPU and Memory resoruces. An optimization problem[7] with multiple constraints is known as an NP-Hard[7] problem. The proposed approach to face the problem is an algorithm to determine using Genetic Al- gorithms, an SFP where the physical machines in the network environment are well balanced. 4.1 Genetic Algorithm Genetic Algorithms are the heuristic search and optimization techniques developed by John Holland in 1975 as a calculation model based on the simulation of the process of natural evolution. Example: Giraffes have long necks. This long necks may be the effect of an initial mutation. However, as it was an improvement for the species, this was propagated over the generations by evolution. • Giraffes with longer necks could feed on leaves of higher branches. ⇒ Better chance of survival. • Favorable characteristic propagated through new generations. ⇒ Select the Best, discard the rest. • Evolved species has long necks. Thus, Genetic Algorithms implement the optimization strategies by simulating selection and evolution of species through mutation to produce several solutions to a given problem. The most common type of genetic algorithm operates with the generation of an initial population, an evaluation of the population, a selection of two individuals based on their fitness, a crossover and a mutation. This continues until a proper solution has been determined or a predefined number of generations have passed. • Generation: the initial population is randomly created with a group of individuals. • Evaluation: the individuals in the population are evaluated by a fitness function. • Selection: two individuals are then selected based on their fitness. An individual with a high fitness value will have a high probability of being selected. • Crossover & Mutation: two selected individuals reproduce to create one or more offspring through a mutation process. 11
  • 13. The algorithm can be summarized as: Algorithm 1 Simple Genetic Algorithm 1: function sga() 2: Initialize the Population; 3: Calculate the Fitness Function; 4: while Fitness Value = Termination Criteria do 5: Selection; 6: Crossover; 7: Mutation; 8: Calculate the Fitness Function; 9: end while and can be represented by the following diagram: 12
  • 14. 4.2 Proposed Approach The proposed approach to apply SFC to NFV follows the steps described before: 4.2.1 Generation of Initial Population The configuration of initial population is the same of enumerating the configuration of a Service Function Path (SFP)[7] that satisfies the required Service Function Chain (SFC). So, appropriate number of solutions (chromosomes) in a population is in the range from 100 to 300, since each chromosome can be seen as a point in the search space of candidate solutions. A chromosome can be represented as: There are two initialization methods for initializing the population: • Random: the chromosomes (i.e. solutions) of the search space are randomly chosen; • Detective: the chromosomes of the search space are chosen after a detection phase of the feasible solutions for the problem; According to the nature of the problem, the configuration of the initial population is made by the detective approach. The size of the population must be carefully chosen: obviously, larger would be the population, easier will be to find a good quality solution in it. But a larger population also implies an increasing complexity. So, the size of population must be determined considering storage size and calculating complexity of the problem. Further, it is necessary to consider the constraint of representing a solution in binary to encoding the actual network environment. 4.2.2 Computation of Fitness Function After the initial population is created, the fitness of the individuals must be evaluated. This is an evaluation process to validate whether a fitness value is appropriate for the problem. The fitness function F is defined using the total of remaining CPU and remaining Memory amounts after using the i − th SF[7] and SFF[7]. The sum of these amounts is divided by a variable L, used to consider the Load Balance. The value of L is given by the number of occurrences of the same SFFs in a given SFP[7]. Example: A Service Function Path is described by: SFF1 −→ FW −→ SFF1 −→ IDS −→ SFF1 −→ DPI all types of traffic are transmitted through SFF1. In this case, the load is not well distributed and the physical machine hosting SFF1 will experience an excessive load. 13
  • 15. The Fitness Function can be expressed as: Fi = CPUunused + MEMunused L where: CPUunused = k n=1 CPUunused SFFn + CPUrequested SFn MEMunused = k n=1 MEMunused SFFn + MEMrequested SFn and: • k: number of used SFs[7]; • SFPi: ith SFP[7]; • CPUunused: Total Remaining Cpu amount of the ithSFPi ; • CPUunused SFFn : Remaining Cpu amount of the nthSFF in the ithSFPi ; • CPUrequested SFn : Requested Cpu amount of the nthSF in the ithSFPi ; • MEMunused: Total Remaining Memory amount of the ithSFPi ; • MEMunused SFFn : Remaining Memory amount of the nthSFF in the ithSFPi ; • MEMrequested SFn : Requested Memory amount of the nthSF in the ithSFPi ; When the result of CPUunused +MEMunused is high, it has a greater probability of being selected because it has high fitness; however, it is divided by the variable L to adjust the fitness to resolve the Load Balancing problem described in the previous Example. When the result of the Fitness Function F is large, the solution is considered as an appropriate solution for the problem. 4.2.3 Selection The selection is the process that determines which solutions must be preserved in the population and allowed to reproduce to create the offspring for the next generation and which ones deserve to discard. The primary objective of the selection operator is to emphasize the good solutions and eliminate the bad ones in a population while keeping the population size constant. Select the Best, discard the rest Selection Pressure has to be balanced: too strong selection means that individuals with high fitness value will take over the population, reducing the diversity needed for further evolution; too weak selection will result in too slow evolution. 14
  • 16. Many selection schemes have been proposed in the Genetic Algorithm literature. The most common ones are: • Rank-based Selection: the individuals in the population are ranked in increasing order of fitness (from 1 to N), and the expected value of each individual depends on its rank, rather than on its absolute fitness. Rank-based method chooses the two individuals with the highest rank. • Tournament Selection: Rank Selection requires sorting the entire population by rank. It’s a expensive time-consuming procedure. Tournament Selection is similar to rank-based one in terms of selection pressure, but it is computationally more efficient: It runs several tournaments to select the winners. The individuals for the tournament are chosen at random from the population. A random number r is then chosen (between 0 and 1). Now, having k as a parameter (e.g. k = 0, 75): – If r < k: the fitter of the two individuals is selected to be a parent; – Otherwise: the less fit individual is selected. The winner of each tournament or the individual with the highest fitness is selected for crossover. The two individuals are then returned to the original population and can be selected again. The weak individuals have a smaller chance to be selected If tournament size is large. • Roulette Selection: the most common method is the roulette wheel. Roulette Selection assigns to each individual a slice of a roulette wheel. The size of the slice is proportional to the individual’s fitness. The wheel is turned N times, where N is the number of individuals in the population. On each spin, the selected individual is inserted in the set of parents for the next generation. The better chromosomes have a more chance to be selected. Our approach applies the Roulette Selection method: since the size of sections of the Roulette is given by the fitness value of the individuals, the chromosome with largest section has the high- est probability to be pointed by the Roulette at the end of the run. However, it is not possible to determine where the Roulette will stop. So, it is necessary to calculate the fitness ratio Pi for the section of the ith selected individual: Pi = Fi n i=1 Fi where n is the number of chromosomes in the population. 15
  • 17. 4.2.4 Crossover The crossover operator is used to create new solutions from the existing ones that are available in the search space after applying selection operator. This operator exchanges the gene information between the solutions. Each individual (chromosome) consists of genes (e.g. bits). Each gene is an instance of a particular allele (e.g. 0 or 1). The selection operator chooses those chromosomes in the population that will be allowed to reproduce, and on average the fitter chromosomes produce more offspring than the less fit ones. Crossover exchanges subparts of two chromosomes, imitating biological recombination be- tween two single-chromosome organisms (haploid). It randomly chooses a breaking point and exchanges the sub-sequences of genes before and after this point, between two chromosomes to create two offspring. This is the One-Point Crossover. Example: One-Point Crossover Supposing to have two strings: 10000100 and 11111111. They could be crossed over after the 3rd allele to produce new offsprings: 10011111 and 11100100. One-Point Crossover is the simplest and most used method for Genetic Algorithms which op- erate on binary strings. For other problems or different codings, other crossover methods can be useful or even necessary. There are: • N-Point Crossover: Instead of only one, N breaking points are randomly chosen. Every second section is swapped. In this class, 2-Point Crossover is particularly important. • Segmented Crossover: Similar to N-Point Crossover with the difference that the number of breaking points can be variable. • Uniform Crossover: For each position, it is randomly decided if the positions are swapped. • Shuffle Crossover: First a randomly chosen permutation is applied to the two parents, then N-Point Crossover is applied to the shuffled parents; finally, the shuffled children are transformed back with the inverse permutation. A probability of crossover Pc (also called crossover rate) is also introduced in order to give freedom to an individual solution string to determine whether the solution would go for crossover or not. If no crossover takes place, the two individual strings form two offspring that are exact copies of their respective parents. After the Roulette Selection is performed to select the parental genes, our approach applies a 2-Point Crossover method and two cross points are selected randomly to create children genes for an improved solution. 16
  • 18. 4.2.5 Mutation Mutation is the last operator of genetic algorithms: it’s a random deformation of the genetic information of a chromosome by means of environmental influences. In reality, the probability that a certain gene is mutated is almost equal for all genes. So, the mutation technique for a given binary string s, with PM that is the probability that a single gene is modified: Algorithm 2 Mutation 1: function mutation() 2: for i ← 0 to n do 3: if Random[0, 1] < PM then 4: Invert s[i]; 5: end if 6: end for Observation: PM should be rather low in order to avoid that the GA behaves chaotically like a random search. Mutation is the occasional introduction of new features in solution strings of the population pool to maintain diversity in the search space. Together with Crossover, they have the main responsibility to search for the optimal solution. Mutation is what prevents the loss of diversity at a given bit position: without mutation, every string in the population might come to have a 1 at the 1st bit position and there would be no way to obtain a new string beginning with a 0. Mutation assures that this fixaxion will never happen: it randomly changes some of the bits in a chromosome from 1 to 0 (or vice versa) , with a mutation probability PM (also called Mutation Rate). After Mutation, the resulting chromosomes are placed in the new population. Example: The string s = 00000100 might be mutated in its 2nd position generating: s = 01000100. Observation: Mutation can occur at each bit position in a string with probability rate PM (usually, PM ≤ 0.01). There are different Mutation techniques that could be chosen according of nature of the problem: • Inversion of single bits: one randomly chosen bit is negated with probability PM ; • Bitwise Inversion: the whole string is inverted bit by bit with probability PM . • Random Selection: the string is replaced by a randomly chosen one with probability PM . Our approach mutates the instances of SFF or SF randomly executing Mutation with a con- stant probability rate. If the fitness of the solution resulting from the Mutation is in a optimal range, the algorithm exits. 17
  • 19. 5 Results Analysis The environment that was developed for evaluating the simulation of our GA approach in NFV has a maximum number of Service Functions limited to ten types of SFs[7] and a maximum number of ten instances that could be created by each SF. 5.1 Experimental Environment Setup An example of experimental environment consisting of five Service Function Forwarders and five Service Functions (Firewall , Deep Packet Inspector, Intrusion Prevention System, Intrusion Detection System, and Load Balancer). The number of instances in each SFFi is five (FWi, DPIi, IPSi, IDSi, LBi). The figure and the table above illustrate the environment setup and the requested CPU Per- centage and Memory Usage for each Service Function instance. The feasible CPU and memory availability of the initial Service Function Forwarder is 100%. 18
  • 20. 5.2 Performance Analysis 5.2.1 Fitness Values The figure indicates the fitness values of chromosomes in the population. SFC1 is formed by three Service Functions, while SFC2 is formed by five SFs and SFC3 is formed by seven SFs. Conclusion: More are the Service Functions that form the single Service Function Chain SFCi, higher is the probability that a chromosome in the search space has an higher finess value. 5.2.2 Fitness Change by Number of Repetitions Service Function Chain SFC1 The figure displays the fitness values after Selection (a), Crossover (b), and Mutation (c) computation on SFC1, which consisted of three SFs. Conclusion: The fitness value increases as the number of repetitions increases. 19
  • 21. Service Function Chain SFC2 The figure displays the fitness values after Selection (a), Crossover (b), and Mutation (c) computation on SFC2, which consisted of five SFs. Conclusion: The fitness value increases as the number of repetitions reached 200. However, the middle results are unstable: this is because the lengths of chromosomes are in- creased to five SFs in SFC2. The long length of the individual solutions indicates that there are a large number of crossover and mutation points that could be selected. Service Function Chain SFC3 The figure displays the fitness values after Selection (a), Crossover (b), and Mutation (c) computation on SFC3, which consisted of seven SFs. Conclusion: The fitness value increases as the number of repetitions reached 250. The trend seen with SFC2 is confirmed: since the lengths of chromosomes in SFC3 are increased to seven SFs, the length of the individual solutions indicates that there are a larger number of crossover and mutation points that could be selected. 20
  • 22. 6 Conclusion The proposed approach gives a method to configure a Service Function Chain using a genetic algorithm in a network environment where Network Functions Virtualization was applied. Genetic algorithm is Not appropriate to determine a perfect optimized solution. However, it is an algorithm that can calculate similar values to the optimized solution with multiple constraint conditions. The Virtualized Network Functions are chained to provide a Network Service. Since there are multiple VNFs, the selection of the VNF influenced the performances of each phys- ical machine. The proposed approach consideres each Cpu and Memory usage. The results confirm that the proposed approach provides a path that is well-balancing the com- puting resources. 21
  • 23. 7 Appendix: Glossary Virtualization Virtualization refers to the creation of a virtual version of a resource such as a server, desktop, operating system, file, storage or network. It is a means of separating hardware from a single operating system. The main goal of virtualization is to manage workloads by radically transforming traditional com- puting to make it more scalable. Hypervisor Virtualization allows multiple OS instances to run concurrently on a single computer (host). Each guest Operating System is managed by a Virtual Machine Monitor (VMM), also known as hypervisor. Because the virtualization system sits between the guest and the hardware, it can control the guests’ use of CPU, memory, and storage. COTS Hardware Commercial Off-The-Shelf (COTS) is a term used to describe the purchase of packaged solu- tions which are then adapted to satisfy the needs of the purchasing organization, rather than the commissioning of custom made solutions. The use of COTS has been chosen by many government and business programs, as such products may offer significant savings in procurement, development, and maintenance. CAPEX Capital Expenditure (CapEx), are funds used by a company to acquire or upgrade physical assets such as property, industrial buildings or equipment. Such expenditure is of a non-recurring nature and results in an acquisition of permanent assets. OPEX OPEX is the counterpart of CAPEX: an Operational Expenditure is the money that a com- pany spends on an ongoing day-to-day basis in order to run a business or system. There is a direct correlation between OPEX and the value of the enterprise: when the OPEX 22
  • 24. decreases, while maintaining the same level of production and quality, the overall value of the enterprise increases. R&D Market Research and Development (R&D or R+D), also known as Research and Technological Development (RTD), is a general term for activities in connection with corporate or governmental innovation. Research and Development is a component of innovation and it is situated at the front end of the innovation life cycle. Points Of Presence A Point of Presence (PoP) is an artificial demarcation point or interface point between commu- nicating entities. An Internet Point of Presence typically houses servers, routers, network switches, multiplexers, and other network interface equipment. It is typically located in a data center. Internet Service Providers (ISPs) typically have multiple PoPs. Operations Support System Operations Support System (OSS) is a set of programs that help a communications service provider to monitor, control, analyze and manage a computer network. Business Support System Business Support System (BSS) are the components that a communications service provider uses to run its business operations towards customers. The role of BSS systems is to cover the areas of Product, Customer, Revenue, and Order Management. Together with Operations Support System (OSS), they are used to support various end-to-end telecommunication services. Element Management Systems An Element Management Systems (EMS) consists of systems and applications for manag- ing network elements (NE) on the Network Element-management Layer (NEL) of the Telecommunications Management Network (TMN) model. The EMS’s key functionality is divided into five key areas: fault, configuration, accounting, performance and security (FCAPS). Portions of each of the FCAPS functionalities fit into the TMN model: northbound, the EMS interfaces to Network Management Systems and/or Service Management Systems (de- pending on the deployment scenario). Southbound, the EMS talks to the devices. 23
  • 25. An EMS manages one or more specific types of telecommunications network element: typically, the EMS manages the functions and capabilities within each NE but does not manage the traffic between different NEs in the network. Network Management Systems A Network Management Systems (NMS) is an application (or set of applications) that lets network administrators manage network independent components inside a bigger network management framework. NMS may be used to monitor both software and hardware components in a network: it usually records data from a remote point of the network to carry out reporting to a system administrator. The key benefit to NMS is that it allows users to monitor or manage their business operations using a central computer. Scale-Up Scalability is a desirable property of a system, a network, or a process, which indicates its ability to handle growing amounts of work in a graceful manner. Scale-Up (Scale Vertically) means to run the application on a stronger computer. + Pros: straightforward solution that does Not demand a change in the architecture. It just requires a stronger computer. - Cons: Costly and Not an infinite solution. Big computers are expensive and there is a physical limitation to the computing power and memory you can have in a single computer. Scale-Down Scale-Down is the counterpart of Scale-Up: Scale-Down (Scale Horizontally) means to run the application on many regular computers. + Pros: It offers infinite scalability: to support more users you just have to add more low cost computers to your server farms. - Cons: It is Not a straightforward solution: the developer needs to design, architect and develop the application to be ready to scale-out. 24
  • 26. Service Function Chain A Service Function Chain (SFC) defines an ordered (or partially ordered) set of abstract service functions (SFs) and ordering constraints that must be applied to packets, frames and flows. An example of an abstract service function SF is a firewall. Service Function A Service Function (SF) is a function that is responsible for specific work on received packets. A SF can act at various layers of a protocol stack (e.g. network layer). As a logical component, a SF can be realized as a virtual element or be embedded in a physical network element. Multiple occurrences of the same service function can exist in the same domain. Service Function Forwarder A Service Function Forwarder (SFF) is the responsible for forwarding traffic to one or more connected service functions SFs according to information carried in the Service Function Chain SFC. An SFF is responsible for delivering and transporting traffic to another SFF (in the same or different type of overlay) and for terminating the Service Function Path (SFP). Service Function Path The Service Function Path (SFP): is a constrained specification of where packets assigned to a certain SFP must go. It may be so constrained to identify the exact locations, but it can also be less specific. The SFP provides a level of indirection between the fully abstract notion of service chain (as a sequence of abstract SFs to be delivered), and the fully specified notion of exactly which SFF/SFs will be visited by the packet it traverses the network. By allowing the control components to specify this level of indirection, the operator may control the degree of SFF/SF selection authority delegated to the network. 25
  • 27. NP-Hardness NP-hardness (Non-deterministic Polynomial-time Hard) is a class of problems that are at least as hard as the hardest problems in NP. More precisely, a problem H is NP-hard when every problem L ∈ NP can be reduced in poly- nomial time to H. So, assuming a solution for H takes a unit of time, we can use the solution found for H to solve L in polynomial time. Consequence ⇒ If P = NP, Then NP-hard problems cannot be solved in polynomial time. Given a Decision Problem (problem with a Yes or No answer), the Complexity Classes are: • P: it is a complexity class that represents the set of All decision problems that can be solved in polynomial time. That is, given an instance of the problem, the answer Yes or No can be decided in polynomial time. Example: Given a connected graph G, can its vertices be coloured using two colours so that no edge is monochromatic? Algoritm: Start with an arbitrary vertex, color it red and all of its neighbors blue and continue. Stop when the vertices are finished or an edge have both of its endpoints be the same color. • NP: it is a complexity class that represents the set of All decision problems for which the instances where the answer is Yes have proofs that can be verified in polynomial time. This means that if someone gives us an instance of the problem and a certificate (also called witness) to a Yes answer, we can check that it is correct in polynomial time. Example: Integer Factorization ∈ NP: given two integers n and m, is there an integer f with: 1 < f < m, such that f divides n (f is a small factor of n)? This is a decision problem since the answers are Yes or No. Given an instance of the problem with n, m and f integers, with 1 < f < m, and knowing that f is a factor of n (the certificate), we can check the answer in polynomial time by performing the division n/f. • NP-Complete: it is a complexity class which represents the set of All problems X ∈ NP for which it is possible to reduce any other NP problem Y to X in polynomial time. Since Y is reducible to X, If there is a polynomial time algorithm f to transform instances y of Y to instances x = f(y) of X in polynomial time, Then the answer to y is Yes If and Only If also the answer to f(y) is Yes. Example: 3-Sat ∈ NP-Complete: given a boolean expression formed by a conjunction (And) of 3-clause disjunctions (Or) of the form: B = x1 ∨ x2 ∨ x3 ∧ x4 ∨ x5 ∨ x6 This boolean expression in 3-SAT form 2 clauses, each clause contains of 3 literals. The question is the same of Satisfiability: are there values x1, . . . , x6 that make B True? The Cook’s theorem shows that every NP problem can be reduced to 3-SAT. 26
  • 28. NP-Complete problems are important because if a deterministic polynomial time algorithm would be found to solve one of them, every NP problem would be solvable in polynomial time (one problem to rule them all). • NP-Hard: a problem X is NP-hard, if there is an NP-Complete problem Y , such that Y is reducible to X in polynomial time. But since any NP-Complete problem can be reduced to any other NP-complete problem in polynomial time, then All NP-complete problems can be reduced to any NP-hard problem in polynomial time. So, If there is a solution to one NP-hard problem in polynomial time, Then there is a solution to All NP problems in polynomial time. Example: The Halting Problem ∈ NP-Hard: given a program P and an input I, will P halt? This is a decision problem but it is Not in NP. Thus, any NP-Complete problem can be reduced to Halting Problem (NP-hard). Optimization Problem An Optimization Problem is the problem of finding the best solution (with regard of some criterion) from the set of all feasible solutions (also called, search space). An optimization problem can be defined as a finite set of variables, where the correct values for the variables specify the optimal solution. 27
  • 29. References [1] B.Han, V.Gopalakrishnan, L.Ji and S.Lee. Network Functions Virtualization: Challenges and Opportunities for Innovations.. [2] M. Chiosi. Network Functions Virtualization: An Introduction, Benefits, Enablers, Challenges and Call for Action. [3] ETSI GS NFV 001. Network Functions Virtualization (NFV): Use Cases. [4] ETSI GS NFV 002. Network Functions Virtualization (NFV): Architectural Framework. [5] ETSI GS NFV 003. Network Functions Virtualization (NFV): Terminology for Main Concepts in NFV. [6] ETSI GS NFV 004. Network Functions Virtualization (NFV): Virtualization Requirements. [7] Jim Metzler, Ashton Metzler. The 2015 Guide to SDN and NFV. [8] Y.J. Stein. SDN, NFV and all that. [9] M. Ghaznavi, N. Shahriar, R. Ahmed, R. Boutaba Service Function Chaining Simplified. [10] J. Halpern, C. Pignataro. Service Function Chaining (SFC) Architecture. [11] P. Quinn, T. Nadeau. Service Function Chaining problem statement. [12] D.E.Goldberg. Genetic Algorithm in Search, Optimization and Machine Learning. [13] Ulrich Bodenhofer. Genetic Algorithms: Theory and Applications. [14] D.A. Coley. An Introduction to Genetic Algorithms. [15] M. Mitchell. An Introduction to Genetic Algorithms. [16] Wikipedia Site. https://en.wikipedia.org/wiki/Main_Page 28