Os dispositivos "TUN" e "TAP" são usados quando você deseja implementar um adaptador de rede virtual no modo de usuário. Eles geralmente são usados pelo software VPN, mas também podem ser usados para implementar outras funcionalidades de rede, como NAT46 e NAT64.
A diferença entre as interfaces "TUN" e "TAP" é a camada em que trabalham. As interfaces "TUN" enviam e recebem pacotes IP sem mais encapsulamento e nenhuma tentativa de traduzir os endereços do próximo salto da camada 3 para os endereços da camada 2. As interfaces "TAP" enviam e recebem quadros Ethernet com endereços MAC de origem e destino.
A principal alternativa para as interfaces "TUN" e "TAP" é implementar a VPN no kernel. É provável que isso funcione melhor, mas aumenta os riscos de segurança e confiabilidade e dificulta o desenvolvimento.