エンタープライズレベルのルーティングおよびスイッチングネットワークの HCIP-IERS 導入 - BGP プロトコルの原理と構成

目次

序文

BGPの基本機能

BGPプロトコルの特徴

BGP 近隣探索

BGP ネイバータイプ - EBGP

BGP ネイバータイプ - IBGP

BGP ネイバー関係の設定

BGP ネイバー関係構成の最適化

BGP 近隣施設の確立

BGP ルートの生成方法 - ネットワーク (1)

BGP ルートの生成方法 - ネットワーク (2)

 BGP ルートの生成方法 - インポート (1)

 BGP ルートの生成方法 - インポート (2)

 BGP 更新メッセージ

 BGP アドバタイズ原則の 1 つ: 自身の最適なルートのみを近隣ノードにアドバタイズする

 BGP アドバタイズメントの 2 番目の原則: EBGP を通じて取得された最適なルートがすべての BGP ネイバーに送信されます。

 BGP アドバタイズメントの原則 3: IBGP を通じて取得された最適なルートは、他の IBGP ネイバーにアドバタイズされません。

編集

BGP アドバタイズメントの原則 4: BGP と IGP 間の同期

BGP経路情報処理

BGP ルート選択で発生した問題

BGP の豊富な属性

BGP 属性 - 起点

BGP 属性 - AS_Path

BGP 属性 - Next_hop

BGP 属性 - Local_Preference

BGP 属性 - MED

BGP 属性 - コミュニティ

BGP ルート最適化の原理

 ルート選択に対する Preference_Value の影響

ルート選択に対する集約モードの影響

EBGP ネイバーのルートは IBGP ネイバーのルートよりも優れています

AS の IGP メトリックが BGP ルート選択に与える影響

BGP ルート選択に対するルーター ID と IP アドレスの影響

BGP ルーティング ポリシーの設定例

BGP ルート アグリゲーションの概要

 BGPルートアグリゲーションの必要性

BGP ルート集約方式 - 静的

BGPルート集約方式 - 自動集約

BGPルート集約方法 - 手動集約

BGP ルート集約によって引き起こされる問題 - 潜在的なループ

 BGP ルート集約によって引き起こされる問題 - 解決策

考える質問


 

序文

        EGPプロトコルでは、AS(Autonomous System、自律システム)の概念が導入されています。AS は、同じ技術管理組織によって管理され、統一されたルーティング戦略を使用するルーターの集合を指します。
        AS の内部では IGP を使用してルートの計算と検出が行われ、同じ AS 内のルーターは相互に信頼しているため、IGP のルート計算と情報フラッディングは完全にオープンであり、手動による介入はほとんどありません。
        異なる AS 間の接続要件により、Exterior Gateway Protocol の開発が促進され、AS 間の経路制御と最適化のための Exterior Gateway Protocol として BGP が使用されます。

BGPの基本機能

 

⦁ BGP の前身である EGP は非常に単純な設計で、経路の最適化を行わず AS 間の経路情報を送信するだけであり、AS 間の経路ループを回避する方法が考慮されていなかったため、最終的に EBP は BGP に置き換えられました。交換する。
⦁ EGP と比較して、BGP は次のようなルーティング プロトコルの特徴を備えています:
        ⦁ 近隣探索と近隣関係の確立;         ⦁ ルートの取得、
        最適化、通知;         ⦁ 非依存 AS 間の豊富なルーティング制御機能を提供完全に信頼されています。⦁ ルーティング プロトコルとして BGP を使用すると、ユーザーのルーティング ドメインは全体として他のルーティング ドメインと交換され、このルーティング ドメインが AS になります。AS とは、ルータの集合体とそれらのルータで構成されるネットワークの概念であり、これらのルータはすべて同じ管理組織に属し、統一されたルーティングポリシーを実現しています。⦁ BGP プロトコルを実行するには、ルーティング ドメインを識別するための統合自律システム番号、つまり AS 番号が必要です。各自律システムには固有の番号があり、IANA によって割り当てられます。2009 年 1 月より前は、最大長が 2 バイトの AS 番号、つまり 1 ~ 65535 のみを使用できます。このうち、1-64511 はパブリック AS、64512-65534 はプライベート AS です。2009 年 1 月以降、IANA は 65536 ~ 4294967295 の範囲の 4 バイト AS を使用することを決定しました。



BGPプロトコルの特徴

 

⦁ AS 間でルートが渡されるため、データの信頼性を確保するために、BGP は接続を確立するベアラー プロトコルとして TCP を使用します。したがって、ホップバイホップ ルーターによって隣接関係を確立する IGP とは異なり、BGP はマルチホップ ルーター間で隣接関係を確立できます。
⦁ AS 間のルータは完全に信頼しているわけではなく、要件に応じた経路制御と最適化を実現するために、BGP では多くの属性が設計されています。

BGP 近隣探索

 

⦁ BGP プロトコルは、AS 間のルートを実行するように設計されています。AS 間には WAN リンクがあります。データ パケットが WAN 上で送信されるときに、予測できないリンクの輻輳や損失が発生する可能性があります。そのため、BGP はベアラー プロトコルとして TCP を使用します。信頼性が保証されています。
⦁ BGP は TCP カプセル化を使用してネイバー関係を確立し、ポート番号は 179 で、TCP はユニキャストを使用して接続を確立するため、BGP プロトコルは RIP や OSPF などのネイバーを検出するためにマルチキャストを使用しません。ユニキャスト接続の確立により、BGP はネイバーを手動でのみ指定することになります。

BGP ネイバータイプ - EBGP

 

