HCIP - BGP プロトコル

目次

1.BGPとは何ですか?

2.IGPとEGP

3. BGPの特徴

 4.BGPデータパケット

 5. BGPの動作プロセス

BGP の 6 つのステートマシン

6. BGPルーティングブラックホール問題

 7. BGP のアンチリング メカニズム - スプリット ホライズン

 8. BGP アナウンスの問題

9.BGP自動サマリー

 10. BGP のセキュリティ機能

11.BGPルーティングルール


1.BGPとは何ですか?

1.BGP (ボーダー ゲートウェイ プロトコル) ボーダー ゲートウェイ ルーティング プロトコル。クラスレス パス ベクター EGP プロトコルは、EGP プロトコルで最も一般的なテクノロジであり、AS 間で動作し、特に AS 間のルート共有の問題を解決するために使用され、再配布の基礎を置き換えます。ルート自体は生成しませんが、ローカル ルーティング テーブル内の他のプロトコルによって生成されたルーティング エントリを転送します(したがって、Bgp はルートを生成せず、ルートのポーターにすぎません)。通常、 AS 間には
多数の BGP ネイバー関係が存在します。
、BGP プロトコルは最適パスを計算しないため、BGP プロトコルでは、管理者はルート選択を妨げるポリシーを実装する必要があります。


2. AS が AS に分割される理由は何ですか:
1. ネットワーク半径-----IGP プロトコルの動作半径は制限されています。
2. 管理半径-----ネットワークが異なると、設計、実装、メンテナンス、ネットワークは相互に管理しません。AS
- 自律システム標準 AS 番号 16 ビット バイナリ 0 ~ 65535
そのうち 1 ~ 64511 パブリック 64512----65535 プライベート
拡張 AS 番号 32 ビット バイナリ
パス ベクトル ( 1 つの AS は 1 ホップ) - 距離ベクトル (1 つのルータは 1 ホップ)
次のアドレスで AS 番号の所有者を確認できます:
https://www.cidr-report.org
その内:
4134 は中国の番号ですTelecom、
9929 はチャイナユニコム (チャイナネットコム) です。

2.IGPとEGP

1.EGP は外部ゲートウェイ プロトコル - BGP です

主な追求点: 1.強い制御性(管理者による経路選択への政策介入が容易)

                 2. 信頼性 (BGP プロトコル デバイスは大量のルーティング エントリを交換する必要がありますが、リンク リソースを占有する定期的な更新を選択できないため、トリガーされた更新のみを実行できます。また、BGP プロトコルの動作環境のコストを節約するために、間接的なネイバー関係を確立する必要がある - ユニキャストネイバー) --- TCP に基づいて動作 - 3 方向ハンドシェイクと 4 回の切断 4 つの信頼性の高い伝送メカニズム - TCP はユニキャストに基づいてのみ動作します。

                  3.AS-BY-AS は 1 つの AS を 1 ホップとして使用します。

2.IGP は内部ゲートウェイ ルーティング プロトコル - RIP、OSPF、EIGRP

主な追求: 1. ループなし (適切なルート選択) 2. 高速コンバージェンス 3. 占有リソースの削減

ネイバー --- 直接接続 BGP プロトコルでは非直接接続のネイバーに対する要件があるため、BGP ネイバーは隣接関係と呼ばれます。

EBGP ネイバー関係 ---- 外部 BGP ネイバー関係。ネイバー関係を確立している 2 つのデバイスは異なる AS にあります。

IBGP ネイバー関係 ---- 内部 BGP ネイバー関係。ネイバー関係を確立している 2 つのデバイスは同じ AS 内にあります。

