Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

BGP ルートの優先度設定

BGP ルートの優先度設定について

BGP は現在使用されている最も広範囲に導入済みのルーティングプロトコルですが、ネットワークレイヤーの到達可能性情報 (NLRI) だけでなく、多くの種類の VPN 到達可能性情報も備えていますが、プロトコルによってその情報がどのようになるのかが指定されていないことに注目してください。BGP update メッセージで注文されています。この決定は、実装によって決まります。

大規模なシステムでは、BGP はシステム間でルーティング情報を交換するのにかなり時間がかかる場合があります。このことは、特に BGP の開始時、ルートの更新操作時、およびグレースフルリスタートの支援において当てはまります。処理する必要がある大量の情報を処理するために、BGP ルート処理はキューを使用して行われます。アウトバウンドルートは、処理のために出力キューに配置されます。BGP ルート優先度設定は Junos OS リリース16.1 で導入され、ユーザーが確定的な優先度を設定して更新メッセージを BGP することを可能にする手段としています。BGP ルートの優先度設定は、出力キューに対して厳密に動作するプロセスです。、BGP ピアルーターに送信される情報の注文を支援します。

デフォルト構成では、優先度が設定さoutput-queue-priorityれている構成またはポリシーが存在しない場合、ルーティングプロトコルプロセス (rpd) は、ルーティング情報ベース (リブ)あたりの出力キューへのルートを BGP します。「ルーティングテーブル」としても知られるリブは、inet .0 などの特定のアドレスファミリーと、vrf などのインスタンステーブルのルーティングに対応します。出力キューを処理しているときに、BGP 更新コードが現在のリブの出力キューをフラッシュしてから、空でない出力キューを持つ次のリブに移動します。

デフォルトの動作により、処理中に成長し続けるすべての特定のリブが、他の突起で枯渇 (ルート更新処理の不足) を引き起こすことがあります。また、他の NLRI よりも重要な特定の NLRI が、その他のルート処理作業の長いリストの後ろに、非決定的な方法でキューイングされる可能性があることも意味します。

注:
  • 理論的な可能性がある場合でも、ルートの優先順位が自動的に設定されることはありません。したがって、個々のルートの優先度は、ユーザーに完全に従っていることになります。

  • ピアグループのルート優先度を変更すると BGP BGP ピアセッションはリセットされます。

BGP ルート優先度設定の使用事例

表 1は、ルートの優先度設定によるメリットが得られるルートのタイプと、それによってメリットが得られる理由について説明しています。これらのタイプのルートの例も含まれています。特定の大規模な環境でこれらのルートに優先度を設定することで、ルーターが重要なルート変更に迅速に対応できるようになります。

表 1: BGP ルート優先度設定の使用事例

ルートまたは更新タイプ

メモ

サンプル

BGP 次ホップを即時転送の次ホップに解決するために使用されるプリフィックス

これらの接頭番号を変更するには、できるだけ早く実行する必要があります。

  • ホストルート

  • 再帰的な解決要件の一部である接頭辞

トンネルエンドポイントに使用されるルート

GRE や MPLS などのトンネルエンドポイントは、BGP 次ホップとして使用されることがよくあります。

BGP ラベル付きユニキャストルート

プロトコル機能の運用に不可欠なルートタイプ

VPN プロトコルによっては、特定のルートタイプを使用して、プロトコル内で時間に敏感な変更をトリガーする場合があります。これらのルートの変更は、できる限り早く行う必要があります。

  • MVPN ソースアクティブ自動検出 (タイプ 5)

  • マルチホーム VPLS サイト

サービスプロバイダインフラストラクチャルート

これらのルートは、サービス プロバイダがビジネスを行う上で不可欠です。正確で最新のルートがなければ、サービスプロバイダは一部のサービスを提供できないかもしれません。

  • 内部管理ネットワーク

  • ネットワーク運用接頭辞

  • DNS リソース

ネットワークトポロジーの変更

これらは、シンプルなルート更新の優先順位を決定する必要があります。

  • 新しいルーターがネットワークに追加されました。

  • ネットワークから削除されたルーター

アドレスファミリーの優先度設定

サービスプロバイダの中には、アドレスグループの優先度に関して他のものとは異なる設定があるものもあります。

レイヤー 3 Vpn は、インターネットのリブの前に集約することをお勧めします。別のサービスプロバイダが、最初にインターネットのリブの統合を希望しているかもしれません。

BGP ルートの優先度設定のプロパティ

Junos OS におけるルートの優先度設定 BGP は、ユーザーが設定可能なトークンメカニズムによって提供される17個の優先度 (番号付き) 出力キューのセットを使用して実装されています。このセクションでは、優先度が設定された出力キュー、トークンシステムの動作、キューへのルートの割り当てについて説明します。

