TUN/TAP
В терминологии компьютерных сетей, TUN и TAP — виртуальные сетевые драйверы ядра системы. Они представляют собой программные сетевые устройства, которые отличаются от обычных аппаратных сетевых карт.
TAP эмулирует Ethernet устройство и работает на канальном уровне модели OSI, оперируя кадрами Ethernet. TUN (сетевой туннель) работает на сетевом уровне модели OSI, оперируя IP пакетами. TAP используется для создания сетевого моста, тогда как TUN для маршрутизации.
Пакет, посылаемый операционной системой через TUN/TAP устройство обрабатывается программой, которая контролирует это устройство. Получение данных происходит через специальный файловый дескриптор, таким образом программа просто считывает данные с файлового дескриптора. Сама программа также может отправлять пакеты через TUN/TAP устройство выполняя запись в тот же файловый дескриптор. В таком случае TUN/TAP устройство доставляет (или «внедряет») такой пакет в сетевой стек операционной системы, эмулируя тем самым доставку пакета с внешнего устройства.
Устройства TUN/TAP могут быть как временными (создаются, используются, удаляются), так и постоянными. Так же как и к физическим интерфейсам им можно назначать адреса, применять правила сетевых экранов, анализировать трафик и т.д.
TUN/TAP используются для:
- Виртуальных частных сетей:
- OpenVPN, Ethernet/IP по TCP/UDP; шифрование, компрессия
- Slonax 3G
- tinc , Ethernet/IPv4/IPv6 по TCP/UDP; шифрование, компрессия, mesh
- VTun , Ethernet/IP/serial/Unix пайпы по TCP; шифрование, компрессия, шейпер трафика
- OpenSSH
- ICMPTX , IP по ICMP (ping)
- NSTX , iodine , IP по DNS
- HTun , IP по HTTP
- coLinux, Ethernet/IP по TCP/UDP
- Hamachi
- VPN-X Java TAP Wrapper, VPN-X может быть P2P VPN, а также SSL VPN
- Виртуальных машин:
Драйверы TUN/TAP доступны, по крайней мере, для следующих ОС:
Ссылки
- http://vtun.sourceforge.net/
- http://www.kernel.org/pub/linux/kernel/people/marcelo/linux-2.4/Documentation/networking/tuntap.txt
- https://web.archive.org/web/20071224015346/http://www-user.rhrk.uni-kl.de/~nissler/tuntap/ ( or http://tuntaposx.sourceforge.net/download.xhtml ) - Mac OS X TUN/TAP драйвер