Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BFD を使用した OSPF 障害検出の設定

OSPF 向け BFD について

双方向フォワーディング検出(BFD)プロトコルは、ネットワーク内の障害を検出する単純なhelloメカニズムです。BFDは、さまざまなネットワーク環境とトポロジーで動作します。一対のルーティング・デバイスがBFDパケットを交換します。Helloパケットは、指定された、定期的な間隔で送信されます。ネイバー障害は、ルーティングデバイスが指定した時間経過後に応答の受信を停止すると検出されます。BFD の障害検出タイマーは、OSPF の障害検出メカニズムよりも制限時間が短いため、より高速に検出できます。

BFDの障害検出タイマーは適応型であり、速くまたは遅くするように調整できます。BFD障害検出タイマーの値が低いほど、障害検出が速くなり、その逆も同様です。たとえば、隣接関係に障害が発生した場合(つまり、タイマーが障害の検出に速度を落とした場合)、タイマーはより高い値に適応できます。または、ネイバーは、設定された値よりも高い値のタイマーをネゴシエートできます。BFDセッションのフラップが15秒間に3回以上発生すると、タイマーはより高い値に適応します。バックオフアルゴリズムは、ローカルBFDインスタンスがセッションフラップの原因である場合に、受信(Rx)の間隔を2つ増加させます。リモートBFDインスタンスがセッションフラップの原因である場合は、送信(Tx)の間隔が2つ増加します。 clear bfd adaptation コマンドを使用して、BFD 間隔タイマーを設定した値に戻すことができます。 clear bfd adaptation コマンドはヒットレスであり、コマンドがルーティングデバイスのトラフィックフローに影響を及ぼすことはありません。

手記:

EX4600 スイッチは、1 秒未満の最小間隔値をサポートしていません。

手記:

BFD は、Junos OS Release 9.3 以降の OSPFv3 でサポートされています。

手記:

支社SRXシリーズのファイアウォールでは、BFDパケットの最小キープアライブ時間間隔として1000ミリ秒を推奨します。

次の BFD プロトコル設定を構成できます。

  • detection-time threshold- 検出時間の適応の閾値。BFD セッションの検出時間が、設定されたしきい値以上の値に適応すると、1 つのトラップと 1 つのシステム ログ メッセージが送信されます。

  • full-neighbors-only- 完全なネイバー隣接関係を持つ OSPF ネイバーに対してのみ BFD セッションを確立できる機能。デフォルトの動作では、すべての OSPF ネイバーに対して BFD セッションを確立します。この設定は、Junos OS リリース 9.5 以降で使用できます。

  • minimum-interval- 障害検出の最小送信および受信間隔。この設定では、ローカル ルーティング デバイスが hello パケットを送信する最小間隔と、ルーティング デバイスが BFD セッションを確立したネイバーからの応答を受信する最小間隔の両方を設定します。どちらの間隔もミリ秒単位です。また、 transmit-interval minimum-interval ステートメントと minimum-receive-interval ステートメントを使用して、最小の送信間隔と受信間隔を別々に指定することもできます。

    手記:

    BFDは、システムリソースを消費する集中的なプロトコルです。BFD の最小間隔を、ルーティングエンジンベースのセッションでは 100 ミリ秒未満、分散 BFD セッションでは 10 ミリ秒未満に指定すると、望ましくない BFD フラッピングが発生する可能性があります。

    ネットワーク環境によっては、次の条件が適用される場合があります。

    • BFDセッションの数が多い大規模なネットワーク展開の場合は、最小間隔を500ミリ秒以上に指定します。不安定性の問題を回避するために、1000ミリ秒の間隔をお勧めします。

    • ノンストップアクティブルーティング(NSR)が設定されている場合、ルーティングエンジンスイッチオーバーイベント中にBFDセッションの稼働状態を維持するには、ルーティングエンジンベースのセッションの最小間隔を2500ミリ秒に指定します。NSR を使用しない場合、ルーティングエンジンベースのセッションの最小間隔は 100 ミリ秒になります。

    • NSR が設定された分散 BFD セッションの場合、推奨される最小間隔は変更されず、ネットワークの導入状況にのみ依存します。

    • Junos OS 21.2R1以降は、MPC 1〜9を実行するMXシリーズルーター上で、IPv6リンクローカルアドレスを使用した分散OSPFv3およびISIS BFDセッションをサポートします(MPC 10またはMPC 11ではサポートされていません)。IPv6リンクローカルBFDのデフォルトはインラインモードです。

    • BFD は Junos 21.2 より前のバージョンでは配信されません(OSPFv3 の場合、BFD はルーティング エンジンに基づいているため)。

    • シングル QFX5100 スイッチでは、QFX-EM-4Q 拡張モジュールを追加する場合、1000 ミリ秒を超える最小間隔を指定します。

  • minimum-receive-interval- 障害検出の最小受信間隔。この設定では、ルーティング デバイスが BFD セッションを確立したネイバーから hello パケットを受信するまでの最短受信間隔をミリ秒単位で設定します。また、 minimum-interval ステートメントを使用して最小受信間隔を指定することもできます。

  • multiplier- hello パケットの乗数。この設定は、ネイバーが受信しない hello パケットの数を設定します。これにより、発信元インターフェイスがダウンを宣言されます。デフォルトでは、3 つの hello パケットが欠落すると、発信元インターフェイスがダウンを宣言します。

  • no-adaptation- BFD アダプテーションを無効にします。この設定は、BFD セッションが変化するネットワーク状況に適応することを無効にします。この設定は、Junos OS リリース 9.0 以降で使用できます。

    手記:

    ネットワークにBFDアダプテーションを導入しないことが望ましくない限り、BFDアダプテーションを無効にしないことを推奨します。

  • transmit-interval minimum-interval- 障害検出の最小送信間隔。この設定では、ローカルルーティングデバイスがBFDセッションを確立したネイバーにhelloパケットを送信する最小の送信間隔をミリ秒単位で設定します。また、 minimum-interval ステートメントを使用して最小送信間隔を指定することもできます。

  • transmit-interval threshold- BFD セッションの送信間隔を適応させるためのしきい値。送信間隔がしきい値よりも大きい値に適応すると、単一のトラップと単一のシステムログメッセージが送信されます。しきい値は、最小送信間隔より大きくなければなりません。最小送信間隔未満のしきい値で設定をコミットしようとすると、ルーティング デバイスはエラーを表示し、設定を受け入れません。

  • version- BFD バージョン。この設定では、検出に使用する BFD バージョンを構成します。BFDバージョン1を明示的に設定することも、ルーティング・デバイスがBFDバージョンを自動的に検出することもできます。デフォルトでは、ルーティング デバイスは BFD バージョン(0 または 1)を自動的に自動的に検出します。

