TUN/TAP
表示
TUN/TAPは仮想ネットワークデバイス及びそのデバイスドライバの実装およびデバイス名で、主にUnix系のシステムで利用できる。実ハードウェアであるネットワークカードと対応しているデバイスドライバと同様にネットワーク通信ができるが、データはハードウェアではなく、ネットワーク通信を仮想化したソフトウェアのプロセスに送られ、そこで処理される(例えば、VPNの相手方への通信として、改めて実ハードから送信される)。
概要
[編集]TAP(Terminal Access Point) は、イーサネットデバイスをシミュレートし、データリンク層を操作できる。TUN(TUNnel) はネットワーク層をシミュレートし、IPパケットなどを操作できる。用途としては、たとえばTAPはブリッジに使われ、TUNはルーティングに使われる。
OSがTUN/TAPデバイスに送ったパケットは、そのデバイスに接続しているユーザープログラムに送信される。また、ユーザープログラムからTUN/TAPデバイスに送られたパケットは、TUN/TAPデバイスはそれらのパケットをOSのプロトコルスタックに渡すので、OS側からはあたかも外部からパケットを受け取ったように見える。
利用の具体例
[編集]TUN/TAPを使っている例を以下に列挙する。
- Virtual Private Network
- 仮想機械でのネットワーキング
実装しているOS
[編集]TUN/TAPドライバは以下のオペレーティングシステムで利用できる。