優先度が設定された出力キュー

表 2利用可能な出力キューとその機能を優先度システム内に表示します。優先度設定システムは、従来の低、中、高優先度スケールで機能し、1が最低の優先度、16が最高の優先度になります。

表 2: 優先度が設定された出力キュー

待ち時間

機能

迅速

これが最も優先度の高い出力キューです。このクラスのルートは、出力キューをフラッシュしている間、出力キューの処理の一部が保証されます。このキューは番号がなく、構成内で名前によって参照されます。

1 (優先度最低)

これは最小の優先出力キューです。これは、デフォルトの優先度のキューであり、自動的なプロトコル決定やユーザーポリシーのいずれかによって明確なキュー割り当てを持たないルートは、デフォルトでこのキューに配置されます。デフォルトでは、ルート更新メッセージはこのキューに置かれます。

2-16 (優先度-高)

これらの出力キューは、優先度が低い順 (2) から最高の優先度 (16) までの範囲になります。ユーザーポリシーまたは BGP ピア構成に基づいてルートが割り当てられます。優先度の高い出力キュー内のルートは、優先度の低いキューのルートを切断することができます。

キューへのルートの割り当て

さまざまなキューにルートを割り当てるには、BGP エクスポートポリシーを設定して割り当てることができます。つまり、ルートの優先度は、BGP ピアグループごとに異なるだけでなく、BGP ピアグループ内の特定の近隣構成でも変化する可能性があります。また、ポリシーステートメントのアクション部分を使用して、ルートをキューに割り当てることもできます。ポリシーステートメントのアクションによるキューへのルートの割り当ては、BGP 設定によって行われた割り当てを上書きします。

ワークトークンメカニズム

トークンは、BGP update メッセージを作成するための作業に対応しています。すべてのキューには、バケットに格納されているトークンが割り当てられています。特定のバケットのトークン数は、ユーザーが設定できます。このようにして、ユーザーは、希望する割合でルートを提供できるポリシーを策定できます。優先度スケジューラの設定は、 [edit protocols bgp]階層レベルで BGP 内でグローバルに行われます。デフォルトでは、すべての優先キューには少なくとも1つのトークンが含まれています。これにより、不適切な優先度に対応することができなくなります。

キューの優先度と公平性について

BGP ルートの優先度設定で使用されるスキームは、次の2つの要素に重点を置いています。公平性と優先度:

  • 公正性とは、特定のキューで実行される作業があるときに、その他のキューがある時点で何らかの作業を実行することが保証されることを意味します。各キューがどれだけの処理を実行できるかは、各優先度に割り当てられたトークン数によって決まります。

  • 優先度とは、作業が競合していて公正性が確保されている場合に、重要な仕事を常に選択することを意味します。

たとえば、次の3つのクラスが優先されるとします。低、中、高です。これらは、それぞれキュー1、2、3に割り当てることができます。別の方法として、キュー3、6、9に割り当てることもできます。公正のために、高い優先度が、利用可能な作業の 50% を達成しているかどうかを判断する場合、medium が 35% を達成し、低。残り 15% を取得します。トークンは、50、35、中、15 ~ 低に割り当てることができます。別の方法として、トークンは 5 ~ 高、4 ~ 中、2 ~ 低に割り当てることができます。17キューには、1 ~ 100 の間の任意の値を割り当てることができます。1つのキュー内のトークン数とすべてのキュー内のトークンの総数に対する比率によって、各キューで実行される作業の割合が示されます。

トークンがワークスケジューラによって別のキューで使用されている間に、作業がキューに表示される場合、優先度が最も重要です。表 3は、この例の出発点を示しています。

表 3: キューとトークン

優先キュー (キュー番号)

キューに割り当てられたトークン数

キューに残っているトークン数

キュー内のエントリ数

高 (9)

50

50

0

中規模 (6)

35

15

5000

低 (3)

15

15

10000

ワークスケジューラが中程度のキュー (queue number 6) を処理し、20個のトークンを消費していると仮定した場合、残りの15個のトークンが残っているのは、中程度のキューに含まれているエントリと、優先度の低いキューで15トークンが消費される場合です。ワークスケジューラの次回の実行の前に、5つのエントリが優先キューに到着すると、これら5つのエントリが最初に送信されます。これは、優先キューに50トークンが残っているためです。

キューサービスの手順

