エンタープライズ レベルのルーティングおよびスイッチング ネットワークの HCIP-IERS 展開 - BGP (ボーダー ゲートウェイ プロトコル) ボーダー ゲートウェイ プロトコル - ナレッジ ポイント

目次

BGP (ボーダー ゲートウェイ プロトコル) ボーダー ゲートウェイ プロトコル

BGP ナレッジポイント

BGPルータID(ルータID)

BGP の仕組み

BGPネイバー確立ステータス

共通の 3 つの状態 アイドル、アクティブ、確立

BGPループ防止機構

BGP ロードバランシングの構成


BGP (ボーダー ゲートウェイ プロトコル) ボーダー ゲートウェイ プロトコル

BGP ナレッジポイント

BGP基本構成、BGP 5種類のパケット、6種類のネイバー状態、4カテゴリと10種類の属性、ネイバーを確立するIBGP EBGP(ループバック物理インターフェース)、BGP認証、Fake-As、ルーティング転送原則、IBGPループ防止、 EBGP アンチループ、RR アンチループ、BGP ルート自動集約、手動集約 (詳細抑制、抑制ポリシー、属性ポリシー、起点ポリシー)、BGP 5 コミュニティ属性、BGP ルート選択、BGP フェデレーション、ルート リフレクター、 BGP ルートのフィルタリング、インポート、およびデフォルト ルートの委任

ボーダー ゲートウェイ プロトコル BGP (Border Gateway Protocol) は、自律システム AS (Autonomous System) 間の経路の到達可能性を実現し、最適な経路を選択する高度なパス ベクトル ルーティング プロトコルです。

初期リリースの 3 つのバージョンは BGP-1 (RFC1105)、BGP-2 (RFC1163)、BGP-3 (RFC1267) で、BGP-4 (RFC1771) は 1994 年に使用され、2006 年以降にユニキャスト IPv4 ネットワークで使用されるバージョンです。 BGP-4 (RFC4271)、その他のネットワーク (IPv6 など) で使用されるバージョンは MP-BGP (RFC4760) です。

MP-BGP は、さまざまなネットワークでのアプリケーションの目的を達成するために BGP-4 を拡張したものであり、BGP-4 の元のメッセージ メカニズムとルーティング メカニズムは変わっていません。IPv6 ユニキャスト ネットワーク上の MP-BGP のアプリケーションは BGP4+ と呼ばれ、IPv4 マルチキャスト ネットワーク上の MP-BGP のアプリケーションは MBGP (マルチキャスト BGP) と呼ばれます。
成長するネットワークの管理を容易にするために、ネットワークはさまざまな自律システムに分割されます。1982 年、AS 間でルーティング情報を動的に交換するために Exterior Gateway Protocol (EGP) が使用されました。

しかし、EGP の設計は比較的単純であり、経路情報の最適化を行わず、ネットワークが到達可能な経路情報のみを公開するだけであり、ループ回避などの問題も考慮されていないため、すぐに要件を満たせなくなります。ネットワーク管理。
BGP は、元の EGP を置き換えるように設計された別の外部ゲートウェイ プロトコルです。元の EGP とは異なり、BGP はルートを最適化し、ルーティング ループを回避し、ルートをより効率的に送信し、大量のルーティング情報を維持できます。

BGP は AS 間のルーティング情報の送信に使用されますが、ルーティング情報を送信するためにすべての AS が BGP を実行する必要があるわけではありません。たとえば、インターネットに接続されているデータ センターの出口では、データ センターの内部ネットワークに対する大規模なインターネット ルートの影響を回避するために、デバイスは BGP の代わりに静的ルートを使用して外部ネットワークと通信します。

BGP は、ネットワークのセキュリティ、柔軟性、安定性、信頼性、効率性をさまざまな側面から保証します。
1. BGP は、ネットワークのセキュリティを確保するために認証と GTSM を採用します。
2. BGP は、柔軟に経路を選択できる豊富なルーティング戦略を提供します。
3. BGP はルート集約機能とルート減衰機能を提供し、ルートの変動を防ぎ、ネットワークの安定性を効果的に向上させます。
4. BGP は、トランスポート層プロトコルとして TCP を使用し (ポート番号は 179)、BGP と BFD 間の連携をサポートするため、ネットワークの信頼性が向上します。

BGP は動作モードに応じて EBGP (外部/外部 BGP) と IBGP (内部/内部 BGP) に分けられます。
1. EBGP:
異なる AS 間で実行される BGP は EBGP と呼ばれます。AS 間のループを防ぐため、BGP デバイスは EBGP ピアによって送信されたルートを受信すると、ローカル AS 番号を持つルートを破棄します。
2. IBGP:
同じ AS 内で実行される BGP は IBGP と呼ばれます。AS 内のループを防ぐために、BGP デバイスは IBGP ピアから学習したルートを他の IBGP ピアにアドバタイズせず、すべての IBGP ピアとの完全な接続を確立します。IBGP ピア間の接続が多すぎる問題を解決するために、BGP はルート リフレクタと BGP コンフェデレーションを設計します (詳細は以下を参照)。
AS 内の BGP デバイスが、EBGP ネイバーによって送信されたルートを受信した後、別の BGP デバイスを通じて他の AS にルートを送信する必要がある場合は、IBGP を使用することをお勧めします。