3. BGPの特徴

  1. クラスレス パス ベクトル-----距離ベクトルのアップグレード バージョン---AS--BY--AS
  2. ユニキャスト更新を使用してすべての情報を送信し、TCP ポート 179 上で動作します。
  3. 増分更新 -- サイクルをトリガーしないだけです
  4. ルート選択のための IGP のメトリックを置き換える豊富な属性を備えています ---- 複数のパラメータ制御プロトコル
  5. 強力なポリシーを入力と出力のフローに実装できる - 制御性
  6. デフォルトでは負荷分散には使用されません。さまざまなルーティング ルールを通じて最適なパスが 1 つだけ生成されます。
  7. BGP は認証と集約 (アグリゲーション) をサポートします

 4.BGPデータパケット

BGP メッセージには 5 種類のデータ パケットがあります

これは TCP ポート 179 に基づいて動作するため、BGP プロトコルのすべてのデータ パケットが送信され、TCP セッションが確立された後は TCP セッションに基づいて信頼性が保証される必要があります。

オープン メッセージ: TCP 接続が確立された後に送信される最初のメッセージであり、BGP ピア間の接続関係を確立するために使用されます。ピアが Open メッセージを受信し、ネゴシエーションが成功すると、接続の有効性を確認および維持するために Keepalive メッセージを送信します。確認後、更新、通知、キープアライブ、およびルート更新メッセージをピア間で交換できます。
更新メッセージ: ピア間でルーティング情報を交換するために使用されます。更新メッセージは、同じ属性を持つ複数の到達可能なルーティング情報を公開したり、複数の到達不能なルーティング情報を取り消したりすることもできます。
キープアライブ メッセージ: BGP は、接続の有効性を維持するためにピアにキープアライブ メッセージを定期的に送信します。
通知メッセージ: BGP がエラー状態を検出すると、通知メッセージがピアに送信され、BGP 接続は直ちに中断されます。
Route-Refresh メッセージ: OPEN メッセージを使用して、ルート リフレッシュ機能 (Route-Refresh 機能) のローカル サポートを BGP ピアに通知します。

 5. BGPの動作プロセス

1. 設定が完了すると、ネイバー間でユニキャスト TCP 3 方向ハンドシェイクが行われ、ターゲット ポート 179 で TCP セッションが確立され、後続のすべての BGP プロトコル パケットはこのセッションに基づいて送信されます。

セッションが確立された後、ネイバーは通常、オープン メッセージを送受信して、BGP ネイバー関係を確立し、ネイバー テーブルを生成します。

BGP プロトコルのオープン メッセージはローカル RID を伝送します。生成方法は OSPF と同じで、ローカルおよびすべてのローカル ネイバーに対して一意である必要があるだけです。

ネイバー関係が確立された後、キープライブ サイクルを使用して、デフォルトで 1 分ごとにネイバー関係を維持します (サイクル キープアライブ TCP セッション)。

2. ネイバー関係が確立された後、管理者は、ローカル ルーティング テーブル内の任意のソースから取得したルーティング エントリを BGP プロトコルに選択的にアナウンスし、アップデータ パケットを使用してネイバー間でルートを共有し、BGP テーブルを生成します。---すべてロードローカルで送受信されるルーティング エントリ。

最適なパスはデフォルトでルーティング テーブルにロードされます (最適 - BGP ルーティング ルールのみに基づいており、必ずしも最適なパスであるとは限りません。BGP はデフォルトではロード バランシングをサポートしません)。

3. コンバージェンスが完了し、必要なのはキープライブ サイクルのみです。

4. エラー メッセージが発生した場合、近隣諸国は通知メッセージを使用してエラーを報告します。

5.構造変異

1 ) 新規 --- ルートが送信された集約ルートに含まれていない場合、updata をローカルで使用してローカルの近隣すべてに通知します。

2 ) 切断 --- ルートが送信された集約ルートに含まれていない場合、updata をローカルで使用してローカルの近隣すべてに通知します。

             集約エントリに含まれるすべての詳細ルートがローカルで無効になるまで、隣接ノードには集約エントリを削除するように通知されません。

