Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

MPLS の BFD(双方向フォワーディング検出)

MPLS の双方向転送検出の設定(CLI 手順)

EX8200スタンドアロンスイッチおよびEX8200バーチャルシャーシでBFD(双方向フォワーディング検出)プロトコルを設定し、MPLSラベルスイッチパス(LSP)の障害を検出することができます。BFDプロトコルは、ネットワーク内の障害を検出するための単純なhelloメカニズムです。Helloパケットは指定された、定期的な間隔で送信されます。ネイバー障害は、ルーティングデバイスが指定した時間経過後にネイバーからの応答を受信しなくなった場合に検出されます。BFDは、さまざまなネットワーク環境とトポロジーで動作します。BFDの障害検出タイマーは、静的ルートの障害検出メカニズムのタイマーよりも制限時間が短いため、より高速に検出できます。これらのタイマーも適応型です。例えば、隣接関係に障害が発生した場合にタイマーをより高い値に適応したり、ネイバーが設定されている値よりも高い値をネゴシエートしたりすることができます。

このトピックでは、LDP ベース LSP および RSVP ベース LSP をサポートするための、PE(プロバイダ エッジ)スイッチとプロバイダ スイッチの設定について説明します。

このトピックには以下のものが含まれます。

LDP ベースの LSP のプロバイダ エッジおよびプロバイダ スイッチでの BFD の設定

特定の転送等価クラス(FEC)に関連付けられているLDPベースLSPまたはRSVPベースLSPに対してBFDを有効にすることができます。または、運用管理および保守(OAM)イングレスポリシーを設定して、FECアドレスの範囲でBFDを有効にすることもできます。

LDP ベース LSP に BFD を設定する前に、MPLS ネットワークの基本コンポーネントを設定する必要があります。

PE およびプロバイダ スイッチで BFD を設定するには、次の手順に従います。

  1. OAM ポリシーを定義します。
  2. OAMを有効にするFECを指定します。
  3. BFD設定の最小送信および受信間隔を指定します。
    注:

    ステートメントを設定する場合、 ステートメントまたは ステートメントを設定する必要はありません。minimum-intervalminimum-receive-intervalminimum-transmit-interval

    または

  4. 検出時間の倍率を指定します。ネゴシエートされた送信間隔にこの値を掛けると、非同期モードでの受信システムの検出時間がわかります。
  5. 最小送信間隔(または最小受信間隔)を指定します。
  6. 検出時間の適応を検出するためのしきい値を指定します。
  7. LDP ベースの LSP で BFD セッション障害イベントが発生した場合のルートおよびネクストホップ アクションを設定します。
    注:

    BFDセッションがダウンした場合、Junos OSを設定してLSPパスを再シグナルするか、単にLSPパスを無効にすることができます。スタンバイLSPパスを設定して、プライマリLSPパスが利用できない間にトラフィックを処理することができます。スイッチは、BFD で検出できる LSP 障害から自動的に回復できます。デフォルトでは、BFD セッションが失敗した場合、イベントは単にログに記録されます。

  8. ルートまたはネクストホップを追加するまでに、BFDセッションが稼働していればよい時間を指定します。0 秒を指定すると、BFD セッションが復旧するとすぐに、ルートやネクスト ホップが追加されます。
  9. LDP ベースの LSP の FEC のトレースを有効にし、プローブを送信する送信元アドレスを指定します。次に、待機間隔を指定し、その後にプローブ パケットを送信します。
  10. LSPのping間隔を秒単位で指定します。
  11. OAM ポリシーに対して実行するアクションを指定します。
  12. BFD の設定を MPLS 階層レベルで適用し、設定グループのステートメントを継承します。

プロバイダエッジおよびプロバイダスイッチでRSVPベースのLSPに対してBFDを設定する

イングレススイッチでRSVPベースのLSPにBFDが設定されている場合、そのLSPのプライマリパスとすべてのスタンバイセカンダリパスでBFDが有効になります。スイッチ上のすべての LSP または特定の LSP に対して BFD をイネーブルにできます。特定の LSP に対して BFD を設定すると、BFD に対してグローバルに設定された値はすべて、その LSP 上で上書きされます。BFD セッションは、イングレス スイッチでのみ発信され、エグレス スイッチで終了します。