BGPルータID(ルータID)

BGP ルーター ID は、BGP デバイスを識別するために使用される 32 ビットの値で、通常は IPv4 アドレスの形式で、BGP セッションの確立時に送信される Open パケットで伝送されます。
ピア間で BGP セッションを確立する場合、各 BGP デバイスには一意のルーター ID が必要です。そうでない場合は、ピア間で BGP 接続を確立できません。
BGP のルーター ID は、BGP ネットワーク内で一意である必要があり、手動で構成することも、デバイスによって自動的に選択することもできます。
デフォルトでは、BGP はデバイス上のループバック インターフェイスの IPv4 アドレスを BGP ルーター ID として選択します。デバイスにループバック インターフェイスが設定されていない場合、システムはインターフェイス内の最大の IPv4 アドレスを BGP ルーター ID として選択します。

BGP の仕組み

BGP ピアの確立、更新、削除の対話型プロセスには、主に 5 種類のメッセージ、6 種類のステート マシン、4 種類の属性、および 5 つの原則があります。

BGP メッセージ
BGP ピアは、次の 5 種類のメッセージを通じて対話します。そのうち、キープアライブ メッセージは定期的に送信され、その他のメッセージはトリガーによって送信されます。 1.
オープン メッセージ:
BGP ピア接続を確立するために使用されます。
2. 更新メッセージ:
ピア間でルーティング情報を交換するために使用されます。BGP のネットワークのみが更新メッセージを持ちます。
3. 通知 (通知) メッセージ:
BGP 接続を中断するために使用されます。
4. キープアライブ メッセージ:
BGP 接続を維持するために使用されます。
5. Route-refresh (リフレッシュ) メッセージ:
ルーティング ポリシーを変更した後、ピアに経路情報の再送信を要求するために使用されます。ルート リフレッシュ機能をサポートする BGP デバイスのみが、このパケットを送信して応答します。
Route-refresh メッセージをキャプチャできます

BGP をリセット
BGP すべてをリセット

タイマーを変更します。デフォルトは 60、180
bgp 100
タイマー キープアライブ 5 ホールド 15


BGPネイバー確立ステータス

idle: 初期状態
connect: BGP は TCP 接続の確立を待機します
active: TCP 接続が失敗し、TCP 接続が再確立されます
opensent: TCP が正常に確立され、オープン パケットが送信されます
openconfirm: 正しい OPENパケットの受信が
確立されました: BGP ネイバーが正常に確立されました

1. アイドル状態は BGP の初期状態です。
アイドル状態では、BGP はネイバーから送信された接続要求を拒否します。本装置の Start イベントを受信した後にのみ、BGP は他の BGP ピアとの TCP 接続の確立を試行し、Connect (接続) 状態になります。Start イベントは、オペレータによる BGP プロセスの設定、既存のプロセスのリセット、またはルータ ソフトウェアの BGP プロセスのリセットによって発生します。
いずれの状態でも、Notification (通知) メッセージや TCP リンク切断通知などのエラー イベントを受信すると、BGP はアイドル状態に移行します。
 
2. Connect 状態では、BGP は接続再送信タイマー (Connect Retry) を開始し、TCP が接続を完了するのを待ちます。
TCP 接続が成功すると、BGP はピアに Open メッセージを送信し、OpenSent 状態に移行します。
TCP 接続が失敗すると、BGP はアクティブ状態になります。
接続再送信タイマーが期限切れになっても、BGP が BGP ピアから応答を受信しない場合、BGP は引き続き他の BGP ピアとの TCP 接続の確立を試行し、Connect 状態を維持します。
 
3. アクティブ状態では、BGP は常に TCP 接続の確立を試みます。
TCP 接続が成功すると、BGP はピアに Open メッセージを送信し、接続再送信タイマーを閉じて、OpenSent 状態に変わります。
TCP 接続が失敗すると、BGP はアクティブ状態のままになります。
接続再送信タイマーが期限切れになっても、BGP が BGP ピアから応答を受信しない場合、BGP は Connect 状態になります。
 
4. OpenSent 状態では、BGP はピアの Open メッセージを待ち、受信した Open メッセージ内の AS 番号、バージョン番号、認証コードなどを確認します。
受信した Open メッセージが正しい場合、BGP は Keepalive メッセージを送信し、Openconfirm 状態に変わります。
受信した Open メッセージが間違っていることが判明した場合、BGP はピアに通知メッセージを送信し、Idle 状態に移行します。
 