⦁ EBGP は、異なる AS 間でルートを転送するためにのみ使用されます。図に示すように、AS 100 の RTB と BTC はそれぞれ AS 200 と AS 300 から異なるルートを学習します。AS 100 で AS 200 と AS 300 の間のルート交換を実現するにはどうすればよいでしょうか?
⦁ AS 100 で AS 200 と AS 300 の学習ルートを交換し、トポロジ内の RTB および RTC ルーター上の IGP プロトコル (図では OSPF プロトコル) に BGP ルートをインポートし、IGP プロトコルのルートを転送します。 BGP を導入しますRTB および RTC ルーター上のプロトコルを使用して、AS 200 および AS 300 ルートの交換を実現します。
⦁ 上記の方法には次の欠点があります:
        ⦁ パブリック ネットワーク上の BGP によって伝送されるルートの数が非常に多いため、IGP プロトコルの導入後、IGP プロトコルは多数の BGP ルートを伝送できなくなります; ⦁ BGP ルートをインポートする
        場合IGP プロトコルに導入すると、厳密な制御が必要で構成が複雑で、維持が容易ではない;
        ⦁ IGP プロトコルが導入されると、IGP プロトコルが認識できないため、BGP によって運ばれる属性が失われる可能性があります。
⦁ したがって、AS 内で経路を転送するために BGP を設計する必要があります。

BGP ネイバータイプ - IBGP

 

⦁ 上の図に示すように、BGP はベアラー プロトコルとして TCP を使用するため、デバイス間で近隣関係を確立できます。図に示すように、RTBとRTCの間にIBGPネイバー関係が確立され、それぞれが他のASから学習したルートをピアエンドに送信することで、AS内でのBGPルートの送信を実現します。

BGP ネイバー関係の設定

 

⦁ 設定手順:
        ⦁ ルーター ID の設定 (ルーターの識別)、
        ⦁ EBGP ネイバー関係の設定 (AS 間のルートの転送)、
        ⦁ IBGP ネイバー関係の設定 (AS 内のルートの転送)。
⦁ 設定の説明: ⦁ ルーター ID が設定されていない場合、BGP ルーターは         特定のルールに従ってルーター ID を
        自動的に
        選択し、すべての物理インターフェイスで最も高い数値を持つ IP アドレスを選択します。         ⦁ 設定コマンド: router id XXXX ⦁ BGP ネイバー関係のタイプは、主に設定された AS 番号によって区別されます。peer キーワードの後に​​ピアネイバーのインターフェイス IP アドレスが続き、as-number の後に AS 番号が続きます。これは IBGP ネイバー関係であり、AS 番号が異なる場合は EBGP ネイバー関係になります。⦁ ピア キーワードの後に​​は、ピア ネイバーの更新元 IP アドレスが続きます。これは、ピア ネイバーへの TCP 接続を開始するための宛先アドレスを識別します。このアドレスは、隣接ピアの直接接続されたインターフェイスの IP アドレス、または直接接続されていないループバック インターフェイスの IP アドレスにすることができます (ただし、IP アドレスは到達可能である必要があります)。IBGP ネイバー関係を確立するときは、通常、LoopBack インターフェイスの IP アドレスを使用します。これは、LoopBack インターフェイスが有効になった後は常に UP 状態になり、ルートが到達可能である限り、ネイバー関係は常に安定した状態になるためです。 EBGP ネイバー関係を確立するときは、通常、直接接続されたインターフェイスの IP アドレスを使用します。これは、EBGP が AS 間でネイバー関係を確立するため、ネイバー関係が確立される前は、直接接続されていないインターフェイス間のルートに到達できなくなります。



BGP ネイバー関係構成の最適化

 

⦁ EBGP ネイバー関係を確立する場合は、通常、直接接続されたインターフェイスの IP アドレスを使用し、IBGP ネイバー関係を確立する場合は、通常、ループバック インターフェイスの IP アドレスを使用します。

BGP 近隣施設の確立

 

⦁ BGP は、メッセージ対話を通じてネイバー確立やルーティング更新などの操作を完了します。メッセージ タイプには、Open、Update、Notification、Keepalive、および Route-refresh の 5 種類があります。
        ⦁ オープン メッセージ: TCP 接続が確立された後に送信される最初のメッセージであり、BGP ネイバー間の接続関係を確立するために使用されます。BGP ネイバーは Open メッセージを受信し、ネゴシエートに成功すると、接続の有効性を確認および維持するために Keepalive メッセージを送信します。確認後、更新、通知、キープアライブ、およびルート更新メッセージを BGP ネイバー間で交換できます。
        ⦁ 更新メッセージ: BGP ネイバー間でルーティング情報を交換するために使用されます。Update メッセージは、同じ属性を持つ複数の到達可能な経路情報を広告できます。また、複数の到達不可能な経路情報を取り消すこともできます。
                ⦁ Update メッセージは、同じルーティング属性を持つ複数の到達可能なルートをアドバタイズでき、これらのルートは一連のルーティング属性を共有できます。特定の Update メッセージに含まれるすべてのルーティング属性は、Update メッセージの NLRI (ネットワーク層到達可能性情報) フィールド内のすべての宛先 (IP プレフィックスで示される) に適用されます。
                ⦁ 1 ​​つの更新メッセージで複数の到達不能なルートを取り消すことができます。宛先 (IP プレフィックスによって示される) を経由する各ルートは、BGP ルーター間で以前にアドバタイズされたルートを明確に定義します。
                ⦁ Update メッセージはルートを撤回するためにのみ使用できるため、パス属性や NLRI を含める必要はありません。逆に、到達可能な経路の広告のみに使用することもでき、失効経路情報を保持する必要はありません。
⦁ 通知メッセージ: BGP ルーターがエラー状態を検出すると、近隣ルーターに通知メッセージを送信し、BGP 接続は直ちに中断されます。
⦁ キープアライブ メッセージ: BGP ルーターは、接続の有効性を維持するために、近隣ルーターに定期的にキープアライブ メッセージを送信します。
⦁ Route-refresh メッセージ: Route-refresh は、ルーティング ポリシーを変更した後、ピアにルーティング情報の再送信を要求するために使用されます。

