トンネルが買うのはトポロジーであり、暗号化や遅延ではない
トンネルは論理的な経路と、場合によっては別個の転送コンテキストを与えます。それ自体は暗号化せず、遅延を約束するものでもありません。
前提は、トンネルがプライベートで高速な回線だということであり、作れば内側のトラフィックは暗号化され、経路は短くなり、リンクは二つの拠点を結ぶケーブルのように振る舞う、というものです。この前提の各部分は別々の性質であり、トンネルが提供するのは、最初に求めたもの、つまり論理的な経路だけです。それ以外はすべて意図的に選び、設定しなければなりません。性質を混同すると、誰もトラブルシュートできない暗号化された回線と、誰も守れない遅延の約束を抱えた設計になります。
神話:一本のトンネル、三つの保証
トンネルが確実に行うことは一つです。直接接続されていない二つの端点を、何らかの目的のために隣接しているかのように振る舞わせ、その間のネットワークが外側のパケットを運びます。それはトポロジーの変更であり、それ自体が本当に有用です。
暗号化、プロトコルの伝送、転送の分離は、その上に重ねられる別々の決定です。GREトンネルは暗号の意味で三つのどれも持ちませんし、IP-in-IPトンネルは機密性がまったくない有効な設計です。どちらも間違いではなく、トンネルがすべきことをしているトンネルです。図のラベルは、どの性質が備わっているかを教えてくれません。
性質を分ければ、このトンネルはルーティングの隣接関係を運ぶのか、フレームを運ぶのか、内側のアドレスを隠すのか、遅延について何かを約束するのか、という問いに答えられるようになります。それは四つの異なる答えであり、四つの異なる設定上の帰結を持ちます。
トンネルが実際に地図に加えるもの
端点は、以前にはなかった経路を得ます。その経路がルーティングされたホップのように振る舞うか、イーサネットセグメントのように振る舞うかは、カプセル化に完全に依存し、その違いは二つの拠点がそれで何をできるかを変えます。ルーティングされたトンネルは次のホップとプレフィックスを与え、イーサネット拡張はブロードキャストの振る舞いと、はるかに大きな障害ドメインを与えます。
IPトンネルは、遠隔拠点を自動的に同じサブネットの一部にするわけではなく、実装がその隣接関係をサポートしない限り、その上でルーティングプロトコルを動かしません。マルチキャストは、それ自身の答えを持つもう一つの別個の問いです。
ip -d link show type gre ip route get 10.20.0.5 traceroute -n -T -p 443 10.20.0.5 mtr -n --report -c 20 10.20.0.5
これらのコマンドは、問いの異なる部分に答えます。一つ目はどの種類のインターフェースが存在するかを、二つ目はカーネルがどの経路を選ぶかを示し、最後の二つはラベルの約束ではなく、下位層の実際の振る舞いを示します。
伝送は到達性とは別の決定です
トンネルは、下位層が転送しないプロトコルを運べます。IPv4経路上のIPv6が古典的な例で、これが機能するのは、端点が両方のファミリーを理解し、その間のルーターは外側のパケットを届けるだけでよいからです。下位層に必要なのは、トンネルの端点までの動作する経路だけであり、それ以上ではありません。
ただし端点には、転送、アドレス、そして内側のファミリーを実際に使うアプリケーションという完全なサポートが必要です。トンネルにIPv6プレフィックスを割り当てても、IPv4だけで動くサービスがIPv6経由で到達可能になるわけではなく、下位層がデュアルスタックになるわけでもありません。
フレームの伝送は、プロトコルの伝送よりも大きな取り組みです。ブロードキャストドメインをトンネル越しに広げると、スパニングツリーの振る舞い、ARP、障害の伝播も一緒に移動し、これは機能の切り替えではなく、設計上の決定です。
分離は機密性ではありません
プロバイダーVPNは、顧客の経路とトラフィックを別個の転送コンテキストに保ち、その分離は現実的で価値があります。それは暗号化ではありません。BGP/MPLS VPNの仕様は、そのプライバシーが暗号ではなく転送モデルから来ると明言しており、まさにその区別が、単にVPNと言うスライドで失われます。
機密性が必要なら、認証と鍵管理を備えた暗号機構が必要であり、それがどこで終わるかを知る必要があります。分離を提供するトンネルと暗号化を提供するトンネルは同じトンネルになり得ますが、それは誰かが両方を設定したときだけです。
実務上の帰結は、「VPNの中にある」という言葉がルーティングコンテキストについての問いに答えるものであり、経路上のバイトを誰が読めるかについては何も語らないということです。二つのチームが両方とも正しく、それでも違うことを説明していることがあります。セキュリティの問いが出たら、トンネルがあるかどうかではなく、暗号がどこで終わるかと何がピアを認証するかを尋ねてください。
遅延とQoSは下位層に従います
論理的な端は、より短い物理経路ではありません。外側のパケットは同じリンク、キュー、プロバイダーを通り、カプセル化はパケットごとのオーバーヘッドと両端での処理を加えます。トンネルが速いのは下位層が良いからであり、トンネルだから速いのではありません。
サービス品質の扱いはさらに悪く、制御できないかもしれない管理ドメインに依存します。内側のマーキングは意図的に外側のマーキングへ写像する必要があり、経路上のすべてのプロバイダーが期待する扱いを提供しなければなりません。暗号化は優先度を生まず、中間装置がフローを分類するのに使えたフィールドを隠すだけです。
何かを約束する前に下位層を測定してください。外側の経路で安定した遅延と損失がないことを示す報告書は証拠であり、トンネルが描かれた図は証拠ではありません。
必要なネットワーク関係に合ったトンネルを選び、次に暗号化、アクセス方針、パケットサイズ、性能を別々に指定してください。四つの決定、四つの証拠、そしてそれらのどれかの代わりになる単一のラベルはありません。