「トンネル」のメタファーがネットワークトンネルを記述するために使用される理由がわかりません。
最初は、送信されたデータが暗号化されているため、盗聴者がデータを見ることができないためだと考えました(トンネルにラップされたデータを見る!)。
しかし、暗号化を使用しないトンネリングプロトコルについてはどうでしょう。なぜそれらは「トンネル」とも呼ばれますか。
「トンネル」のメタファーがネットワークトンネルを記述するために使用される理由がわかりません。
最初は、送信されたデータが暗号化されているため、盗聴者がデータを見ることができないためだと考えました(トンネルにラップされたデータを見る!)。
しかし、暗号化を使用しないトンネリングプロトコルについてはどうでしょう。なぜそれらは「トンネル」とも呼ばれますか。
回答:
道路の場合、実世界のトンネルは構築された通路であり、より長いルートを使用するのではなく、AからBに直接渡すことができます。例には、通常なら回らなければならないかもしれない山を通るトンネル、通りを歩くことなく道路の反対側に到達できる地下道、道路や建物と競合せずに電車が都市を動き回ることができる地下鉄トンネルなどがあります。
これらの各ケースで、トンネルは、他の方法で対処しなければならない何らかのタイプの複雑さを回避する直接パスを提供します。ネットワーキングでは、同じ方法で使用されます。
IPv4 over IPv6トンネルを使用すると、IPv4がIPv6ネットワークを介して別のIPv4ネットワークに渡されます。これは、発信元のコンピューターがIPv6ネットワークを理解しないと不可能なことです。
VPNは、両端のプライベートアドレスとパブリックアドレスの間でIPアドレスを変換するオーバーヘッドなしで、2つのプライベートネットワークを接続するためのトンネルです。
この2つを組み合わせた例としては、HamachiなどのゲームVPNソフトウェアがあります。これは、IPXなどの古いプロトコルを使用したり、他のプレーヤーを見つけるためにローカルディスカバリーに依存したインターネットゲームでプレイできます。
このフレーズは、RFC 1075 Distance Vector Multicast Routing Protocolで(私が知る限り)最初に使用され、次のように定義されています。
さらに、実験がマルチキャストをサポートしないネットワークを通過できるようにするために、「トンネリング」と呼ばれるメカニズムが開発されました。
...
- トンネル
トンネルは、マルチキャストルーティングをサポートしないゲートウェイによって分離されたルーター間でデータグラムを送信する方法です。2つのルーター間の仮想ネットワークとして機能します。たとえば、スタンフォードで実行されているルーターとBBNで実行されているルーターをトンネルで接続して、マルチキャストデータグラムがインターネットを通過できるようにします。トンネルは過渡的なハックと見なされます。
トンネリングは、弱くカプセル化された通常のマルチキャストデータグラムで行われます。弱いカプセル化は、特別な2要素IPルーズソースルート[5]を使用します。(この形式のカプセル化は、「強力な」カプセル化よりも優先されます。つまり、トンネルのエンドポイントが互いの最大リアセンブリバッファサイズを知る必要がないため、新しいIPヘッダー全体を追加します。発信者の存続時間の値およびその他のIPオプションが存在します。)
トンネルには、ローカルエンドポイント、リモートエンドポイント、メトリック、およびしきい値が関連付けられています。トンネルの両端のルーターは、ローカルおよびリモートのエンドポイントについてのみ合意する必要があります。トンネルの構成方法については、セクション8を参照してください。トンネルのエンドポイント間の中間ゲートウェイの数は不明であるため、適切なメトリックとしきい値を決定するには追加の調査が必要です。
上記では「トンネルは過渡的なハックだと考えています」と述べていますが。トンネリングは現在も基本的に同じ意味で使用されています-トンネルを介して送信されるデータはカプセル化されるため、そうでなければ送信をサポートしないプロトコルを介して送信できます。
トンネルは、通常はサポートしない外部プロトコルをネットワーク経由で出荷するために使用されるメカニズムです。トンネリングプロトコルを使用すると、たとえばIPを使用して、IPデータグラムの「データ」部分で別のプロトコルを送信できます。ほとんどのトンネリングプロトコルはレイヤー4で動作します。つまり、TCPまたはUDPのようなものを置き換えるプロトコルとして実装されます。
トンネルの一方の端に置くものは、もう一方の端から出るからです。