BGP ルートの生成方法 - ネットワーク (1)

 

⦁ BGP ルートを生成するには、コンフィグレーションコマンド network を使用する方法と、コンフィグレーションコマンド import を使用する方法があります。
⦁ 図に示すように、RTA 上には 100.0.0.0/24 と 100.0.1.0/24 の 2 つのユーザー ネットワーク セグメントがあり、100.0.0.0/24 ネットワーク セグメントへのルートは RTB 上のスタティック ルーティングによって指定されます。これは、100.0.1.0/24 への OSPF ルートを通じて学習されます。RTB は RTC と EBGP ネイバー関係を確立し、RTB は network コマンドを通じて 100.0.0.0/24、100.0.1.0/24、および 10.1.12.0/24 のルートをアナウンスし、ピア EBGP ネイバー RTC がルートを学習できるようにします。 RTB ルーティング テーブル。

BGP ルートの生成方法 - ネットワーク (2)

 BGP ルートの生成方法 - インポート (1)

 

⦁ RTA には 100.0.0.0/24 と 100.0.1.0/24 の 2 つのユーザー ネットワーク セグメントがあり、100.0.0.0/24 ネットワーク セグメントへのルートは RTB 上でスタティック ルーティングによって指定され、100.0 へのルートは RTB 上で指定されます。 1.0/24ルート。RTB は RTC と EBGP ネイバー関係を確立し、RTB は import コマンドを通じて 100.0.0.0/24、100.0.1.0/24、および 10.1.12.0/24 のルートをアナウンスします。これにより、ピア EBGP ネイバーは、ローカルAS。
⦁ 他のルートが BGP にインポートされないようにするには、正確に一致するように ip-prefix を設定し、BGP がルートをインポートするタイミングを制御するためにルート ポリシーを呼び出す必要があります。

 BGP ルートの生成方法 - インポート (2)

 

 BGP 更新メッセージ

 BGP アドバタイズ原則の 1 つ: 自身の最適なルートのみを近隣ノードにアドバタイズする

 

⦁ 有効なルートが複数ある場合、BGP ルーターはその最良のルートのみを近隣ルーターにアドバタイズします。
        ⦁ RTD は、BGP ネイバーの RTB および RTC から 100.0.0.0/24 のルートを学習でき、同時に RTD は独自の直接ルート 200.0.0.0/24 を BGP に公開します。RTD でコマンド display bgp routing-table を使用して、図に示すように表示します。
        ⦁ RTE でコマンド display bgp routing-table を使用して、図に示すように表示します。RTD は、自身がマークした効果的で最適なルートを BGP 隣接 RTE にアドバタイズしていることがわかります。
⦁ BGP ルーティング テーブルでのステータスの意味:
        ⦁ ステータス コード: * - 有効、> - 最良、d - 減衰、h - 履歴、i - 内部、s - 抑制、S - 古い ⦁ 発信元: i - IGP、e - EGP
        、 ? – 不完全
        ⦁ Network: BGP ルーティング テーブルのネットワーク アドレスを表示
        ⦁ NextHop: 送信されたメッセージのネクスト ホップ アドレス
        ⦁ MED: ルーティング メトリック値
        ⦁ LocPrf: ローカル設定
        ⦁ PrefVal: プロトコルの優先値
        ⦁ Path/Ogn: AS を表示パス番号とOrigin属性⦁
        Community:コミュニティ属性情報

 BGP アドバタイズメントの 2 番目の原則: EBGP を通じて取得された最適なルートがすべての BGP ネイバーに送信されます。

 

⦁ BGP ルーターが EBGP 経由で取得した最適ルートは、すべての BGP ネイバー (EBGP ネイバーおよび IBGP ネイバーを含む) にアドバタイズされます。
        ⦁ 図に示すように、RTA には 100.0.0.0/24 のユーザー ネットワーク セグメントがあり、このネットワーク セグメントは EBGP を通じて BGP ネイバー RTB にアドバタイズされます。RTB は、EBGP ネイバーから 100.0.0.0/24 のルートを受信した後、自身の IBGP ネイバー RTC および EBGP ネイバー RTD に通知します。

 BGP アドバタイズメントの原則 3: IBGP を通じて取得された最適なルートは、他の IBGP ネイバーにアドバタイズされません。

 

⦁ IBGP 経由で BGP ルーターによって取得された最適なルートは、他の IBGP ネイバーに広告されません。
        ⦁ 図に示すように、RTA には 100.0.0.0/24 のユーザー ネットワーク セグメントがあり、RTA、RTB、RTC は互いに IBGP ネイバーであり、RTA は 100.0.0.0/24 のルートを RTB と RTC にアドバタイズします。 IBGP ですが、RTB は、受信した IBGP ルートを IBGP 隣接 RTC にアドバタイズしません。
        ⦁ この設計の目的は、AS 内のルーティング ループを防ぐことです。規定により、BGP ルートが同じ AS 内で送信される場合、AS_Path 属性は変更されません。図に示すように、RTA が 100.0.0.0/24 のルートを RTB に広告する場合、AS_Path 属性は変更されず、空のままです。RTB が IBGP ルート 100.0.0.0/24 を RTC にアドバタイズできる場合、AS_Path は空のままです。その後、RTC は 100.0.0.0/24 のルートを RTA にアドバタイズすることもあります。これは、AS_Path が空であるため、RTA は IBGP ルートを拒否せず、ルーティング ループが発生します。したがって、上記の通知原則は、AS 内のルーティング ループを防ぐことです。

BGP アドバタイズメントの原則 4: BGP と IGP 間の同期

 

