要約
- RFC 2004 は完全な二つ目の IPv4 ヘッダーを追加せず、元の Protocol と宛先、必要なら送信元を8/12オクテットの Minimal Forwarding Header に保存する。
- S=0 は、カプセル化ノード自身が元の送信元なので四オクテットを省ける、という条件を表す。認証ではない。
- 小ヘッダーの checksum は小ヘッダーだけを対象とする。出口で復元できても、入口前の全バイト、経路の正当性、配送結果までは証明しない。
二重の封筒ではなく、一枚の書類の用途変更
RFC 2004 は、通常の IP-in-IP が重複させるフィールドを削る。元の payload はそのままに、元の IP header の Protocol を55へ、Destination Address をトンネル出口へ変更する。入口が元の送信元でない場合は Source Address も入口のアドレスへ変える。Total Length は8または12増え、IP Header Checksum は現在の内容に合わせて計算し直される。
RFC 2003 のように完全な内側ヘッダーが保存されるのではない。トンネルから見えるヘッダーは、元のヘッダーそのものが一時的に別の役割を担った姿である。20オクテットの外側ヘッダーと比べ、短形式は12、長形式は8オクテットを節約する。その代わり、復元は保存値と規則に依存する。
S=0 は「同じだから書かなかった」という主張
Minimal Forwarding Header は元の Protocol と Original Destination Address を必ず持つ。Original Source Address は S=1 のときだけ現れ、全長は12オクテットになる。入口が他者のデータグラムを転送するなら、表面の Source を入口アドレスに変えるため、元の Source を退避しなければならない。
入口自身がデータグラムを生成したなら、Source は変わらない。S=0 の8オクテット形式は、同じ値を二度持たない。この省略は設計として明快だが、独立した照合値を失う。S ビットに暗号学的な保護はなく、送信元の利用権やトンネル設定者の権限を示さない。受信側が分かるのは、準拠した処理なら短形式として読むべきことまでである。
checksum の輪は全体を囲まない
小ヘッダーの16ビット checksum は、その8/12オクテットだけを対象にする。計算時には checksum 欄をゼロとし、修正済み IP header も payload も含めない。値が合うことは、退避したフィールドがその範囲で整合するという限定的な証拠である。
IPv4 header は別の checksum を持つ。入口でアドレス、Protocol、長さを変えた後に更新し、出口で値を戻して小ヘッダーを除き、Total Length を減らした後にもう一度更新する。二つの checksum は二つの処理面を示す。署名でも、トンネル認可でも、end-to-end の payload 完全性でもない。
復元は巻き戻しではない
出口は退避したフィールドを戻す。しかし入口前のヘッダーの写真を再生するわけではない。古い IP checksum は保存されず、現在の再構成結果に対して新しい値が作られる。TTL も戻らない。RFC 2004 では元の TTL が同じヘッダーに残り、通常の転送で減るため、トンネル内の hop が traceroute から見える。独立した外側 TTL を持つ RFC 2003 とは異なる。
従って、decapsulation 成功は有用だが狭い。Protocol 55 を解釈し、長さを判定し、保存値を戻し、IPv4 データグラムを次へ渡せることを示す。元の身元、入口ポリシー、経路の完全性、次のルータの受理、アプリケーション配送は別の証拠を要する。
最小形式には入口条件がある
元のデータグラムがすでに fragmented なら、この方式を使ってはならない。小ヘッダーに元の fragmentation 情報を保存する場所がないからだ。ただしカプセル化後の IPv4 fragmentation まで禁じたわけではない。DF がなければ通常の仕組みを使え、RFC 1191 の PMTU 条件も残る。
ループ対策、ICMP と tunnel soft state は RFC 2003 に委ねられ、安全性は本文で解決されていない。RFC 2002 の Mobile IP は利用目的の一つだが、registration binding とパケット復元は別である。RFC Editor と Datatracker が示す Proposed Standard は文書状態であり、配備記録ではない。
Lu Heng の Running-Code Primacy、Minimum Initial Specification、Reality Layers は、この区別を運用判断へ移す。共通形式は局所的復元を決定的にできる。それでも、動いている経路や配送結果を文書から作り出すことはできない。
出典
- RFC 2004 — Minimal Encapsulation within IP
- RFC Editor: RFC 2004
- IETF Datatracker: RFC 2004
- RFC 791 — Internet Protocol
- RFC 1191 — Path MTU Discovery
- RFC 2003 — IP Encapsulation within IP
- RFC 2002 — IP Mobility Support
- RFC 1241 — Scheme for an Internet Encapsulation Protocol
- RFC 1326 — Mutual Encapsulation Considered Dangerous
- Lu Heng — Running-Code Primacy
- Lu Heng — Minimum Initial Specification
- Lu Heng — On Reality Layers
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加

