BFD(Bi-directional Forwarding Detection)とは

BFD(Bi-directional Forwarding Detection)とは

BFDの概要 

BFDは通信経路の障害を素早く検知して迂回経路に切り替える技術です.
例えば,OSPFでインタフェースのリンクダウンをルーターが検知した場合,SPF Delay値(JUNOSのデフォルトでは0秒後)が経過後にLSAをフラッディングすることで,隣接ルーターも障害の発生を知ることができます.しかし,ルーター間にスイッチなどがある場合はリンクダウンを隣接ルータが直接検知することができず,Helloパケットの未到達による検知しかできないため,40秒程度の切り替え時間が発生してしまいます.
BFDはソース・デストネーション共にUDPの3784番ポートを使用します.IPパケットを使用するのでルーター間のメディアに依存しません.また,UDPで動作するためネットワーク帯域に与える影響も最小限になります.BFDの設定により,数十ミリ秒で障害検知が可能になります.

BFDの基本設定 

BFDを動作させたいインタフェースに対して設定します.ge-0/0/0とge-0/0/1に対してBFDのキープアライブの送受信間隔を200ミリ秒にし,キープアライブを3回受信できない場合にBFDセッションがダウンする設定です.
対向のルーターに対しても接続されているインタフェースに同様の設定が必要です.

set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 bfs-liveness-detection minimum-interval 200
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 bfs-liveness-detection multiplier 3
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 bfs-liveness-detection minimum-interval 200
set protocols ospf area 0.0.0.0 interface ge-0/0/1.0 bfs-liveness-detection multiplier 3

以下のコマンドでセッションの確認を行えます.

show bfd session

BFDの設定パラメータ 

以下の3つのパラメータを設定できます.

  • min-TX-interval:送信間隔
  • min-RX-interval:受信間隔
  • mulptiplier:乗数

ルーター間でBFDセッションのネゴシエーションを行なった後,自身のmin-TXと対向のmin-RXを比べて値の大きい方が送信インターバルとなります.次に,対向の送信インターバルと対向のmultiplierを乗算して得られた値がDirect Timeとなります.障害検知からDirect Timeが経過すると経路の切り替えを行います.

set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 bfs-liveness-detection minimum-receive-interval 300
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 bfs-liveness-detection transit-interval minimum-interval 400
set protocols ospf area 0.0.0.0 interface ge-0/0/0.0 bfs-liveness-detection multiplier 3