双方向フォワーディング検出
このマニュアルでは、双方向フォワーディング検出(BFD)プロトコルを有効にする方法について説明します。BFD はあらゆるメディア タイプ、カプセル化、トポロジ、およびルーティング プロトコルの高速転送パス障害検出時間を提供するように設計された検出プロトコルです。
BFD は高速転送パス障害検出に加えて、ネットワーク管理者向けの整合性のある障害検出方法を提供します。ネットワーク管理者は BFD を使用して、ルーティングプロコル毎に異なる hello メカニズムの多様な検出時間でなく、一定の検出時間で転送パスの障害を検出できるため、ネットワーク プロファイリングおよびプランニングが容易になります。また、再コンバージェンス時間の整合性が保たれ、予測可能になります。
双方向フォワーディング検出の前提条件
-
Cisco Express Forwarding および IP ルーティングが、関連するすべてのスイッチで有効になっている必要があります。
-
BFD をスイッチに展開する前に、BFD でサポートされている IP ルーティングプロトコルのいずれかを設定する必要があります。使用しているルーティング プロトコルの高速コンバージェンスを実装する必要があります。高速コンバージェンスの設定については、お使いのバージョンの Cisco IOS ソフトウェアの IP ルーティングのマニュアルを参照してください。Cisco IOS ソフトウェアの BFD ルーティングプロトコルのサポートの詳細については、「双方向フォワーディング検出の制約事項」の項を参照してください。
双方向フォワーディング検出の制約事項
-
BFD は直接接続されたネイバーだけに対して動作します。BFD のネイバーは 1 ホップ以内に限られます。BFD はマルチホップ設定をサポートしていません。
-
プラットフォームおよびインターフェイスによっては、BFD サポートを利用できないものがあります。特定のプラットフォームまたはインターフェイスで BFD がサポートされているかどうか確認し、プラットフォームとハードウェアの正確な制約事項を入手するには、お使いのソフトウェアバージョンの Cisco IOS ソフトウェアのリリースノートを参照してください。
-
自己生成パケットの QoS ポリシーは BFD パケットと一致しません。
-
class class-default コマンドは BFD パケットと一致します。そのため、適切な帯域幅の可用性を確認して、オーバーサブスクリプションによる BFD パケットのドロップを防ぐ必要があります。
-
BFD HA はサポートされていません。
双方向フォワーディング検出について
BFD の動作
BFD は、2 つの隣接デバイス間の転送パスで、オーバーヘッドの少ない短期間の障害検出方法を提供します。これらのデバイスには、インターフェイス、データリンク、および転送プレーンが含まれます。
BFD はインターフェイス レベルおよびルーティング プロトコル レベルで有効にする検出プロトコルです。シスコでは、BFD 非同期モードをサポートしています。BFD 非同期モードは、デバイス間の BFD ネイバー セッションをアクティブにして維持するための、2 台のシステム間の BFD 制御パケットの送信に依存します。したがって、BFD セッションを作成するには、両方のシステム(または BFD ピア)で BFD を設定する必要があります。BFD が適切なルーティングプロトコルに対してインターフェイスおよびデバイスレベルで有効になると、BFD セッションが作成されます。BFD タイマーがネゴシエーションされ、BFD ピアはネゴシエーションされた間隔で BFD 制御パケットの相互送信を開始します。
ネイバー関係
BFD は、高速 BFD ピア障害検出時間を個別に提供します。これは、すべてのメディアタイプ、カプセル化、トポロジ、ルーティングプロトコル(BGP、EIGRP、IS-IS、OSPF など)から独立しています。BFD は、ローカルルータのルーティングプロトコルに高速障害検出通知を送信して、ルーティングテーブル再計算プロセスを開始します。これにより BFD は、ネットワーク コンバージェンス時間全体を大幅に短縮できます。下の図に、OSPF と BFD を実行する 2 台のルータがある単純なネットワークを示します。OSPF がネイバー(1)を検出すると、ローカル BFD プロセスに要求を送信します。OSPF ネイバールータとの BFD ネイバーセッションが開始されます(2)。OSPF ネイバー ルータでの BFD ネイバー セッションが確立されます(3)。
以下の図に、ネットワークで障害が発生した場合を示します(1)。OSPF ネイバー ルータでの BFD ネイバー セッションが停止されます(2)。BFD はローカル OSPF プロセスに BFD ネイバーに接続できなくなったことを通知します(3)。ローカル OSPF プロセスは OSPF ネイバー関係を解除します(4)。代替パスが使用可能な場合、ルータはただちにそのパスでコンバージェンスを開始します。
ルーティングプロトコルは、取得したネイバーそれぞれについて、BFD に登録する必要があります。ネイバーが登録されると、セッションがまだ存在していない場合、BFD によって、ネイバーとのセッションが開始されます。
次のとき、OSPF では、BFD を使用して登録が行われます。
-
ネイバーの有限状態マシン(FSM)は、Full ステートに移行します。
-
OSPF BFD と BFD の両方が有効にされます。
ブロードキャスト インターフェイスでは、OSPF によって、指定ルータ(DR)とバックアップ指定ルータ(BDR)とともにのみ、BFD セッションが確立されます。セッションは、DROTHER ステートのすべての 2 台のルータ間では確立されません
BFD の障害検出
BFD セッションが確立され、タイマー否定が完了すると、BFD ピアは BFD 制御パケットを送信します。パケットは、より高速なレートである点を除き、IGP hello プロトコルと同じように動作して活性を検出します。次の点に注意する必要があります。
-
BFD はフォワーディング パスの障害検出プロトコルです。BFD は障害を検出しますが、ルーティングプロトコルが障害が発生したピアをバイパスするように機能する必要があります。
-
Cisco IOS XE Denali 16.3.1 以降、シスコ デバイスは BFD バージョン 0 をサポートしています。実装では、デバイスが複数のクライアントプロトコルに 1 つの BFD セッションを使用します。たとえば、同じピアへの同じリンクを介してネットワークで OSPF および EIGRP を実行している場合、1 つの BFD セッションだけが確立されます。BFD は両方のルーティングプロトコルとセッション情報を共有します。
BFD バージョンの相互運用性
デフォルトでは、すべての BFD セッションがバージョン 1 で実行され、バージョン 0 と相互運用可能です。システムで自動的に FD バージョン検出が実行される場合、ネイバー間の BFD セッションがネイバー間の最も一般的な BFD バージョンで実行されます。たとえば、BFD ネイバーが BFD バージョン 0 を実行し、他の BFD ネイバーがバージョン 1 を実行している場合、セッションで BFD バージョン 0 が実行されます。show bfd neighbors [details ] コマンドの出力で、BFD ネイバーが実行している BFD バージョンを確認できます。
BFD バージョンの検出の例については、エコーモードがデフォルトで有効になった EIGRP ネットワークでの BFD の設定の例を参照してください。
BFD セッションの制限
Cisco IOS XE Denali 16.3.1 以降、作成できる BFD セッションの数が 100 に増えました。
非ブロードキャスト メディア インターフェイスに対する BFD サポート
Cisco IOS XE Denali 16.3.1 以降、BFD 機能は、ルーティングされた SVI と L3 ポートチャネルでサポートされます。bfd interval コマンドは、BFD モニタリングを開始するインターフェイスで設定する必要があります。
ステートフル スイッチオーバーでのノンストップ フォワーディングの BFD サポート
通常、ネットワーキング デバイスを再起動すると、そのデバイスのすべてのルーティング ピアがデバイスの終了および再起動を検出します。この遷移によってルーティング フラップが発生し、そのために複数のルーティング ドメインに分散される可能性があります。ルーティングの再起動によって発生したルーティングフラップによって、ルーティングが不安定になります。これはネットワーク全体のパフォーマンスに悪影響を及ぼします。ノンストップ フォワーディング(NSF)は、ステートフル スイッチオーバー(SSO)が有効になっているデバイスのルーティングフラップを抑制するのに役立ち、そのためネットワークの不安定さが減少します。
NSF では、ルーティングプロトコル情報がスイッチオーバー後に保存されるとき、既知のルータでデータパケットのフォワーディングを継続できます。NSF を使用すると、ピア ネットワーキング デバイスでルーティング フラップが発生しません。データ トラフィックはインテリジェント ラインカードまたはデュアル フォワーディング プロセッサを介して転送されますが、スタンバイ RP では、スイッチオーバー中に障害が発生したアクティブな RP からの制御と見なされます。NSF の動作の重要な点の 1 つは、ラインカードとフォワーディングプロセッサがスイッチオーバー中も稼働状態を維持できることです。これらは、アクティブ RP の転送情報ベース(FIB)で最新の状態を維持します。
デュアル RP をサポートするデバイスでは、SSO が RP の 1 つをアクティブなプロセッサとして確立し、他の RP はスタンバイプロセッサに割り当てられます。SSO は、アクティブプロセッサとスタンバイプロセッサの間で情報を同期します。アクティブ RP に障害が発生したとき、アクティブ RP がネットワーキングデバイスから削除されたとき、またはメンテナンスのために手動で停止されたときに、アクティブプロセッサからスタンバイプロセッサへのスイッチオーバーが発生します。
ステートフル スイッチオーバーの BFD サポート
BFD プロトコルでは、隣接するフォワーディング エンジン間でパスに短期間の障害検出が行われます。デュアル RP ルータまたはスイッチ(冗長性のため)を使用するネットワーク導入では、ルータにグレースフル リスタート メカニズムがあります。このメカニズムは、アクティブな RP とスタンバイ RP の間のスイッチオーバー時にフォワーディング状態を保護します。
ハードウェアの通信障害を検出する機能に応じて、デュアル RP のスイッチオーバー回数が異なります。BFD が RP で稼働している場合、一部のプラットフォームでは BFD プロトコルがタイムアウトになる前にスイッチオーバーを検出することはできません。このようなプラットフォームは低速スイッチオーバー プラットフォームと呼ばれます。
スタティック ルーティングの BFD サポート
OSPF や BGP などの動的なルーティング プロトコルとは異なり、スタティック ルーティングにはピア検出の方法がありません。したがって、BFD が設定されると、ゲートウェイの到達可能性は指定されたネイバーへの BFD セッションの状態に依存します。BFD セッションが開始されない限り、スタティックルートのゲートウェイは到達不能で、影響を受けるルートが適切なルーティング情報ベース(RIB)にインストールされません。
BFD セッションを正常に確立するには、ピアのインターフェイスで BFD を設定する必要があります。BFD ネイバーのアドレスのピアに BFD クライアントが登録されている必要があります。インターフェイスがダイナミック ルーティング プロトコルで使用される場合、後者の要件は、BFD の各ネイバーでルーティング プロトコル インスタンスを設定することによって満たされます。インターフェイスがスタティック ルーティングに排他的に使用される場合、この要件はピア上でスタティック ルートを設定することによって満たす必要があります。
BFD セッションが起動状態のときに BFD 設定がリモート ピアから削除された場合、BFD セッションの最新状態が IPv4 スタティックに送信されません。その結果、スタティック ルートが RIB に残ります。唯一の回避策は、IPv4 スタティック BFD ネイバー設定を削除して、スタティック ルートが BFD セッション状態を追跡しないようにすることです。また、シリアル インターフェイスのカプセル化のタイプを BFD でサポートされていないタイプに変更する場合、このインターフェイスで BFD がダウン状態になります。回避策はインターフェイスをシャットダウンし、サポートされているカプセル化のタイプに変更してから、BFD を再設定することです。
IPv4 スタティック クライアントでは 1 つの BFD セッションを使用して、特定のインターフェイスを通るネクスト ホップの到達可能性を追跡できます。一連の BFD 追跡対象スタティック ルートに対して BFD グループを割り当てることができます。各グループには 1 つのアクティブスタティック BFD 設定、1 つ以上のパッシブ BFD 構成、および対応する BFD 追跡対象スタティックルートが必要です。nongroup エントリは、BFD グループが割り当てられていない BFD 追跡対象スタティック ルートです。BFD グループは、さまざまな VRF の一部として構成可能なスタティック BFD 設定に対応する必要があります。実際には、パッシブ スタティック BFD 設定は、アクティブな設定と同じ VRF に構成する必要はありません。
BFD グループごとに存在するアクティブなスタティック BFD セッションは 1 つだけです。スタティック BFD 設定とその BFD 設定を使用する対応のスタティック ルートを追加して、アクティブ BFD セッションを設定できます。アクティブなスタティック BFD 構成とそのスタティック BFD 設定を使用するスタティック ルートがある場合にのみ、グループの BFD セッションが作成されます。アクティブなスタティック BFD 設定またはアクティブなスタティック ルートが BFD グループから削除されると、パッシブなスタティック ルートがすべて RIB から削除されます。実際には、すべてのパッシブなスタティック ルートは、アクティブなスタティック BFD 設定と、アクティブな BFD セッションで追跡されるスタティック ルートがグループで設定されるまでは非アクティブです。
同様に、BFD グループごとに 1 つ以上のパッシブなスタティック BFD 設定と、対応する BFD 追跡対象スタティック ルートが存在します。パッシブなスタティック セッション ルートは、アクティブな BFD セッション状態が到達可能であるときだけ有効です。グループのアクティブな BFD セッション状態が到達可能であっても、対応するインターフェイスの状態がアップである場合にのみ、パッシブなスタティック ルートが RIB に追加されます。パッシブな BFD セッションがグループから削除されると、アクティブな BFD セッション(存在する場合)や BFD グループの到達可能性ステータスには影響しません。
障害検出に BFD を使用することの利点
機能を導入するときは、あらゆる代替策を検討し、トレードオフに注意することが重要です。EIGRP、IS-IS、および OSPF などのルーティングプロトコルの通常の導入で BFD に最も近い代替策は、障害検出メカニズムを修正することです。
EIGRP の hello およびホールド タイマーを絶対最小値に設定する場合、EIGRP の障害検出速度が 1~2 秒程度に下がります。IS-IS または OSPF などの Interior Gateway Protocol(IGP)プロトコルに fast hello を使用する場合、これらによって障害検出メカニズムが最小 1 秒に減少します。
BFD を実装する方が、ルーティングプロトコルのタイマー値を減らすよりも、いくつかの点で優れています。
-
EIGRP、IS-IS、および OSPF のタイマー縮小によって達成可能なのは最小でも 1 秒または 2 秒の障害検出タイマーまでです。それに対して、BFD は 1 秒未満の障害検出を提供できます。
-
BFD はどんな特定のルーティングプロトコルにも関連付けられていません。そのため、EIGRP、IS-IS、および OSPF のための汎用的で整合性のある障害検出メカニズムとして使用できます。
-
BFD の一部はデータプレーンに分散できます。これにより、完全にコントロールプレーンで処理される EIGRP、IS-IS、および OSPF タイマーの縮小と比較して、BFD の方が CPU 負荷が軽減されます。
双方向フォワーディング検出の設定方法
インターフェイスでの BFD セッション パラメータの設定
インターフェイスで BFD を設定するには、BFD セッションの基本パラメータを設定する必要があります。BFD ネイバーに対して BFD セッションを実行するインターフェイスごとに、この手順を繰り返します。
次の手順は、物理インターフェイスの BFD 設定手順を示しています。SVI とイーサチャネルにそれぞれ対応する BFD タイマー値を使用してください。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。 パスワードを入力します(要求された場合)。 |
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
次のいずれかの手順を実行します。
例:
|
|
ステップ 4 |
bfd interval milliseconds min_rx milliseconds multiplier interval-multiplier 例:
|
インターフェイスで BFD を有効にします。 BFD interval 設定は、それを設定したサブインターフェイスが削除されたときに削除されます。 BFD interval 設定は次のような場合には削除されません。
|
ステップ 5 |
end 例:
|
インターフェイス コンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。 |
ダイナミック ルーティング プロトコルに対する BFD サポートの設定
eBGP に対する BFD サポートの設定
ここでは、BGP の BFD サポートを設定する手順について説明します。これにより、BGP が BFD の登録プロトコルとなり、BFD から転送パスの検出障害メッセージを受信できます。
始める前に
eBGP は、関連するすべてのルータで実行する必要があります。
BFD セッションを BFD ネイバーに対して実行するインターフェイスで、BFD セッションの基本パラメータを設定します。詳細については、「インターフェイスでの BFD セッション パラメータの設定」の項を参照してください。
(注) |
show bfd neighbors details コマンドの出力には、設定された間隔が表示されます。 |
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。
|
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
Router bgp as-tag 例:
|
BGP プロセスを指定し、ルータ コンフィギュレーション モードを開始します。 |
ステップ 4 |
neighbor ip-address fall-over bfd 例:
|
フェールオーバーに対する BFD サポートを有効にします。 |
ステップ 5 |
end 例:
|
ルータ コンフィギュレーション モードを終了して、特権 EXEC モードに戻ります。 |
ステップ 6 |
show bfd neighbors [details ] 例:
|
(任意)BFD ネイバーがアクティブで、BFD が登録したルーティング プロトコルが表示されることを確認します。 |
ステップ 7 |
show ip bgp neighbor 例:
|
(任意)ネイバーへの BGP および TCP 接続についての情報を表示します。 |
EIGRP に対する BFD サポートの設定
ここでは、EIGRP の BFD サポートを設定する手順について説明します。これにより、EIGRP が BFD の登録プロトコルとなり、BFD から転送パスの検出障害メッセージを受信できます。EIGRP に対する BFD サポートを有効にするには、2 つの方法があります。
-
ルータ コンフィギュレーション モードで bfd all-interfaces コマンドを使用して、EIGRP がルーティングしているすべてのインターフェイスに対して BFD を有効にできます。
-
ルータ設定モードで bfd interface type number コマンドを使用して、EIGRP がルーティングしているインターフェイスのサブセットに対して BFD を有効にできます。
始める前に
-
EIGRP は、関連するすべてのルータで実行する必要があります。
-
BFD セッションを BFD ネイバーに対して実行するインターフェイスで、BFD セッションの基本パラメータを設定します。詳細については、「インターフェイスでの BFD セッションパラメータの設定」の項を参照してください。
(注) |
show bfd neighbors details コマンドの出力には、設定された間隔が表示されます。 |
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。
|
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
router eigrp as-number 例:
|
EIGRP ルーティング プロセスを設定し、ルータ コンフィギュレーション モードを開始します。 |
ステップ 4 |
次のいずれかを実行します。
例:
例:
|
EIGRP ルーティングプロセスに関連付けられたすべてのインターフェイスで、BFD をグローバルに有効にします。 または EIGRP ルーティングプロセスに関連付けられた 1 つ以上のインターフェイスに対して、インターフェイスごとに BFD を有効にします。 |
ステップ 5 |
end 例:
|
ルータ コンフィギュレーション モードを終了して、特権 EXEC モードに戻ります。 |
ステップ 6 |
show bfd neighbors [details ] 例:
|
(任意)BFD ネイバーがアクティブで、BFD が登録したルーティング プロトコルが表示されることを確認します。 |
ステップ 7 |
show ip eigrp interfaces [type number ] [as-number ] [detail ] 例:
|
(任意)EIGRP に対する BFD サポートが有効になっているインターフェイスを表示します。 |
IS-IS に対する BFD サポートの設定
ここでは、IS-IS が BFD の登録プロトコルとなり、BFD から転送パスの検出障害メッセージを受信するように、IS-IS に対する BFD サポートを設定する手順について説明します。IS-IS に対する BFD サポートをイネーブルにするには、2 つの方法があります。
-
ルータ コンフィギュレーション モードで bfd all-interfaces コマンドを使用して、IS-IS が IPv4 ルーティングをサポートしているすべてのインターフェイスに対して BFD を有効にできます。次にインターフェイス コンフィギュレーション モードで isis bfd disable コマンドを使用すると、1 つ以上のインターフェイスに対して BFD を無効にできます。
-
インターフェイス コンフィギュレーション モードで isis bfd コマンドを使用すると、IS-IS がルーティングしているインターフェイスのサブセットに対して BFD を有効にできます。
IS-IS に対する BFD サポートを設定するには、次のいずれかの手順に従います。
前提条件
-
IS-IS は、関連するすべてのルータで実行する必要があります。
-
BFD セッションを BFD ネイバーに対して実行するインターフェイスで、BFD セッションの基本パラメータを設定する必要があります。詳細については、「インターフェイスでの BFD セッションパラメータの設定」の項を参照してください。
(注)
show bfd neighbors details コマンドの出力には、設定された間隔が表示されます。ハードウェア オフロードされた BFD セッションが 50 ms の倍数でない Tx および Rx 間隔で設定されていたために変更された間隔は出力に表示されません。
すべてのインターフェイスの IS-IS に対する BFD サポートの設定
IPv4 ルーティングをサポートするすべての IS-IS インターフェイスで BFD を設定するには、この項の手順に従います。
手順
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。
|
||
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 3 |
router isis area-tag 例:
|
IS-IS プロセスを指定し、ルータ コンフィギュレーション モードを開始します。 |
||
ステップ 4 |
bfd all-interfaces 例:
|
IS-IS ルーティング プロセスに関連付けられたすべてのインターフェイスで、BFD をグローバルにイネーブルにします。 |
||
ステップ 5 |
exit 例:
|
(任意)ルータでグローバル コンフィギュレーション モードに戻ります。 |
||
ステップ 6 |
interface type number 例:
|
(任意)インターフェイス コンフィギュレーション モードを開始します。 |
||
ステップ 7 |
ip router isis [ tag ] 例:
|
(任意)インターフェイスで IPv4 ルーティングのサポートをイネーブルにします。 |
||
ステップ 8 |
isis bfd [disable ] 例:
|
(任意)IS-IS ルーティング プロセスに関連付けられた 1 つ以上のインターフェイスに対して、インターフェイスごとに BFD をイネーブルまたはディセーブルにします。
|
||
ステップ 9 |
end 例:
|
インターフェイス コンフィギュレーション モードを終了して、特権 EXEC モードに戻ります。 |
||
ステップ 10 |
show bfd neighbors [details ] 例:
|
(任意)BFD ネイバーがアクティブで、BFD が登録したルーティング プロトコルが表示されるかどうかの検証に使用できる情報を表示します。 |
||
ステップ 11 |
show clns interface 例:
|
(任意)IS-IS に対する BFD が、関連付けられた特定の IS-IS インターフェイスに対してイネーブルになっているかどうかを検証するために使用できる情報を表示します。 |
1 つ以上のインターフェイスの IS-IS に対する BFD サポートの設定
1 つ以上の IS-IS インターフェイスだけに BFD を設定するには、この項の手順に従います。
手順
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。
|
||
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 3 |
interface type number 例:
|
インターフェイス コンフィギュレーション モードを開始します。 |
||
ステップ 4 |
ip router isis [ tag ] 例:
|
インターフェイスで IPv4 ルーティングのサポートをイネーブルにします。 |
||
ステップ 5 |
isis bfd [disable] 例:
|
IS-IS ルーティング プロセスに関連付けられた 1 つ以上のインターフェイスに対して、インターフェイスごとに BFD をイネーブルまたはディセーブルにします。
|
||
ステップ 6 |
end 例:
|
インターフェイス コンフィギュレーション モードを終了して、特権 EXEC モードに戻ります。 |
||
ステップ 7 |
show bfd neighbors [details ] 例:
|
(任意)BFD ネイバーがアクティブで、BFD が登録したルーティング プロトコルが表示されるかどうかの検証に使用できる情報を表示します。 |
||
ステップ 8 |
show clns interface 例:
|
(任意)IS-IS に対する BFD が、関連付けられた特定の IS-IS インターフェイスに対してイネーブルになっているかどうかを検証するために使用できる情報を表示します。 |
OSPF に対する BFD サポートの設定
ここでは、OSPF が BFD の登録プロトコルとなり、BFD から転送パスの検出障害メッセージを受信するように、OSPF に対する BFD サポートを設定する手順について説明します。すべてのインターフェイスでグローバルに OSPF に対する BFD を設定するか、または 1 つ以上のインターフェイスで選択的に設定することができます。
OSPF に対する BFD サポートを有効にするには、2 つの方法があります。
-
ルータ コンフィギュレーション モードで bfd all-interfaces コマンドを使用して、OSPF がルーティングしているすべてのインターフェイスに対して BFD を有効にできます。インターフェイス コンフィギュレーション モードで ip ospf bfd [disable ] コマンドを使用して、個々のインターフェイスで BFD サポートを無効にできます。
-
インターフェイス コンフィギュレーション モードで ip ospf bfd コマンドを使用すると、OSPF がルーティングしているインターフェイスのサブセットに対して BFD を有効にできます。
OSPF に対する BFD サポートのタスクについては、次の項を参照してください。
すべてのインターフェイスの OSPF に対する BFD サポートの設定
すべての OSPF インターフェイスに BFD を設定するには、この項の手順に従います。
すべての OSPF インターフェイスに対して BFD を設定するのではなく、特定の 1 つ以上のインターフェイスに対して BFD サポートを設定する場合は、「1 つ以上のインターフェイスの OSPF に対する BFD サポートの設定」の項を参照してください。
始める前に
-
OSPF は、関連するすべてのルータで実行する必要があります。
-
BFD セッションを BFD ネイバーに対して実行するインターフェイスで、BFD セッションの基本パラメータを設定する必要があります。詳細については、「インターフェイスでの BFD セッションパラメータの設定」の項を参照してください。
手順
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。
|
||
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 3 |
router ospf process-id 例:
|
OSPF プロセスを指定し、ルータ コンフィギュレーション モードを開始します。 |
||
ステップ 4 |
bfd all-interfaces 例:
|
OSPF ルーティング プロセスに関連付けられたすべてのインターフェイスで、BFD をグローバルに有効にします。 |
||
ステップ 5 |
exit 例:
|
(任意)デバイスでグローバル コンフィギュレーション モードに戻ります。ステップ 7 を実行して 1 つ以上のインターフェイスに対して BFD を無効にする場合にだけ、このコマンドを入力します。 |
||
ステップ 6 |
interface type number 例:
|
(任意)インターフェイス コンフィギュレーション モードを開始します。ステップ 7 を実行して 1 つ以上のインターフェイスに対して BFD を無効にする場合にだけ、このコマンドを入力します。 |
||
ステップ 7 |
ip ospf bfd [disable ] 例:
|
(任意)OSPF ルーティング プロセスに関連付けられた 1 つ以上のインターフェイスに対して、インターフェイスごとに BFD を無効にします。
|
||
ステップ 8 |
end 例:
|
インターフェイス コンフィギュレーション モードを終了して、特権 EXEC モードに戻ります。 |
||
ステップ 9 |
show bfd neighbors [details ] 例:
|
(任意)BFD ネイバーがアクティブで、BFD が登録したルーティング プロトコルが表示されるかどうかの検証に使用できる情報を表示します。 |
||
ステップ 10 |
show ip ospf 例:
|
(任意)OSPF に対して BFD が有効になっているかどうかを検証するために使用できる情報を表示します。 |
1 つ以上のインターフェイスの BFD over IPv4 に対する OSPF サポートの設定
1 つ以上の OSPF インターフェイスで BFD を設定するには、この項の手順に従います。
手順
コマンドまたはアクション | 目的 | |||
---|---|---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。
|
||
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
||
ステップ 3 |
interface type number 例:
|
インターフェイス コンフィギュレーション モードを開始します。 |
||
ステップ 4 |
ip ospf bfd [disable ] 例:
|
OSPF ルーティング プロセスに関連付けられた 1 つ以上のインターフェイスに対して、インターフェイスごとに BFD を有効または無効にします。
|
||
ステップ 5 |
end 例:
|
インターフェイス コンフィギュレーション モードを終了して、デバイスが特権 EXEC モードに戻ります。 |
||
ステップ 6 |
show bfd neighbors [details ] 例:
|
(任意)BFD ネイバーがアクティブで、BFD が登録したルーティング プロトコルが表示されるかどうかの検証に使用できる情報を表示します。
|
||
ステップ 7 |
show ip ospf 例:
|
(任意)OSPF に対して BFD サポートが有効になっているかどうかを検証するために使用できる情報を表示します。 |
HSRP に対する BFD サポートの設定
ホットスタンバイ ルータ プロトコル(HSRP)の BFD サポートをイネーブルにするには、次の作業を実行します。この手順のステップは、HSRP ピアに BFD セッションを実行する各インターフェイスで行ってください。
デフォルトでは、HSRP は BFD をサポートします。BFD に対する HSRP サポートが手動でディセーブルになっている場合、ルータ レベルで再びイネーブルにして、すべてのインターフェイスに対してグローバルに BFD サポートをイネーブルにするか、またはインターフェイス レベルでインターフェイスごとにイネーブルにすることができます。
始める前に
-
HSRP は、関連するすべてのルータで実行する必要があります。
-
シスコ エクスプレス フォワーディングをイネーブルにする必要があります。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。
|
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
ip cef [distributed ] 例:
|
シスコ エクスプレス フォワーディングまたは分散型シスコ エクスプレス フォワーディングをイネーブルにします。 |
ステップ 4 |
interface type number 例:
|
インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 5 |
ip address ip-address mask 例:
|
インターフェイスに IP アドレスを設定します。 |
ステップ 6 |
standby [group-number ] ip [ip-address [secondary ]] 例:
|
HSRP をアクティブにします。 |
ステップ 7 |
standby bfd 例:
|
(任意)インターフェイスで BFD に対する HSRP をイネーブルにします。 |
ステップ 8 |
exit 例:
|
インターフェイス コンフィギュレーション モードを終了します。 |
ステップ 9 |
standby bfd all-interfaces 例:
|
(任意)すべてのインターフェイスで BFD に対する HSRP をイネーブルにします。 |
ステップ 10 |
exit 例:
|
グローバル コンフィギュレーション モードを終了します。 |
ステップ 11 |
show standby neighbors 例:
|
(任意)BFD に対する HSRP サポートについての情報を表示します。 |
スタティック ルーティングに対する BFD サポートの設定
スタティック ルーティングのための BFD サポートを設定するには、このタスクを実行します。各 BFD ネイバーに対してこの手順を繰り返します。詳細については、「例:スタティック ルーティングに対する BFD サポートの設定」の項を参照してください。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。
|
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
interface type number 例:
|
インターフェイスを設定し、インターフェイス コンフィギュレーション モードを開始します。 |
ステップ 4 |
次のいずれかの手順を実行します。
例:
|
|
ステップ 5 |
bfd interval milliseconds mix_rx milliseconds multiplier interval-multiplier 例:
|
インターフェイスで BFD を有効にします。 bfd interval 設定は、それを設定したサブインターフェイスが削除されたときに削除されます。 bfd interval 設定は次のような場合には削除されません。
|
ステップ 6 |
exit 例:
|
インターフェイス コンフィギュレーション モードを終了し、グローバル コンフィギュレーション モードに戻ります。 |
ステップ 7 |
ip route static bfd interface-type interface-number ip-address [group group-name [passive]] 例:
|
スタティック ルートの BFD ネイバーを指定します。
|
ステップ 8 |
ip route [vrf vrf-name] prefix mask {ip-address | interface-type interface-number [ip-address]} [dhcp] [distance] [name next-hop-name] [permanent | track number] [tag tag] 例:
|
スタティック ルートの BFD ネイバーを指定します。 |
ステップ 9 |
exit 例:
|
グローバル コンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。 |
ステップ 10 |
show ip static route 例:
|
(任意)スタティック ルート データベース情報を表示します。 |
ステップ 11 |
show ip static route bfd 例:
|
(任意)設定された BFD グループおよび nongroup エントリからスタティック BFD の設定に関する情報を表示します。 |
ステップ 12 |
exit 例:
|
特権 EXEC モードを終了し、ユーザー EXEC モードに戻ります。 |
BFD エコー モードの設定
デフォルトでは BFD エコー モードが有効になっていますが、方向ごとに個別に実行できるように、無効にすることもできます。
BFD エコー モードは非同期 BFD で動作します。エコー パケットはフォワーディング エンジンによって送信され、検出を実行するために、同じパスで転送されます。反対側の BFD セッションはエコー パケットの実際のフォワーディングに関与しません。エコー機能およびフォワーディング エンジンが検出プロセスを処理するため、2 つの BFD ネイバー間で送信される BFD 制御パケットの数が減少します。また、フォワーディング エンジンが、リモート システムを介さずにリモート(ネイバー)システムの転送パスをテストするため、パケット間の遅延のばらつきが向上する可能性があり、それによって BFD バージョン 0 を BFD セッションの BFD 制御パケットで使用する場合に、障害検出時間を短縮できます。
エコー モードを両端で実行している(両方の BFD ネイバーがエコー モードを実行している)場合は、非対称性がないと表現されます。
前提条件
-
BFD は、参加しているすべてのデバイスで実行されている必要があります。
-
CPU 使用率の上昇を避けるために、BFD エコーモードを使用する前に、no ip redirects コマンドを入力して、Internet Control Message Protocol(ICMP)リダイレクトメッセージの送信を無効にする必要があります。
-
BFD セッションを BFD ネイバーに対して実行するインターフェイスで、BFD セッションの基本パラメータを設定する必要があります。詳細については、「インターフェイスでの BFD セッション パラメータの設定」の項を参照してください。
機能制限
BFD エコー モードは、ユニキャスト リバース パス転送(uRPF)の設定との組み合わせでは動作しません。BFD エコー モードと uRPF の設定がイネーブルの場合、セッションはフラップします。
非対称性のない BFD エコー モードの無効化
この手順では、非対称性のない BFD エコーモードを無効化にする方法を示します。デバイスからはエコーパケットが送信されず、デバイスはネイバーデバイスから受信する BFD エコーパケットを転送しません。
各 BFD デバイスに対してこの手順を繰り返します。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。
|
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
no bfd echo 例:
|
BFD エコー モードを無効にします。
|
ステップ 4 |
end 例:
|
グローバル コンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。 |
BFD テンプレートの作成と設定
シングルホップ テンプレートは一連の BFD 間隔値を指定するために設定できます。BFD テンプレートの一部として指定される BFD 間隔値は、1 つのインターフェイスに限定されるものではありません。
(注) |
bfd-template を設定すると、エコー モードが無効になります。 |
シングルホップ テンプレートの設定
BFD シングルホップ テンプレートを作成し、BFD インターバル タイマーを設定するには、次の手順を実行します。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。
|
ステップ 2 |
configure terminal 例:
|
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
bfd-template single-hop template-name 例:
|
シングルホップ BFD テンプレートを作成し、BFD コンフィギュレーション モードを開始します。 |
ステップ 4 |
interval min-tx milliseconds min-rx milliseconds multiplier multiplier-value 例:
|
BFD パケット間での送受信間隔を設定し、ピアが使用不能であると BFD が宣言する前に損失される連続的な BFD 制御パケット数を指定します。 |
ステップ 5 |
end 例:
|
BFD コンフィギュレーション モードを終了し、デバイスを特権 EXEC モードに戻します。 |
BFD のモニタリングとトラブルシューティング
ここでは、維持とトラブルシューティングのために BFD 情報を取得する方法について説明します。必要に応じてこれらのタスクのコマンドを、正しい順序で入力します。
ここでは、次の Cisco プラットフォームに対する BFD のモニタリングとトラブルシューティングについて説明します。
BFD のモニタリングとトラブルシューティング
BFD のモニタリングまたはトラブルシューティングを実行するには、この項の 1 つ以上の手順に従います。
手順
コマンドまたはアクション | 目的 | |
---|---|---|
ステップ 1 |
enable 例:
|
特権 EXEC モードを有効にします。
|
ステップ 2 |
show bfd neighbors [details ] 例:
|
(任意)BFD 隣接関係データベースを表示します。
|
ステップ 3 |
debug bfd [packet | event ] 例:
|
(任意)BFD パケットのデバッグ情報を表示します。 |
双方向フォワーディング検出の設定例
ここでは、双方向フォワーディング検出の設定例を示します。
双方向フォワーディング検出に関する機能情報
リリース |
機能情報 |
---|---|
Cisco IOS XE Everest 16.5.1a |
この機能が導入されました |