底辺エンジニアの備忘録

30過ぎて、記憶力低下が著しい為、メモ代わりにしていく予定。 自身のスキルが低いので、内容の正確さは保障できません・・・OTL

BFD(双方向フォワーディング)

以前、ネットワーク設計でこの機能を使いそうになるものの結局は使わずじまいになってしまい、最近まで忘れていたので整理。

BGPとか動いている現場だと、割と使われているっぽいんで備忘も兼ねて・・・

 

BFDは簡単に言うと、「障害検知に特化したプロトコル

 

例えば、以下の構成でルータがOSPFを喋っていると想定。

f:id:klock_3rd:20140403202046p:plain

↑の場合は、OSPFのHello、Deadをいじらなければリンクダウンの場所によっては、経路切り替わりまでに時間が掛かる。

 試しに、ルータのOSPFのhelloを5,Deadを20にてした状態でL2SW間を抜線すると、両方のルータ共にしばらくはリンクダウンを検知できないはず。

 

Router#sho clock
*11:33:46.955 UTC Thu Apr 3 2014

↑が抜線直後で約16秒後にネイバーダウンを検知

*Apr  3 11:34:02.567: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.1 on FastEthernet0 from FULL to DOWN, Neighbor Down: Dead timer expired

そこで今度はHello&Deadインターバルは変えず、両方のルータに以下を投入

 

Router(config-if)# bfd interval 100 min_rx 500 multiplier 3

Router(config-router)#bfd all-interfaces

 

投入後のBFD状態は・・・

Router#sho bfd nei

NeighAddr                         LD/RD    RH/RS     State     Int
192.168.1.1                        1/1     Up        Up        Fa0
→相手を認識してる

 

この状態で抜線する

Router#sho clo
*12:07:31.683 UTC Thu Apr 3 2014
↑が抜線直後で、今度は数秒以内にネイバーダウン
*Apr  3 12:07:33.155: %OSPF-5-ADJCHG: Process 1, Nbr 192.168.1.1 on FastEthernet0 from FULL to DOWN, Neighbor Down: BFD node down

BFDの状態は・・・

Router#sho bfd nei
Router#
→表示されない

 

そんなわけで、BFDを使うとタイマーを変えずに検知が可能。