⦁ RTA には 100.0.0.0/24 ユーザー ネットワーク セグメントがあり、EBGP を通じて RTB にアドバタイズされます。RTB は RTD と IBGP ネイバー関係を確立し、RTD は IBGP を通じて BGP ルートを学習し、そのルートを EBGP ネイバー RTE にアドバタイズします。
⦁ RTE が 100.0.0.0/24 のルートにアクセスすると、ルーティング テーブルを検索し、100.0.0.0/24 のルートに到達する次のホップが RTD であることを検出し、アウトバウンド インターフェイスを見つけた後、データ パケットを送信します。最後に、ルーティング テーブルを調べて、100.0.0.0/24 へのルートのネクスト ホップが RTB であり、送信インターフェイスが RTD 上の RTC に接続されているインターフェイスであることを確認します。が RTC に送信され、RTC がルーティング テーブルを検索すると、100.0.0.0/24 ルートに到達しないことがわかり、データは破棄され、「ルーティング ブラック ホール」が形成されます。
⦁ BGP アドバタイズメントの原則: IBGP ネイバーから学習したルートが BGP ネイバーにアドバタイズされる前に、そのルートは IGP を通じて認識されている必要があります。つまり、BGP と IGP は同期されています。
        ⦁ 図に示すように、RTD は RTB によって送信された IBGP ルートを受信した後、それを BGP ネイバー RTE に公開する場合、公開する前に IGP プロトコル (つまり OSPF プロトコル) がそのルートを学習できるかどうかを確認します。「はい」の場合、IBGP ルートを RTE にアドバタイズします。
        ⦁ Huawei ルーターでは、BGP と IGP 間の同期チェックはデフォルトで無効になっています。その理由は、IBGP ルートの通常のアドバタイズメントを実現するためです。ただし、BGP と IGP 間の同期チェックをオフにすると、「ルーティング ブラック ホール」の問題が発生します。したがって、上記の問題を解決するには 2 つの解決策があります。
        ⦁ BGP ルートを IGP にインポートして、IGP と BGP 間の同期を確保します。しかし、インターネット上の BGP ルートの数は非常に多いため、IGP に導入されると、IGP ルータに多大な処理とストレージの負荷がかかり、ルータが過負荷になると機能不全に陥る可能性があります。
        ⦁ IBGP ルーターは、すべてのルーターがアドバタイズされたルートを学習できるように完全に相互接続する必要があります。これにより、同期をオフにすることによって引き起こされる「ルーティング ブラック ホール」問題を解決できます。

BGP経路情報処理

 

⦁ IP ルーティング テーブル (IP_RIB): すべての IP ルーティング情報を含む、グローバル ルーティング情報ベース。
⦁ BGP ルーティング テーブル (Local_RIB): ローカル BGP ルーターによって選択されたルーティング情報、近隣テーブル、および近隣リスト リストを含む BGP ルーティング情報ベース。
⦁ BGP ネイバーから Update メッセージを受信した後、ルーターはパス選択のアルゴリズムを実行し、各プレフィックスの最適なパスを決定し、計算された最適なパスをローカル BGP ルーティング テーブル (Local_RIB) に保存します。
⦁ マルチパス機能が有効になっている場合、最適なパスとすべての同等のパスが、インストールの検討のために IP_RIB に送信されます。Local_RIB には、BGP ネイバーから受信した最適なパスに加えて、現在のルーターによって挿入されたルート (ローカルで開始されたルートと呼ばれる) も含まれています。
⦁ Local_RIB では、選択されたプレフィックスのみが Update メッセージにカプセル化され、それ自身の BGP ネイバーにアドバタイズされます。

BGP ルート選択で発生した問題

⦁ 上記 2 つの問題の解決策:
        ⦁ AS 間で到達可能性情報を交換する際、BGP はルートの柔軟な制御と最適化を実現するための豊富な属性を提供するように設計されています。
                ⦁ ルーティング テーブルを変更し、AS 間のリンク メトリックを調整します。 2. ルーティング テーブルを変更せず、ポリシーを使用してルートのネクスト ホップを変更します。ただし、これらの方法には場合によっては制限があり、ネットワークの豊富な要求を満たすことができません。
        ⦁ AS間を経路が通過する際の伝播経路を記録し、ループを防止します。

BGP の豊富な属性

 

⦁ 認識される属性: すべての BGP ルーターが認識し、サポートする必要がある属性。
        ⦁ 認識され必須: BGP 更新メッセージに含める必要がある属性。
        ⦁ 任意として認識される: BGP 更新メッセージに存在する必要はなく、要件に応じて自由に選択できます。
⦁ オプションの属性: すべての BGP ルーターによって認識される必要はない属性。
        ⦁ オプションの遷移: BGP が認識しない属性ですが、受信して近隣にアドバタイズすることができます。
        ⦁ オプションの非移行: BGP は、この属性を含むメッセージを無視し、近隣にアドバタイズしない場合があります (MAY)。

BGP 属性 - 起点

 

⦁ 図に示すように、AS 200 では OSPF プロトコルが実行されており、ネットワーク セグメント 200.0.0.0/24 が OSPF に宣言されています。RTB は 200.0.0.0/24 の経路をネットワーク方式で BGP 経路に変換して RTA に通知し、RTC は 200.0.0.0/24 の経路をインポート方式で BGP 経路に変換して RTA に通知します。
⦁ BGP は AS 間で情報を転送し、多数のルートを伝送します。同じ宛先 IP へのパスが複数あり、BGP がこれらのルートをさまざまな方法で学習する場合、Origin 属性は最適なパスを決定する要素となり、ルートの起点を示すために使用されます。
⦁ Origin の 3 つの属性:
        ⦁ i は、BGP ルートがネットワーク コマンドを通じて挿入されることを示します;
        ⦁ e は、BGP ルートが EGP から学習されることを示します EGP プロトコルはライブ ネットワークでは確認するのが困難ですが、ルートはルーティング ポリシーを通じて設定できます。これを e;
        ⦁ ? に変更します。つまり、「不完全」は、BGP ルーティングが、インポート コマンドを使用してルートをインポートするなど、他の方法でルーティング情報を学習していることを示します。
