Service provision, within the telecommunications industry, has usually been based on network operators deploying physical proprietary devices and equipment for each function that is part of a given service. In addition, network function components have strict chaining and/or ordering that must be followed in the network topology and in the localization of service elements. 

These specifications, coupled with requirements for stability, availability, high quality and stringent protocol adherence, have led to long product cycles, very low service agility and heavy dependence on specialized hardware.  
NFV~\cite{NFV-challenge-and-opportunities}, has been proposed as a way to address these\break challenges by leveraging virtualization technology to offer a new way to design, to deploy and to manage networking services. 
The main idea of Network Function Virtualization is the\break decoupling of physical network equipment from the functions that run on them~\cite{NFV-state-of-art}.
This leads to a\break consolidation of network infrastructure due to the possibility for Telecommunications Service Provider (TSP) to locate them into data centers or at the edge of the network, next to the user's premises.

The evolution of network elements is no more reliant on both hardware and software\break development, but they have different and independent time progress timelines and maintenance.\newline
NFV paradigm exploits the decoupling software from hardware to gain more flexibility and agility, which means TSPs could open up their network capabilities and network controls to the users and other functionalities such as the ability to deploy or to support new network services faster and cheaper as well as to provide better service agility~\cite{NFV-state-of-art}.
The main benefits of NFV architecture are the following:

\begin{itemize}
	\item flexibility, this architecture can scale (up or down) easily in number of instances or resources;
	\item portability, VMs can run on different physical servers due to the decoupling of software from hardware;
	\item resiliency and stability, VMs can be deployed in one or more instances at the same time;
	\item orchestration, the NFV infrastructure can be managed by an hypervisor (MANO);
	\item energy efficiency, the TSPs can use efficiently this technology to reduce energy consumption;
	\item service continuity and availability, the network services are no more related to a physical devices, in case of any hardware problems the network functions can run on a different physical infrastructure;
	\item security, the functions providing security can be deployed as NFV service.
\end{itemize}

According to ETSI, the NFV Architecture is composed of three key elements: Network\break Function Virtualization Infrastructure (NFVI), VNFs and NFV MANO~\cite{NFV-state-of-art}.
\begin{itemize}
	\item
	NFV Infrastructure (NFVI): it is made up of both hardware and software resources that set up the environment in which VNFs are deployed.
	Commercial-off-the-shelf (COTS) are the physical resources exploited for the computing, network stuffs (as link or nodes) for the connectivity and storage.
	The virtual resources are the abstraction of the hardware cited before and they are achieved using an hypervisors that provides a virtualization layer. In this way VMs can share the underlying hardware with a guaranteed isolation level.
	\item 
	Virtual Network Functions (VNFs): this layer represents all the instances of the network functions running as software products. There are several objects, which are called Element Managers that are used to control and monitor all these instances.
	\item 
	NFV Management and Orchestration (NFV MANO): it offers all the functionalities\break required for running, coordinating the NFV infrastructure and also managing all the related operations.
	It is made up of three subsystems deployed in one single set-up, the VIM (Virtualized Infrastructure Manager) manages the physical infrastructure, the NFV\break Orchestrator (NFVO) provides all the functions for the file-cycle of VNFs and the VNF Manager (VNFM) is in charge of the VNFs instances.
\end{itemize}

\begin{figure}[H]
	\centering{\includegraphics[width=0.9\textwidth]
		{NFV-01.png}}
	\caption{From network functions hardware-based to software-based NFV solutions~\cite{NFV-challenge-and-opportunities}.
		\label{fig:nfv architecture}}
\end{figure}

\subsubsection{Virtual Network Function}
\input{latex_files/state_of_art/vnf.tex}