要約

  • Juliusz ChroboczekとDavid Schinaziが共同執筆したRFC 8966では、Babelのメトリック計算はローカルポリシーである。無限の局所コストは無限の結果にし、局所コストを加えた結果は受信したメトリックより厳密に大きくなければならない。
  • これはループ回避の条件であり、数値を帯域、料金、実用遅延、現在の到達性、サービス品質の全体評価にはしない。RFC 9616は、正確なRTT標本でもノイズが多ければ直接の経路選択には使えないと示す。

数値は意味を勝手に広げない

経路表では、小さい数値が「良い」と見えやすい。だが、その数値は誰がどの隣接関係で計算し、どの入力をどう変換し、どの選択条件で使ったものなのかを離れると、意味を失う。経路表からダッシュボードへ移すだけで、局所的な計算が世界の状態のように読まれてしまう。

RFC 8966の設計はその飛躍を求めない。Babelはループを避ける距離ベクトル型プロトコルであり、ノードは隣接ノードが通知したメトリックに、自身で計算したリンクコストを組み合わせる。異なるノードや異なるインタフェース型が異なる戦略を使うことを許す。共有されるのは同一の測定尺度ではなく、計算が厳密単調であるという安全条件である。

この条件により、追加のリンクを通った経路が同じ計算規則の下で改善したふりをして循環し続けることを防ぐ。共有層に必要なのは、この検証可能な不変条件である。選ばれた数値が、別のトポロジー、別の運用者、あるいは実際に届いたトラフィックについて真実を語る権限を得るわけではない。

無ループと最適は別の主張

RFC 8966は厳密単調性と左分配性を区別する。前者は持続的なループ回避に不可欠である。後者は推奨されるが、無ループ収束の必須条件ではない。左分配性がなければ、Babelはループなしに収束しても全体最適に達しないことがあり、その最適解自体が存在しないこともある。

この限定は、メトリックが中央の裁定者にならないためのものでもある。局所ポリシーが異なっても、安全不変条件を満たしうる。無限または実現不可能な経路は選べず、シーケンス番号が新しいというだけで優先してはならない。RFCは、そのような優先が振動や、特定のメトリックでは持続的ブラックホールを生む可能性を警告する。変動するメトリックではヒステリシスが推奨される。

ヒステリシスは、切替えに持続した局所的根拠を求める仕組みである。サービス水準を保証する仕組みではない。

RTTの標本は選択規則ではない

Baptiste JonglezとChroboczekによるRFC 9616は、RFC 8966が単一のメトリック算法を指定しないことから始まる。トンネルやVPNを含む一部のトポロジーでは、従来のパケット損失やホップ数の扱いが不適切な選択をするため、RTTを使う拡張を定めた。しかしRTTをそのまま真実として投入しない。標本は正確でもノイズがあり、直接選択に使えばフィードバックと頻繁な振動を生みうるため、文書はコストへの写像とヒステリシスを定義する。

さらに、対称遅延が経路トラフィックにそのリンクを使うべきかの良い予測子である環境にしか適用しない。これは現在の遅延、利用者体験、価格、稼働中の導入を証明しない。Chroboczekが著したRFC 8965も、新規または変動するメトリックへの堅牢性とともに、周期更新と完全な経路表という限界を記す。

Datatrackerの公開記録はRFC 8965、8966、9616をChroboczekのRFCとして示す。それは共同作業の追跡可能な帰属であり、特定ネットワークや実装の支配権の証拠ではない。

証拠の限界

資料は、稼働中のBabelドメイン、活動中のトンネル、特定ネットワークの選択経路、現在のRTT、容量、価格、セキュリティ状態、サービス到達結果を示さない。メトリックの記録には、算法と版、局所入力の範囲、標本窓、コスト変換、実現可能性、ヒステリシス、選択条件を残すべきである。

出典