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(Bidirectional Forwarding Detection)プロトコルは、ネットワークの障害を検出するシンプルな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 使用率が高い場合、BFD プロトコルは大規模な BGP アップデートを処理しながらフラップします。(プラットフォームのサポートは、インストールされている Junos OS リリースによって異なります)。

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

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

Junos OSリリース15.1X49-D110以降、SRX550Mデバイスは専用のBFDをサポートしています。

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

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

この例では、BFD(Bidirectional Forwarding Detection)プロトコルで内部 BGP(IBGP)ピア セッションを設定して、ネットワークの障害を検出する方法を示します。

要件

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

概要

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

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

注:

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

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

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

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

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

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

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

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

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

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

設定

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

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

デバイスA

デバイスB

デバイスC

デバイスAの設定

手順

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

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

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

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

  3. BGPを設定します。

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

  4. BFDを設定します。

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

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

  6. OSPFを設定します。

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

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

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

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

結果

設定モードから、 、show protocolsshow policy-optionsおよび のコマンドをshow interfaces入力して設定を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(Bidirectional Forwarding Detection protocol)は、隣接するシステム間の通信障害を迅速に検出します。デフォルトでは、BFDセッションの認証は無効になっています。しかし、ネットワークレイヤープロトコル上でBFDを実行すると、サービス攻撃のリスクが大きくなる可能性があります。複数のホップまたは安全でないトンネルを介してBFDを実行している場合は、認証を使用することを強くお勧めします。Junos OSリリース9.6以降、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 ミリ秒を超えるセッションに対する鍵付きメッセージ ダイジェスト 5 ハッシュ アルゴリズム。BFDセッションを認証するために、キー付きMD5は1つ以上の秘密鍵(アルゴリズムによって生成)と定期的に更新されるシーケンス番号を使用します。この方法では、いずれかのキーが一致し、シーケンス番号が受信した最後のシーケンス番号以上の場合、セッションの受信側でパケットが受け入れられます。単純なパスワードよりも安全性は高いですが、この方法は攻撃をリプレイする脆弱性があります。シーケンス番号が更新されるレートを上げることで、このリスクが軽減されます。

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

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

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

注:

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

注:

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

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

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

認証キーチェーンには、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-md5、 、 meticulous-keyed-md5keyed-sha-1、 、meticulous-keyed-sha-1または)を指定しますsimple-password
    注:

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

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

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

    注:

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

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

    • 少なくとも1つのキー、および 63の間0の一意の整数。複数のキーを作成することで、複数のクライアントが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表示できます。

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

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

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

bfdセッション拡張を表示

リリース履歴テーブル
リリース
説明
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セッションでサポートされています。