はじめに
IPトンネリングは、元のIPパケットをカプセル化し、トンネル区間で使う外側のIPヘッダーを付けて運ぶ仕組みです。通信したいパケットをそのままでは通しにくいネットワークが途中にある場合でも、トンネル区間では外側のIPヘッダーに従って転送できます。
この記事では、IPトンネリングの基本となるカプセル化とデカプセル化、内側と外側のIPヘッダーの役割、IPv4パケットをIPv6ネットワーク経由で運ぶ例、MTUで注意する点までを説明します。読了後には、IPトンネリングが「何を包み、どの情報を使って運ぶ仕組みなのか」を説明できる状態を目指します。
IPトンネリングとは
IPトンネリングとは、元のIPパケットをカプセル化し、トンネルの入口から出口まで外側のIPヘッダーを使って転送する仕組みです。IP-in-IPのように元のIPパケットを外側のIPパケット内へ格納する方式のほか、GREのように追加のヘッダーを使う方式もあります。トンネルの出口に到着すると外側の情報を取り外し、元のIPパケットに戻して本来の宛先へ転送します。
通常のIP通信では、ルーターはパケットのIPヘッダーにある宛先を見て次の転送先を決めます。トンネリングでは、トンネル区間だけは外側のIPヘッダーを参照するため、元のパケットが持つ送信元・宛先を保ったまま、別の経路や異なるネットワーク上を通過させられます。
IPトンネリングの仕組み
IPトンネリングは、入口でパケットを包み、出口で元に戻す流れで動作します。概念としては次の4段階です。
- 元のIPパケットがトンネル入口へ到着する
- トンネル入口で外側のIPヘッダーなどを追加してカプセル化する
- トンネル区間では外側の宛先IPアドレスを使って転送する
- トンネル出口で外側の情報を取り外し、元のIPパケットを本来の宛先へ転送する
このとき、通信を始めた端末とトンネル入口、通信の最終宛先とトンネル出口が同じ機器とは限りません。トンネルは途中の区間だけに設定することもできるため、送信元から見ると通常のIP通信をしていても、ネットワーク内部では一部の区間だけカプセル化して運ばれている場合があります。
内側と外側のIPヘッダーは何が違うのか
トンネリングを理解するポイントは、内側と外側の2つのIPヘッダーを分けて考えることです。
| 項目 | 内側のIPヘッダー | 外側のIPヘッダー |
|---|---|---|
| 役割 | 元の通信を表す | トンネル区間の転送に使う |
| 宛先 | 本来の通信先 | トンネル出口 |
| 保持される範囲 | 元の通信の送信元から宛先まで | トンネル入口から出口まで |
| トンネル出口での扱い | そのまま残る | デカプセル化で取り外す |
外側のヘッダーは、元のIPパケットをトンネル出口まで届けるための「運搬用の情報」と考えると分かりやすくなります。出口で外側のヘッダーがなくなると、内側のパケットは再び通常のIPパケットとして扱われます。
IPアドレスやネットワーク層そのものを先に確認したい場合は、IPとは?ネットワーク層の役割やルーティングを初心者向けに分かりやすく解説を参照してください。
IPv4パケットをIPv6ネットワークで運ぶ例
例えば、IPv4パケットをIPv6のトンネル区間で運ぶ場合、トンネル入口でIPv4パケット全体をデータとして扱い、その外側にIPv6ヘッダーを追加できます。IPv6ネットワーク内のルーターは外側のIPv6ヘッダーを見て転送するため、内側にあるIPv4パケットの宛先を使ってトンネル区間の経路を決める必要はありません。

トンネル出口ではIPv6ヘッダーを取り外し、元のIPv4パケットを取り出します。その後はIPv4の宛先情報に従って通常どおり転送します。この例はIPトンネリングの一例であり、IPトンネリング自体がIPv4とIPv6の組み合わせだけを指すわけではありません。
IPトンネリングはどのような場面で使われるのか
IPトンネリングは、元のパケットを維持したまま別のネットワーク上で運びたい場合に利用されます。代表的には、IPv4とIPv6の移行・共存、Mobile IPのように通常とは異なる経路へパケットを届ける仕組み、IP-in-IPやGREなどを使ったネットワーク間接続があります。
VPNでもトンネル技術が利用されることがありますが、トンネリングそのものが暗号化を意味するわけではありません。元のパケットをカプセル化して運ぶことと、内容を暗号化して第三者から読めないようにすることは別の機能です。
MTUに注意が必要な理由
トンネリングでは外側のヘッダーなどを追加するため、カプセル化後のパケットは元のパケットより大きくなります。そのため、トンネル区間で利用できるMTUに対してパケットが大きすぎると、断片化やパケットサイズの調整が必要になる場合があります。
ただし、「IPトンネリングを使うと必ずフラグメンテーションされる」わけではありません。実際の扱いは、内側・外側がIPv4かIPv6か、IPv4のDFビット、Path MTU Discoveryなどの条件によって変わります。トンネルを導入する際は、カプセル化で増えるヘッダー分も含めてMTUを考えることが重要です。断片化の仕組みやIPv4・IPv6での違いは、IPフラグメンテーションとは?MTUとの関係・IPv4とIPv6の違いを解説で詳しく説明しています。
まとめ
IPトンネリングは、元のIPパケットをカプセル化し、トンネル入口から出口まで外側のIPヘッダーを使って運ぶ仕組みです。出口ではデカプセル化して元のパケットへ戻すため、内側の送信元・宛先情報を保ったまま別の経路やネットワークを通過できます。
理解するときは、「内側のIPヘッダーは元の通信」「外側のIPヘッダーはトンネル区間の運搬用」と分けて考えるのがポイントです。また、カプセル化によってパケットサイズが増えるため、実際の導入ではMTUもあわせて確認する必要があります。