Network Security Function (NSF) can be used to achieve security goals such as integrity,\break confidentiality and availability to protect a network system by detecting malicious traffic and/or reducing the impact of cyber attacks on the network system~\cite{NSF-01}.

NSF can take advantage of NFV features, first it could support the automatic enforcement of security policies and second NSF instances could provide the capability of dynamic adaptation to network changes~\cite{NSF-automatic-enforcement}.
The TSPs, similarly to the provisioning of NVF services, allow the customers to consume network security services, which are developed by different vendors or they are open source technologies.

A Network Security Function could work on a different level of OSI-stack, inspecting the header or the payload of the packets. Some use cases are the following:
\begin{itemize}
	\item 
	packet filter, it is the lowest layer of a NSF;
	\item 
	firewall, it is a security network element that controls the traversal flows of packets in or out the boundaries;
	\item 
	Deep Packet Inspection (DPI), it is a way to monitor the packets flow on the network;
	\item
	DDoS mitigation, to avoid external or internal Distributed Denial of Service;
	\item
	proxy TLS
	\item
	Data Loss Prevention (DLP)
\end{itemize}

The challenge of I2NSF is to implement and to define a list of interfaces to be used to configure, to monitor and to control both NSF devices and instances, if the second is developed in a virtual environment.
