Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGP セッションの BFD

BGPのBFDについて

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

注:

同じデバイス上でBGPに対してBFDとグレースフルリスタートの両方を設定するのは逆効果です。インターフェイスがダウンすると、BFD はこれを即座に検出し、トラフィック転送を停止して BGP セッションがダウンしますが、グレースフル リスタートはインターフェイス障害にもかかわらずトラフィックを転送します。この動作はネットワークの問題の原因になる可能性があります。そのため、同じデバイス上でBFDとグレースフルリスタートの両方を設定することはお勧めしません。

注:

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

注:

QFX5110、QFX5120、QFX5200、および QFX5210 スイッチは、マルチホップ双方向フォワーディング検出(BFD)インラインキープアライブをサポートしており、セッションを 1 秒未満で設定できます。パフォーマンスは、システムの負荷によって異なる場合があります。10のインラインBFDセッションがサポートされており、150 x 3ミリ秒のタイマーで設定できます。シングルホップセッションもサポートされています。

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

注:

すべての SRXシリーズファイアウォールでは、CPUを集中的に使用するコマンドやSNMPウォークなどの理由で高いCPU使用率が発生すると、大規模なBGPアップデートの処理中にBFDプロトコルがフラップします。(プラットフォームのサポートは、インストールされたJunos OSリリースによって異なります)。

Junos OSリリース15.1X49-D100以降、SRX340、SRX345、およびSRX1500デバイスは専用BFDをサポートしています。

Junos OS リリース 15.1X49-D100 以降、SRX300 および SRX320 デバイスはリアルタイム BFD に対応しています。

Junos OSリリース15.1X49-D110以降、専用BFDをサポートするSRX550Mデバイスがあります。

Junos OS Release 8.3以降では、BFDは、シングルホップEBGPセッションだけでなく、内部BGP(IBGP)およびマルチホップ外部BGP(EBGP)セッションでもサポートされています。Junos OSリリース9.1からJunos OSリリース11.1では、BFDはスタティックルートでのみIPv6インターフェイスをサポートします。Junos OS Release 11.2 以降では、BFD は BGP による IPv6 インターフェイスをサポートします。

例:内部 BGP ピア セッションでの BFD の設定

この例では、双方向フォワーディング検出(BFD)プロトコルを使用して内部BGP(IBGP)ピアセッションを構成し、ネットワークの障害を検出する方法を示します。

要件

この例を構成する前に、デバイスの初期化以上の特別な構成は必要ありません。

概要

IBGP セッションで BFD を有効にするための最小設定は、BFD セッションに参加しているすべてのネイバーの BGP 設定に ステートメントを含める ことです。bfd-liveness-detection minimum-interval ステートメントは 、障害検出の最小送信および受信間隔を指定します。minimum-interval 具体的には、この値は、ローカル ルーティング デバイスが hello パケットを送信する最小間隔と、ルーティング デバイスが BFD セッションを確立したネイバーからの応答を受信すると予想される最小間隔を表します。1 〜 255,000 ミリ秒の値を設定できます。

オプションで、 および ステートメントを使用して、最小の送信間隔と受信間隔を個別に指定できます。transmit-interval minimum-intervalminimum-receive-interval これらおよびその他のオプションの BFD 設定ステートメントの詳細については、を参照してください 。bfd-liveness-detection

注:

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

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

  • 一般的なルーティングエンジンスイッチオーバーイベント中にBFDフラッピングが発生しないようにするには、ルーティングエンジンベースのセッションの最小間隔を5000ミリ秒に指定します。この最小値が必要なのは、一般的なルーティング エンジン スイッチオーバー イベント中に、RPD、MIBD、SNMPD などのプロセスが、指定されたしきい値を超えて CPU リソースを使用するためです。したがって、BFDの処理とスケジューリングは、このCPUリソースの不足により影響を受けます。

  • デュアルシャーシクラスタ制御リンクのシナリオでBFDセッションを立ち上げたままにするには、ルーティングエンジンベースのセッションのセカンダリノードでLACPがフラッピングするのを防ぐために、最小間隔を6000ミリ秒に指定します。

  • 多数のBFDセッションを伴う大規模なネットワーク展開の場合、ルーティングエンジンベースのセッションの最小間隔を300ミリ秒、分散BFDセッションの最小間隔を100ミリ秒に指定します。

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

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

BFD は、デフォルトのルーティングインスタンス(メインルーター)、ルーティングインスタンス、および論理システムでサポートされています。この例は、論理システムでの BFD を示しています。

図 1は、内部ピア セッションを持つ典型的なネットワークを示しています。

図 1: IBGP セッションを持つ典型的なネットワークIBGP セッションを持つ典型的なネットワーク

設定

CLIクイック構成

この例をすばやく設定するには、次のコマンドをコピーしてテキストファイルに貼り付け、改行を削除して、ネットワーク構成に合わせて必要な詳細を変更し、[edit]階層レベルのCLIにコマンドをコピー&ペーストしてください。

1 デバイスA 1

1 デバイスB 1

1 デバイスC 1

デバイス A を設定する

ステップバイステップでの手順

次の例では、設定階層内のさまざまなレベルに移動する必要があります。CLI のナビゲーションについては、CLIユーザー・ガイドコンフィギュレーション・モードでのCLIエディタの使用を参照してください。

