Solaris のシステム管理 (第 3 巻)

トランスポートモードとトンネルモード

IP ヘッダーのあとに、ESP または AH を呼び出してデータグラムを保護するとき、これをトランスポートモードといいます。たとえば、パケットが次のように始まる場合です。

Graphic

トランスポートモードで、ESP は次のようにデータを保護します。

Graphic

トランスポートモードでは、AH は次のようにデータを保護します。

Graphic

AH はデータがデータグラムに出現する前に、実際データを保護します。その結果、AH による保護は、トランスポートモードでも、IP ヘッダーの一部をカバーします。

データグラム全体が IPsec ヘッダーの保護下にあるとき、これをトンネルモードといいます。AH はその前にあるほとんどの IP を保護するため、トンネルモードは通常は ESP だけで実行します。先の例のデータグラムは、次のようにトンネルモードで保護されます。

Graphic

トンネルモードでは、外部 (保護されていない) IP ヘッダーのソースアドレスと宛先アドレスが、内部 (保護されている) IP ヘッダーのものと異なることがよくあります。それでも、IPsec-aware ネットワークプログラムで ESP 付きの自己カプセル化を使用すれば、内部と外部の IP ヘッダーを一致させることができます。これは、ESP で保護する必要のある IP ヘッダーオプションの場合に行われます。

IPsec の Solaris 実装は基本的にトランスポートモード IPsec 実装であり、トンネルモードはトランスポートモードの特殊ケースとして実装されます。そのため、IP-in-IP トンネルを特殊なトランスポートプロバイダとして処理します。ifconfig(1M) 設定オプションを使用してトンネルを設定する場合、オプションは、ソケットのプログラミングでソケットごとの IPsec を使用可能にするときに使用するオプションとほぼ同じです。また、トンネルモードは、ソケットごとの IPsec で使用可能にできます。