RSVP ベースの LSP に BFD を設定する前に、MPLS ネットワークの基本コンポーネントを設定する必要があります。

PE およびプロバイダ スイッチで BFD を設定するには、次の手順に従います。

  1. BFD設定の最小送信および受信間隔を指定します。
    注:

    ステートメントを設定する場合、 ステートメントまたは ステートメントを設定する必要はありません。minimum-intervalminimum-receive-intervalminimum-transmit-interval

    または

  2. 検出時間の倍率を指定します。ネゴシエートされた送信間隔にこの値を掛けると、非同期モードでの受信システムの検出時間がわかります。
  3. 最小送信間隔(または最小受信間隔)を指定します。
  4. RSVPベースのLSPでBFDセッション障害イベントが発生した場合のルートおよびネクストホップアクションを設定します。
    注:

    BFDセッションがダウンした場合、Junos OSを設定してLSPパスを再シグナルするか、単にLSPパスを無効にすることができます。スタンバイLSPパスを設定して、プライマリLSPパスが利用できない間にトラフィックを処理することができます。スイッチは、BFD で検出できる LSP 障害から自動的に回復できます。デフォルトでは、BFD セッションが失敗しても、障害アクションを特に設定しなければ、イベントがログに記録されます。

BFDによってトリガーされる局所修復による迅速なコンバージェンス

BFD トリガーによるローカル保護について

リンクまたはノードの障害後にネットワークが収束するのにかかる時間は、ネットワークのサイズ、使用するプロトコル、ネットワーク設計など、さまざまな要因によって大きく異なります。ただし、特定の収束イベントはそれぞれ異なりますが、収束のプロセスは基本的に一貫しています。障害が検出され、ネットワーク内で障害が報告され(フラッディングされ)、トラフィックの代替パスが検出され、新しいパスでトラフィックを渡すように転送プレーンが更新されます。

この概要では、BFD(双方向フォワーディング検出)によってトリガーされるローカル修復が、MPLS ネットワークの迅速なコンバージェンスのための迅速な復旧時間にどのように貢献するかについて説明します。

BFD トリガーによるローカル修復の目的

Junos OS では、RSVP シグナルのラベルスイッチ パス(LSP)障害に対する一般的な MPLS トラフィック保護は、いくつかの補完的なメカニズムによって提供されます。これらの保護メカニズムには、ローカル保護(高速再ルート、リンク保護、ノードリンク保護)とパス保護(プライマリおよびセカンダリパス)が含まれます。ローカル保護とパス保護を組み合わせることで、LSP のパケット損失を最小限に抑え、障害発生後の LSP の再ルーティング方法を制御することができます。従来は、どちらのタイプの保護も、物理レベルでの接続障害の迅速な検出に依存していました。ただし、物理レベルが高速検出されない伝送メディアの場合、Junos OSはBFDとMPLS pingをサポートし、高速障害検出を実現します。

ルーター間のリンクでは、ルートがダウンすると、ルーティング プロトコル プロセスは次善のパスを再計算します。MPLS高速リルート(FRR)が有効な場合、iflメッセージはすべてのFPC(フレキシブルPICコンセントレータ)にフラッディングされます。エッジ FPC は、バイパス MPLS LSP トンネルを有効にします。最後に、すべてのルートが修復され、バイパス MPLS LSP トンネルを介して送信されます。すべてのルートの修復にかかる時間は、ルートの数に比例します。

この修復シナリオは、スイッチが2つのリンク間にある場合、より困難になります。「図 1」を参照してください。

図 1: BFDによってトリガーされるローカル修復を使用したトポロジーBFDによってトリガーされるローカル修復を使用したトポロジー

リンクがリモート エンドでダウンした場合、IGP(内部ゲートウェイ プロトコル)がダウンするまで、ローカル エンドで障害は検出されません。ルーティングプロトコルプロセスが次善のパスを再計算するのを待つのは時間がかかりすぎます。

BFD トリガーによるローカル修復を有効にすると、パケット転送エンジンは、まずバイパス MPLS LSP トンネル(事前設定およびインストール済み)を使用して修復を完了し、次にルーティング プロトコル プロセスに新しいルートを再計算するように通知します。これにより、プライマリMPLS LSPトンネルがダウンした際に、FPCは、バイパスMPLS LSPトンネルで、トラフィックを断続的かつ即座にFPCに迂回させることができます。