トラブルシューティングのためにBFD動作をトレースすることもできます。

例:OSPF の BFD の設定

この例では、OSPFの双方向フォワーディング検出(BFD)プロトコルを設定する方法を示しています。

必要条件

始める前に:

概要

ルート コンバージェンスを高めるために OSPF Hello 間隔と dead 間隔の設定を調整する代わりに、BFD を設定する方法があります。BFDプロトコルは、ネットワーク内の障害を検出するための単純なhelloメカニズムです。BFD障害検出タイマーは、OSPF障害検出メカニズムよりもタイマー制限が短いため、より高速に検出できます。

BFDは、イーサネットインターフェイスなど、障害を迅速に検出できないインターフェイスで役立ちます。SONET インターフェイスなどの他のインターフェイスには、すでに障害検出機能が組み込まれています。これらのインターフェイスで BFD を設定する必要はありません。

隣接する OSPF インターフェイスのペアで BFD を設定します。OSPF Hello 間隔や dead 間隔の設定とは異なり、OSPF エリアのすべてのインターフェイスで BFD を有効にする必要はありません。

この例では、エリア0.0.0.0のネイバーOSPFインターフェイスfe-0/1/0bfd-liveness-detectionステートメントを含めて障害検出を有効にし、BFDパケット交換間隔を300ミリ秒に設定し、発信元インターフェイスがダウンしたと宣言される原因となる欠落したhelloパケットの数として4を設定し、以下の設定を含めることで、完全なネイバー隣接関係を持つOSPFネイバーに対してのみBFDセッションを設定します。

  • フルネイバーのみ—Junos OS リリース 9.5 以降では、フルネイバー隣接関係を持つ OSPF ネイバーに対してのみ BFD セッションを確立するように BFD プロトコルを設定します。デフォルトの動作では、すべての OSPF ネイバーに対して BFD セッションを確立します。

  • minimum-interval—ローカルルーティングデバイスがhelloパケットを送信する最小間隔(ミリ秒単位)と、ルーティングデバイスがBFDセッションを確立したネイバーからの応答を受信すると予想される最小間隔を設定します。1〜255,000ミリ秒の範囲で数値を設定できます。 また、送信間隔、最小間隔 、最小間隔、および minimum-receive-interval ステートメントを使用して、最小送信間隔と受信間隔を別々に指定することもできます。

    手記:

    BFDは、システムリソースを消費する集中的なプロトコルです。BFD の最小間隔を、ルーティングエンジンベースのセッションでは 100 ミリ秒未満、分散 BFD セッションでは 10 ミリ秒未満に指定すると、望ましくない BFD フラッピングが発生する可能性があります。

    ネットワーク環境によっては、次の追加の推奨事項が適用される場合があります。

    • BFDセッションの数が多い大規模なネットワーク展開の場合は、最小間隔を500ミリ秒以上に指定します。不安定性の問題を回避するために、1000ミリ秒の間隔をお勧めします。

      手記:
      • bfdd プロセスの場合、設定された検出時間間隔は 300 ミリ秒未満です。システムで ppmd などの優先度の高いプロセスが実行されている場合、CPU は bfdd プロセスではなく ppmd プロセスに時間を費やす可能性があります。

      • 支社SRXシリーズのファイアウォールでは、BFDパケットの最小キープアライブ時間間隔として1000ミリ秒を推奨します。

    • 多数のBFDセッションを伴う大規模なネットワーク導入の場合は、ジュニパーネットワークスのカスタマーサポートにお問い合わせください。

    • ノンストップアクティブルーティング(NSR)が設定されている場合、ルーティングエンジンスイッチオーバーイベント中にBFDセッションの稼働状態を維持するには、ルーティングエンジンベースのセッションの最小間隔を2500ミリ秒に指定します。NSR が設定された分散 BFD セッションの場合、推奨される最小間隔は変更されず、ネットワークの導入状況にのみ依存します。

  • 乗数—発信元インターフェイスがダウンを宣言する原因となる、ネイバーが受信しなかったhelloパケットの数を設定します。デフォルトでは、3 つの hello パケットが欠落すると、発信元インターフェイスがダウンを宣言します。1〜255の範囲で値を設定できます。

