VNF is the basic block in NFV Architecture (We covered what is NFV in our last technically U video). It is the virtualized network element of NFV. In other words, it is software that performs certain network functions, for example, routing, switching, firewalling, and load-balancing. It also replaces having separate vendor proprietary and specialized hardware and allows network functions to be run on generic or commercial off-the-shelf (COTS) hardware built with different degrees of computing, storage, memory, and network interfaces. VNF can also be divided into network element sub-functions which means that only certain functions of a router or switch are virtualized separately into VNFs but function together as an integrated network element. VNFs are deployed on Virtual Machines (VMs).
With VNF the protocols associated with the virtualized function do not need to be aware of the virtualized implementation. This means the virtualized network functions, firewall services, and routing services can interact with each other without knowing they are not physically connected or operating on dedicated physical devices.