Virtual network interface
A virtual network interface is an abstract virtualized representation of a computer network interface that may or may not correspond directly to a network interface controller.
Operating system level
It is common for the operating system kernel to maintain a table of virtual network interfaces in memory. This may allow the system to store and operate on such information independently of the physical interface involved. It may also allow processes on the system to interact concerning network connections in a more granular fashion than simply assuming a single amorphous Internet.W. Richard Stevens, in volume 2 of his treatise entitled TCP/IP Illustrated, refers to the kernel's Virtual Interface Table in his discussion of multicast routing. For example, a multicast router may operate differently on interfaces that represent tunnels than on physical interfaces. Thus the virtual interface may need to divulge some specifics to the user, such as whether or not it represents a physical interface directly.
In addition to allowing user space applications to refer to abstract network interface connections, in some systems, a virtual interface framework may allow processes to better coordinate the sharing of a given physical interface
by hierarchically subdividing it into abstract interfaces with specified bandwidth limits and queueing models. This can imply restriction of the process, e.g. by inheriting a limited branch of such a hierarchy from which it may not stray.
This extra layer of network abstraction is often unnecessary and may have a minor performance penalty. However, it is also possible to use such a layer of abstraction to work around a performance bottleneck, indeed even to bypass the kernel for optimization purposes.