3 ) 通信不能 --- 保持時間は 3 分で、ネイバーのキープライブが 3 回連続して受信されません。ネイバー関係と TCP セッションが切断され、ネイバーから学習したすべてのルートが削除されます。

BGP の 6 つのステートマシン

BGP 有限状態マシンには、Idle、Connect、Active、OpenSent、Openconfirm、確立の 6 つの状態があります。

①アイドル状態はBGPの初期状態です。アイドル状態では、BGP はネイバーから送信された接続要求を拒否します。このデバイスから Start イベントを受信した後にのみ、BGP は他の BGP ピアとの TCP 接続の確立の試行を開始し、Connect 状態に切り替わります。

Start イベントは、オペレータが BGP プロセスを設定するか、既存のプロセスをリセットするか、ルーター ソフトウェアが BGP プロセスをリセットすることによって発生します。
どの状態であっても、通知メッセージや TCP リンク切断通知などのエラー イベントを受信すると、BGP はアイドル状態に移行します。
② Connect 状態では、BGP は接続再送信タイマー (Connect Retry、デフォルトは 32 秒) を開始し、TCP が接続を完了するのを待ちます。

TCP 接続が成功すると、BGP はピアに Open メッセージを送信し、OpenSent 状態に切り替わります。

TCP 接続が失敗すると、BGP はアクティブ状態に切り替わります。

接続再送信タイマーがタイムアウトになり、BGP が依然として BGP ピアから応答を受信しない場合、BGP は他の BGP ピアとの TCP 接続の確立を試行し続け、Connect 状態を維持します。

他のイベント (システムまたはオペレーターによって開始される) が発生すると、アイドル状態に戻ります。

③アクティブ状態では、BGP は常に TCP 接続の確立を試みます。

TCP 接続が成功した場合、BGP はピアに Open メッセージを送信し、接続再送信タイマーを閉じて、OpenSent 状態に切り替えます。TCP 接続が失敗した場合、BGP はアクティブ状態のままです。接続再送信タイマーがタイムアウトした場合、BGP はアクティブ状態のままになります

out、BGP BGP ピアから応答が受信されない場合、BGP は Connect 状態に切り替わります。
④OpenSent状態では、BGPは相手のOpenメッセージを待ち、受信したOpenメッセージ内のAS番号、バージョン番号、認証コードなどを確認します。

受信した Open メッセージが正しい場合、BGP は Keepalive メッセージを送信し、Openconfirm 状態に移行します。
受信した Open メッセージが正しくないことが判明した場合、BGP はピアに通知メッセージを送信し、Idle 状態に移行します。
⑤Openconfirm 状態では、BGP はキープアライブまたは通知メッセージを待ちます。Keepalive メッセージを受信すると確立状態に移行し、通知メッセージを受信するとアイドル状態に移行します。
⑥確立状態では、BGP はピアと Update、Keepalive、Route-refresh メッセージ、Notification メッセージを交換できます。

正しい Update または Keepalive メッセージが受信された場合、BGP はピアが通常の動作中であるとみなして、BGP 接続を維持します。
不正な Update メッセージまたは Keepalive メッセージを受信した場合、BGP は通知メッセージを送信してピアに通知し、アイドル状態に移行します。
ルート更新メッセージは BGP ステータスを変更しません。通知メッセージを受信すると、BGP はアイドル状態に切り替わります。
TCP リンク切断通知を受信すると、BGP は切断され、アイドル状態に切り替わります。

6. BGPルーティングブラックホール問題

間接的に接続されたネイバー確立は、コントロール プレーン ルート エントリに到達して通過でき、再帰的計算ルートに到達可能です。

ただし、実際のデータ プレーン トラフィックは、BGP プロトコルを実行していないルーターを通過できず、最終的には返されなくなります。

