要約
- RFC 3626 のリンク、近傍、2 ホップ、MPR セレクター、トポロジーの各タプルには有効時間がある。期限内の記録はプロトコル上利用可能だが、物理リンクを連続観測しているわけではない。
- 経路の説明には、最後の HELLO、残存有効時間、MPR 計算、TC の版、経路表への反映、次ホップ解決、パケットの通過、アプリケーション応答を分けた証拠が必要である。
消えない記録は安定をつくる
HELLO が一度欠けただけで近傍を削除すれば、無線ネットワークの経路は激しく揺れる。RFC 3626 はその事態を避けるため、受信した情報に有効時間を与える。保持時間は更新間隔より長く設定され、通常の損失をまたいでタプルを生かす。
運用上は正しい選択である。同時に、記録と現実の間に意図的な時間差を置く選択でもある。リンクが物理的には変化しても、最後の観測から期限までは「対称リンク」の記録が残ることがある。
RFC 3626 は 2003 年 10 月に公表された、移動アドホックネットワーク向け Optimized Link State Routing Protocol の Experimental 仕様であり、インターネット標準ではない。OLSR はプロアクティブに状態を配り、MPR を使って制御トラフィックを減らす。その設計は、時刻を含まない緑色表示がどれほど危ういかも教える。
「有効」は、定められた時間契約の内側にあるという意味である。「現在存在する」は、別の観測が必要な主張だ。
HELLO は局所の時計を動かす
HELLO は各インターフェースで局所的にブロードキャストされ、転送されない。ノードはそれを使ってリンクを検出し、1 ホップと 2 ホップの近傍を更新し、willingness を知り、MPR の選択を伝える。
リンクが対称と判断されると、対応する時刻が更新される。期限が切れれば非対称として扱われ、さらに情報が失効すれば削除される。2 ホップや MPR セレクターにもそれぞれ終了時刻がある。
ここで重要なのは、すべてのノードが同じ瞬間を共有するわけではないことだ。HELLO は局所受信であり、損失、ジッター、処理時刻によって各ノードの期限はずれる。同じ物理事象から、しばらく異なる近傍表が生まれ得る。
したがって障害記録には「リンクが消えた時刻」だけでなく、誰が最後に何を受信し、どの有効時間を計算し、いつ非対称化し、どの経路がその間依存したかを残す必要がある。
MPR は期限つきのグラフから選ばれる
各ノードは、対称な 1 ホップ近傍から MPR を選ぶ。選ばれた近傍の先にある対称近傍を合わせ、厳密な 2 ホップ近傍をすべて覆う必要がある。小さな集合ほどオーバーヘッドは減るが、最小であること自体は必須ではない。
MPR_COVERAGE は複数の中継による被覆を求めることもできる。しかしその数は、現在の近傍表上の候補数である。複数候補が同じ干渉源や電源、ソフトウェア障害を共有していれば、独立した耐障害性にはならない。
willingness も選択を左右する。WILL_NEVER は選択されず、WILL_ALWAYS は初期集合に入る。これは資源方針を示す自己申告であり、能力試験ではない。古い HELLO に含まれた高い willingness が期限内に残れば、その値も選択に影響し続ける。
MPR の証拠には、計算時のインターフェース、1 ホップと 2 ホップの集合、各タプルの年齢、willingness の由来、候補評価、選択結果を結びつけるべきだ。最終集合だけでは、正しかったか再現できない。
シーケンス番号は年齢そのものではない
OLSR はパケット、メッセージ、広告近傍集合にシーケンス番号を使う。有限ビットの番号が折り返しても、新旧を比較できる規則がある。古い情報や順序の入れ替わりを拒否するための仕組みだ。
しかし「別の記録より新しい」は「今の物理状態を表す」と同義ではない。最新の TC を受け取った直後にも、発信元の無線条件は変わり得る。シーケンスは記録間の順位を証明し、記録と現実の距離を測らない。
監視画面が番号だけを見て「最新」と表示すると、利用者は現在性まで保証されたと誤解する。必要なのは、発信時刻または受信時刻、残りの有効時間、期待更新間隔、欠落回数、依存する経路の表示である。
TC は時間差を全体へ配る
MPR に選ばれたノードは TC を生成し、少なくとも自分を選択した近傍へのリンクを広告する。TC は MPR によってネットワークへフラッディングされ、各受信者のトポロジー集合に期限つきで保存される。
広告集合が変わると ANSN が更新される。メッセージサイズの制約があれば、一つの集合を複数 TC に分割できる。更新期間の中で全体が完成すればよい。
一つのパケットを全体と見なすことはできないし、一つの受信者のトポロジーを全ノードの合意と見なすこともできない。証拠は、発信元、ANSN、全断片、受信インターフェース、有効時間、受理判断、完成したトポロジー版を束ねる必要がある。
HELLO の局所的な時間差は、MPR 選択と TC を通じて共有経路の差へ拡大する。これは異常とは限らない。分散プロトコルの通常の途中状態である。問題は、途中状態を完成済みの現実として報告することだ。
duplicate set は一地点の記憶である
同じ制御メッセージを何度も処理しないため、ノードは発信元とメッセージ番号などを duplicate set に保存する。該当エントリがあれば、規則に従って再処理や再送を省ける。
これは「このノードがこのメッセージ識別子を既に記録した」という証拠だ。下流全体の受信確認ではない。ある枝で重複が見え、別の枝では最初の一通さえ届かないことがある。
重複数を健全性指標にするなら、受信と再送判断を代表ノードで結びつけなければならない。エントリがない場合も、新規、損失、期限切れのどれかを区別する必要がある。
削減された送信が本当に不要だったかは、削減後の到達観測でしか分からない。
経路表にはさらに別の時計がある
RFC 3626 は、OLSR 自体がデータパケットを転送するのではなく、基盤となる OS の経路表を保守すると明記する。トポロジーから計算した結果が、OS への指示に変わる地点だ。
トポロジーが期限内でも、経路計算とカーネル反映の間には時間がある。表に載っても次ホップ解決が失敗することがある。制御ブロードキャストを扱うノードがユニキャストデータを転送しない場合も、RFC の安全性検討に明示されている。
経路の証拠は、元になったトポロジー版、計算時刻、OS 更新結果、実際の表、次ホップ、インターフェース観測を分ける。さらにパケットの損失、重複、順序、遅延を測り、最後にアプリケーション応答を確認する。
「有効な経路表」は制御面の状態であり、パケットが通った時刻の証言ではない。
HNA の期限は権限を作らない
HNA により、ノードは OLSR 外のインターフェースに接続されたネットワークを広告できる。受信側はゲートウェイ、ネットワーク、マスク、期限を保存し、経路へ取り込む。HNA は TC のような ANSN の取消しではなく、期限で消える。
期限内であることは、そのプレフィックスを広告する権限の証拠ではない。発信者が本物でも、外部経路が現在到達可能とは限らない。誰がどの範囲を広告できるか、どの証拠で受け入れるか、いつ撤回するかを別の方針として定めなければならない。
記録は「誰がいつまで何を主張したか」を正確に残せる。記録そのものは、その主張の principal を生み出せない。
認証にも時間境界がある
RFC 3626 は専用の安全機構を規定せず、トポロジー漏えい、偽 HELLO・TC・HNA、なりすまし、改変、不転送、誤った MPR 選択、再送攻撃を挙げ、認証を推奨する。
制御メッセージ全体の認証と、広告された個々のリンクの妥当性は別である。正しい署名は資格情報とバイト列を結ぶが、隣接関係や外部プレフィックス権限を確認しない。過去に正しかった署名つきメッセージの再送には時間的な防御が要る。
後続 RFC は一般メッセージ形式、近傍発見、完全性保護、脅威分析を整備し、OLSRv2 は flooding MPR と routing MPR を分けた。この分離は、制御の配送と経路の構築が別の責務であることを明瞭にする。どちらもアプリケーションの時刻を所有しない。
現在を証明する最後の観測
有効時間は、ネットワークを安定させるために古い観測を一定期間使う契約である。契約を否定する必要はない。必要なのは、契約の範囲を超えて「現在の真実」と呼ばないことだ。
HELLO は最後の局所観測を、MPR は選択を、TC は受信した広告を、経路表は OS の指示を証明する。パケット観測はデータ面を、アプリケーション応答は利用者が買った結果を証明する。
時刻と所有者を分けて記録すれば、古い情報は管理可能な不確実性になる。分けなければ、緑の表が現実より長く生きる。
情報源
- https://www.rfc-editor.org/rfc/rfc3626.html
- https://www.rfc-editor.org/rfc/rfc3626.txt
- https://www.rfc-editor.org/info/rfc3626/
- https://datatracker.ietf.org/doc/rfc3626/
- https://www.rfc-editor.org/errata_search.php?rec_status=0&rfc=3626
- https://www.rfc-editor.org/rfc/rfc2501.html
- https://www.rfc-editor.org/rfc/rfc5148.html
- https://www.rfc-editor.org/rfc/rfc5444.html
- https://www.rfc-editor.org/rfc/rfc5497.html
- https://www.rfc-editor.org/rfc/rfc6130.html
- https://www.rfc-editor.org/rfc/rfc6621.html
- https://www.rfc-editor.org/rfc/rfc7181.html
- https://www.rfc-editor.org/rfc/rfc7183.html
- https://www.rfc-editor.org/rfc/rfc7185.html
- https://www.rfc-editor.org/rfc/rfc7186.html
- https://www.rfc-editor.org/rfc/rfc8116.html
- https://heng.lu/running-code-primary-the-patch-needed-to-preserve-the-internet-original-design/
- https://heng.lu/minimum-initial-specification-localized-future-decision-voluntary-adoption-internet-coordination-system/
- https://heng.lu/on-reality-layers-symbolic-power-and-why-clarity-feels-so-hostile/
- https://heng.lu/on-authority-belief-and-the-internets-addressing-system/
会員向け解説
プロフィールの詳細
適切な会員レベルでログインすると、解説全文と出典メモをご覧いただけます。
Strategic Circle 限定
Strategic Circle
すべての読者に公開されています。参加してログインすると プロフィール解説 を閲覧できます。
Strategic Circle に参加Leadership Alliance 会員限定
Leadership Alliance
対象となる IP 資産の所有者・管理者向けです。ログインすると Leadership Alliance の解説を閲覧できます。
Leadership Alliance に参加
