トンネリングの定義
トンネリング(tunneling)とは、通信のデータ(ペイロード)を別の通信方式で“包んで”運ぶ仕組みのことです。外側の通信(トンネルの担い手)が、内側の通信の内容をカプセル化し、送受信時に同じ方式で取り出します。この考え方はVPNの文脈でよく出ますが、必ずしも「暗号化が常にセット」という意味ではありません。トンネリングは「運び方(カプセル化して転送する)」の概念であり、暗号化は実装や方式によって有無が変わります。
仕組み:カプセル化と取り出し
基本の流れは次のイメージです。
- 送信側で、元の通信(内側)を決められた形式のデータに包みます(カプセル化)。
- 外側の経路に沿ってパケットが運ばれます。
- 受信側で、外側の情報を解き、内側の通信として処理します。
このとき「内側の通信の見え方」は、外側のカプセル化の方式や暗号化の有無に左右されます。暗号化が入っている場合、外側からは暗号文として見えやすくなり、入っていない場合は中身がそのまま観測されることがあります(ただし、カプセル化により観測できる範囲や粒度は変わります)。
制限とつまずきどころ
トンネリングには便利さがある一方で、いくつかの制限や例外が起きやすいです。
- MTU(最大伝送単位)問題:カプセル化によりパケットが大きくなるため、経路のMTUに収まらず断片化やドロップが発生しやすくなります。その結果、接続は張れても特定の通信だけ遅くなる、途切れる、といった現象につながることがあります。
- ネットワーク機器の制御:トンネル用の外側通信(プロトコルやポートの扱い)は、経路上の機器のポリシーで制限されることがあります。企業ネットワークやキャリア網などでは、想定外に遮断される場合があります。
- 暗号化の前提違い:トンネリング=暗号化、と誤解すると判断を誤ります。暗号化方式や鍵管理、設定が異なれば、守られる範囲や挙動も変わり得ます。
※どの制限がどの程度効くかは環境依存です。ここは「起こり得る要因」として捉え、観測しながら絞り込むのが現実的です。
