TUN与TAP

在计算机网络中，TUN与TAP是操作系统内核中的虚拟网络设备。不同于普通靠硬件网络适配器实现的设备，这些虚拟的网络设备全部用软件实现，并向运行于操作系统上的软件提供与硬件的网络设备完全相同的功能。

TAP等同于一个以太网设备，它操作第二层数据包如以太网数据帧。TUN模拟了网络层设备，操作第三层数据包比如IP数据封包。

操作系统通过TUN/TAP设备向绑定该设备的用户空间的程序发送数据，反之，用户空间的程序也可以像操作硬件网络设备那样，通过TUN/TAP设备发送数据。在后种情况下，TUN/TAP设备向操作系统的网络栈投递（或“注入”）数据包，从而模拟从外部接受数据的过程。

TUN/TAP被用于：
 虚拟私有网络
 OpenVPN
 tinc
 n2n
 OpenSSH
 虛擬機器
 Bochs
 QEMU
 Hercules (S/390 emulator)
 KVM

TUN/TAP设备驱动程序能支持如下平台：
 FreeBSD
 Mac OS X
 Linux
 Microsoft Windows
 OpenBSD
 NetBSD
 Solaris
 Android
 iOS

外部链接 
 http://vtun.sourceforge.net/
 http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/tuntap.txt

网络软件