BFD の概要
双方向フォワーディング検出(BFD)では、隣接するルータ間のパスにおける障害を低オーバーヘッド、短期間で検出できます。BFD では、あらゆるメディアおよびあらゆるプロトコル レイヤでの障害検出に単一のメカニズムを使用でき、広範な検出時間とオーバーヘッドに対応できます。障害の迅速な検出が可能なため、リンクやネイバーの障害発生時にもただちに障害に対応することができます。
ルータは、VRF コンテキストを使用した BFD をサポートしています。
機能制限
BFD には、次の制約事項が適用されます。
-
Cisco IOS XR ソフトウェアではデマンド モードはサポートされません。
-
BFD エコー モードと暗号化はサポートされていません。
-
IPv4 に対する BFD ハードウェア オフロードがサポートされています。
-
スタティック、OSPF、BGP および IS-IS アプリケーションのみが BFD でサポートされています。
-
IPv6 BFD ではスタティック ルートのみがサポートされています。
-
非 IP コア(ラベル配布プロトコルまたはセグメントルーティング)を介した BFD マルチホップは、IOS XR リリース 7.1.1 以降でサポートされています。
-
バンドル機能を介した BFD では IETF モードのみがサポートされています。
-
BFD の減衰拡張はサポートされていません。
-
BoB と BLB の共存はサポートされていません。
ルータでの BFD の IPv6 チェックサム計算のイネーブル化およびディセーブル化
ルータ上で BFD の IPv6 チェックサム計算を設定するには、次の手順を実行します。
RP/0/RP0/CPU0:router(config)# bfd
RP/0/RP0/CPU0:router(config-bfd-if)# ipv6 checksum disable
RP/0/RP0/CPU0:router(config-bfd-if)# commit
ダイナミック ルーティング プロトコル下での BFD の設定またはスタティック ルートの使用
BFD ネイバーを確立するには、次の手順の少なくとも 1 つを実行し、ダイナミック ルーティング プロトコル下で BFD を設定するか、またはスタティック ルートを使用します。
インターフェイスでの OSPF への BFD の有効化
Open Shortest Path First(OSPF)での BFD を特定のインターフェイスで設定するには、次の手順を実行します。この方法の手順は、コマンド モードが異なる点を除き、IS-IS で BFD を設定する手順と共通です。
(注) |
インターフェイス単位での BFD の設定は、OSPF および IS-IS のみでサポートされます。 |
Router# configure
/* Enter OSPF configuration mode to configure the OSPF routing process. */
Router(config)# router ospf 0
/* Set the BFD minimum interval. The range is from 15 to 30000 milliseconds. */
Router(config-ospf)# bfd minimum-interval 6500
/* Set the BFD multiplier. */
Router(config-ospf)# bfd multiplier 7
/* Configure an Open Shortest Path First (OSPF) area. */
Router(config-ospf)# area 0
/* Enter interface configuration mode. */
Router(config-ospf-ar)# interface gigabitEthernet 0/3/0/1
/* Enable BFD to detect failures in the path between adjacent forwarding engines. */
Router(config-ospf-ar-if)# bfd fast-detect
実行コンフィギュレーション
configure
router ospf 0
bfd minimum-interval 6500
bfd multiplier 7
area 0
interface gigabitEthernet 0/3/0/1
bfd fast-detect
確認
Router(config-ospf-ar-if)# show run router ospf
router ospf 0
bfd minimum-interval 6500
bfd multiplier 7
area 0
interface gigabitEthernet 0/3/0/1
bfd fast-detect
インターフェイスでの OSPF3 への BFD の有効化
次に、OSPFv3 での BFD を特定のインターフェイスで設定する手順について説明します。この方法の手順は、コマンド モードが異なる点を除き、IS-IS および MPLS-TE での BFD を設定する手順と共通です。
(注) |
インターフェイス単位での BFD の設定は、OSPF、OSPFv3、および IS-IS のみでサポートされます。 |
Router# configure
/* Enter OSPF configuration mode to configure the OSPF routing process. */
Router(config)# router ospf3 0
/* Set the BFD minimum interval. The range is from 15 to 30000 milliseconds. */
Router(config-ospfv3)# bfd minimum-interval 6500
/* Set the BFD multiplier. */
Router(config-ospfv3)# bfd multiplier 7
/* Configure an Open Shortest Path First (OSPF) area. */
Router(config-ospfv3)# area 0
/* Enter interface configuration mode. */
Router(config-ospfv3-ar)# interface gigabitEthernet 0/5/0/1
/* Enable BFD to detect failures in the path between adjacent forwarding engines. */
Router(config-ospfv3-ar-if)# bfd fast-detect
Router(config-ospfv3-ar-if)# commit
Router(config-ospfv3-ar-if)# end
実行コンフィギュレーション
configure
router ospf3 0
bfd minimum-interval 6500
bfd multiplier 7
area 0
interface gigabitEthernet 0/5/0/1
bfd fast-detect
!
確認
RP/0/RP0/CPU0:router(config-ospfv3-ar-if)#show run router ospf3
router ospf3 0
bfd minimum-interval 6500
bfd multiplier 7
area 0
interface gigabitEthernet 0/5/0/1
bfd fast-detect
BFD over BGP の有効化
BFD over BGP を設定するには、次の手順を実行します。次に、自律システム 65000 とネイバー 192.168.70.2 間での BFD を設定する例を示します。
Router# configure
Router(config)# router bgp 65000
Router(config-bgp)# bfd multiplier 2
Router(config-bgp)# bfd minimum-interval 20
Router(config-bgp)# neighbor 192.168.70.24
Router(config-bgp-nbr)# remote-as 2
Router(config-bgp-nbr)# bfd fast-detect
Router(config-bgp-nbr)# commit
Router(config-bgp-nbr)# end
実行コンフィギュレーション
router bgp 65000
bfd multiplier 2
bfd minimum-interval 20
neighbor 192.168.70.24
remote-as 2
bfd fast-detect
commit
end
確認
BFD が BGP 上で有効になっていることを確認します。
Router# show run router bgp
router bgp 65000
bfd multiplier 2
bfd minimum-interval 20
neighbor 192.168.70.24
remote-as 2
bfd fast-detect
IPv4 スタティック ルートでの BFD のイネーブル化
次に、IPv4 スタティック ルートでの BFD をイネーブルにする手順を示します。
実行コンフィギュレーション
確認
適切なインターフェイスで BFD がイネーブルになっていることを確認します。
IPv6 スタティック ルートでの BFD のイネーブル化
次に、IPv6 スタティック ルートでの BFD をイネーブルにする手順について説明します。
RP/0/RP0/CPU0:router# configure
/* Enter static route configuration mode to configure static routing. */
RP/0/RP0/CPU0:router(config)# router static
/* Enable BFD fast-detection on the specified IPv6 unicast destination address prefix and on the forwarding next-hop address. */
/* BFD sessions are established with the next hop 2001:0DB8:D987:398:AE3:B39:333:783 when it becomes reachable. */
RP/0/RP0/CPU0:router(config-static)# address-family ipv6 unicast 2001:0DB8:C18:2:1::F/64 2001:0DB8:D987:398:AE3:B39:333:783 bfd fast-detect minimum-interval 150 multiplier 4
RP/0/RP0/CPU0:router(config-static-vrf)# commit
実行コンフィギュレーション
configure
router static
address-family ipv6 unicast 2001:0DB8:C18:2:1::F/64 2001:0DB8:D987:398:AE3:B39:333:783 bfd fast-detect minimum-interval 150 multiplier 4
commit
確認
RP/0/RP0/CPU0:router# show run router static address-family ipv6 unicast
configure
router static
address-family ipv6 unicast 2001:0DB8:C18:2:1::F/64 2001:0DB8:D987:398:AE3:B39:333:783 bfd fast-detect minimum-interval 150 multiplier 4
commit
BFD カウンタのクリアと表示
次に、BFD パケット カウンタの表示およびクリアの手順について説明します。特定ノードまたは特定インターフェイスでホストされている BFD セッションのパケット カウンタをクリアすることができます。
RP/0/RP0/CPU0:router# show bfd counters all packet location 0/RP0/CPU0
RP/0/RP0/CPU0:router# clear bfd counters all packet location 0/RP0/CPU0
RP/0/RP0/CPU0:router# show bfd counters all packet location 0/RP0/CPU0
バンドル上の BFD
BFD over Bundle 機能により、BFD セッションは個々のバンドル メンバー リンクのステータスをモニタできます。BFD は、メンバー リンクの 1 つがダウンしたときにすぐにバンドル マネージャに通知し、バンドルが使用する帯域幅を減らします。
機能制限
BFD over Bundle 機能を使用する際の制限事項は次のとおりです。
-
IETF モードでのみサポートされています。
-
メイン バンドル インターフェイスでのみサポートされています。バンドル サブインターフェイスではサポートされていません。
-
OSPF、ISIS、BGP などのルーティング プロトコルではサポートされていません。
-
BFD タイマーが 3.3 ミリ秒に設定されている(最もアグレッシブなタイマー)場合、256 個のセッションを起動できます。
-
BFD タイマーが 100 ミリ秒より長く設定されている場合、300 個の BFD セッションを同時に起動できます。
-
BFD エコー モードと暗号化はサポートされていません。
-
BFD ダンプニングはサポートされていません。
BFD over Bundle の設定
BFD over Bundle の設定には、次の手順が必要です。
-
バンドルのモード、BFD パケット送信間隔、および障害検出時間の指定
(注) |
宛先ルータで同じ設定手順を繰り返します。 |
/* Enable and Disable IPv6 checksum calculations for BFD on a router. */
Router(config-if)# bfd
Router(config-bfd-if)# ipv6 checksum disable
Router(config-bfd-if)# dampening disable
Router(config-bfd-if)# commit
/* Specify the mode, BFD packet transmission intervals, and failure detection times on a bundle */
Router(config)# interface Bundle-Ether 3739
Router(config-if)# bfd mode ietf
Router(config-if)# bfd address-family ipv4 multiplier 3
Router(config-if)# bfd address-family ipv4 destination 10.23.1.2
Router(config-if)# bfd address-family ipv4 fast-detect
Router(config-if)# bfd address-family ipv4 minimum-interval 100
Router(config-if)# bfd address-family ipv6 multiplier 3
Router(config-if)# bfd address-family ipv6 destination 2001:DB8:1::2
Router(config-if)# bfd address-family ipv6 fast-detect
Router(config-if)# bfd address-family ipv6 minimum-interval 100
Router(config-if)# ipv4 address 10.23.1.1 255.255.255.252
Router(config-if)# ipv6 address 2001:DB8:1::2/120
Router(config-if)# load-interval 30
Router(config-if)# commit
Router(config)# interface TenGigE 0/0/0/0
Router(config-if)# bundle id 3739 mode active
実行コンフィギュレーション
bfd
ipv6 checksum disable
dampening disable!
!
interface Bundle-Ether3739
bfd mode ietf
bfd address-family ipv4 multiplier 3
bfd address-family ipv4 destination 10.23.1.2
bfd address-family ipv4 fast-detect
bfd address-family ipv4 minimum-interval 100
bfd address-family ipv6 multiplier 3
bfd address-family ipv6 destination 2001:DB8:1::2
bfd address-family ipv6 fast-detect
bfd address-family ipv6 minimum-interval 100
ipv4 address 10.23.1.1 255.255.255.252
ipv6 address 2001:DB8:1::2/120
load-interval 30
!
interface TenGigE 0/0/0/0
bundle id 3739 mode active
確認
次の show コマンドの出力には、バンドル メンバの BFD セッションのステータスが表示されています。
/* Verify the details of the IPv4 BFD session in the source router. */
Router# show bfd session
Interface Dest Addr Local det time(int*mult) State Echo Async H/W NPU
--------- --------- -------- ------------- ----- ---- ----- --- ---
Te0/0/0/0 10.23.1.2 0s(0s*0) 300ms(100ms*3) UP Yes 0/RP0/CPU0
BE3739 10.23.1.2 n/a n/a UP No n/a
/* Verify the details of the IPv4 BFD session in the destination router. */
Router# show bfd session
Interface Dest Addr Local det time(int*mult) State Echo Async H/W NPU
---------- ---------- -------- -------------- ----- ---- ----- --- ---
Te0/6/0/0 10.23.1.1 0s(0s*0) 300ms(100ms*3) UP No n/a
BE3739 10.23.1.1 n/a n/a UP No n/a
/* Verify the details of the IPv6 BFD session in the source router. */
Router# show bfd ipv6 session
Interface Dest Addr Local det time(int*mult) State H/W NPU Echo Async
---------- ---------- ---------- -------------- ------ ------ ------ ---- ----
Te0/0/0/0 10:23:1::2 Yes 0/RP0/0s (0s*0) 00ms(100ms*3) UP
BE3739 10:23:1::2 No n/a n/a n/a UP
/* Verify the details of the IPv6 BFD session in the destination router. */
Router# show bfd ipv6 session
Interface Dest Addr Local det time(int*mult) State H/W NPU Echo Async
---------- ---------- --------- -------------- ------- --- --- ---- ----
Te0/6/0/0 10:23:1::1 No n/a 0s(0s*0) 300ms(100ms*3) UP
BE3739 10:23:1::1 No n/a n/a n/a UP