位相幾何学

構成

プロシージャ

CLIクイック構成

OSPFのBFDプロトコルを素早く設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク構成に合わせて必要な詳細を変更し、[edit]階層レベルのCLIにコマンドをコピー&ペーストし、設定モードから commit を入力してください。

手順

隣接する 1 つのインターフェイスで OSPF の BFD プロトコルを設定するには、次の手順に従います。

  1. OSPFエリアを作成します。

    手記:

    OSPFv3を指定するには、[edit protocols]階層レベルに ospf3 ステートメントを含めます。

  2. インターフェイスを指定します。

  3. 最小の送信間隔と受信間隔を指定します。

  4. 発信元インターフェイスがダウンを宣言する原因となる、欠落したhelloパケットの数を設定します。

  5. BFD セッションは、完全ネイバー隣接関係を持つ OSPF ネイバーに対してのみ設定します。

  6. デバイスの設定が完了したら、設定をコミットします。

    手記:

    この設定全体を他の隣接インターフェイスでも繰り返します。

業績

show protocols ospf コマンドを入力して、設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。

OSPFv3の設定を確認するために、 show protocols ospf3 コマンドを入力します。

検証

設定が正常に機能していることを確認します。

BFD セッションの検証

目的

OSPF インターフェイスにアクティブな BFD セッションがあり、セッション コンポーネントが正しく設定されていることを確認します。

アクション

動作モードから、 show bfd session detail コマンドを入力します。

意味

出力には、BFDセッションに関する情報が表示されます。

  • アドレスフィールドには、ネイバーのIPアドレスが表示されます。

  • インターフェイスフィールドには、BFD用に設定したインターフェイスが表示されます。

  • [状態(State)] フィールドにはネイバーの状態が表示され、設定した完全なネイバー隣接関係を反映するために [フル(Full)] と表示されます。

  • 送信間隔フィールドには、BFDパケットを送信するために設定した時間間隔が表示されます。

  • 乗数フィールドには、設定した乗数が表示されます。

OSPF の BFD 認証について