⦁ 3 つの Origin 属性の優先順位は、i>e>不完全 (?) です。

BGP 属性 - AS_Path

 

⦁ BGP は、上記 2 つの問題に対して、ルートが通過するすべての AS の番号を記録する AS_Path 属性を設計しました。 ⦁ 図では、RTA が RTB から
        100.0.0.0/24 のルートを受信した場合、AS_Path は (2, 4) )、RTA が RTC から 100.0.0.0/24 のルートを受信した場合、AS_Path は (3, 5, 4) になります。AS_Path が短い (記録されている AS 番号が少ない) ほど良いパスであると規定されているため、RTA は RTB から受信した 100.0.0.0/24 のルートを優先します。
        ⦁ RTE を例にとると、100.0.0.0/24 の経路が BGP で広告され、その経路が RTE→RTB→RTC→RTD→RTE というループを形成する可能性があります。ループを防ぐために、RTE は RTD からルートを受信すると、AS_Path (ルートによって伝送される) 属性をチェックし、ルートの AS_Path に独自の AS 番号が含まれていることが判明した場合は、ルートを破棄します。
⦁ AS_Path の 4 種類:
        ⦁ AS_Sequence (BGP ルート アグリゲーションの説明で詳しく説明します);
        ⦁ AS_Set (BGP ルート アグリゲーションの説明で詳しく説明します);
        ⦁ AS_Confed_Sequence (コンフェデレーションに適用されます。このコース);
        ⦁ AS_Confed_Set (リーグに適用されますが、このコースではカバーされません)。

BGP 属性 - Next_hop

 

⦁ BGP ルーターがローカル エンドの元のルートを IBGP ネイバーにアドバタイズするとき、ルーティング情報の Next_hop をローカル エンドが使用するインターフェイス IP に設定してネイバー関係を確立します。
        ⦁ 図に示すように、RTA が 100.0.0.0/24 のネットワーク セグメントを RTB にアドバタイズする場合、RTA と RTB が直接接続インターフェイスを使用して IBGP ネイバーを確立する場合、Next_hop は RTA 上で RTB に直接接続されているインターフェイス IP になります。 RTA と RTB の場合 ループバック インターフェイスを使用して IBGP ネイバー関係を確立する場合、Next_hop は RTA のループバック インターフェイスの IP アドレスです。
⦁ BGP ルーターが EBGP ネイバーにルートをアドバタイズするとき、ルーティング情報の Next_hop を、ローカル エンドとピア エンドの間に BGP ネイバー関係を確立するインターフェイスの IP に設定します。
        ⦁ 図に示すように、RTB が 100.0.0.0/24 のネットワークセグメントを RTC に公開する場合、Next_hop は RTB 上で RTC に直接接続されるインターフェイス IP になります。
⦁ BGP ルーターが EBGP から学習したルートを IBGP ネイバーにアドバタイズする場合、ルートのネクストホップ属性は変更されません。
        ⦁ 特殊なケース: 図に示すように、RTA が RTC によって解放された 200.0.0.0/24 のネットワーク セグメントを RTB から学習すると、RTB と RTD は同じネットワーク セグメント内にあるため、Next_hop は RTD の発信インターフェイス IP になります。 RTC から RTB に通知される Next_hop は、RTD の送信インターフェースの IP アドレスです。
⦁ 上記 3 つの状況の説明:
        ⦁ EBGP ネイバーは通常、ネイバー関係を確立するために直接インターフェイスを使用し、EBGP ネイバーは相互にルートをアドバタイズするときに Next_hop を自身のアウトバウンド インターフェイス IP に変更します; ⦁ IBGP ネイバーは通常、ループバック インターフェイスを使用してネイバーを確立します
        。ルートがルータから発信されている場合、Next_hop は隣接ルータに送信された後、独自の更新元アドレスに変更されるため、ネットワーク内でリンク障害が発生しても、Next_hop が到達可能である限り、宛先ネットワーク セグメントにも到達できます。アクセスできるようになり、ネットワークの安定性が向上します。
        ⦁ IGP と比較すると、たとえば、RIP が経路を広告する場合、ルーターを通過するたびにネクストホップが変更されます。経路を広告するすべてのルーターは、ターゲットのアドレスに到達できると主張し、データ パケットをターゲットに送信します。ネットワーク内のルータは、実際の発信元ルータが誰であるかを知らないため、ループが発生します。BGP は EBGP 間で転送するときに Next_hop のみを変更し、IBGP は EBGP から学習したルートを IBGP ネイバーに送信するときにネクストホップを変更しないため、ループがある程度防止されます。

BGP 属性 - Local_Preference

 

⦁ 図に示すように、AS 200 には 200.0.0.0/24 のユーザー ネットワーク セグメントがあり、BGP を通じて AS 100 にアドバタイズされます。AS 100 の管理者は、高帯域幅リンク経由で 200.0.0.0/24 のネットワークにアクセスするようにどのように設定しますか?
⦁ 解決策:
        ⦁ RTC の IP プレフィックスを 200.0.0.0/24 のルートと一致するように設定し、ルート ポリシーを使用して ip プレフィックスを呼び出し、Local_Preference を 200 に設定し、ポリシーをエクスポート方向に適用します。 RTA によって公開されたルートの。
⦁ Local_Pref 属性は IBGP ネイバー間でのみ有効であり、他の AS にはアドバタイズされません。ルーターのBGP優先度を示し、値が大きいほど優れています。
⦁ Local_Pref 属性は、AS から出るトラフィックの最適なルートを決定するために使用されます。BGP ルーターが、異なる IBGP ネイバー経由で、宛先アドレスは同じだがネクスト ホップが異なる複数のルートを取得すると、Local_Pref 属性の値がより高いルートを優先的に選択します。そのデフォルト値は 100 です。

