要約

  • PPPがネットワーク層プロトコル・フェーズに入り、さらにIPv6CPがOpenedになって初めてIPv6を送れる。制御は0x8057、IPv6データは0x0057で識別された。
  • Interface-Tokenの相違が保証したのは、そのPPPリンクの両端が異なる値を持つことだけである。認証、世界的な一意性、アドレス所有、到達性、受信は別の証拠を要した。

1996年のRFC 2023には、応答名と内容のずれが見える。相手がゼロのトークンを要求した場合、受信側は非ゼロの案をConfigure-Ackで返すとされた。後継のRFC 2472はこれをConfigure-Nakに変更した。要求をそのまま受け入れるAckと、別案を示すNakを区別し直したのである。

物理リンクの後にもゲートがある

RFC 1661のPPPは、媒体が動いたことをネットワーク層の許可とはみなさない。まずLCPがデータリンクを確立し、設定し、試験する。必要なら認証が続く。その後にネットワーク層プロトコル・フェーズへ進み、各ネットワーク層プロトコルを別々のNCPが設定する。

RFC 2023はIPv6用NCPをIPv6CPと呼んだ。IPv6CPのPPP Protocol値は8057で、ネットワーク層フェーズより前の受信は破棄される。IPv6パケットは0057を使い、IPv6CPがOpenedになるまで通してはならなかった。

LCP Openedはデータリンク設定の完了であり、IPv6の準備完了ではない。ネットワーク層フェーズはIPv6CPを開始できる状態であり、交渉の完了ではない。IPv6CP Openedもデータ種別の入場を許すだけで、経路の存在や送信済みパケットを示さない。

比べる相手は直前の自分の提案

Interface-Tokenはタイプ1、長さ6オクテットで、32ビット値を持つ。各端点はConfigure-Requestの前に暫定値を選ぶ。RFCは、単一のリンク層アドレスでは不十分になり得るとして、複数の差異源から非ゼロ値を作るよう勧めた。良い材料がなければゼロを送り、相手の案を求められた。

受信側は、受け取った値を自分が最後に送った要求値と比較する。異なる非ゼロ値なら相手の値を認める。同じ非ゼロ値ならリンク内の衝突なので、異なる非ゼロ値をConfigure-Nakで提案する。両方ゼロならConfigure-Rejectで自動交渉を終え、既定値は存在しない。

双方が同じ代替案を交差して送ることもある。受け取ったNakの案が、自分が直前に相手へ提案した値と同じなら、新しい暫定値を選ばなければならない。異なれば次の要求に採用できる。中央台帳ではなく、衝突と再試行が二つの値を分けた。

応答ごとに証明できる範囲が違う

非ゼロ要求へのConfigure-Ackは、一方向の一つの要求が受理された記録である。反対方向の完了や端点の身元は含まない。RFC 2023のSecurity Considerationsは安全性を論じておらず、Interface-Tokenは認証情報ではない。

Configure-Nakは現値への不同意と候補を示す。要求側が採用したこと、再送したこと、Ackを得たこと、IPv6CPが開いたことまでは示さない。Configure-Rejectは、その選択肢が後続要求から外れることを意味する。未実装の場合も、ゼロ同士で失敗した場合もあり、代替設定の成功を表さない。

RFC 2472では値が64ビットのInterface-Identifierとなり、ゼロ要求への応答もNakになった。さらにRFC 5072がRFC 2472を置き換えた。現在のIANA登録は0057と8057を残しつつ、IPv6CPの参照先をRFC 5072としている。RFC 2023の32ビット規則は歴史的な設計であり、現在の運用指示ではない。

圧縮の合意も方向別だった

IPv6CPのタイプ2は、特定のIPv6圧縮プロトコルを受信できることを伝えた。双方向に使うなら両端が別々に要求し、既定は圧縮なしである。受信能力への合意は圧縮パケットの存在を示さず、そのパケットも正常な復元や配送を示さない。

ここでもOpenedを万能な成功表示にしてはいけない。状態は設定交換の到達点を表す。ルーティング方針、転送、相手側の受信、完全性、トランスポート、アプリケーションには、それぞれ別の観測主体がいる。

「PPPリンク内で一意」という文言は、保証の座標を与える。二つの値は、その時点の一つの点対点リンクで両端を区別する。世界的な名前空間への割当ではなく、人、組織、装置、アカウントの恒久的な識別でもない。アドレスを使う権利やその所有も導けない。

0057フレームを一つ観測しても、その場所でIPv6パケットを含むフレームが分類されたと分かるだけだ。配送を立証するには、宛先側の対応する受信記録、完全性確認、トランスポートまたはアプリケーション応答が要る。ローカルな状態遷移が、欠けた証拠を代行することはない。

RFC 2023の歴史的な価値は、32ビットという幅ではない。衝突を見える形にし、拒否と再提案を繰り返して局所問題を解いた点にある。値は分かれた。しかし身元、権限、所有、到達性、成果は、なお別々に証明されなければならなかった。

出典