BGPルーティングルールとロードシェアリング

概要:

IGPに対するBGPの最大の利点は、パス選択戦略が非常に豊富であり、パス選択がBGPのルーティング属性を調整することによって決定されることです。これらのルーティング属性を使用するときは、順序とルールを考慮する必要があります。特にルーターに宛先へのパスが複数ある場合、BGPは、次のルーティングルールに従って最初に最適なパスを選択する必要があります。BGPルーティングの「12のルール」は次のとおりです。

ここに画像の説明を挿入

特定のルール:

1.ネクストホップに到達できます。

注:
ネクストホップは、BGPルーティングルールの最初のルールとして到達可能です。BGPルートのネクストホップIPアドレスに到達できない場合、BGPルートはルーティングに参加しません。

2.プロトコルプリファレンス値(PrefVal)の値が最も高いルートをプリファレンスします。

注:プロトコルプリファレンス値(PrefVal)は、Huawei機器の一意の属性であり、ルーティングルールでも最初にランク付けされるため、優先度が比較されます。この属性は、このルーターでのみ意味があり、他のデバイスには渡されません。 。プロトコルプリファレンス値は大きいほど良いです。デフォルトのプリファレンス値は0です。ベンダーごとに独自の実装方法があります。

3. LocalPref値が最も高いルートを優先します。

注:
ローカル優先度属性はAS全体で送信されますが、ASの外部では送信されません。値が大きいほど優先されます。通常、ASのルーターとして使用され、外部への最適な出口を選択します。ルートがローカルプリファレンスで設定されていない場合、BGPはルートを選択するときに、デフォルトのローカルプリファレンス100に従ってルートを処理します。

4.ローカルオリジンの優先順位は次のとおりです。①手動で集約されたルート→②自動で集約されたルート→③ネットワークコマンドによってアドバタイズされたルート→④import-routeコマンドによってインポートされたルート→⑤ピアから学習したルート。

注:
ルール3は、現在のルーターによって生成されたBGPルートを参照します。ローカルで生成されたルートは、ネイバーによって学習されたルートよりも優れています。ローカルで生成されたルートは、ローカルで生成された集約ルートとIPルート注入ルートに分けられます。その中で、集約ルートは非集約ルートよりも優れており、集約は手動集約と自動集約に分けることができ、前者は後者よりも優れています。networkコマンドを介してBGPにアドバタイズされたルートは、BGPにインポートされたルートよりも優れています。 import;次は、ネイバーから学習したルートです。BGPのルートは上記のタイプに過ぎません。同じターゲットプレフィックスのルートが上記の方法で同時にBGPに入る場合は、上記の優先度に従って判断されます。

5. ASパスが最も短いルート(AS_PATH)を優先します。

注:
AS_PATH属性は、ターゲットネットワークへのASパスのリストです。ディスタンスベクタープロトコルのホップの概念と同様に、AS_PATHの長さが短いルートが優先されます。

6. OriginタイプがIGP、EGPであり、順番が不完全なルートを優先します。

注:
オリジンはBGPのオリジン属性であり、BGPルートのオリジンを参照します。BGPルートはオリジン属性を持ちます。ルートがネットワークを介して生成されたルートである場合、発信元タイプはIGP(iとして識別)です。ルートがEGPプロトコルを介して学習された場合、発信元タイプはEGP(eとして識別されます)です。 BGPルート、オリジンタイプが不完全です(?として識別されます)。優先順位はi> e>?です。

ルール4は、ルートの注入位置を比較します(ローカル注入は、ネイバーが学習するものよりも優れています)。これは、ローカルで生成された複数のルートから最適なルートを選択してネイバーに送信するために使用されます。ルール6は、ルートを比較します。注入方法(ネットワークまたはインポ)。発信元コードは、異なるネイバーから受信した複数の同一ルートから最適なものを選択するために使用されます。

7. MED(Multi Exit Discriminator)値が最も低いルートを優先します。

注:
デフォルトではMEDは同じネイバーからのルートのMED値を比較します。数値が小さいほど、ルートは優れています。異なる隣接ASからのルートの場合、MEDは比較に参加しません。compare-different-as-medコマンドが有効になっている場合にのみ、異なる隣接ASからのルート間でMEDを比較できます。

8. eBGPルーティング、iBGPルーティングを順番に優先します。