BGP 属性 - MED

 

⦁ 図に示すように、AS 300 の管理者は AS 300 で操作して、AS 200 が高帯域幅リンク経由で 100.0.0.0/24 にアクセスできるようにしたいと考えています。
⦁ 解決策:
⦁ ルート 100.0.0.0/24 と一致するように RTE の IP プレフィックスを設定し、IP プレフィックスを呼び出すようにルート ポリシーを設定し、MED を 100 に設定して、ポリシーをエクスポートに適用します。 RTC によって公開されたルートの方向。
⦁ MED (Multi-Exit-Discriminator) 属性は、隣接する 2 つの AS 間でのみ送信され、この属性を受信した AS は他のサードパーティ AS に通知しません。図に示すように、AS100 は AS 300 に設定された MED 値を受信しませんが、AS 200 は AS 300 に設定された MED 値を受信するため、AS 200 は高帯域幅のルートを選択できます。
⦁ MED 属性は、トラフィックが AS に入るときに最適なルートを決定するために使用される、IGP で使用されるメトリック値 (Metric) に相当します。BGP を実行しているルーターが、同じ条件下で、同じ宛先アドレスを持つ、異なるネクスト ホップを持つ複数のルートを、異なる EBGP ネイバー経由で取得する場合、MED 値が小さいルートが最適なルートとして優先されます。デフォルト値は 0 です。

BGP 属性 - コミュニティ

 

⦁ 図に示すように、AS 10 には 10.1.10.0/24 のユーザー ネットワーク セグメントがあり、AS 11 には 10.1.11.0/24 のユーザー ネットワーク セグメントがあります。ユーザー ネットワーク セグメントを区別するために、AS 10 の 10.1.10.0/24 は 10:12 のコミュニティで設定され、AS 11 の 10.1.11.0/24 は 11:12 のコミュニティで設定されます。 AS 12 は BGP を通じて、要約後、詳細なルートをシールドして AS 13 に送信し、AS 13 がルートを受信した後に他の AS にルートを渡さないことを期待します。
⦁ 解決策:
        ⦁ ルートがコミュニティ 10:12 および 11:12 と一致するように RTC でコミュニティ フィルターを設定し、コミュニティ フィルターと一致するようにルート ポリシーを設定し、2 つのルートを 10.1.10.0/23 のルートに集約し、ルート ポリシーを呼び出します。
        ⦁ RTC にルートポリシーを設定し、コミュニティ属性を no-export に設定し、RTC から RTD に通知されたエクスポート方向でルートポリシーを呼び出します。

BGP ルート最適化の原理

 

 ルート選択に対する Preference_Value の影響

 

⦁ 図に示すように、AS 200 には 200.0.0.0/24 のユーザー ネットワーク セグメントがあります。AS 100 の管理者は、高帯域幅リンクを介して AS 200 のネットワーク セグメント 200.0.0.0/24 にアクセスしたいと考えています。ネットワーク上のポリシーは、それ自体のルート選択にのみ影響し、他のデバイスには影響しません。
⦁ 解決策:
        ⦁ 200.0.0.0/24 のルートと一致するように RTA の IP プレフィックスを設定し、IP プレフィックスを呼び出すようにルート ポリシーを設定し、Preference_Value を 100 に設定して、ポリシーをインポートに適用します。 RTC によって公開されたルートの方向。
⦁ 検証: RTC で Tracert コマンドを使用して、200.0.0.0/24 ネットワーク セグメントにアクセスするルーターを表示します。

ルート選択に対する集約モードの影響

 

⦁ 図に示すように、AS 200 では、RTB と RTC 上のネットワーク セグメント 200.0.0.0/24 にユーザーが存在し、ルート集約が RTA に送信され、自動集約と手動集約が同時に有効になった後、どのようにRTB は集約ルートを最適化しますか?
⦁ 図に示すように、RTB で自動集約と手動集約を同時に有効にし、コマンドを使用して表示すると、手動集約のルーティング エントリが RTA に送信され、自動集約のルーティング エントリが送信されていないことがわかります。通知され、手動集計の優先度が自動集計よりも高いことを示します。
⦁ ルート集約を使用する場合、自動集約ではインポートされた BGP ルートのみを集約でき、手動集約では BGP ルーティング テーブルに存在するルートを集約できることに注意してください。これについては、後の BGP ルート集約で詳しく説明します。上記のシナリオでは、集約する必要があるルートはすべてインポートされたルートであるため、自動集約または手動集約を使用して集約の目的を達成できます。BGP ルーティング テーブルにインポートされたルートとネットワークで宣言されたルートの両方が存在する場合は、手動集約のみを使用できます。

EBGP ネイバーのルートは IBGP ネイバーのルートよりも優れています

 

⦁ 図に示すように、AS 200 には 200.0.0.0/24 のネットワーク セグメントがあり、EBGP ネイバー関係を通じて RTA と RTB に通知され、RTB は 200.0.0.0/24 のネットワーク セグメントを RTA に通知します。 IBGP ネイバー関係を通じて、RTA は 200.0.0.0/24 への 2 つのルートを受信することになりますが、RTA はどのように最適化しますか?
⦁ ルート選択原則に従って、RTA は EBGP ネイバーから学習したルートを優先します。

AS の IGP メトリックが BGP ルート選択に与える影響

 

