Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BFD による静的ルートの理解によるネットワーク障害検知の高速化

BFD(Bidirectional Forwarding Detection)プロトコルは、ネットワークの障害を検出するシンプルな hello メカニズムです。BFDは、さまざまなネットワーク環境やトポロジーで動作します。1 組のルーティング デバイスが BFD パケットを交換します。Hello パケットは、指定された定期的な間隔で送信されます。ルーティング デバイスが指定した間隔を経過した後に応答の受信を停止すると、ネイバー障害が検出されます。BFD 障害検出タイマーは、静的ルート障害検知メカニズムよりも時間制限が短く、高速な検知を提供します。

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

デフォルトでは、BFD はシングルホップ スタティック ルートでサポートされています。

メモ:

MX シリーズ デバイスでは、スタティック ルートが複数のネクスト ホップで設定されている場合、マルチホップ BFD は静的ルートでサポートされません。スタティック ルートにマルチホップ BFD が必要な場合は、複数のネクスト ホップを使用しないようにすることをお勧めします。

障害検知を有効にするには、静的ルート設定に bfd-liveness-detection ステートメントを含めます。

メモ:

Junos OS リリース 15.1X49-D70 および Junos OS リリース 17.3R1 以降、 bfd-liveness-detection コマンドには説明フィールドが含まれています。説明はオブジェクトの下の bfd-liveness-detection 属性で、SRX シリーズ デバイスでのみサポートされています。このフィールドは静的ルートにのみ適用されます。

Junos OS リリース 9.1 以降では、BFD プロトコルは IPv6 スタティック ルートでサポートされています。グローバル ユニキャストおよびリンクローカル IPv6 アドレスは、静的ルートでサポートされています。BFD プロトコルは、マルチキャストまたはエニキャスト IPv6 アドレスではサポートされていません。IPv6 の場合、BFD プロトコルは静的ルートのみをサポートし、Junos OS リリース 9.3 以降でのみサポートします。BFD の IPv6 は、eBGP プロトコルでもサポートされています。

IPv6 スタティック ルートの BFD プロトコルを設定するには、階層レベルで bfd-liveness-detection ステートメントを [edit routing-options rib inet6.0 static route destination-prefix] 含めます。

Junos OS リリース 8.5 以降では、ホールドダウン間隔を設定して、状態変更通知を送信する前に BFD セッションを稼働させる時間を指定できます。

ホールドダウン間隔を指定するには、BFD 設定に holddown-interval ステートメントを含めます。0~255,000 ミリ秒の範囲で数値を設定できます。デフォルトは 0 です。BFDセッションがダウンし、ホールドダウン間隔中に戻ってきた場合、タイマーが再起動されます。

メモ:

1 つの BFD セッションに複数のスタティック ルートが含まれている場合、最大値のホールドダウン 間隔が使用されます。

障害検知の最小送受信間隔を指定するには、BFD 設定に minimum-interval ステートメントを含めます。

この値は、ローカル ルーティング デバイスが hello パケットを送信する最小間隔と、ルーティング デバイスが BFD セッションを確立したネイバーから応答を受信することを期待する最小間隔の両方を表します。1~255,000 ミリ秒の範囲で数値を設定できます。必要に応じて、このステートメントを使用する代わりに、送信間隔の最小間隔とステートメントを使用して、最小 送信 間隔と minimum-receive-interval 受信間隔を個別に設定できます。

メモ:

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

メモ:

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

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

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

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

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

障害検知の最小受信間隔を指定するには、BFD 設定に minimum-receive-interval ステートメントを含めます。この値は、BFD セッションを確立したネイバーからの応答をルーティング デバイスが受信することを期待する最小間隔を表します。1~255,000 ミリ秒の範囲で数値を設定できます。必要に応じて、このステートメントを使用する代わりに、階層レベルでステートメントを使用して minimum-interval 最小受信間隔を [edit routing-options static route destination-prefix bfd-liveness-detection] 設定できます。

発信インターフェイスを宣言ダウンさせるネイバーが受信しない hello パケットの数を指定するには、BFD 設定にステートメントを含めます multiplier 。デフォルト値は 3 です。1~255 の範囲の数値を設定できます。

検出時間の適応を検出するためのしきい値を指定するには、BFD 設定に threshold ステートメントを含めます。

BFD セッション検出時間がしきい値以上の値に適応すると、1 つのトラップとシステム ログ メッセージが送信されます。検出時間は、 最小間隔 または 最小受信間隔 値の乗数に基づいています。しきい値は、これらのいずれかの設定値の乗数よりも高い値である必要があります。たとえば、 最小受信間隔 が 300 ms で 、乗数 が 3 の場合、合計検出時間は 900 ms です。そのため、検出時間のしきい値は 900 より高い値である必要があります。

障害検知の最小送信間隔を指定するには、BFD 設定に transmit-interval minimum-interval ステートメントを含めます。

この値は、ローカル ルーティング デバイスが BFD セッションを確立したネイバーに hello パケットを送信する最小間隔を表します。1~255,000 ミリ秒の範囲で値を設定できます。必要に応じて、このステートメントを使用する代わりに、ステートメントを使用して最小送信間隔をminimum-interval[edit routing-options static route destination-prefix bfd-liveness-detection]階層レベルで設定できます。

送信間隔の適応のしきい値を指定するには、BFD 設定に transmit-interval threshold ステートメントを含めます。

しきい値は送信間隔よりも大きくなければなりません。BFDセッション送信時間がしきい値を超える値に適応すると、単一のトラップとシステムログメッセージが送信されます。検出時間は、 最小間隔 の値の乗数または階層レベルの minimum-receive-interval ステートメントに [edit routing-options static route destination-prefix bfd-liveness-detection] 基づいています。しきい値は、これらのいずれかの設定値の乗数よりも高い値である必要があります。

BFD バージョンを指定するには、BFD 設定に version ステートメントを含めます。デフォルトでは、バージョンが自動的に検出されます。

BFD セッションのネクスト ホップの IP アドレスを含めるには、BFD 設定に neighbor ステートメントを含めます。

メモ:

指定されたネクスト ホップが neighbor インターフェイス名の場合は、ステートメントを設定する必要があります。IP アドレスをネクスト ホップとして指定した場合、そのアドレスは BFD セッションのネイバー アドレスとして使用されます。

Junos OSリリース9.0以降では、BFDセッションを設定して、変化するネットワーク条件に適応しないようにすることができます。BFD 適応を無効にするには、BFD 設定に no-adaptation ステートメントを含めます。

メモ:

BFD 適応をネットワークに持た ないことを望まない 限り、BFD 適応を無効にしないことをお勧めします。

メモ:

BFD が静的ルートの一端でのみ設定されている場合、ルートはルーティング テーブルから削除されます。BFD は、BFD がスタティック ルートの両端で設定されている場合にセッションを確立します。

BFD は、スタティック ルートの ISO アドレス ファミリではサポートされていません。BFDはIS-ISをサポートしています。

BFD と同時に グレースフル ルーティング エンジン スイッチオーバー (GRES)を設定した場合、フェイルオーバー中に GRES は BFD 状態情報を保持しません。

リリース履歴テーブル
リリース
説明
15.1X49-D70
Junos OS リリース 15.1X49-D70 および Junos OS リリース 17.3R1 以降、 bfd-liveness-detection コマンドには説明フィールドが含まれています。説明はオブジェクトの下の bfd-liveness-detection 属性で、SRX シリーズ デバイスでのみサポートされています。このフィールドは静的ルートにのみ適用されます。