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(Bidirectional Forwarding Detection)プロトコルは、ネットワークの障害を検出するシンプルなhelloメカニズムです。BFDは、さまざまなネットワーク環境やトポロジーで動作します。1組のルーティング・デバイスが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リリース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セッションを確立したネイバーから応答を受信することを期待する最小間隔の両方を設定します。どちらの間隔もミリ秒です。また、 および minimum-receive-interval ステートメントを使用して、最小の送受信間隔をtransmit-interval minimum-interval個別に指定することもできます。

    メモ:

    BFDは、システムリソースを消費する集中的なプロトコルです。ルーティング エンジンベースのセッションで 100 ミリ秒未満の BFD の最小間隔を指定し、分散 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 セッション送信間隔を適応するためのしきい値。送信間隔が閾値より大きい値に適応すると、1つのトラップと1つのシステムログメッセージが送信されます。閾値は、最小送信間隔よりも大きくなければなりません。閾値が最小送信間隔より小さい設定をコミットしようとすると、ルーティング・デバイスはエラーを表示し、設定を受け入れない。

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

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

例:OSPF の BFD の設定

この例では、OSPFに対して双方向転送検出(BFD)プロトコルを設定する方法を示しています。

要件

開始する前に、以下を行います。

概要

ルートコンバージェンスを高めるために、OSPF Hello間隔とデッドインターバル設定を調整する代わりに、BFDを設定します。BFDプロトコルは、ネットワークの障害を検出するシンプルなhelloメカニズムです。BFD障害検出タイマーは、OSPF障害検出メカニズムよりもタイマー制限が短く、これにより迅速な検出が可能になります。

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

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

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

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

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

    メモ:

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

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

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

      メモ:
      • bfddプロセスの場合、検出時間間隔セットは300msより低くなります。システムで 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を指定するには、 階層レベルに ospf3 ステートメントを [edit protocols] 含めます。

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

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

  4. 送信元インターフェイスをダウンと宣言する、逃したhelloパケットの数を設定します。

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

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

    メモ:

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

結果

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

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

検証

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

BFDセッションの検証

目的

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

アクション

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

意味

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

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

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

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

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

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

OSPF向けBFD認証について

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

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

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

BFD認証アルゴリズム

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

  • シンプルパスワード—プレーンテキストパスワード。BFDセッションの認証には、1~16バイトのプレーンテキストが使用されます。1つ以上のパスワードを設定できます。この方法は最も安全性が低く、BFDセッションがパケット傍受の対象でない場合にのみ使用する必要があります。

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

  • 細心の注意を払った- md5 - 細心の注意を要したメッセージダイジェスト5ハッシュアルゴリズム。この方法はキー付き MD5 と同じように動作しますが、シーケンス番号は各パケットで更新されます。キー付きMD5やシンプルなパスワードよりも安全性が高いですが、この方法ではセッションの認証にさらに時間がかかる場合があります。

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

  • 細心の注意を払った鍵付き sha-1 — 細心の注意を要したセキュア ハッシュ アルゴリズム I。このメソッドはキー付き SHA と同じように動作しますが、シーケンス番号は各パケットで更新されます。キー付き SHA や単純なパスワードよりもセキュアですが、この方法ではセッションの認証にさらに時間がかかる場合があります。

メモ:

ノンストップ アクティブ ルーティング (NSR)は、細心の注意を払った鍵付き md5 および細心の注意を払った鍵付き sha-1 認証アルゴリズムではサポートされていません。これらのアルゴリズムを使用したBFDセッションは、スイッチオーバー後にダウンすることがあります。

メモ:

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

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

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

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

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

ストリクト認証とルーズ認証の比較

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

OSPF向けBFD認証の設定

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

以下のセクションでは、OSPF で BFD 認証を設定および表示するための手順を示します。

BFD認証パラメーターの設定

BFD セッションで認証を設定するには、次の 3 つのステップのみが必要です。

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

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

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

BFD認証を設定するには:

  1. OSPF ルートまたはルーティング インスタンスでの BFD 認証に使用するアルゴリズム(keyed-md5keyed-sha-1、細心の注意を払った鍵付き-md5細心の注意を払った鍵付き sha-1、または簡易パスワード)を指定します。
    メモ:

    ノンストップ アクティブ ルーティング(NSR)は、細心の注意を払った鍵付き md5 および細心の注意を払った 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 extensive コマンドを使用して設定をshow bfd session detail表示します。
  6. BFD セッションのもう一方のエンドを設定するには、この手順の手順を繰り返します。
メモ:

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

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

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

以下の例は、 if2-ospf BGPグループに設定されたBFD認証を示しています。キー付き SHA-1 認証アルゴリズムと bfd-ospf のキーチェーン名を指定します。認証キーチェーンは、2つのキーで設定されています。キー 1 には、「$ABC 123$ABC123」の秘密データと 2009 年 6 月 1 日午前 9 時 46 分 02 分(PST)の開始時間が含まれています。キー 2 には、「$ABC 123$ABC123」の秘密データと 2009 年 6 月 1 日午後 3 時 29 分 20 分(PST)の開始時間が含まれています。

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

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

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

bfdセッション拡張を表示