キューサービスの手順は BGP ピアグループごとに動作し、グループごとに独自のトークンバケットが維持されます。

  • 各優先度のトークンバケットは、構成したトークン数で開始するか、デフォルトでは1になります。

  • ルートエントリがキューからプルされるたびに、そのキューからトークンが差し引かれます。 BGP 更新を開始します。

  • 優先キューはトークンを持っていますが、それ以外のすべてのキューエントリは、ルートパッキングルールに従って、優先キューから取得されます。

  • エントリーは、優先度の高いキューから取得されます。つまり、キューサービスメカニズムの実行間でエントリが優先度の高いキューに追加されていて、優先度の高いキューに使用可能なトークンがある場合、優先度の高いキューの新しいエントリが先に送信され、下位のエントリが優先キュー。新しいエントリーが到着したときに、優先度の高いキューに利用可能なワークトークンがない場合、新しいエントリーは、次のトークン更新が行われるまで送信されません。

  • すべての優先キューがサービスを提供した後 (キューにはエントリーが残っていません) またはすべてのトークンを使い果たすと、トークンが更新されます。

アドレスファミリーの優先度設定

デフォルトでは、特定のアドレスファミリーに対して、NLRI の優先が行われることはありません。さらに、ルートの更新とトポロジーの変更の更新は、デフォルトでは最も低い優先度 (1) として扱われます。各アドレスシリーズを、より高い優先度レベルで出力、更新、または撤回するように構成するには、それぞれの構成階層で特定の出力キューに割り当てます。アドレスファミリの優先度設定は[edit protocols bgp 、このように構成されているため、特定のアドレスファミリは、他よりも高い優先度を受け取ることができます。

例:BGP 出力優先度スケジューラおよびグローバルアドレスファミリーの優先度の設定

この例では、システム全体の BGP ルートの優先度スケジューラを構成およびテストする方法について説明します。

要件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

  • Junos OS リリース16.1 以降を実行している MX シリーズルーター (R1)

BGP ルート優先度設定スケジューラを構成する前に、ルーターで BGP プロトコルが動作していることを確認してください。

概要

BGP ルート優先度スケジューラは、ルート優先順位付けシステムの17個の出力キュー内で行われた作業量を制御するために使用されます。システムは、ワークトークンが割り当てられているルーティングインスタンスごとに、17個の優先度が設定された出力キューのセットを使用します。17個の優先度が設定された出力キュー (1-16 および優先) はすべて、デフォルトで1つのトークンが割り当てられるようになります。1と100間の任意の数のトークンを各17キューに割り当てることができます。キューにトークンを割り当てることで、キュー内のルートに対して実行される作業量のバランスを取ることができます。さらに、各キーワードを特定の番号付き出力キューに割り当てることで、高、中、低優先度のキューイングのデフォルト設定を構成できます。この例では、ワークトークン数がそれぞれ異なる17個の優先度キューを設定し、inet ユニキャストルート用のグローバル出力優先度を設定し、グローバル優先度を上書きする一部の BGP グループを設定することで、継承を証明することを示します。設定。

構成

  • 17 update-tokens個の出力キューそれぞれに割り当てます。

  • 番号付きキューをデフォルトhighmediumlow優先度の高いキューとして使用するように指定します。

  • ルートのグローバルな出力inet unicast優先度を設定します。

  • Test1 という名前の BGP グループを構成して、グループの上書き機能を表示します。

  • グローバル継承を表示する test2 という名前の BGP グループを構成します。

CLI クイック構成

この例を簡単に構成するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致する必要がある詳細情報を変更してから、コマンド[edit]を階層レベルで CLI にコピー & ペーストします。

個々の出力優先度キューの設定

順を追った手順

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

  1. 17個の優先度が設定された出力キューのそれぞれに更新トークンを割り当てます。

高、中、低の優先順位のルート更新に使用する既定のキューを構成する

順を追った手順

結果

設定を確認するには、 show bgp output-scheduler運用モードからコマンドを発行します。

ルートファミリーのグローバル出力優先度を設定します。

手順

順を追った手順
  1. ルート用にoutput-queue-priorityinet unicastグローバルを構成します。

Test1 という名前の BGP グループを設定します

手順

順を追った手順
  1. グループtest1を設定して、グローバル出力優先度を上書きし、グループを上書きする1つの隣接ノードと、存在しない1つの隣接ノードを含めます。

Test2 という名前の BGP グループを構成します

順を追った手順
  1. グローバルデフォルトを受け入れるtest2ように BGP グループを設定します。

検証

BGP 出力スケジューラの構成を確認する

目的

BGP 出力スケジューラの構成を確認するには、運用show bgp output-schedulerモードからコマンドを発行します。

アクション

出力は、出力スケジューラの構成が、各出力キューに適切な数のトークンを適用して成功し、高、中、低の優先度のキーワードが適切な出力キューに割り当てられていることを示しています。

グループ構成、グループの上書き、および近隣ノードの上書きを確認する

目的

構成されたグループがグループの上書き、近傍の上書き、継承を示すshow bgp group group-nameことを確認するには、運用モードからコマンドを発行します。

アクション

この出力は、ピア224.223.2.2 の出力キュー優先度が7、ルート更新優先度が8、withdraw 優先度が優先されていることを示しています。近傍224.223.1.1 の出力キューの優先度は4ですが、ルートの更新優先度は6で、withdraw の優先度は「ファミリー inet unicast」または「3」のデフォルト設定です。

グローバル優先度設定から継承を確認します。

目的

グローバル BGP ルートの優先度設定を無効にするように構成されていないshow bgp group group-nameグループがあることを確認するには、運用レベルでコマンドを発行します。

アクション

この出力は、 inet unicasttest2グループ内のルートのデフォルトルートの優先度がグローバル構成と一致することを示しています。

例:BGP ルートの優先度設定によるルーティングテーブルのコンバージェンスの制御

次の例では、ルートの前inet labeled-unicastinet unicastにルートを収束させるために BGP ルートの優先度設定を構成します。

要件

この例では、以下のハードウェアとソフトウェアのコンポーネントを使用しています。

  • Junos OS リリース16.1 以降を実行している MX シリーズルーター (R1) は、この例の焦点となるものです。

  • R1 との内部 BGP ピアとして構成された2台目のルーター (R2)。

  • R1 のルーティングテーブルを作成するために使用される BGP ルートリフレクタ (RR)。この例では、ルートリフレクタは構成されていません。

概要

BGP ルートの優先度設定機能は、ルーターでの送信 BGP 更新メッセージの優先度を設定できるように設計されています。BGP ルートの優先度設定を使用すると、GRE または MPLS トンネルエンドポイントの変更など、より重要な BGP のルート更新を、ルート更新の更新などの重要でない BGP ルート更新で送信することができます。

この例では、ルート更新よりもinet labeled-unicastinet unicast優先度の高い R2 にルート更新を処理するように R1 を構成しています。そのためには、R2 ルーター (R1) からのルートinet unicastinet labeled-unicastルーターの両方を受け入れるように r2) を設定します。次に、R1 上inet.0のルーティングテーブルをルートリフレクタから取り込み、インポートlabeled-unicastinet.3を使用してrib-groupそのテーブルの一部をテーブルにインポートします。R1 のルートがキューに登録されている場合、 inet.3リブ内のルートが、 inet.0リブ内の残りのルートよりも先にフラッシュされるかどうかを確認することで、運用を検証できます。