デバイス A を設定するには:

  1. CLI を論理システム A に設定します。

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

  3. BGP を設定します。

    機器 A と機器 C が直接接続されていないにもかかわらず、機器Bと機器 C の両方についてのneighbor文が含まれている。

  4. BFD を設定します。

    接続ピアで同じ最小間隔を設定する必要があります。

  5. (オプション)BFD トレースを設定します。

  6. OSPFを設定します。

  7. 直接ルートを受け入れるポリシーを設定します。

    このシナリオの他の有用なオプションは、OSPF またはローカル ルートで学習したルートを受け入れることかもしれません。

  8. ルーターIDと自律システム(AS)番号を設定する。

  9. デバイスの設定が完了したら、設定モードから commit を入力します。 以下の手順を繰り返して、デバイス B とデバイス C を設定します。

結果

設定モードから、show interfacesshow policy-optionsshow protocols、およびshow routing-options のコマンドを入力して設定を確認します。出力結果に意図した設定内容が表示されない場合は、この例の手順を繰り返して設定を修正します。

検証

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

BFD が有効になっていることを確認する

目的

IBGPピア間でBFDが有効になっていることを確認します。

アクション

動作モードからshow bgp neighborコマンドを入力します。フィルターを使用して 、出力を絞り込むことができます。| match bfd

意味

出力は、論理システム A に BFD が有効な 2 つのネイバーがあることを示しています。BFD が有効になっていない場合、出力は と表示され 、 オプションはありません。BFD: disabled, down<BfdEnabled> BFD が有効でセッションがダウンしている場合、出力には が表示されます 。BFD: enabled, down また、トレース操作が設定されているため、BFD 関連のイベントがログファイルに書き込まれていることも出力で示しています。

BFD セッションが立ち上がっていることの確認

目的

BFDセッションが立ち上がっていることを確認し、BFDセッションの詳細を表示します。

アクション

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

意味

出力は 、 ステートメントで 構成された設定を表しています。TX interval 1.000, RX interval 1.000minimum-interval その他の出力はすべて、BFDのデフォルト設定を表しています。デフォルトの設定を変更するには、ステートメントの下にオプションのステーbfd-liveness-detectionトメントを含めます。

詳細な BFD イベントの表示

目的

BFDトレースファイルの内容を表示し、必要に応じてトラブルシューティングに役立てることができます。

アクション

動作モードからfile show /var/log/A/bgp-bfdコマンドを入力します。

意味

ルートが確立される前に、メッセージが 出力に表示されます。No route to host ルートが確立されると、最後の 2 行に両方の BFD セッションが立ち上がることが示されます。

ループバックインターフェイスを非アクティブ化および再アクティブ化した後の詳細なBFDイベントの表示

目的

ルーターまたはスイッチを停止した後、再度起動した後の動作を確認します。ルーターまたはスイッチのダウンをシミュレートするには、論理システム B でループバック インターフェイスを無効にします。

アクション
  1. 設定モードからdeactivate logical-systems B interfaces lo0 unit 2 family inetコマンドを入力します。

  2. 動作モードからfile show /var/log/A/bgp-bfdコマンドを入力します。

  3. 設定モードからactivate logical-systems B interfaces lo0 unit 2 family inetコマンドを入力します。

  4. 動作モードからfile show /var/log/A/bgp-bfdコマンドを入力します。

BGPのBFD認証について

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

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

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

BFD認証アルゴリズム

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

  • simple-password- プレーンテキストのパスワード。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 セッションの両端で認証がチェックされます。オプションで、非認証セッションから認証済みセッションへのスムーズな移行のために、 ルーズチェックを設定できます。ルーズ チェックが設定されている場合、パケットはセッションの両端で認証がチェックされずに受け入れられます。この機能は、移行期間のみを対象としています。

例:BGP の BFD 認証の設定

Junos OS Release 9.6以降、BGP上で実行するBFDセッションの認証を設定できます。BFD セッションでの認証を構成するために必要な手順は 3 つだけです。

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

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

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

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

BFD 認証パラメータの設定

BFD認証は、BGPプロトコル全体、または特定のBGPグループ、ネイバー、もしくはルーティングインスタンスに対して設定できます。

次の例では、設定階層のいくつかのレベルに移動する必要があります。CLIのナビゲーションについては、Junos OS CLIユーザーガイド設定モードでCLIエディターを使用する を参照してください。

BFD 認証を設定するには:

  1. 使用するアルゴリズム(、 、 、 、または )を指定します。keyed-md5keyed-sha-1meticulous-keyed-md5meticulous-keyed-sha-1simple-password
    注:

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

  2. BGP 上の BFD セッションを固有のセキュリティ認証キーチェーン属性に関連付けるために使用するキーチェーンを指定します。

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

    注:

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

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

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

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

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

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

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

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

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

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

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

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

BFDセッション拡張を表示

変更履歴

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 特定の機能がお使いのプラットフォームでサポートされているかどうかを確認するには、 Feature Explorer をご利用ください。

リリース
説明
15.1X49-D100
Junos OSリリース15.1X49-D100以降、SRX340、SRX345、およびSRX1500デバイスは専用BFDをサポートしています。
15.1X49-D100
Junos OS リリース 15.1X49-D100 以降、SRX300 および SRX320 デバイスはリアルタイム BFD に対応しています。
11.2
Junos OS Release 11.2 以降では、BFD は BGP による IPv6 インターフェイスをサポートします。
9.1
Junos OSリリース9.1からJunos OSリリース11.1では、BFDはスタティックルートでのみIPv6インターフェイスをサポートします。
8.3
Junos OS Release 8.3以降では、BFDは、シングルホップEBGPセッションだけでなく、内部BGP(IBGP)およびマルチホップ外部BGP(EBGP)セッションでもサポートされています。