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 」セクションを参照してください。

注:

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

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

BGPピアセッション用のBFDストリクトモード

Junos OSは、BGPピアセッションのBFDストリクトモードをサポートしています。ストリクトモードが有効な場合、BGPは、関連するBFDセッションが確立されて安定するのを待ってから、BGPセッションを確立済みに移行します。ストリクトモードは、BFDが利用できないか不安定な場合のルートチャーンを減らすのに役立ちます。

行動

  • strict-bfdbfd-liveness-detectionで設定されている場合、BGP有限状態マシンは、関連するBFDセッションがUpを報告するのを待ってから、BGPセッションが確立された状態になることを許可します。

  • BFDが許容された待機間隔内に Up を報告しない場合、BGPセッションはリセットされ、ルーターはサブコードBFD DownのBGP通知をピアに送信します。

  • 使用される待機間隔は次のとおりです。

    • ホールドタイムがゼロ以外の場合のBGPホールドタイム、または

    • BGPホールドタイムが0の場合に設定されたbfd-up-wait-interval

  • strict-bfd はデフォルトで無効になっており、明示的に設定する必要があります。

  • strict-bfdまたはbfd-up-wait-intervalの変更は、確立されていないセッションに直ちに適用されます。確立されたセッションの場合、変更は次回のセッション再起動時に有効になります。

  • 両方のピアが、厳密な動作がそのセッションで有効になるためには、厳密なBFD機能のサポートをアドバタイズする必要があります。

注:

ピアルーターをBFDストリクトモードとホールドダウン間隔で同一に設定し、無期限のアイドル状態を回避し、適切なBGPセッション確立を確保します。

例:BGPネイバーの厳密なBFD待機間隔の設定

BGPをBFDストリクトモードで動作するように設定することで、関連するBGPセッションが正常に確立され安定するまでBGPセッションが確立されないようにすることができます。

この構成は、データプレーンパスが不安定なネットワークにおいて、ルーティングの解約を防ぎ、セッションの信頼性を向上させるのに役立ちます。

BGPセッションを確立する前に、BFDセッションが立ち上がるまで最大20秒待機するようにBGPを設定するには:

この例では:

  • BGP保留時間が 0場合、ルーターはBFDセッションが立ち上がるまで最大20秒待機します。

  • 保留時間が0以外の場合、その値が待機間隔を上書きします。

  • 間隔が終了する前にBFDセッションが立ち上がると、タイマーはキャンセルされます。

  • BFD が動作せずに間隔が満了すると、BGP セッションがリセットされ、BGP 通知メッセージがピアに送信されます。

制限とデフォルト

  • デフォルトの待機間隔:30秒(使用時に適用)

  • サポートされている範囲:10〜255秒

  • Junosでの最小実用的なBFD起動(プラットフォームによって異なります):通常、約4〜6秒かかります。新しいBFDセッションが初期化を完了するまでの十分な時間を確保するには、最小許容時間10秒で使用してください。

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

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

要件

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

概要

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

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

注:

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

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

  • デュアルシャーシクラスター制御リンクのシナリオで、最初の制御リンクに障害が発生した場合、BFDセッションが稼働し続けるようにするには、ルーティングエンジンベースのセッションのセカンダリノードでLACPがフラッピングしないように、最小間隔を6000ミリ秒に指定します。

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

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

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

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

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

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

設定

CLIクイックコンフィグレーション

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

デバイスA

デバイスB

デバイスC

デバイスAの設定

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

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

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

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

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

  3. BGPを設定します。

    デバイスAと機器Cが直接接続されていないにもかかわらず、 neighbor ステートメントは機器Bと機器Cの両方に含まれています。

  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.000出力は、minimum-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は、BGP上で動作するBFDセッションの認証をサポートしています。BFD 認証は、MPLS OAM セッションではサポートされていません。BFD 認証は、カナダおよび米国バージョンの Junos OS イメージでのみサポートされており、エクスポート バージョンでは利用できません。

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

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

BFD認証アルゴリズム

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

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

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

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

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

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

注:

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

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

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

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

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

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

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

例:BGP の BFD 認証の設定

Junos OSリリース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-1、または simple-password)を指定します。
    注:

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

  2. BGP上の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 セッションの認証情報の表示

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

以下の例は、 bgp-gr1 BGP グループに設定された BFD 認証を示しています。これは、キー付き SHA-1 認証 アルゴリズムと bfd-bgp のキーチェーン名を指定します。認証キーチェーンは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認証が設定されていることを示す認証が表示されます。設定の詳細については、 show bfd session extensive コマンドを使用します。このコマンドの出力は、キーチェーン名、セッション内の各クライアントの認証アルゴリズムとモード、全体的なBFD認証設定ステータス、キーチェーン名、および認証アルゴリズムとモードを提供します。

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

show bfd session extensive

BGP動作のためのプラットフォーム固有のBFD

機能エクスプローラーを使用して、特定の機能のプラットフォームとリリースのサポートを確認します。

プラットフォーム固有の動作を確認するには、以下の表を使用して下さい。

BGP動作のためのプラットフォーム固有のBFD

プラットフォーム 違い

ACXシリーズ

  • bfd-liveness-detection authentication設定ステートメントオプションは、ACX7000シリーズデバイスではサポートされていません。

EXシリーズ

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

QFXシリーズ

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

変更履歴テーブル

サポートされる機能は、使用しているプラットフォームとリリースによって決まります。 機能エクスプローラー を使用して、機能がお使いのプラットフォームでサポートされているかどうかを確認します。

リリース
説明
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リリース11.2以降では、BFDはBGPを使用したIPv6インターフェイスをサポートします。
9.1
Junos OSリリース9.1からJunos OSリリース11.1では、BFDはスタティックルートでのみIPv6インターフェイスをサポートします。
8.3
Junos OSリリース8.3以降では、BFDは内部BGP(IBGP)セッションおよびマルチホップ外部BGP(EBGP)セッション、およびシングルホップEBGPセッションでサポートされています。