注:
ルートがeBGPとiBGPを介して同時に学習される場合、他のルールが同じである場合は、eBGPピアが最初に選択されます。理由は単純です。eBGPは外部ASに接続し、iBGPは内部ASに接続します。ルータは、eBGPを介して学習されたルートは外部ASから送信される必要があるため、AS全体をトラバースしてから外部に到達するよりも、外部に到達するためにeBGPピアを直接選択する方が好ましいと考えています。

9.メトリック値(メトリック)が最小のルートをBGPのネクストホップよりも優先します。

注:
BGPルートのネクストホップアドレスは、IGPプロトコルを介して学習されます。ルーティングテーブルに従って、ネクストホップへのメトリック
が計算されます。メトリックが小さいほど、優先されます。

10.Cluster_Listが最も短いルートを優先します。
説明:

  1. Cluster_Listは、ルートリフレクターによって追加されるルートリフレクターの属性です。Cluster_IDは、反映されたBGPルートがASで通過するクラスターパスを記録するためにCluster_Listに追加されます。AS_PATH属性と同様に、Cluster_Listが短いほど、ルートが優先されます。
  2. 比較に参加しているルートにCluster_Listがない場合、ルール9はスキップされ、次のルールが直接比較されます。ルートにCluster_Listがなく、他のルートにCluster。Listがある場合、Cluster_List属性のないルートが優先されます。

11.Router_IDが最小のデバイスによってアドバタイズされたルートを優先します。

説明:
Router_IDが最小のネイバーによってアドバタイズされたルートの優先度が最も高くなります。

  1. ルートにOriginator_ID属性が含まれている場合、ルーティングプロセス中にOriginator_IDのサイズが比較され、
    Router_ID比較されませんその中で、オリジネーターが最小のルート。_IDが最適です。
  2. 比較に参加しているルートのoriginator_IDが同じである場合、Router_ IDは比較されなくなり、ルール11が直接開始されます。

12.IPアドレスが最小のピアから学習したルートを優先します。

説明:
最後のステップでは、ネイバーのIPアドレスを比較し、最小のものが最初になります。

BGPロードシェアリング:

注:Huawei機器として構成します。

大規模なネットワークでは、通常、同じ宛先への複数の有効なルートがありますが、BGPはピアへの最適なルートのみをアドバタイズします。この機能は、多くの場合、多くのトラフィック負荷の不均衡を引き起こします。BGP負荷分散を構成することにより、トラフィック負荷のバランスを取り、ネットワークの輻輳を減らすことができます。

一般に、「BGPルート選択戦略」で説明されている最初の8つの属性(ネクストホップを除く)が完全に同じで、AS_PATH属性も同じである場合にのみ、BGPルートは互いに等しくなり、BGPロードを実現できます。共有。。ただし、ルーティング負荷分散のルールは、ルーティングAS_PATH属性の比較を無視するなど、構成によって変更することもできますが、これらの構成では、ルーティングループが発生しないようにする必要があります。

BGPは、BGPルートのロードバランシングとネクストホップルートのロードバランシングの2つの形式のロードバランシングを実装できます。

1.ネクストホップが異なる複数のBGPルートがIPルーティングテーブルに同時に表示されます

デフォルトでは、BGPは最適なBGPルートのみをIPルーティングテーブルに配信します。ただし、この動作は、maximum load-balancing [eBGP | iBGP] mumberコマンドを使用して構成し、BGPロードバランシングの等コストルートの最大数を構成できます。

BGPは、「ルーティングルール」の最初の8つのルールが同じである複数のルートを、IPルーティングテーブルに同時に配信できます。負荷分散の条件は次のとおりです。「BGPルーティング選択戦略」の1番目から8番目のルールでは、比較する属性は「完全に同じ」である必要があります。この条件を満たす複数のルートの場合、最大負荷分散を有効にした後、ルーティングテーブルに複数のルートを発行できます。デフォルトでは、BGPロードバランシングの等コストルートの最大数は1です。つまり、ロードバランシングは実行されません。

負荷分散条件を満たすBGPルートの数が、定義されたBGP負荷分散仕様よりも多い場合は、次の順序が推奨されます。

  1. 最短のCluster_Listが優先されます。
  2. できれば、Router_IDが最小のルーターによってアドバタイズされたルーター:ルートにOriginator_ID属性がある場合、ルーティングプロセス中にOriginator_IDのサイズが比較され(Router_IDは比較されなくなります)、Originator_IDが最小のルートは次のようになります。優先。
  3. ピアのIPアドレスを比較し、小さいIPアドレスを持つピアから学習したルートを優先します。

