BFD ( Bidirectional Forwarding Detection )



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

 BFD(Bidirectional Forwarding Detection)は、2台の隣接するルータ間の転送パスの生存状況を調べて
 
高速に障害を検知してルーティングプロトコルに通知する機能です。BFD機能は、隣接するルータとの間に
 L2スイッチなどが存在し、
リンクステータスが伝わらない障害が発生した場合に効果的な機能と言えます。


  



 BFDを有効にしたルータは定期的にBFDパケットを送受信し、対向ルータから一定時間内にBFDパケットを
 受信できなかった場合、対向ルータとの経路に障害が発生したと判断します。収束の流れは以下の通りです。

 Step1 : スイッチ間のリンクで障害が発生( ルータのポートはリンクダウンしない )
 Step2 : BFDを有効にしたルータ間でやりとりされるBFDパケットを一定時間内に受信できなくなる。
 Step3 : BFDはローカルルータのルーティングプロトコルに高速障害検出の通知を送信する。
 Step4 : 高速障害検出通知を受けたルーティングプロトコルはルーティングテーブル再計算プロセスを開始。


 ◆ BFD - 動作モード

 CiscoデバイスではBFDの動作モードで「
非同期モード」をサポートしています。このBFD非同期モードでは
 2台の隣接するルータ間で一定間隔でBFD制御パケットが送信されて、ルータ間のBFDネイバーセッションが
 アクティベートされて維持されます。非同期モードでは、対向ルータからのBFDパケットが規定どおりに受信
 できなかった場合には、接続常態に障害が発生したと見なします。

 BFDパケットを送受信する両方のルータのインターフェイスとルーティングプロトコルでBFDが有効化すると
 BFDセッションを作成して、BFDセッションパラメータをネゴシエートし、BFD制御パケットをネゴシエート
 された間隔でBFDネイバーに送信し始めます。BFDセッション(制御)パラメータには次の項目が含まれます。

BFD制御パラメータ 説明
指定 最小転送間隔  デバイスがBFDパケットを送信する際の最小の間隔(Helloメッセージの送信間隔)
必要 最小受信間隔  デバイスが許容するBFDパケットの最小受信の間隔
障害検出乗数  障害検出乗数で指定された回数のBFDパケットを連続で受信しなかった場合に障害発生を検出

 ※ BFDパケットの送信間隔は「自身の最小転送間隔」と「対向の最小受信間隔」と比較して値の大きい方が適用されます。



 ◆ BFD - Ciscoコンフィグ設定:インターフェースへの設定

 BFDネイバーに対してBFDセッションを実行するインターフェースごとに以下の設定をします。

 ◆ インターフェース上でのBFDセッション パラメータの設定
 (config)# interface type number
 (config-if)# bfd interval milliseconds min_rx milliseconds multiplier interval-multiplier

BFD制御パラメータ 説明
interval milliseconds  デバイスがBFDパケットを送信する際の最小の間隔(Helloメッセージの送信間隔)
min_rx milliseconds  デバイスが許容するBFDパケットの最小受信の間隔
multiplier interval-multiplier  障害検出乗数で指定された回数のBFDパケットを連続で受信しなかった場合に障害発生を検出




 ◆ BFD - Ciscoコンフィグ設定:ルーティングプロトコルへの設定(例:BGP)

 BGPがBFDの登録プロトコルとなり、BFDから転送パスの検出障害メッセージを受信するための設定です。

 (config)#
router bgp as-number
 (config-router)#
neighbor ip-address fall-over bfd

 ◆ 設定例

 R1(config) #
interface GigabitEthernet0/1
 R1(config-if) # ip address 10.1.1.1 255.255.255.0
 R1(config-if) # bfd interval 100 min_rx 100 multiplier 5

 R1(config) # router bgp 65001
 R1(config-router) # neighbor 10.1.1.2 remote-as 65002
 
R1(config-router) # neighbor 10.1.1.2 fall-over bfd


 R2(config) #
interface GigabitEthernet0/1
 R2(config-if) # ip address 10.1.1.2 255.255.255.0
 R2(config-if) # bfd interval 100 min_rx 100 multiplier 5

 R2(config) # router bgp 65002
 R2(config-router) # neighbor 10.1.1.1 remote-as 65001
 
R2(config-router) # neighbor 10.1.1.1 fall-over bfd


 show bfd neighbors [ details ] で、BFDネイバーがアクティブで、BFDが登録したルーティングプロトコルを確認できます。



ルーティング

ネットワークエンジニアとして

Copyright (C) 2002-2024 ネットワークエンジニアとして All Rights Reserved.