解決:

  1. 完全な物理および論理トポロジ接続 - 直接物理リンク接続または VPN
  2. 近隣関係は完全に接続されており、ネットワーク内のすべてのデバイスが BGP を実行しています。
  3. IGP (LAB) への BGP 再配布
  4. MPLS マルチプロトコル ラベル スイッチング --- 推奨プラクティス

 7. BGP のアンチリング メカニズム - スプリット ホライズン

1. EBGP スプリット ホライズン - EBGP ループを解決します。

ループ防止のための BGP ルーティング エントリの属性、AS-PASH パス属性に依存します。

ルーティング エントリを送信する過程で、BGP プロトコルは通過するすべての AS の番号を記録します。

EBGP スプリット ホライズン - 受信したルーティング エントリにローカル AS 番号がある場合、エントリは拒否されます。

2. IBGPスプリット ホライズン - IBGP リング ルーティングを解決するメカニズム

  IBGP ネイバーからローカルに学習したルーティング エントリを、他のローカル IBGP ネイバーに渡してはなりません。

AS-BY-AS は、AS 内部エントリの転送中にデフォルトで属性を変更しません。

BGP は AS 内で間接的にネイバー関係を確立できるため、BGP プロトコルを実行している複数のルーターと BGP ネイバー関係を確立してネットワークを安定させることができます。したがって、AS 内には通常、BGP プロトコルを実行しているデバイスが存在します。 ASも同時に)

IBGP スプリット ホライズンの制限により、IBGP ループの発生は回避されますが、ルーティング エントリを送信するために 2 つの内部 AS 間に IBGP ネイバー関係を確立する必要があり、ネイバー関係が指数関数的に増加し、設定量が膨大になります。 。

後で、スプリット ホライズンを解除するメカニズム (フェデレーション、ルート リフレクター) に頼ることができます。

 8. BGP アナウンスの問題

  1. BGP プロトコルでは、BGP を実行している各デバイス上で、ローカルに直接接続されたルートがアナウンスされます。
  2. BGP プロトコルを実行しているデバイスは、IGP を通じて学習し、BGP プロトコルを実行していないデバイスによって生成されたルートを BGP プロトコルでアナウンスします。

ローカル ルーティング テーブル内のルーティング エントリが BGP プロトコルでアナウンスされると、これらのターゲットに到達するためのローカル IGP メトリック値が伝送され、BGP ネイバーに渡され、他の AS デバイスはターゲットに最も近い EBGP ネイバーを簡単に選択できます。 ;

BGP デバイスが IBGP ネイバー経由でルートを学習し、メトリック値を持っている場合、同時に、ローカルがこれらのルートを他のローカル EBGP ネイバーに送信する必要がある場合、メトリックをキャンセルして 0 として送信することしかできません。その結果、経路選択基準値が矛盾している。

したがって、BGP デバイスが AS 内の特定のルートをアナウンスする必要がある場合は、AS内で BGP プロトコルを実行しているすべてのデバイスがアナウンスする必要があることをお勧めします。 - 他の AS の BGP デバイスが独自の EBGP を決定するのに便利です。近隣者、どちらがターゲットに近いか。

9.BGP自動サマリー

現在のルーター機器では、BGP 自動サマリー機能がデフォルトでオフになっています。

自動要約ルールは、通常の BGP プロトコルのネイバーによって共有されるルートや、BGP プロトコルのネットワーク アナウンスメント コマンドによって生成されるルーティング エントリとは何の関係もありません。

IGP から BGP に再公開されたルーティング エントリのみ。

BGPでのアナウンスは、IGP ルートを 1 つずつ BGP に再発行するものとして理解できます。

BGPで IGP を BGP に再発行することは、 IGP ルートを BGP プロトコルにバッチでアナウンスすることとして理解できます。

ただし、2 つの操作によって生成されたルーティング エントリには異なるオリジン属性があり、アナウンスの方が再公開よりも優れています。

