【ビーエフディー】

BFD(双方向フォワーディング検出) とは?

最終更新:
💡 転送経路の異常を素早く知らせる、通信の確認係

2つのシステム間の転送経路で、通信の障害を検出するプロトコル。BGPやOSPFなどが経路を見直す判断に使えるが、検出時間は合意した設定や実装による。

📌 このページのポイント
BFD:転送経路の通信状態を確認 非同期モードの例 装置 A 装置 B 制御パケット 受信が検出時間、途切れる BFD:Down 状態変化を知らせる BGP / OSPF 経路を見直す 設定例:50 ms × 倍率3 = 150 ms 検出時間と切り替え完了時間は別 機器・設定・負荷により条件は変わる
上段の矢印は制御パケットの双方向交換、下段は状態通知と役割分担。150msは合意した送信間隔50ms・検出倍率3の説明例で、全機器共通の性能保証ではない。BFD自体は経路を選ばない。
ひよこ ひよこ
BFDって何をするプロトコルなの?
ペンギン先生 ペンギン先生
2つの装置の間で、監視する転送経路の通信状態を確かめるよ。ルーティングプロトコル自身の検出では遅い場合などに組み合わせる。物理的なリンク断だけでなく転送処理の問題も対象で、相手の装置全体が故障したと断定するものではないんだ。
ひよこ ひよこ
どのくらい速く検出できるの?
ペンギン先生 ペンギン先生
非同期モードの検出時間は、相手と合意した送信間隔に、相手が知らせる検出倍率を掛けて求めるよ。たとえば50ミリ秒と倍率3なら150ミリ秒。説明用の設定例で、すべての機器が同じ速さで動く保証ではないんだ。送信時刻には揺らぎもあるよ。
ひよこ ひよこ
パケットが1つ来なければ、すぐ障害なの?
ペンギン先生 ペンギン先生
非同期モードでは、検出時間の間、制御パケットを受け取れなければセッションをDownにするよ。1パケットの欠落だけで一律に即断するわけではない。BFDには定期交換を抑えるDemandモードや、転送経路で折り返すEcho機能もあるんだ。
ひよこ ひよこ
BFD自体が経路を切り替えるの?
ペンギン先生 ペンギン先生
BFDは状態変化を知らせる役割だよ。BGPやOSPFなどが、その情報を自分の仕組みで利用する。検出が速くても、使える代替経路がなければ通信は復旧しないし、切り替え完了までの時間が検出時間と同じになるわけではないんだ。
ひよこ ひよこ
短い間隔にするほどよい?
ペンギン先生 ペンギン先生
短いほどパケット数や処理負荷が増えるよ。多数のセッションやCPU負荷、パケットの遅延・破棄も考えて設定しよう。転送エンジン側での処理や支援機能の対応は実装によるので、低負荷で必ず動くとは決めつけず、機器の仕様と実際の状態を確認するんだ。
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「BFD」って出てきたら「転送経路の障害を素早く検出し、ほかの機能に知らせるプロトコル」と思えばだいたいOK!
📖 おまけ:英語の意味
「BFD (Bidirectional Forwarding Detection)」 = 双方向フォワーディング検出
💬 Forwardingはパケットの転送、Bidirectionalは双方向だよ。装置全体の生死を断定するより、監視する転送経路の通信状態を確かめる仕組みと考えよう。

参考資料

← 用語集にもどる