Network functions virtualization (NFV) is also co-related with Virtual Network Function (VNF) in SDN. Often used interchangeably, both aim primarily on optimization of the network services, contrary to software-defined networking (SDN), which separates the control and forwarding plane for a centralized view of the network. Virtual network function is designed to consolidate and deliver the networking components necessary to support a full virtualized environment.

However, in an NFV environment, a virtual network function (or VNF) takes on the responsibility of handling specific network functions that run on one or more virtual machines (VMs) on top of the hardware networking infrastructure — routers, switches, etc. Individual virtual network functions can be connected or combined together as building blocks to offer a full-scale networking communication service.

In simple english language, VNF is a Noun and NFV is a verb.

See the below points to understand the VNF and NFV and their related difference.

  1. First you create a VM on commodity hardware (x86 servers) to host a service (say Firewall). 
  2. Once the VM is created, required software firewall image is installed in that VM, network configuration is done, and other related config is done to make it ready for operation and start handling the customer traffic. This can also be said that a VNF (virtual firewall) is ready for operation. 
  3. While we connect this VNF (Noun - virtual firewall) to the network (say with other VNFs - a virtual switch, router, or a load balancer - also called service chaining) and the VNF starts handling the customer traffic/service the network function (intially that could be run using a dedicated Hardware firewall - say Cisco ASA) is virtualized and now running the service which is called NFV (verb).