この方法でローカル修復を使用すると、50 ミリ秒未満の高速復元時間が達成されます。

BFD によってトリガーされるローカル リペアの設定

BFD トリガーによるローカル修復は設定できませんが、デフォルト設定の一部です。

レガシーJunos OS内でBFDをトリガーしたローカル修復作業には、MPLS-FRR、IGP 用 BFD、LFA(ループフリー代替)などがあります。

BFD トリガーによるローカル修復の無効化

デフォルトでは、BFD トリガーによるローカル修復は、すべてのルーティング インターフェイスに対して有効です。必要に応じて、[] 階層レベルで BFD トリガーによるローカル修復を無効にできます。edit routing-options

BFD によってトリガーされるローカル修復を明示的に無効にするには:

  1. [edit routing-options]階層レベルに ステートメントを含めます。no-bfd-triggered-local-repair

  2. (オプション)コミットする前に、 コマンドを使用して構成設定を確認します。show routing-options

コマンドを発行 して、構成を確認します。show routing-options

注:

この機能を無効にする場合、IGP の ステートメントを含めて ルーティングを再開する必要もあります。graceful-restart 例えば、OSPFの場合、これは階層レベルでステートメント を含めることで実現されます 。graceful-restart[edit protocols ospf]

MPLS IPv4 LSP の BFD の設定

インターネットドラフトdraft-ietf-bfd-mpls-02.txt( MPLS LSP用BFD)で概説されているように、MPLS IPv4 LSPに双方向フォワーディング検出(BFD)プロトコルを設定することができます。BFD は、LSP データ プレーンの障害を検出するために、LSP の定期的な運用、管理、保守(OAM)機能として使用されます。シグナリング プロトコルとして LDP または RSVP のいずれかを使用する LSP に対して BFD を設定できます。

注:

MPLS IPv4 LSPのBFDは、ルーティングエンジンに基づいており、配信されません。その結果、サポートされる最小 BFD タイマー間隔は 1 つの LSP セッションあたり (100 ミリ秒 * 3) であり、拡張 LSP セッションの場合、サポートされる最小 BFD タイマー間隔は (300 ミリ秒 * 3) です。BFD で LSP セッションの数を増やすと、ネットワークをサポートするためにインターバル タイマーも増加(スケーリング)する必要があります。

ノンストップアクティブルーティング(NSR)をサポートするルーティングエンジンスイッチオーバーインスタンスの場合、サポートされる最小BFDタイマー間隔は(2.5秒 * 3)です。

また、LSP コマンドを使用して、LSP データ プレーンの障害を検出することもできます。ping ただし、BFD にはいくつかの利点があります。LSP コマンドよりもコンピュータの処理が少なくて済み、大量の LSP の障害を迅速に検出できます (LSP コマンドは LSP ごとに個別に発行する必要があります)。pingping 一方、BFD を使用して、LSP エコー要求が FEC(転送等価クラス)に関連付けられている場合のように、エグレス LSR のデータ プレーンに対してコントロール プレーンを検証することはできません。ping

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

Junos OS Release 13.2R4、13.3R2、14.1 以降では、LSP ping メッセージと LSP ping 応答の数の間の時間間隔をそれぞれ設定できます。その後、双方向転送検出(BFD)セッションがダウンします。そのためには、 階層レベルで ステートメントと ステートメントを設定します。lsp-ping-intervallsp-ping-multiplier[edit protocols mpls oam]

LDP シグナル LSP の設定手順については、 LDP LSP 用の BFD の設定を参照してください。LDP LSPに対してBFDを設定するRSVP信号LSPの設定手順については、次のセクションを参照してください。

RSVP シグナル付き LSP に対して BFD を設定する

RSVP 向け BFD は、ユニキャスト IPv4 LSP をサポートします。イングレスルーターでRSVP LSPにBFDが設定されている場合、そのLSPのプライマリパスとすべてのスタンバイセカンダリパスでBFDが有効になります。MPLS BFD セッションのエグレス側から発信する BFD パケットの送信元 IP アドレスは、発信インターフェイス IP アドレスに基づきます。BFDは、ルーター上のすべてのLSPまたは特定のLSPに対して有効にすることができます。特定の LSP に対して BFD を設定すると、BFD に対してグローバルに設定された値はすべて上書きされます。BFD セッションは、イングレス ルーターでのみ発信され、エグレス ルーターで終了します。