パブリックネットワーク内の同じ宛先へのルートがロードシェアリングを形成する場合、システムは最初に最適なルートタイプを決定します。最適なルートがiBGPルートの場合、iBGPルートのみがロードシェアリングを形成します。最適なルートがeBGPルートの場合、eBGPルートのみがロードシェアリングを形成します。つまり、パブリックネットワーク内の同じ宛先に到達するiBGPルートとeBGPルートは、ロードバランシングを形成できません。負荷分散はこのデバイスに対してのみ有効ですが、デバイスはルーティングの原則に基づいて他のピアに送信するのに最適なルートを選択しますが、負荷分散はルーティングテーブルに表示されます。

デフォルトでは、ルートはロードシェアリングを形成するときにルートのAS_PATH属性を比較します。BGPは同じAS_PATH属性を持つルートでのみロードシェアリングを実行します。BGPロードシェアリング機能は、アライアンス内の自律システムにも適用できます。ロードバランシングを形成するときにルートのAS_PATH属性を比較しないようにルートを設定します。これを実現するには、load-balancing as path-ignoreコマンドを使用できます。ただし、この方法ではルーティングループが発生する可能性があるため、注意して使用してください。

BGPにはルーティングアルゴリズムがないため、明確なメトリックに基づいてルートをロードバランシングするかどうかを決定できません。ただし、BGPには多くのルーティング属性があり、BGPルーティング戦略におけるこれらの属性の優先度は異なります。これらのルーティング戦略にBGPロードシェアリングの処理ルールが追加されます。つまり、すべての優先度の高いルートが同じ属性を持ち、BGPルーティング属性が同じである場合、BGPは設定された最大ロードシェアリングルート数に基づいて実行されます。負荷分散。

実験:
ここに画像の説明を挿入

図に示すように、AS254は2つのBGPルート100.1.1.0/24と200.1.1.0/24をアドバタイズします。これらはR5 / R6によってAS100にアドバタイズされます。R1からAS200への2つのeBGPルートがあり、これらを介して到達できます。 R5およびR6。。現在、これら2つのBGPルートのうち1つだけがデフォルトでR1のIPルーティングテーブルに入ります。R1
ここに画像の説明を挿入
のBGPプロセスの負荷分散コマンド:最大負荷分散eBGP2。

IPルーティングテーブルを再度確認します。AS254への2つのルートにはそれぞれ2つのネクストホップがあり、同時にIPルーティングテーブルに入ります
ここに画像の説明を挿入
。2。ネクストホップルートの負荷分散

BGPとIGPの違いは、そのネクストホップアドレスが直接接続されていないルーターのインターフェイスIPになる可能性があることです。BGPがAS内のiBGPネイバー間のルートをアドバタイズする場合、ダウンホップは変更されないままであり、データトラフィックはルートによって学習された方向に転送されます。直接接続されていないネクストホップは、ルーターで「反復ルーティング」を実行してルーティングテーブルを検索します。BGPはネクストホップルートに依存してデータを転送するため、ネクストホップアドレスに対応するルートが負荷分散されている場合IPルーティングテーブル。ここでは、BGPロードシェアリングとしてカウントすることもできます。

このロードシェアリングの実現は、実際にはBGPに直接関係しておらず、IGPプロトコルルーティングのECMP(Equal Cost Multiple Path)が原因です。IGPは、独自のルーティングアルゴリズムに従ってルートのメトリック値を計算し、同じメトリック値を持つルート間でロードシェアリングを実行します。これは実際にはIGPロードシェアリングです。

実験:
ここに画像の説明を挿入

図に示すように、R6はBGPルート100.1.1.0/24をアドバタイズし、R5はこのネットワークセグメントにアクセスします。データフローがR1を通過すると、ロードシェアリングが実行されます。R1とR4はiBGPネイバーを確立するため、BGPテーブルR1のネクストホップはR4の10.1.4.4(ループバック0)であり、OSPFプロトコルはAS 100内で実行されています。R1がターゲットネットワークセグメントに到達すると、の10.1.4.4まで繰り返されます。 R4、およびR4に到達する2つの方法があります。等コストパス。

R1のBGPルーティングテーブルを確認してください。ネクストホップアドレスは10.1.4.4です。
ここに画像の説明を挿入

R1のIPルーティングテーブルには10.1.4.4への2つの等コストパスがあるため、BGPルートにも2つのネクストホップがあります。
ここに画像の説明を挿入

情報源の整理:「HCIEルーティング交換学習ガイド」

おすすめ

転載: blog.csdn.net/tushanpeipei/article/details/112750398