This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages)(Learn how and when to remove this template message)
In computer networking, TUN and TAP are virtual network kernel interfaces. Being network devices supported entirely in software, they differ from ordinary network devices which are backed up by hardware network adapters.
The Universal TUN/TAP Driver originated in 2000 as a merger of the corresponding drivers in Solaris, Linux and BSD. The driver continues to be maintained as part of the Linux and FreeBSD kernels.
Though for similar tunneling purposes, only one at a time can be used because TUN and TAP apply to different layers of the network stack. TUN, namely network TUNnel, simulates a network layer device and operates in layer 3 carrying IP packets. TAP, namely network tap, simulates a link layer device and operates in layer 2 carrying Ethernet frames. TUN is used with routing. TAP is used for creating a network bridge.
Packets sent by an operating system via a TUN/TAP device are delivered to a user-space program which attaches itself to the device. A user-space program may also pass packets into a TUN/TAP device. In this case the TUN/TAP device delivers (or "injects") these packets to the operating-system network stack thus emulating their reception from an external source.
- OpenVPN, Ethernet/IP over TCP/UDP; encrypted, compressed
- FreeLAN, open-source, free, multi-platform IPv4, IPv6 and peer-to-peer VPN software over UDP/IP.
- n2n, an open source Layer 2 over Layer 3 VPN application which uses a peer-to-peer architecture for network membership and routing
- Tinc, Ethernet/IPv4/IPv6 over TCP/UDP; encrypted, compressed
- VTun, Ethernet/IP/serial/Unix pipe over TCP; encrypted, compressed, traffic-shaping
- coLinux, Ethernet/IP over TCP/UDP
- Virtual-machine networking
- Connecting real machines with network simulation
Platforms with TUN/TAP drivers include:
- Linux, starting around version 2.1.60 of the Linux kernel mainline
- iOS (tun driver only)
- OS X (native support only for TUN (utun))
- Windows 2000/XP/Vista/7/8
- "Universal TUN/TAP driver". VTun project on SourceForge. Retrieved 2019-07-12.
- "Universal TUN/TAP device driver". GitHub mirror of Linux kernel. Retrieved 2019-07-12.
- "TUN(4) manual page". FreeBSD. Retrieved 2019-07-12.
- "TAP(4) manual page". FreeBSD. Retrieved 2019-07-12.
- "ns3::TapBridge Class Reference". nsnam.org. Retrieved 2019-03-28.
- Back to My Mac uses an IPv6 tunnel on device utun0.
- "de.schaeuffelhut.android.openvpn". F-Droid. 2013-01-10. Retrieved 2019-03-28.
- MacVTap, a device driver aiming at simplifying virtualized bridged networking
- Linux Networking: MAC VLANs and Virtual Ethernets
|This network-related software article is a stub. You can help Wikipedia by expanding it.|