パスのBFDセッションが失敗するたびにエラーがログに記録されます。以下の例は、RSVP LSP に対する BFD のログ メッセージの一例を示しています。

BFDは、ルーター上のすべてのRSVP LSP、特定のLSP、または特定のLSPのプライマリパスに対して設定できます。RSVP LSPに対してBFDを設定するには、 および ステートメントを含めます。oambfd-liveness-detection

以下の階層レベルでこのステートメントを設定することができます。

bfd-liveness-detection ステートメントには、以下のオプションが含まれます。

  • minimum-interval- 最小の送受信間隔を指定します。

  • minimum-receive-interval- 最小の受信間隔を指定します。1~255,000ミリ秒の範囲になります。

  • minimum-transmit-interval- 最小の送信間隔を指定します。1~255,000ミリ秒の範囲になります。

  • lsp-ping-multiplier- 検出時間の倍率を指定します。1~255の範囲になります。

    注:

    偽陰性のトリガーを回避するには、高速再ルート時間よりも長い BFD 障害検出時間を設定します。

また、オプションを設定して、 LSP ping の時間間隔を調整することもできます。lsp-ping-interval RSVPシグナル化されたLSPのLSPpingコマンドはです 。ping mpls rsvpping mpls rsvpコマンドの詳細については、CLI エクスプローラーを参照してください。

RSVP LSP での BFD セッションの障害アクションの設定

RSVP LSP の BFD セッションがダウンすると、LSP は破棄され、再度シグナル化されます。トラフィックはスタンバイLSPに切り替えることも、単にLSPパスを破棄することもできます。実行されたアクションはすべてログに記録されます。

RSVP LSP パスの BFD セッションがダウンした場合、Junos OS を設定して LSP パスを再シグナルするか、単に LSP パスを無効にすることができます。スタンバイLSPパスは、プライマリLSPパスが利用できない間、トラフィックを処理するように設定できます。ルーターは、BFD で検出できる LSP 障害から自動的に回復できます。デフォルトでは、BFD セッションが失敗した場合、イベントは単にログに記録されます。

BFD イベントが発生した場合に、Junos OS が RSVP LSP パスを破棄できるようにするには、以下の ステートメントを含めます。failure-action

このステートメントを含めることができる階層レベルの一覧は、このステートメントのステートメント概要セクションを参照してください。

または オプションのいずれかを設定できます。teardownmake-before-break

  • teardown- LSP パスを停止し、直ちに再シグナリングします。

  • make-before-break- Junos OSが古いLSPパスを破棄する前に、新しいLSPパスのシグナリングを試みます。また、LSPへの再シグナル化の試みが間隔内に失敗した場合、指定した時間が経過すると自動的にLSPを破棄するオプションを設定することもできます。teardown-timeout teardown-timeout 間隔に値 0を指定すると、LSPはダウンし、ただちに再シグナル化されます(オプションを設定 した場合と同じ動作)。teardown-timeoutteardown

すべてのRSVP LSPに対して失敗アクションを設定するには、階層レベルで ステートメントを含め ます 。failure-action[edit protocols mpls oam bfd-liveness-detection] 特定の RSVP LSP に対して失敗アクションを設定するには、 階層レベルで ステートメントを含め ます 。failure-action[edit protocols mpls label-switched-path lsp-name oam bfd-liveness-detection]

特定のプライマリパスに対して失敗アクションを設定するには、階層レベルでステートメント を含めます 。failure-action[edit protocols mpls label-switched path lsp-name primary path-name oam bfd-liveness-detection] 特定のセカンダリ LSP パスに対して障害アクションを設定するには、 階層レベルで ステートメントを含め ます 。failure-action[edit protocols mpls label-switched-path lsp-name secondary path-name oam bfd-liveness-detection]

変更履歴

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

リリース
説明
13.2R4
Junos OS Release 13.2R4、13.3R2、14.1 以降では、LSP ping メッセージと LSP ping 応答の数の間の時間間隔をそれぞれ設定できます。その後、双方向転送検出(BFD)セッションがダウンします。