双方向フォワーディング検出(BFD)により、隣接システム間の通信障害を迅速に検出できます。デフォルトでは、BFD セッションの認証は無効になっています。ただし、ネットワーク層プロトコル上で BFD を実行すると、サービス攻撃のリスクが大きくなる可能性があります。複数のホップまたは安全でないトンネルを介してBFDを実行している場合は、認証を使用することを強くお勧めします。Junos OS リリース 9.6 以降、Junos OS は OSPFv2 上で実行される BFD セッションの認証をサポートしています。BFD 認証は、MPLS OAM セッションではサポートされていません。BFD 認証は、カナダおよび米国バージョンの Junos OS イメージでのみサポートされており、エクスポート バージョンでは使用できません。

BFD セッションを認証するには、認証アルゴリズムとキーチェーンを指定し、そのキーチェーン名を使用して、その設定情報をセキュリティ認証キーチェーンに関連付けます。

次のセクションでは、サポートされている認証アルゴリズム、セキュリティ キーチェーン、および設定可能な認証レベルについて説明します。

BFD認証アルゴリズム

Junos OSは、BFD認証について以下のアルゴリズムをサポートしています。

  • シンプルパスワード - プレーンテキストのパスワード。1〜16バイトのプレーンテキストがBFDセッションの認証に使用されます。1 つ以上のパスワードを設定できます。この方法は最も安全性が低く、BFD セッションがパケット傍受の影響を受けない場合にのみ使用してください。

  • keyed-md5—送信および受信間隔が 100 ミリ秒を超えるセッション用のキー付きメッセージ ダイジェスト 5 ハッシュ アルゴリズム。BFD セッションを認証するために、keyed MD5 は 1 つ以上の秘密鍵(アルゴリズムによって生成)と定期的に更新されるシーケンス番号を使用します。この方法では、キーの 1 つが一致し、シーケンス番号が最後に受信したシーケンス番号以上の場合、セッションの受信側でパケットが受け入れられます。この方法は単純なパスワードよりも安全ですが、リプレイ攻撃に対して脆弱です。シーケンス番号の更新頻度を上げると、このリスクを軽減できます。

  • meticulous-keyed-md5:綿密なキー付きメッセージダイジェスト5ハッシュアルゴリズム。この方法は、キー付き MD5 と同じように機能しますが、シーケンス番号はパケットごとに更新されます。この方法は、キーによる MD5 や単純なパスワードよりも安全ですが、セッションの認証にさらに時間がかかる場合があります。

  • keyed-sha-1—送信および受信間隔が 100 ミリ秒を超えるセッション用のキー付きセキュア ハッシュ アルゴリズム I。BFD セッションを認証するために、keyed SHA は 1 つ以上の秘密鍵(アルゴリズムによって生成)と定期的に更新されるシーケンス番号を使用します。キーはパケット内では伝送されません。この方法では、キーの1つが一致し、シーケンス番号が最後に受信したシーケンス番号より大きい場合、セッションの受信側でパケットが受け入れられます。

  • meticulous-keyed-sha-1—綿密なキー付きセキュアハッシュアルゴリズムI.このメソッドはキー付き SHA と同じように機能しますが、シーケンス番号はパケットごとに更新されます。この方法では、キー付き SHA や単純なパスワードよりも安全ですが、セッションの認証にさらに時間がかかる場合があります。

手記:

ノンストップ アクティブ ルーティング (NSR)は、meticulous-keyed-md5 認証アルゴリズムおよび meticulous-keyed-sha-1 認証アルゴリズムではサポートされていません。これらのアルゴリズムを使用する BFD セッションは、スイッチオーバー後にダウンする可能性があります。

手記:

QFX5000 シリーズ スイッチと EX4600 スイッチは、1 秒未満の最小間隔値をサポートしていません。

セキュリティ認証キーチェーン

セキュリティ認証キーチェーンは、認証キーの更新に使用される認証属性を定義します。セキュリティ認証キーチェーンが設定され、キーチェーン名を介してプロトコルに関連付けられている場合、ルーティングおよびシグナリングプロトコルを中断することなく認証キーの更新を行うことができます。

認証キーチェーンには、1 つ以上のキーチェーンが含まれています。各キーチェーンには、1 つ以上のキーが含まれています。各キーには、シークレット データと、キーが有効になる時刻が保持されます。アルゴリズムとキーチェーンは、BFD セッションの両端で設定する必要があり、一致する必要があります。設定の不一致があると、BFDセッションは作成されません。

BFD ではセッションごとに複数のクライアントを許可し、各クライアントに独自のキーチェーンとアルゴリズムを定義できます。混乱を避けるため、セキュリティ認証キーチェーンを 1 つだけ指定することをお勧めします。