自動サマリーがオンになっているという前提の下では、再公開される受信ルートはサブネット マスクを持たず、メイン クラス マスクに従って入力され、ローカル宛先のメトリック値は持たず、メトリックは次のようになります。 0; 自動集約がオフになっている場合、受信ルートは通常、マスクが伝送され、メトリックが伝送されます。現時点では、発信元属性のみがアドバタイズされたルートと異なります。そのため、自動集約を有効にしないことをお勧めします。要約;

AS 内で BGP プロトコルを実行しているすべてのデバイスが同じルートをアドバタイズすることが推奨されるため、再配布が設定されている場合は、BGP プロトコルを実行しているすべてのデバイスが再配布することも推奨されます

 10. BGP のセキュリティ機能

MD5: BGP はトランスポート層プロトコルとして TCP を使用します。BGP のセキュリティを向上させるために、TCP 接続を確立するときに MD5 認証を実行できます。ただし、BGP の MD5 認証は BGP メッセージを認証することはできず、TCP 接続の MD5 認証パスワードを設定するだけで、認証は TCP が完了します。認証が失敗した場合、TCP 接続は確立されません。
GTSM (汎用 TTL セキュリティ メカニズム): BGP GTSM ポリシーが有効になった後、インターフェイス ボードはすべての BGP パケットの TTL 値をチェックします。実際のネットワークのニーズに基づいて、TTL 値の範囲を満たさないパケットを通過または廃棄するように GTSM を設定できます。GTSM のデフォルト アクションをドロップするように設定する場合、ネットワーク トポロジに基づいて適切な TTL 制限値の範囲を選択できます。TTL 値の範囲を満たさないメッセージは、インターフェイス ボードによって直接破棄されます。これにより、ネットワーク攻撃者によるシミュレーションの可能性が回避されます。 「正当な」BGP メッセージ ファイルが CPU を占有します。この機能は、EBGP マルチホップとは相互に排他的です。
リソース枯渇攻撃を防ぐために、ピアから受信するルートの数を制限します。
AS_パス長の保護。入力方向と出力方向の両方で AS_Path の長さを制限することにより、制限を超える AS_Path を持つパケットは直接廃棄されます。

11.BGPルーティングルール

 

2.BGPルーティングルール

比較の前提条件は、複数の BGP ルートが同じ宛先を持ち、すべて最適化可能 (ネクスト ホップ到達可能、同期シャットダウン)、同じ優先順位 (管理距離) を持つことです。

1. Preference_Value が最も高いルートを優先します (プライベート属性、ローカルでのみ有効)。

EBGP/IBGP ルーティングの選択を妨げる可能性があるため、最高権限の属性を渡さないでください。

2. ローカル優先度 (Local_Preference) が最も高いルートを優先します。

IBGP ネイバー関係間の転送のみ。ほとんどの場合、 IBGP 関係のルーティングに干渉します。

3. 手動集計 > 自動集計 > ネットワーク > インポート > ピアから学習したものを優先します。

4. AS_Path が短いルートを優先します。

EBGP/IBGP 関係は干渉される可能性がありますが、EBGP ネイバー間でのみ変更できます。

5 発信元タイプ IGP>EGP>不完全。

原点属性 i は e より優れていますか? ; コントロール レベルのどのインターフェイスでも変更できます。

6. 同じ AS からのルートの場合、小さい MED 値が優先されます。

デフォルトは 0 です。ルートをアナウンスまたは再アナウンスする (自動要約がオフになっている) 場合、ターゲットに到達するためのローカル コストが適用されます。

EBGP ルート選択を妨害するために最も一般的に使用される属性

EBGP から学習したルートを優先します (EBGP>IBGP)。

AS内のIGPのメトリックが最小のルートが優先されます。

Cluster_List 内の最短ルートが優先されます。

Organizer_ID が最小のルートが優先されます。

Router_ID が最も小さいルーターによってアドバタイズされたルートが優先されます

より小さい IP アドレスを持つ近隣から学習したルートが優先されます。

おすすめ

転載: blog.csdn.net/qq_63099085/article/details/132309094