BGP ルートの優先度設定の構成

R2 を R1 の BGP ピアとして設定します。

R1 の場合:

  • ルーター R2 をルーター R1 のピアとして設定します。

  • ルートリフレクタからインターネットルートを取得するために使用されるリフレクタという名前の BGP グループを作成します。

  • より優先度の高い出力キューへのラベル付きユニキャストトラフィックの割り当てに使用される、internal という名前の BGP グループを作成します。

  • リフレクタから受信したルートをインポートする RIB グループを作成します。

  • RIB グループにインポートされるinet.0リブの部分を決定するポリシーを作成します。

CLI クイック構成

この例を簡単に構成するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致する必要がある詳細情報を変更してから、コマンド[edit]を階層レベルで CLI にコピー & ペーストします。

ルーター R2

ルーター R1

手順

順を追った手順

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

R2 を設定するには:

  1. Internal という名前の BGP グループを設定します。

順を追った手順

R1 を構成するには

  1. RR からのルートを受信する、リフレクタという名前の BGP グループを構成します。

  2. Internal という名前の BGP グループを構成します。

  3. Into3 という名前の RIB グループを設定

  4. 「Match-長期」という名前のルーティングポリシーを設定する

  5. 「Match all」という名前のルーティングポリシーを設定

検証

近傍更新が適切に優先度設定されていることの確認

目的

ルートの更新が適切なキューに配置されており、キューが更新中であることを確認します。

アクション

BGP neighbor 192.0.2.2 のキューに登録されたルート更新を確認するにshow bgp neighbor output-queue 192.0.2.2は、運用モードからコマンドを発行します。

この出力はshow bgp neighbor output-queue 192.0.2.2 、優先順位2の出力キューにラベル付きユニキャストルート更新が配置されていることを示し、優先度2の出力キューが空になります。これにより、priority 1 の出力キューにあるユニキャストルートの更新が行われます。