要約
- RFC 3147 は、IPv4 または IPv6 を GRE に入れ、その GRE パケットを CLNP の利用者データとして運ぶことで、既設 CLNS 網の先にある IP 管理装置への逆向き経路を定義した。
- 推奨された N-SEL 47 は CLNS 終端で GRE を選ぶだけであり、内側のプロトコルは GRE Protocol Type が示す。どちらも管理操作の成功を証明しない。
- 古い網が新しい装置の到達経路になる以上、廃止には代替経路、パケット長、安全、アプリケーション応答、実機状態を別々に確認する必要があった。
新しい端末が古い経路の先に置かれた
SONET と SDH の管理は、2001 年に突然始まったわけではない。Bellcore GR-253-CORE と ITU-T G.784 が CLNS を要求したことで、運用者はすでに大規模な管理網を持っていた。新しいネットワーク要素が IP 管理へ移っても、管理局から装置までの中間網まで同時には置き換わらない。
移行期には二つの島ができる。古い CLNS 装置が新しい IP 網の奥に残る場合、CLNP PDU を GRE で IP 上に運べる。逆に、新しい IP 装置が古い CLNS 網の奥に置かれれば、必要なのは IP over CLNS である。片方向のトンネルを知っていても、反対方向の到達性は生まれない。
RFC 3147 は IPv4 または IPv6 パケットを GRE で包み、その全体を CLNP Data Type PDU のデータ部に配置した。CLNS が既設網内を転送し、出口のトンネル終端が CLNP と GRE を外して内側の IP パケットを送り出す。
この手順で CLNS ルータが IP ルータに変わるわけではない。管理対象装置がトンネルを理解する必要もない。二つの終端間に限定された通路を作ったのであり、管理網全体を更新したのではなかった。
一つのキャプチャに複数の現実があった
内側の IP ヘッダーは管理通信を表す。GRE ヘッダーは内側のネットワーク層プロトコルを識別する。外側の CLNP は、実際に横断する CLNS ドメインでのアドレスと転送を担う。各層は別の行為の記録である。
CLNP PDU が出口に届けば、キャリア層の配送は確認できる。GRE が正しく解釈できれば、内側の形式が分かる。IPv6 パケットを出力できれば、カプセル解除は成功した。それでも管理アプリケーションが要求を受理したか、正しい装置が実行したか、状態が変化したかは残る。
識別子も統合してはならない。NSAP は CLNS 終端を示し、IP アドレスは IP 層の宛先を示す。装置の運用上の同一性は資産台帳、設置場所、証明書などに依存し得る。一つの address に上書きすれば、移行前後を結ぶ証拠が消える。
したがって管理意図、内側 IP、GRE、CLNP、CLNS 転送、終端での解除、アプリケーション応答、実機状態を連鎖として保存する。前段の成功は後段の成功ではない。
47 は入口を選び、その先までは決めなかった
CLNS は NSAP の最後のオクテット、N-selector(N-SEL)で Network Service の利用者を分けた。CLNP のデータが GRE から始まることを両端で共有する必要があり、RFC 3147 は 10 進数の 47 を提案した。これは IP のプロトコル番号で GRE に割り当てられた値と同じだった。
しかし役割は別である。N-SEL 47 は CLNS 終端で GRE 処理を選択する。GRE Protocol Type が、その内側を IPv4、IPv6、または別のプロトコルとして識別する。47 を見ただけで「IPv4 管理」と記録すれば、IPv6 を誤分類する。
推奨値は相互運用の共通点であって、普及の証拠ではない。RFC に番号があることは意味を確定するが、全ベンダーの実装、オプションの一致、特定運用者の利用を証明しない。
監査可能な記録には送受信 NSAP、N-SEL、GRE の版とフラグ、Protocol Type、内側アドレス、ペイロード指紋、観測時刻が要る。「トンネル稼働中」だけでは何が通ったかを説明できない。
小さい疎通確認が大きな障害を隠す
カプセル化は長さを増やす。CLNS 内部のリンクには、IP 送信元から見えない PDU 上限がある。RFC 3147 は CLNP の Segmentation Permitted を設定するよう推奨した。分割が許されず PDU がリンク上限を超えると、CLNS は破棄でき、内側の送信元は理由を受け取れないことがある。
短い ping や照会だけが成功し、大きな設定転送が消える。このとき装置は「到達可能」と判定済みなので、障害はアプリケーションへ押し付けられやすい。実際の経路は特定の長さでしか使えない。
入口では IPv4 Path MTU Discovery も必要になる。大きな内側パケットで DF が解除されていれば、入口はカプセル化前に分割できる。DF が設定されていれば破棄し、fragmentation-needed の ICMP を返す。その ICMP にも戻り道が必要である。
元の長さ、DF、追加オーバーヘッド、CLNP 分割許可、制約リンク、断片、ICMP、観測点を保管して初めて説明できる。単純な成功率は、サイズ依存のブラックホールを装置の不安定さに見せてしまう。
トンネルは安全境界ではなかった
RFC 3147 は CLNS と GRE がこの用途に安全性を与えないと明記した。保護が必要なら、GRE over CLNS に入る前に別の方法をペイロードへ適用する。カプセル化は認証、暗号化、権限付与ではない。
三つのヘッダーがすべて正しくても、未承認の管理命令であり得る。終端が同じバイト列を出力しても、アプリケーションは拒否できる。応答があっても、独立した装置認証なしには発信主体を確定できない。
後年の GRE 拡張や現在の保護手段を導入することはできる。しかし 2001 年 7 月の仕様にさかのぼって属性を付けてはならない。観測された保護機構を、その時点のものとして記録する必要がある。
一時的な橋が旧網に新しい重要性を与えた
新しい IP 装置が GRE over CLNS に依存した瞬間、旧網は単なる撤去対象ではなくなった。新装置を管理する実行経路の一部になったからである。早く止めすぎれば、近代化の証拠とされた装置から先に孤立する。
これは CLNS を永久に残す主張ではない。廃止のための条件を明確にする。すべての依存装置に別経路があり、複数サイズが通り、安全制御が移り、ロールバックを試し、切替後の装置状態を確認する必要がある。トンネルカウンターだけでは足りない。
CLNS 運用者はルーティングと NSAP 計画を、IP 運用者は新経路を、ベンダーは管理アプリケーションを、サービス責任者は切替判断を支配する。IETF は境界の互換性を作れても、権限を一つに統合できない。
歴史的には、CLNP over IP と IP over CLNS が向かい合って存在したことが重要である。旧装置は新網を渡り、新装置は旧網を渡った。最小仕様は交差点だけを整え、将来判断を運用者に残した。
動くコードは計画への異議申立てである。装置状態が変わらなければ管理は失敗、小さいパケットしか通らなければ経路は未完成、CLNS だけが復旧路なら置換は終わっていない。トンネルは時間を買うが、完了証明書にはならない。
出典
- RFC 3147 テキスト
- RFC 3147 レコード
- RFC 3147 HTML
- RFC 3147 文書履歴
- RFC 2784 — GRE
- RFC 1702 — IPv4 上の GRE
- RFC 1191 — Path MTU Discovery
- RFC 1700 — Assigned Numbers
- RFC 1237 — OSI NSAP 割当指針
- RFC 1629 — Internet の OSI NSAP
- RFC 2890 — GRE 拡張
- RFC 7676 — IPv6 上の GRE 更新
- Running-Code Primacy
- Reality Layers
- Minimum Initial Specification
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
