If you want to connect to office network from remote place(for example, office), VPN technology will be helpful. For secure VPN, system needs to perform cryptographic operation ( for example, encryption operation). To do this, incoming and outgoing traffic should pass thro' a module which performs cryptographic operation. This module can act as Pseudo NIC.
Moreover, you wish that non-office traffic should not go via office network. For example, personal email traffic should not use office network. For this, you need split tunnel feature. Split tunnel uses Pseudo NICs to achieve it.
If you see network info in your laptop, Virtual NIC appears to be a device. Instead of transmitting the bits over a wire, the output packets are sent to a program (virtual NIC). Similarly, packets written by the program are delivered to the network input handlers, exactly as if they were received over a real device.
Virtual adapter is used extensively in virtualisation environment. Guest operating system and its drivers running inside a virtual machine can have the illusion of accessing real hardware. Attempts by the guest operating system to access the hardware are routed to the virtual device driver in the host operating system as e.g., function calls. The virtual device driver can also send simulated processor-level events like interrupts into the virtual machine.
As discussed above, When a VPN client establishes a VPN connection, a virtual interface is created on the VPN client that represents the interface connected to the VPN server. The virtual interface on the VPN client is connected to the virtual interface on the VPN server, creating the point-to-point VPN connection.
The virtual interfaces of the VPN client and the VPN server must be assigned IP addresses. The assignment of these addresses is done by the VPN server.
Virtual NIC dynamically generates MAC address. But there are known cases where duplicate MAC address can be generated. This can cause issue in same LAN environment. There are ways to detect and resolve this issue manually.
https://www.cs.columbia.edu/~smb/papers/pnet.ext.ps
https://en.wikipedia.org/wiki/Device_driver#Virtual_device_drivers
https://linuxconfig.org/configuring-virtual-network-interfaces-in-linux
https://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vsphere.troubleshooting.doc%2FGUID-8D7D0126-8E8A-470F-A61E-4197EE32D08F.html
https://technet.microsoft.com/en-us/library/cc739294(v=ws.10).aspx