ストリクト認証とルーズ認証

デフォルトでは、厳密な認証が有効になっており、各 BFD セッションの両端で認証がチェックされます。オプションで、非認証セッションから認証済みセッションへのスムーズな移行のために、 ルーズチェックを設定できます。ルーズ チェックが設定されている場合、パケットはセッションの両端で認証がチェックされずに受け入れられます。この機能は、移行期間のみを対象としています。

OSPF の BFD 認証の設定

Junos OS Release 9.6 以降、OSPFv2 上で実行される BFD セッションの認証を設定できます。ルーティングインスタンスもサポートされています。

以下のセクションでは、OSPF での BFD 認証の設定と表示の手順について説明します。

BFD 認証パラメータの設定

BFD セッションでの認証を構成するために必要な手順は 3 つだけです。

  1. OSPFv2 プロトコルの BFD 認証アルゴリズムを指定します。

  2. 認証キーチェーンを OSPFv2 プロトコルに関連付けます。

  3. 関連するセキュリティ認証キーチェーンを設定します。

BFD 認証を設定するには:

  1. OSPF経路またはルーティング・インスタンスでのBFD認証に使用するアルゴリズム(keyed-md5keyed-sha-1meticulous-keyed-md5meticulous-keyed-sha-1、または simple-password)を指定します。
    手記:

    ノンストップ アクティブ ルーティング(NSR)は、meticulous-keyed-md5 認証アルゴリズムおよび meticulous-keyed-sha-1 認証アルゴリズムではサポートされていません。これらのアルゴリズムを使用する BFD セッションは、スイッチオーバー後にダウンする可能性があります。

  2. 指定されたOSPFルートまたはルーティングインスタンスでのBFDセッションを、固有のセキュリティ認証キーチェーン属性に関連付けるために使用するキーチェーンを指定します。

    このキーチェーンは、 [edit security authentication key-chains] 階層レベルで設定されたキーチェーン名と一致する必要があります。

    手記:

    アルゴリズムとキーチェーンは、BFD セッションの両端で設定する必要があり、一致する必要があります。設定の不一致があると、BFDセッションは作成されません。

  3. BFD セッションに固有のセキュリティ認証情報を指定します。
    • ステップ 2 で指定した一致するキーチェーン名。

    • 少なくとも 1 つのキー、0 から 63 までの一意の整数。複数のキーを作成すると、複数のクライアントが BFD セッションを使用できるようになります。

    • セッションへのアクセスを許可するために使用されるシークレット データ。

    • 認証キーがアクティブになる時間( yyyy-mm-dd.hh:mm:ssの形式)。

  4. (オプション)非認証セッションから認証済みセッションに移行する場合に、緩い認証チェックを指定します。
  5. (オプション) show bfd session detail または show bfd session extensive コマンドを使用して設定を表示します。
  6. この手順のステップを繰り返して、BFD セッションのもう一方の端を設定します。
手記:

BFD 認証は、カナダおよび米国バージョンの Junos OS イメージでのみサポートされており、エクスポート バージョンでは使用できません。

BFD セッションの認証情報の表示

既存の BFD 認証設定は、 show bfd session detail および show bfd session extensive コマンドを使用して表示できます。

以下の例は、 if2-ospf BGP グループに設定された BFD 認証を示しています。これは、キーによる SHA-1 認証アルゴリズムと bfd-ospf のキーチェーン名を指定します。認証キーチェーンは、2 つのキーで構成されます。キー 1 には、シークレット データ "$ABC 123$ABC123" と、2009 年 6 月 1 日午前 9 時 46 分 02 秒の開始時刻が含まれています。キー 2 には、シークレット データ "$ABC 123$ABC123" と、2009 年 6 月 1 日午後 3 時 29 分 20 秒の開始時刻が含まれています。

これらの更新を設定にコミットすると、次のような出力が表示されます。 show bfd session detail コマンドの出力 では、認証 が表示され、BFD 認証が設定されていることを示します。

BFDセッションの詳細を表示

設定の詳細については、 show bfd session extensive コマンドを使用してください。このコマンドの出力には、キーチェーン名、セッション内の各クライアントの認証アルゴリズムとモード、BFD 認証の全体的な設定ステータス、キーチェーン名、認証アルゴリズムとモードが表示されます。

BFDセッション拡張を表示