⦁ 図に示すように、AS 200 には 200.0.0.0/24 のユーザー ネットワーク セグメントがあり、EBGP を通じて RTB と RTC に広告され、RTB と RTC は IBGP を通じて RTA にルートを広告します。AS 100 の管理者は、高帯域幅リンクを通じて AS 200 のネットワーク セグメント 200.0.0.0/24 にアクセスしたいと考えています。これを RTA で実装するにはどうすればよいですか?
⦁ RTA と RTB を接続するインターフェイスの OSPF コスト値を 100 に調整すると、RTA は RTA->RTC->RTD のパスを選択して 200.0.0.0/24 ネットワーク セグメントにアクセスします。 ⦁ その理由は、RTA が 200.0 にアクセスするときです
        。 .0.0/24、Next_hop 10.1.34.4 へのコスト (2) は Next_hop 10.1.24.4 へのコスト (101) よりも小さいです。

BGP ルート選択に対するルーター ID と IP アドレスの影響

 

⦁ 図に示すように、AS 200 には 200.0.0.0/24 のユーザー ネットワーク セグメントがあり、EBGP を通じて RTB と RTC に広告され、RTB と RTC は IBGP を通じて RTA にルートを広告します。RTA と RTB は 2 つのリンクで接続されていますが、RTA はどのように最適化されるべきですか?
⦁ RTA は、200.0.0.0/24 のネットワーク セグメントにアクセスするネクスト ホップとして 10.1.12.2 を選択します。
        ⦁ RTA は、200.0.0.0/ のネットワーク セグメントにアクセスするために、RTA->RTB->RTD のパスを選択します。 24、その理由は、RTB Router-ID が RTC より小さいためです。BGP は、より小さい Router-ID を持つルーターによって公開されたルートを優先します。⦁ RTA は、BGP が優先するため、ネクスト
        ホップが 10.1.12.2 アドレスであるインターフェイスを送信インターフェイスとして選択します。より小さい IP アドレスを持つ近隣ルーティング。
⦁ RTA でコマンド display bgp routing-table 200.0.0.0 を使用して、以下を表示します。
<RTA>display bgp routing-table 200.0.0.0
 BGP ローカル ルーター ID : 1.1.1.1
 ローカル AS 番号 : 100
 パス : 利用可能な 2 つ、最適な 1 つ、1
 200.0.0.0/24 の BGP ルーティング テーブル エントリ情報を選択します:
 From: 2.2.2.2 (2.2.2.2)
 Route Duration: 00h02m10s  
 Relay IP Nexthop: 10.1.12.2
 リレー IP 出力インターフェイス: GigabitEthernet0/0/0
 元のネクストホップ: 10.1.24.4
 Qos 情報: 0x0
AS パス 200、起点 igp、MED 0、localpref 100、pref-val 0、有効、内部、pre255、IGP コスト 2、ルータ ID としては好ましくありません
……

BGP ルーティング ポリシーの設定例

 

⦁ 図に示すように、AS 300 には 2 つのユーザー ネットワーク セグメントがあり、1 つは 200.0.0.0/24、もう 1 つは 100.0.0.0/24 です。異なるネットワーク セグメント上のユーザーを区別するには、AS 300 のネットワーク セグメント 100.0.0.0/24 にコミュニティ属性 300:100 を割り当て、ネットワーク セグメント 200.0.0.0/24 にコミュニティ属性 300:200 を割り当てます。AS 100 のユーザーがこれら 2 つのネットワーク セグメントにアクセスする場合、RTB と RTC でトラフィック共有を実装したいと考えています。AS 200 がこれら 2 つのネットワーク セグメントにアクセスする場合、RTE と RTF でトラフィック共有が実装されることが期待されます。上記の要件を達成するには、できるだけ多くの方法を使用してください。
⦁ 要件によれば、AS 100 がこれら 2 つのネットワーク セグメントにアクセスする場合は、RTB と RTC でトラフィック共有を実装することが期待され、AS 200 がこれら 2 つのネットワーク セグメントにアクセスする場合は、RTE と RTF でトラフィック共有を実装することが期待されます。RTA が 100.0.0.0/24 にアクセスする場合のパスは RTA->RTB->RTD->RTE->RTG であり、200.0.0.0/24 にアクセスする場合のパスは RTA->RTC->RTD->RTF-> であるとします。 RTG、学習されたパス属性の知識に基づいて、次のソリューションが参考として利用可能です:
        ⦁ RTE と RTF は、コミュニティ属性を運ぶルートを RTD に通知します;
        ⦁ RTD は、コミュニティ属性を運ぶルートを受信した後、2 つのコミュニティ フィルターを使用して異なるコミュニティを照合します属性を設定し、2 つのルート ポリシーを使用してコミュニティ フィルタをそれぞれ呼び出し、コミュニティ属性 300:100 に一致するルートのネクスト ホップを RTE の発信インターフェイス アドレスに設定し、コミュニティ属性に一致するルートのネクスト ホップを設定します。 300:200 RTF の送信インターフェイス アドレスとして設定します。
        ⦁ RTD に 2 つのルート ポリシーを設定します。1 つは、一致するコミュニティ属性が 300:100 であるルートの MED 値を 100 に設定し、エクスポート方向で呼び出します。もう 1 つは、コミュニティ属性が 300:200 のルートに一致し、その MED 値を 100 に設定し、RTB のエクスポート方向で呼び出します。

BGP ルート アグリゲーションの概要

 BGPルートアグリゲーションの必要性

 

⦁ 解決策:
        ⦁ AS 100 と AS 200 の詳細ルートを RTC 上の 10.1.8.0/21 のルートに集約し、この集約されたルートをクライアント AS にアドバタイズします。
⦁ インターネット上には多数のルーティングエントリが存在し、これらのルートを処理する際には以下の問題が存在します。
        ⦁ ルーティングエントリを格納するルーティングテーブルが大量のメモリリソースを占有し、ルーティング情報の送信に大量のメモリリソースが必要となります。帯域幅リソースの減少;
        ⦁ 詳細なルートの頻繁な振動はネットワークを不安定にします。
