In a Network Functions Virtualization(NFV) architecture, a virtualized network function, or VNF, is responsible for handling specific network functions that run in one or more virtual machines on top of the COTS hardware. In a virtualized environment, a virtual network function means that a company has taken the software that actually performs a specific function, abstracted it from their own hardware, and packaged it to run on any standard server.
The primary goal for NFV is to decouple software implementations of network functions from the compute, storage, and networking resources in the network. The software that performs the specific network function is generally called Virtual Network Function aka VNF. Examples of VNFs are P-Gty, GGSN, Session Border Controller and Virtual Router. When a function of ROUTER or UTM is virtualized it is called VNF. When we club all the sub functions of VNF into one it become virtual ROUTER or virtual UTM.