要約

  • RFC 5880 は BFD を、双方向の転送経路障害をプロトコルに依存せず、非常に低い遅延で検知し得る仕組みとして定義する。
  • そのシグナルは経路選択ポリシーではない。セッションを作成して状態を使うのはアプリケーションであり、短いタイマーにはパケット、処理負荷、誤検知のコストが伴う。

狭いシグナルが広い結果を生む

BFD が見るのは二つの転送エンジンを結ぶ双方向経路である。RFC 5880 によれば、その経路にはインターフェース、データリンク、可能な場合は転送エンジン自体も含まれる。媒体、運ばれるデータプロトコル、状態を利用するルーティングプロトコルから意図的に独立している。

範囲の狭さが価値になる。ルーティングプロトコルは、自身の Hello やデッドタイマーを待たずに、実際の転送経路の故障を知ることができる。サービスも同じ基礎セッションを利用できる。しかし BFD は、どのプレフィックスを移し、どのネクストホップを勝たせ、隣接関係を切るべきかを決めない。状態を報告し、ポリシーの権限はクライアントに残す。

RFC 5882 は境界を明示する。アプリケーションにとって BFD の目的は、特定のデータプロトコルが特定の経路を通って一対のシステム間で到達できるかを確認することである。制御プロトコル自体の健全性を証明するものではない。Down はルーティング動作の根拠になり得るが、すべての制御プロセスが失敗したことや、代替経路が安全であることの証明にはならない。

セッション作成は権限の決定である

BFD に探索機構はない。アプリケーションがリモートアドレスなどのパラメータを渡してセッションを作る。したがって監視範囲は設定されるもので、自動的に推定されない。ある経路がセッションに結び付けられていなければ、装置の別の場所で BFD が動いていても保護されない。

RFC 5882 は、同じデータプロトコルの同じ経路を複数のクライアントが監視する場合、一つの BFD セッションを共有すべきだとも定める。状態は共通依存になる。誰が利用できるか、どのアドレスファミリーと経路を表すか、変化を各制御システムへどう伝えるかについて、所有者が必要になる。

シングルホップ運用は境界を具体化する。RFC 5881 は、同一経路で IPv4 と IPv6 の両方を監視するなら別々のセッションを求める。受信する Control パケットの TTL または Hop Limit は 255 でなければならず、直接接続されたピアからの受信に限定する。認証でパケットを保護できるが、導入と鍵管理は運用者の責任である。

互換性の規則も重要だ。隣接装置が BFD に対応していないと考えられる場合、RFC 5882 は、その理由だけで制御プロトコルの隣接関係を妨げるべきではないとしている。BFD は追加の障害シグナルであり、未対応機能に基本接続を依存させる許可ではない。

検知時間は容量で買う

Asynchronous モードでは双方が Control パケットを定期送信し、検知時間内に合意した数を受信できなければ Down になる。Demand モードは Up 後の定期送信を抑えられるが、別の仕組みが独立して接続性を確認する場合に限られる。任意の Echo 機能は、相手の転送面で折り返すパケットによって経路を試験する。

短い間隔は無料の確実性ではない。RFC 5881 は、リンク、入力キュー、処理プロセッサーを圧迫しないよう送信量を設計することを求める。監視が経路や装置を過負荷にすれば、遅れた BFD パケットが、監視自身も引き起こした障害の証拠として扱われ得る。高速タイマーは本物のブラックホールを短くする一方、一時的な混雑を経路撤回やサービスの揺れへ増幅し得る。

RFC 7419 は共通の間隔集合を定義し、実装間の相互運用リスクを下げる。解決するのは間隔交渉であって、容量判断ではない。双方が対応する値でも、セッション数、キュー設計、障害領域、復旧方針のすべてに適するとは限らない。

Up と安定は同じではない

基礎の状態機械は、検知窓内に十分な Control パケットが届けば Up を保つ。窓内の散発的な損失は状態を変えないことがある。Experimental 仕様として公開された RFC 9978 は、厳密に増えるシーケンス番号と YANG モデルを用い、欠落した BFD Control パケットを数える方法を加えた。Down に至る前の劣化を観測する狙いである。

適用範囲には明確な限界がある。測るのは BFD パケット損失であり、利用者データの損失や遅延ではない。ECMP やリンクアグリゲーションは順序を入れ替えるため、実装が考慮しなければ並べ替えを損失と誤認し得る。OAM 調査の手掛かりにはなるが、単独で原因を特定しない。

根拠と限界

RFC 5880、5881、5882 は基礎機構、シングルホップの制約、アプリケーションとの関係を定義する。RFC 7419 は共通間隔を定め、RFC 9978 は実験的な安定性測定を追加した。

資料は、すべての環境に安全な一つのタイマー、現在の普及率、ベンダー固有の性能保証を示さない。BFD 状態だけで原因は分からず、生き残る経路も選ばない。

出典