⦁ したがって、メモリと帯域幅リソースを節約し、ルート集約を通じてルート フラッピングの影響を軽減することが避けられません。

BGP ルート集約方式 - 静的

 

⦁ スタティック ルーティングを使用してルート集約を構成するというアイデア:
        ⦁ スタティック ルーティングを使用して詳細ルートを 10.1.8.0/22 に集約します。集約されたルートは特定のアドレスではないため、ネクスト ホップは NULL 0 を指します。 AS 200 に送信されるときの詳細ルートのみです代わりに、ルーティング ループを防ぐために、ネクスト ホップを Null 0 にポイントします; ⦁
        スタティック ルーティングの使用により、10.1.8.0/22 のルートはルーティング テーブルで生成され、ネクスト ホップは Null 0 になります。network コマンドを使用して、IP ルーティング テーブルの 10.1.8.0/22 ルートを BGP ルートに変更し、ピア BGP ネイバーにアドバタイズして集約を実現します。

BGPルート集約方式 - 自動集約

 

⦁ 図に示すように、AS 100 には 4 つのユーザー ネットワーク セグメントがあり、インポートによって BGP ルートに変換され、AS 200 はクライアント AS に接続されています。受信したいルートが多すぎますか?
⦁ 構成は図に示すとおりです。表示するには、RTB および RTC ルーターでコマンド display bgp routing-table を使用します。出力は次のようになります。<RTB>display bgp routing-
table

       ネットワーク NextHop MED LocPrf PrefVal パス/Ogn
*> 10.0.0.0 10.1.12.1 0 100?
<RTC>bgp ルーティング テーブルの表示

       Network NextHop MED LocPrf PrefVal Path/Ogn
*> 10.0.0.0 10.1.23.2 0 200 100?
⦁ 自動集約は、BGP からインポートされたルートのみを集約し、自然なネットワーク セグメントを集約した後に近隣に送信します。

BGPルート集約方法 - 手動集約

 

⦁ 図に示すように、AS 100 には 4 つのユーザー ネットワーク セグメントがあります。インポートを通じてインポートされた BGP ルートと、ネットワークを通じてインポートされた BGP ルートがあります。AS 200 はクライアント AS に接続されています。この AS のルータの処理能力は低いです。そのため、あまり多くのルートを受信せずに AS 100 と AS 200 のネットワーク セグメントにアクセスすることが必要です。この問題を解決するにはどうすればよいですか?
⦁ 構成は図に示すとおりです。表示するには、RTB および RTC ルーターでコマンド display bgp routing-table を使用します。出力は次のようになります。<RTB>display bgp routing-
table

       ネットワーク NextHop MED LocPrf PrefVal パス/Ogn
*> 10.1.8.0/22 10.1.12.1 0 100?
<RTC>bgp ルーティング テーブルの表示

        Network NextHop MED LocPrf PrefVal Path/Ogn
 *> 10.1.8.0/22 10.1.23.2 0 200 100?
⦁ 手動集約では、BGP ローカルルーティングテーブルに存在する経路を集約し、集約した経路のマスクを指定できます。

BGP ルート集約によって引き起こされる問題 - 潜在的なループ

 BGP ルート集約によって引き起こされる問題 - 解決策

 

⦁ BGP ルート集約によって引き起こされる問題を解決するために、2 つの AS_Path 属性が設定されます:
        ⦁ Atomic-Aggregate: 任意の属性として認識され、下流ルータに情報損失を警告するために使用されます 図に示すように、AS 200 は設定されていますルート集約あり ルータが集約した後、パス損失が発生しますが、このとき、ルータはこの属性を Update パケットに含めることで隣接ルータにパス損失を通知します。
        ⦁ アグリゲーター: オプションの遷移属性。これには、集約を開始するルーターの AS 番号とルーター ID が含まれ、集約が行われる場所を示します。
⦁ AS_Path 属性には 2 つのタイプがあります:
        ⦁ AS_Sequence: AS_Path 内の AS 番号が順序付きリストであることを示します。
        ⦁ AS_Set: AS_Path 内の AS 番号が順序なしリストであることを示します。
⦁ AS_Path 自体は順序付きリストです。AS_Path が AS を通過するたびに、AS 番号が AS_Path に追加され、通過した順序で AS_Path が左から右に配置されます。
        ⦁ 図に示すように、AS 400 が集約ルートを AS 300 にアドバタイズする場合、AS_Path 属性 (中括弧内の属性を除く) は、集約ルートが AS 200 と AS 400 を順番に通過することを示します。
⦁ 集約が発生した後、ループを防ぐために集約ルートがすべての詳細ルートによって渡された AS 番号を伝送する必要がある場合は、集約コマンドの後に as-set パラメータを追加します。
        ⦁ 図に示すように、AS 200 でアグリゲーションが発生し、as-set パラメータが設定されている場合、アグリゲーション ルーティングは、AS-Set が設定された詳細ルートの AS_Path 情報 (角括弧内の AS 番号情報、 set AS 番号は連続していません)、ループを防ぐために集約されたルートの後に伝送されます。
⦁ 経路集約は、デバイスの送信や経路計算に必要なリソースの負担を軽減することと、特定の経路情報を隠蔽して経路のフラッピングの影響を軽減することの 2 つの問題を解決します。ただし、ルートが集約されると AS_Path 属性が失われるため、ループが発生する可能性があります。
⦁ 集約ルートがすべての詳細ルートの AS 情報を保持している場合、詳細ルートが頻繁に変動すると、集約ルートも頻繁な更新の影響を受ける可能性があります。
⦁ したがって、集約ルートに欠落している AS_Path 情報が含まれているかどうかについては、設計者がネットワーク環境を総合的に考慮する必要があります。

考える質問

 

⦁ 答え: ABC。
⦁ 答え: B.

おすすめ

転載: blog.csdn.net/weixin_57099902/article/details/132468202