5. Openconfirm 状態では、BGP はキープアライブまたは通知メッセージを待ちます。Keepalive メッセージを受信すると確立状態に移行し、通知メッセージを受信するとアイドル状態に移行します。
 
6. 確立状態では、BGP は更新、キープアライブ、ルート更新メッセージ、および通知メッセージをピアと交換できます。
正しい Update または Keepalive メッセージを受信すると、BGP はピア エンドが通常動作していると見なし、BGP 接続を維持します。
不正な Update メッセージまたは Keepalive メッセージを受信した場合、BGP は通知メッセージを送信してピアに通知し、アイドル状態に変わります。
ルート更新パケットは BGP 状態を変更しません。
通知メッセージを受信すると、BGP はアイドル状態になります。
TCP 切断通知を受信すると、BGP は切断され、アイドル状態になります。

共通の 3 つの状態 アイドル、アクティブ、確立

BGP ピア間の対話原則

BGP デバイスは、最適なルートを BGP ルーティング テーブルに追加して、BGP ルートを形成します。
BGP デバイスは、ピアとのネイバー関係を確立した後、次の対話原則を採用します。

1. IBGP ピアから取得した BGP ルートは、BGP デバイスによって EBGP ピアにのみアドバタイズされます。
2. EBGP ピアから取得した BGP ルートは、BGP デバイスによってすべての EBGP および IBGP ピアにアドバタイズされます。
3. 同じ宛先アドレスへの有効なルートが複数ある場合、BGP デバイスは最適なルートのみをピアに広告します。
4. ルートが更新されると、BGP デバイスは更新された BGP ルートのみを送信します。
5. BGP デバイスは、すべてのピアによって送信されたルートを受信します。

BGP属性
4種類の属性、10種類

Atomtic_aggregate はオプションの属性として認識されており、早期警告フラグとのみ同等であり、情報は含まれません。ルーターが BGP ルート更新を受信し、そのルートが Atomtic_aggregate 属性を持っていることを検出すると、このルートのパス属性が失われる可能性があることがわかります。このとき、ルーターがこのルートを他のピアにアドバタイズするときは、ルートの Atomtic_aggregate プロパティ。また、経路更新を受信したルータに障害が発生した場合、経路の再設定が行われます。

アグリゲータは、ルートの要約がどの AS とどの BGP ルーターで行われるかをマークするために使用されるオプションの移行属性です。

BGPループ防止機構

IBGP ループ防止:
ルーターが BGP ピアの 1 つから受信したルート エントリは、ルーターを他の IBGP ピアに渡しません。この原則は BGP スプリット ホライズンと呼ばれます。

ルート リフレクターのアンチループ: Originator_id、Cluster_list
Originator_id はオプションの非移行属性であり、RR によって生成され、Update メッセージにカプセル化されます。router-id の値を使用してルートの発信元を識別し、ルーティングを防止するために使用されます。クラスター内のループ。
Cluster_list はオプションの非遷移属性で、ルートが通過する各クラスターの Cluster_id を記録し、クラスター間のループを回避するために使用されます。

EBGP ループ防止:
ルーターが EBGP ネイバーから BGP ルートを受信するとき、ルートの AS_Path に独自の AS 番号が含まれている場合、ルートは直接破棄されます。

=========

BGP は、現在インターネット バックボーン ネットワーク上で実行されているコア ルーティング プロトコルであり、最も広く導入されているルーティング プロトコルの 1 つでもあります。過去数十年間、インターネットの急速な発展と新しいアプリケーションの継続的な出現により、インターネット ネットワークの信頼性とスケーラビリティに対する要件がさらに高まっています。BGP は、インターネット全体の安定した動作の基盤として、インターネットの発展傾向に適応するために多くの高度な機能を導入してきました。

偽者として

RTB:
bgp 2000
ピア 1.1.1.1 fake-as 200

==========

BGP ロードバランシングの構成

大規模なネットワークでは、通常、同じ宛先への有効なルートが複数ありますが、BGP は最適なルートのみをピアにアドバタイズするため、多くの場合、不均衡なトラフィック負荷が発生します。BGP ロード バランシングを構成すると、トラフィックの負荷が分散され、ネットワークの輻輳が軽減されます。
一般に、「BGP ルート選択ポリシー」で説明されている最初の 8 つの属性が同一である場合にのみ、BGP ルートは互いに同等となり、BGP ロード バランシングを実装できます。

bgp 100
最大ロードバランシング 2

設定が完了したら、グローバル IP ルーティング テーブルを確認すると、
同じ BGP ルーティング エントリに対して次の 2 つのエントリがあります。

BGP ルーティング テーブルでは、依然として 1 つのエントリのみが優先されます

おすすめ

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