要約

  • CASHは広い範囲を要約し、不一致があればPASHで範囲を絞り、最後は従来のSNPまたはフラッディングへ戻る。
  • 一致は指定された計算法で差が見つからなかった証拠であり、真正な状態、正しい経路、パケット到着の証明ではない。
  • 9月6日の改訂は別のHello Capability草案に依存するため、導入判断には版の組み合わせと混在時の退避動作が含まれる。

100万個の断片を持つルーター同士が、同じ状態だと確認するためだけに全項目を読み上げるのは高価である。draft-prz-lsr-ash-packets-01 は順序を変える。まずCASHでノード範囲のハッシュを比べ、違う範囲だけをPASHで細分化し、単一ノードまで来たら通常のCSNP、PSNPまたは直接フラッディングで修復する。

草案は5万ノード、100万断片、1万6000ピアという外縁を置く。完全同期に約1万個のCSNPが必要な想定に対し、最大圧縮では更新フラッディングにほぼ1パケットを加えるところまで減る。この計算は検証すべき設計仮説であって、稼働中ネットワークの認定ではない。

一致は探索を止める条件

各断片のID、シーケンス番号、チェックサム、長さなどから64ビットSipHashを作り、XORでノードと範囲の値へまとめる。本文は、この増分ハッシュで暗号学的安全性を狙わないと明記する。ASH PDUの完全性は既存のIS-IS保護に委ねられる。

ここには二つの仕事がある。ハッシュは差を探す場所を減らす。IS-IS認証は設定された鍵の範囲で制御パケットを守る。認証済みルーターが侵害されれば偽の状態を送れるし、二つのLSDBは同じ誤りで一致できる。正しいLSDBの後にもSPF、FIBへの反映、実パケットの配送が残る。

従って記録すべき結果は「この時刻、このピア、この範囲で、この方式による差は検出されなかった」である。「ネットワーク正常」ではない。

能力交渉の依存先が変わった

00版はASH専用の空TLVを用意していた。01版はそれを削り、別の個人草案が定める汎用Hello Capability TLV内の ASH Support ビットを求める。隣接関係の全ノードが広告しなければASHを使わない。一方、受信処理だけを実装し、応答は従来のCSNP/PSNPにすることも認める。

共通容器の再利用は合理的だが、依存関係は増える。コードポイントは未定で、未送信・未定義ビットはゼロ扱い、非ゼロのビットマスクを持てるのは最初のHello Capability TLVだけである。「ASH対応」という一語では、どの版と解析規則が試験済みか分からない。

01版はパケット境界も修正した。範囲エントリーは20オクテットなので、255オクテットのTLV値には最大12件しか入らない。1500バイトPDUに約70件を載せるには複数TLVを一つの順序付き論理列として結合する。実装間のずれは、この継ぎ目で起きやすい。

曖昧さは完全な手続きへ戻す

CASHの欠落区間は存在しない状態としてフラッディングを促す。重複範囲はゼロハッシュ扱い、境界外は切り詰めて同じ退避経路へ進み、終了値が開始値以下なら破棄して記録する。単一ノードの不一致では断片単位へ戻る。

圧縮率にも上限判断がある。一つの巨大な範囲は通信量を減らすが、パケット損失の影響と再分解を大きくする。選択した64ビット方式でシミュレーション上の衝突が検出されなかったことは有力な材料だが、将来の全コードと入力に対する不可能証明ではない。

出典

  1. IETF Datatracker文書記録
  2. IS-IS Aggregated SNP Hash Packets 改訂01
  3. IS-IS Aggregated SNP Hash Packets 改訂00
  4. IS-IS Hello Capability 改訂00
  5. RFC 1195:TCP/IP・デュアル環境でのOSI IS-IS
  6. RFC 5304:IS-IS暗号認証
  7. RFC 5310:IS-IS汎用暗号認証
  8. RFC 2119:要求レベルを示すキーワード
  9. RFC 8174:規範語の大文字と小文字
  10. 最小初期仕様、将来判断の局所化、自発的採用
  11. 現実の層、象徴的権力、明晰さが敵視される理由
  12. 動くコードの優先