TUN/TAP
From Wikipedia, the free encyclopedia
In computer networking, TUN and TAP are virtual network kernel drivers — they simulate network devices using software. Whereas ordinary network devices (e.g. eth0
) are directly backed by hardware network adapters, packets sent to/from TUN/TAP devices are forwarded from/to user-space programs. TUN simulates a point-to-point network device, while TAP simulates an Ethernet device. TUN works with IP packets, while TAP works with Ethernet frames.
TUN/TAP is used for:
- virtual private networks
- OpenVPN, Ethernet/IP over TCP/UDP; encrypted, compressed
- tinc [1], Ethernet/IPv4/IPv6 over TCP/UDP; encrypted, compressed
- VTun [2], Ethernet/IP/serial/Unix pipe over TCP; encrypted, compressed, traffic shaping
- OpenSSH
- ICMPTX [3], IP over ICMP (ping)
- NSTX [4], IP over DNS
- HTun [5], IP over HTTP
- coLinux, Ethernet/IP over TCP/UDP
- Hamachi
- virtual machine networking
TUN/TAP drivers are available on at least the following platforms:
- FreeBSD
- Mac OS X
- Linux, starting around version 2.1.60
- Microsoft Windows 2000/XP
- OpenBSD
- NetBSD
- Solaris Operating Environment