ルートの減衰:
ルートダンピングは、不安定なルーティングの問題を解決するために使用されます。ほとんどの場合、BGPプロトコルは複雑なネットワーク環境で使用され、ルーティングの変更が頻繁に行われます。継続的なルート発振の悪影響を防ぐために、BGPはルート減衰を使用して不安定なルートを抑制します。
BGP減衰は、ペナルティ値を使用してルートの安定性を測定します。ペナルティ値が高いほど、ルートは不安定になります。ルートがフラップする(ルートがアクティブ状態から非アクティブ状態に変わる、ルートフラップと呼ばれる)たびに、BGPはこのルートに特定のペナルティ値(1000)を追加します。ペナルティ値が抑制しきい値(抑制値)を超えると、ルートは抑制され、ルーティングテーブルに追加されず、更新パケットを他のBGPピアにアドバタイズしなくなります。
抑制されたルートのペナルティ値は、一定期間後に半分に減少します。この時間は半減期と呼ばれます。ペナルティ値が再利用しきい値(再利用値)に下がると、ルートが使用可能になり、ルーティングテーブルに追加されます。同時に、更新パケットを他のBGPピアにアドバタイズします。上記のペナルティ値、抑制しきい値、および半減期はすべて手動で構成できます。
ルートの減衰は、EBGPルートにのみ適用されます。IBGPルートにはこのAS内のルートが含まれることが多いため、IBGPから受信したルートを減衰させることはできません。内部ネットワークルートでは、転送テーブルの一貫性を可能な限り維持する必要があります。IGPの迅速なコンバージェンスは、情報の同期と転送の一貫性を実現することです。減衰がIBGPルーティングに影響を与える場合、さまざまなデバイスの減衰パラメータに一貫性がなく、転送テーブルに一貫性がなくなります。
1. bgp as-numberコマンドを実行して、BGPビューに入ります。
2.コマンドipv4-familyunicastを実行して、IPv4ユニキャストアドレスファミリビューに入ります。
3.BGPルート減衰パラメータを設定します。
EBGPルート減衰パラメータを設定します。
•ipv4-familyunicastコマンドを実行して、IPv4ユニキャストアドレスファミリビューに入ります。
•dampening [half-life-reach再利用抑制天井| route-policy route-policy-name] * [update-standard]コマンドを実行して、EBGPルート減衰パラメータを設定します。
IBGPルート減衰パラメータを設定します。
•ipv4-familyvpnv4コマンドを実行して、BGP-VPNv4アドレスファミリビューに入ります。
•dampeningibgp [half-life-reach再利用抑制天井| route-policy route-policy-name] * [update-standard]コマンドを実行して、IBGPルート減衰パラメータを設定します。
BGPルート減衰を設定する場合、再利用、抑制、および上限の3つの指定されたしきい値が順番に増加します。つまり、それらは次の条件を満たす必要があります:reuse <suppress <ceiling。
ポリシーによってルートを区別することにより、ダンピングコマンドがルーティングポリシーを参照する場合、BGPはさまざまなダンピングパラメータを使用してさまざまなルートを抑制することができます。
次に例を示します。[R1-bgp] dampening 1 1000 2000 3000 //これは、半減期が1分、しきい値が1000で、2000を超えるとエントリ抑制が開始されることを意味します。ペナルティ値は3000に達する可能性があり、継続しません。デフォルトのペナルティ値は、乱気流ごとに1000ずつ増加します。衝撃によりエントリーが抑制されると、エントリーマークがHに変わります。
BGP ORF機能:
BGPのプレフィックスベースのORF機能は、ローカルデバイスによって設定されたプレフィックスベースの入力ポリシーをルートリフレッシュメッセージを介してBGPネイバーに送信できます。BGPネイバーは、これらのポリシーに基づいてエクスポートポリシーを構築し、ルートを送信するときにルーティングエントリをフィルタリングします(送信時のフィルタリングは、帯域幅の浪費を減らすための最良の方法です)。これにより、ローカルデバイスが多数の不要なルートを受信するのを防ぎ、ローカルデバイスのCPU使用率を減らすだけでなく、BGPネイバーの構成を効果的に減らし、リンク帯域幅の使用量を減らします。(プレフィックスリストでのみ一致させることができます)
トポロジーの説明:
- 直接接続されたEBGPネイバーでは、Client1とR1がプレフィックスベースのORF機能をネゴシエートした後、Client1はローカルに設定されたプレフィックスベースの入力ポリシーをルートリフレッシュメッセージにパッケージ化し、R1に送信します。R1は、受信したルート更新メッセージに従って出力ポリシーを作成し、ルート更新メッセージを介してクライアント1にルートを送信します。Client1は必要なルートのみを受信し、R1はルーティングポリシーを維持する必要がないため、構成作業が軽減されます。
- Client1とClient2はRRクライアントです。Client1とRR、Client2とRRは、それぞれプレフィックスベースのORF機能をネゴシエートします。Client1とClient2は、ローカルに設定されたプレフィックスベースのエントリポリシーをルートリフレッシュメッセージにパッケージ化し、RRに送信します。RRは、受信したプレフィックス情報に従って出力ポリシーを構築し、Route-refreshパケットを介してClient1およびClient2へのルートを反映します。Client1とClient2は必要なルートのみを受信し、RRはルーティングポリシーを維持する必要がないため、構成作業が軽減されます。
構成:
- bgp as-numberコマンドを実行して、BGPビューに入ります。
- ipv4-family unicastコマンドを実行して、IPv4ユニキャストアドレスファミリビューに入ります。
- peer {group-name | ipv4-address} ip-prefix ip-prefix-name importコマンドを実行して、IPプレフィックスリストに基づいてピア/ピアグループの入力ルートフィルタリングポリシーを設定します。
- コマンドpeer {group-name | ipv4-address} capability-advertise orf [non-standard-compatible] ip-prefix {both | receive | send}を実行して、アドレスプレフィックスに基づいてORFを有効にするようにBGPピア(グループ)を設定します。
実験:
目的:R2で構成し、R1値が1.1.1.0/24および2.2.2.0/24エントリを送信するようにします。
R1で設定:
bgp1
ピア10.1.1.2as-number 2
ipv4-familyユニキャスト
UNDO同期
ネットワーク
1.1.1.0255.255.255.0
ネットワーク2.2.2.0255.255.255.0
ネットワーク3.3.3.0255.255.255.0ネットワーク4.4.4.0255.255.255.0
ピア10.1.1.2イネーブル
ピア10.1.1.2機能-アドバタイズorfip-prefix受信//作是接補償端
R2で構成:
ip ip-prefix huawei index 10 deny 3.3.3.0 24 //対応するエントリを拒否しますipip
-prefix huawei index 20 deny 4.4.4.0 24
ip ip-prefix huawei index 30 permit 0.0.0.0 0 less-equal 32 //他のすべてのエントリを許可する
bgp2
ピア10.1.1.1as-number 1
ipv4-familyユニキャスト
UNDO同期
ピア10.1.1.1イネーブル
ピア10.1.1.1ip-prefix huawei import //最初に、プレフィックスリスト
ピア10.1.1.1capability-advertise orf ip-prefix send //をリフレッシュの送信者として呼び出す必要がありますインバウンド方向のメッセージは終了します
検出結果:
パケットキャプチャでは、1.1.1.0 / 24と2.2.2.0/ 24のみがR1によって送信され、R2のBGPルートには対応するルーティングエントリのみが存在することがわかります。
注:再送信されます。ORFの設定後に設定されます。リフレッシュせずにネイバーを確立します。
BGP同期:
目的:
BGPエントリのトラフィックがIGP環境で引き続き渡されるようにし、ブラックホールのルーティングを回避します。
トポロジの説明(同期が有効になっている場合):
R4は、BGPを介してR1によってアナウンスされた10.0.0.0/24ネットワークを学習します(IBGPピアから対応するルートを学習する場合)。R4がネットワークをR5にアナウンスする前に、まず10.0.0.0/24ネットワークがIGPルーティングテーブルにすでに存在するかどうかを確認します。R4のローカルIGPルーティングテーブルエントリに10.0.0.0/24ネットワークがある場合、ネットワークはR5にアドバタイズされます。R4のローカルIGPルーティングテーブルエントリに10.0.0.0/24ネットワークがない場合、ネットワークはR5にアドバタイズされます。R4のIGPテーブルに10.0.0.0/24ルーティングエントリを含める場合は、BGPをIGPに再配布する必要があるため、IGPに多数のエントリを許可することは明らかに望ましくありません。
もちろん、Huawei VRPプラットフォームでは、BGP同期はデフォルトで無効になっており、手動で有効にすることはできません。次に、BGPルーティングのブラックホール問題を解決する2つの一般的な方法があります。
- 各ルーターがルートを受信してAS内の到達可能性を確保できるように、iBGPの完全に相互接続された接続を確立します。
- MPLS VPNテクノロジーを使用して解決します。具体的な詳細については、MPLSノートで説明します。
Active-Route-Advertiseテキスト:
- デフォルトでは、ルートはネイバーにアドバタイズするためにBGPで最適化する必要があるだけです。この機能を設定した後、ルートをネイバーにアドバタイズする前に、BGPプロトコルレベルで最適化され、ルート管理レベルでアクティブになるという2つの条件を満たす必要があります。
- これは、コマンドbgp-rib-only(BGPルートがIPルーティングテーブルに送信されるのを禁止するために使用)と相互に排他的です。これは、一緒に構成すると、すべてのエントリをテーブルに追加できず、絶対に追加できないためです。反対側に送られます。重要性。
設定:
[R1-bgp] active-route-advertise //プロセス設定を入力します
BGPはグループにパッケージ化されています:
- デフォルトでは、BGPパッケージは異なるネイバーのルートを分離します(エクスポートポリシーが同じであっても)。
- グループパッケージ機能を適用した後、送信される各ルートは1回だけパッケージ化されてから、グループ内のすべてのネイバーに送信されます。これにより、パッケージ化の効率が2倍になります。(ネイバーに送信される情報が同じであることが前提であるため、ネイバーごとにアウト方向にパケットを生成する必要はなく、1つを均一に生成するだけです)。
トポロジの説明:
リフレクタには3つのクライアントがあり、100,000のルートを反映する必要があります。各ネイバーが個別にパッケージ化されている場合、リフレクターRRが3つのクライアントにルートを送信すると、すべてのルートがパッケージ化される合計回数は100,000×3になります。グループテクノロジーによるパッキングは、このプロセスを100,000×1に変換します。これは、パフォーマンスの3倍の向上に相当します。
一般的なシナリオ:
複数のクライアントのリフレクターの一般的なネットワーク図:
複数のIBGPネイバーを接続するPEの一般的なネットワーク図:
実験:
R1はR2、R3とのIBGPネイバー関係を確立し、R2、R3、およびR1の通常の構成はパッケージ化された方法で構成されます。
bgp 1
group huawei internal // IBGP
ネイバーピアに適用可能な内部グループを作成しますhuaweiconnect-interface LoopBack0 // L0インターフェイス
ピアを介してhuaweiグループのネイバーとの関係を確立します10.1.1.2as-number 1 //このコマンドは自動的に生成されます。IBGPネイバーは、自身のAS番号と同じであるため、このコマンドを設定しないでください。EBGPネイバーの場合は、相手のAS番号を設定する必要があります
。peer10.1.1.2group huawei //ネイバー10.1を設定します。 .1.2huaweiグループのパッケージ化によって作成された
ネイバーピアとして10.1.1.3as-
number1ピア10.1.1.3グループhuawei //ネイバー10.1.1.3をhuaweiグループのパッケージ化されたネイバーとして設定
ipv4-familyユニキャスト
元に戻す同期
ピアhuaweienable
peer huawei next-hop-local // huaweiグループのすべてのメンバーに送信する場合、ネクストホップは
ピア10.1.1.2 enable
peer 10.1.1.2 group huawei
peer 10.1.1.3 enable
peer 10.1.1.3グループhuawei
4バイトAS:
トポロジーの説明
- R2はR1から4バイトのASルートを受信し、AS番号は10.1です。
- R2とR3はネイバーを確立し、R3はR2のAS番号がAS_TRANSであると考える必要があります。
- R2がルートをR3に送信すると、AS_TRANSがAS_Pathに記録され、10.1と独自のAS番号20.1がBGPで必要な順序でAS4_Pathに記録されます。
- R3は、認識されない属性AS4_Pathを処理せず、それを保持します。R3は、BGPルールに従ってルートをRDに送信するだけです。もちろん、R4のAS番号もAS_TRANSだと思います。
- このようにして、R4はR3からルートを受信すると、AS_PATHのAS_TRANSをAS4_Pathに記録されている対応するアドレスに順番に置き換え、R4でAS_PATH属性を30 20.110.1に復元します。
4バイトのAS番号で定義された役割:
- 新しいスピーカー:4バイトのAS番号拡張機能をサポートするピア。
- Old Speaker:4バイトのAS番号拡張機能をサポートしていないピア。
- 新しいセッション:新しいスピーカー間で確立されたBGP接続。
- 古いセッション:新しいスピーカーと古いスピーカーの間、または古いスピーカーの間で確立されたBGP接続。
プロトコル拡張:
- 古いセッションで4バイトのAS情報を送信するために、2つの新しいオプションの遷移属性AS4_Path(属性コード0x11)とAS4_Aggregator属性(属性コード0x12)が定義されています。
- 新しいスピーカーと古いスピーカーが接続を確立する場合は、AS_TRANS(予約値23456)を定義して、2バイトのASと4バイトのASを接続します。また、23456以降は元に戻すことはできません。
新しいAS番号を書き込む方法は3つあります:(Huaweiはasdotの書き込みをサポートしています)
- splain:10進数です。
- asdot + :( 2バイト)(2バイト)の形式で書き込まれるため、古い2バイトのASN123は0.123と記述でき、ASN65536は1.0、最大値は65535.65535です。
- asdot:古い2バイトは通常どおりに書き込まれ、新しい4バイトはasdot +に書き込まれます。(1-65535; 1.0-65535.65535)
ネクストホップ反復の戦略に従います。
BGPは、直接接続されていないネクストホップで反復する必要がありますが、反復ルートがフィルタリングされていない場合、間違った転送パスに反復する可能性があります。ストラテジーに従ったネクストホップの反復は、ルーティングストラテジーを構成することにより、反復ルートを制限することです。ルートがルーティングポリシーに合格できない場合、ルートの反復は失敗します。
トポロジーの説明:
- IBGPネイバーは、ループバックインターフェイスを介してR1とR2およびR3の間に確立されます。R1は、プレフィックス10.0.0.0/24のBGPルートをR2とR3からそれぞれ受信します。R2から受信したBGPルートの元のネクストホップは2.2.2.2です。また、R1のEthernet0 / 0/0のインターフェイスアドレスは2.2.2.100/24です。
- R2が正常に実行されている場合、R1はプレフィックス10.0.0.0/24のルートをR2から受信し、IGPルート2.2.2.2 / 32に繰り返します。ただし、R2のIGPに障害が発生すると、IGPルート2.2.2.2 / 32が取り消され、ネクストホップが繰り返されます。R1では、元のネクストホップ2.2.2.2を使用してIPルーティングテーブルで最長の一致反復を実行し、結果を2.2.2.0/24のルートに反復します。しかし、現時点でユーザーが期待しているのは、2.2.2.2へのルートに到達できない場合、3.3.3.3へのルートを再選択して優先できるということです。実際、障害は主にBGPコンバージェンスによって引き起こされ、ルーティングに瞬間的なブラックホールが発生します。
- ネクストホップ反復ポリシーを設定して、BGPルートの元のネクストホップが依存するルートのマスク長に基づいて反復ルートをフィルタリングします。元のネクストホップ2.2.2.2が2.2.2.2/32のIGPルートのみに依存できるように、ネクストホップ反復戦略を構成できます。
参考資料:Huaweihedexドキュメント