1. 属性の分類
認識された属性
(すべての BGP ルートが認識する必要がある属性)
- Well-known Mandatory (Well-known Mandatory) すべてのルートで必ず保持される属性。
- Well-known Discretionary (Well-known Discretionary) は、属性を含めるかどうかを自由に選択できます。
オプションの属性
(BGPルーターでは認識されない場合があります)
- Optional Transitive はこの属性を認識しないため、この属性を持つルートを転送し続けます。
- Optional Non-transitive (Optional Non-transitive) はこの属性を認識しないため、この属性を運ぶルートの転送を続行しません。
2. 属性項目
認識されたものは準拠する必要があります: Origin、AS_Path、Next_Hop
任意として認識:Local_Preference、Atomic_aggregate
オプションのトランジション: アグリゲーター、コミュニティ
オプションの非移行: Med、クラスターリスト、発信者 ID
3、属性の詳細
義務として認識されている
元
名前: オリジン
機能: BGP ルートの発信元と、BGP ルートがどのように生成されたかを識別します。
導入:
1. Origin の表現は i、e、? の 3 種類に分かれています。
2. 同じ宛先への Origin 属性が異なる複数のルートがあり、その他の条件が同じ場合、BGP は、Origin の順にルートを最適化します。IGP > EGP > Incomplete、つまり、i > e > ?。
3. パス属性を表示するにはどうすればよいですか?display bgp routing-table
以下の図の赤いボックスで、Path は Origin に似ています。
1. デフォルトでは、IBGP から生成されたルートのパスは空ですが、EBGP からインポートされたルートのパスには AS 番号が含まれます。
2. 原点は i で、IBGP または EBGP から学習したルーティング エントリを示します。
ここで EGP と EBGP を混同しないでください。EGP は、AS 自律システム間でルーティング情報を交換するための初期のプロトコルであり、BGP の前身です。
AS_パス
名前: AS_Path パス
機能: ターゲット ネットワークにアクセスするときに通過する必要がある AS 番号のリストを特定します。
導入:
1. AS_Path 300 200 100 を例にとると、ルートは AS100 から生成され、AS200、AS300 を経由して、最終的にローカル ルータに到達します。
2. AS_Path は渡された AS 番号を記録するため、AS100 のルートが AS100 に戻されると、AS_Path には独自の AS 番号が含まれるため、そのルートは破棄されます。これは、BGP の一般的なアンチリング属性です。
3. AS_Path は通過する AS を識別します。同じ目的で 2 つの BGP ルートを学習する場合、他の属性が同じで AS_Path が異なる場合、AS_Path 内の AS 番号は少ないほど良いです。AS_Path が短いルートの方が優先されます。
4. AS_Path のタイプには、一般的に使用されるAS_SEQENCEおよびAS_SETが含まれます。
AS_SEQENCE 表現方法:AS_PATH=300 200 100
AS_SETの表現方法:AS_PATH=300 {100,200}
AS_SET はどのような状況で表示されますか?
-
BGP ルートが集約されるときに発生します。
-
ルートアグリゲーションは、機器の負荷を軽減することと、詳細な経路情報を隠蔽してルートのフラッピングの影響を軽減することの2つの問題を解決します。ただし、ルートが集約されると AS_Path 属性が失われ、ループが発生する危険性があるため、AS_SET タイプの AS_Path 属性を使用して集約前の AS パス情報を伝えることができます。
-
ルート集約が発生した後、ループを防ぐために集約されたルートがすべての詳細ルートの AS_Path 属性で伝送される AS 番号を伝送する必要がある場合は、集約を設定するコマンドに as-set パラメータを追加します。
-
AS_PATH の後ろの {} は、渡された AS 番号を示します。このセット内の AS 番号は連続していません。これは主にループを防ぐために使用されます。
-
次の図に示すように、R3 は R1 と R2 の経路を集約し、AS300 に分類された集約された経路を R4 に渡します。
Next_Hop
名前: Next_Hop ネクストホップ
機能: ターゲット ネットワークに到達するためのネクスト ホップ アドレスを指定するために使用されます。
導入:
さまざまなシナリオで、デバイスは次のルールに従って BGP ルートのデフォルト Next_Hop 属性値を設定します。
1. BGP ルーターがIBGPまたはEBGPピア にルートをアドバタイズする場合、ルートのNext_Hopを、ローカル エンドとピア エンドの間に BGP ネイバー関係を確立するインターフェイスのアドレスに設定します。
2. ルータは EBGP ルートを受信し、それを他の IBGP ピアに転送した後、ルートの Next_Hop 属性の値を変更しないままにします。
3. ルーターが BGP ルートを受信した場合、そのルートの Next_Hop 属性値が EBGP ピア (更新オブジェクト) と同じネットワーク セグメントに属している場合、ルートの Next_Hop アドレスは変更されず、その BGP ピア本体に渡されます。【FAアドレス機能と同様】
以下に示すように:
(1) R3 は、R2 によって 10.0.123.2 に送信された 10.0.2.0/24 宛ての EBGP ルートのネクスト ホップを受信します。
(2) R3 が、ネクスト ホップ 10.0.123.2 を持つ 10.0.2.0/24 への EBGP ルートが R1 に渡されたことを学習すると、ネクスト ホップは次の条件を満たすため、R1 との EBGP ネイバーを確立するアドレスに変更されません。 Next_Hop 属性 **「Next_Hop 属性値と EBGP ピア (更新オブジェクト) が同じネットワーク セグメントに属している場合、このルートの Next_Hop アドレスは変更されず、その BGP ピアに渡されます。」**
恣意的なものとして認識される
ローカル設定
名前: Local_Preference ローカル設定
機能: AS 内のルータに、どのパスが AS から離れるための優先パスであるかを伝えるために使用されます。
導入:
1. Local_Preference 属性の値が大きいほど、ルートはより適切になります。デフォルトの Local_Preference 値は 100 ですが、これはポリシー ルーティングを通じて変更できます。
2. この属性はIBGP ピアにのみ渡すことができ、EBGP ピアには渡すことができません。Local_Preference を運ぶルートが EBGP ピア間で受信された場合、エラー処理が実行されます。
質問: LP 値を EBGP に渡せない場合、EBGP は LP 値を持っていますか?
ルータが EBGP ピアにルート更新を送信するとき、Local_Preference 属性を運ぶことはできませんが、ピアが Route を受信すると、ローカルでデフォルトの Local_Preference 値 (100) をルートに割り当て、そのルートを独自のルートに渡します。 IBGPピア。
アトミック集合体
名前: Atomic_aggregate 集約タグ
機能: 早期警告マークに相当するだけで、情報は持たず、主に経路が集約されたことをルータに伝えます。
導入:
1. ルーターが BGP ルート更新を受信し、そのルートが Atomic_Aggregate 属性を持っていることを検出すると、そのルートが path 属性を失った可能性があることがわかります。このとき、ルーターはそのルートを他のピアにアドバタイズします。ルートは保存する必要があります。
オプションのトランジション
アグリゲータ
名前: アグリゲーターの集約識別子
機能: ルート集約動作がどの AS とどの BGP ルーターで発生するかをマークします。
導入:
1.ルート集約操作を実行するルーターは、集約されたルートにアグリゲーター属性を追加し、ローカル AS 番号と自身のルーター IDをこの属性に記録します。これにより、他のルーターは、どの AS とどの BGP ルーターで集約が行われたかを知ることができます。アグリゲーターの優れた者。
コミュニティ
名前: コミュニティコミュニティの価値
機能: ルーティング マーク。主に、BGP ルーティング制御を容易にするためにインポートされたルートをマークします。
導入:
1. Community 属性値の長さは 32bit、つまり 4Byte です。2 つの形式で利用可能:
10 進整数形式。
AA: NN 形式。AA は AS 番号を表し、NN はユーザー定義の番号です。
2. これに加えて、デフォルトのコミュニティ値があります。
コミュニティ属性名 | グループ属性番号 | 説明する |
---|---|---|
インターネット | 0(0x00000000) | この属性を持つルートを受信した後、デバイスはそのルートを任意の BGP ピアに送信できます。デフォルトでは、すべてのルートはインターネット コミュニティに属します。 |
いいえ_広告する | 4294967042(0xFFFFFF02) | デバイスがこの属性を持つルートを受信した後は、そのルートをどの BGP ピアにも送信しません。 |
いいえ_エクスポート | 4294967041(0xFFFFFF01) | デバイスがこの属性を持つルートを受信した後は、そのルートを AS から送信しません。 |
No_Export_Subconfed | 4294967043(0xFFFFFF03) | デバイスがこの属性を持つルートを受信すると、そのルートを AS の外に送信したり、AS 内の他のサブ AS にルートをアドバタイズしたりすることはありません。 |
オプションの非移行
と
名前: 医療費
機能: AS に入る外部ピアへの優先パスを示すために使用されるメトリック値。
導入:
1. AS への入口が複数ある場合、AS は MED を使用して、他の AS によって選択されたパスに動的に影響を与えることができます。
MED 属性の値はコストと一致するため、MED が小さいほど、BGP ルートは優れています。デフォルト値は 0 です。
2. MED は主に AS 間の BGP ルート選択に影響を与えるために使用されます。MED が EBGP ピアに渡された後、ピアは AS でルートを渡すときに MED 値を伝えますが、再度 EBGP ピアにルートを渡すときはデフォルトで MED 属性を伝えません。
[下図に示すように、R4 は R2 から送信された最もコストの低いルートを優先的に使用し、IBGP でフラッディングします (コストは変わりません)。]
[ただし、別の EBGP ネイバーに渡されると、ルートの MED 値は削除されます。]
3. デフォルトでは、MED 値を運ぶルートは EBGP ネイバーに渡されませんが、どのような状況で MED 値を運ぶことができますか?
ルートが IBGP にインポートされると、インポートされたルートのコストが継承され、EBGP に渡されるときに削除されません。
ルーターが IGP を通じてルートを学習し、networkまたはimport-routeを通じてそのルートを BGP にインポートする場合、生成された BGP ルートの MED 値は IGP のルートのメトリックを継承します。
[たとえば、次の図で R2 が OSPF 経由で 10.0.1.0/24 ルートを学習し、そのルートが R2 のグローバル ルーティング テーブルで OSPF Cost=100 を持つ場合、R2 がルート ネットワークに BGP に入ると、MED 値は100 に対して生成された BGP ルート。]
ルーターがローカルの直接ルートと静的ルートに接続している場合、直接ルートと静的ルートのデフォルト コストは 0 であるため、この BGP ルートの MED は 0 になります。
4. コストの継承を理解できますが、学習されたルートは引き続きコストを継承し、次の EBGP ネイバーに渡しますか?
回答: いいえ、MED は AS を越えて転送できないためです。
修辞的な質問: では、なぜ R2 は R3 から継承できるのでしょうか?
Lore: いわゆる継承は、IBGP 内部ではこのように理解できますが、R2 では、BGP を送信するときに MED コストを手動で設定するものとして理解でき、これは実際の継承ではありません。
[以下の図をご覧ください。MED は AS を越えることができないという原則により、R2 が BGP ルートを R3 に送信するときは自動的に MED 値を変更しますが、R3 が R4 に送信するときは自動的には変更されないことが理解できます。いわゆる継承がないため、これを変更します。MED、MED のないルートのみが R4 に渡されます]
発信者ID
名前: 発信者ID
機能: 反映前のルートの起点広告主を記録します。RR は、反映されたルートに Originator_ID を追加します。その値は、ルートをアドバタイズする BGP ルーターのルーター ID です。
導入:
1. オリジンと同様に、オリジネータ ID は主にリフレクション前のルートの広告主を記録するために使用され、リフレクション後のルートがオリジン ルータに戻ってルーティング ループが発生する可能性があります。
2. AS 内に複数の RR がある場合、Originator_ID 属性は最初の RR によって作成され、後続の RR によって変更されません。
3. BGP ルーターが Originator_ID 属性を含む IBGP ルートを受信し、Originator_ID 属性の値が自身のルーター ID と同じである場合、BGP ルーターはこのルートに関する更新を無視します。
3. 発信者 ID を確認するにはどうすればよいですか?
クラスターリスト
名前: Cluster-List リフレクション クラスター リスト
機能: RR リフレクション クラスター環境でルーティング アンチループを実装するために使用されます。
導入:
1. 各クラスターには一意のクラスター ID (Cluster_ID、デフォルトでは RR の BGP ルーター ID) があります。
2. ルートがリフレクタによって反映されると、RR (クラスター) の Cluster_ID がルートの Cluster_list 属性に追加されます。
3. 1 つの AS 内で複数のルート リフレクション クラスターが許可されます (次の図を参照)。
4. RR が Cluster_list 属性を含む BGP ルートを受信し、その属性の値にクラスターの Cluster_ID が含まれている場合、RR はルートにループがあると見なすため、ルートの更新/反映を無視します。
[図に示すように、R1 は R2 ルートを R3 に反映し (最初のクラスター リストは独自の RID)、R3 はそれを R4 に引き続き反映し (クラスター リストは R4 の RID を増やします)、最後に R4 がそれを反映します。 R1 に戻ります (クラスター リストにより R4 の RID が増加します)。R1 は反映されたルートを受信し、独自の RID がクラスター リストに存在することを検出すると、ルートは処理されません]
ローカル属性
優先値
名前: Preferred-Value プロトコルの優先値
機能: Huawei 機器の固有の属性。最適なルートをローカルで手動で選択するために使用されます。
導入:
1. 10 個の BGP パス属性に、Huawei 独自のプロトコル優先値を加えた、合計 11 個のパス属性があります。
2. この属性はルーター上でローカルでのみ有効であるため、ローカルでポリシーを作成し、それを対応するネイバーの受信方向に適用することにより、優先値を変更します。
3. BGP ルーティング テーブルに同じ宛先へのルートが存在する場合、優先値の高いルートが最初に選択されます(デフォルト値は 0/空)。
【下図のように、Prefval値が高い方が優先経路となります】
4 番目に、パスのプロパティを変更します。
スペースの都合上、関連する構成コマンドのみが示されており、コマンドはロジックに基づいて変更および適用できます。
元
これは必須として認識されるため、変更後にポリシー ルーティングを通じてIBGP と EBGP の間で受け渡すことができます。
要件: EBGP ネイバー 10.1.13.3 によって配信される 192.168.30.0/24 のルートの起点を EGP タイプに変更します。
構成ロジック:
1. まず、192.168.30.0/24 ルートに一致する ACL またはプレフィックス リストを作成します。
2. ポリシー ルーティング、if-match 一致ルーティングを作成し、発信元の egp AS 番号を適用してそのタイプを変更します。
EGPに変更されているため、元のAS_Path情報を指定する必要があります
3. ポリシーの設定 指定したルートを変更した後、他のルートを許可するポリシーを作成する必要があります。そうしないと、他のルートは配信されません。
4. 最後に、対応するネイバーにポリシーを適用します。
ip ip-prefix 30 permit 192.168.30.0 24
route-policy P30 permit node 5
if-match ip-prefix 30
apply origin egp 200
route-policy P30 permit node 10
[AR1-bgp]peer 10.1.13.3 route-policy P30 import
再次查看BGP路由表:
[AR1-bgp]dis bgp routing-table
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 192.168.30.0 10.1.13.3 0 0 200e
AS_パス
これは必須として認識されるため、変更後にポリシー ルーティングを通じてIBGP と EBGP の間で受け渡すことができます。
要件: EBGP ネイバー 10.1.13.3 から送信された 192.168.30.0/24 のルートの場合、ルートの優先順位を下げるために、その AS_Path が AS 65005 によって増加します。
構成ロジック:
1. ルーティングの一致
2. ポリシーを作成し、指定されたルートの AS_Path を変更します。
3. 他のルートを解放するポリシーを作成する
4. 指定したネイバーにポリシーを適用する
ip ip-prefix 30 permit 192.168.30.0 24
#
route-policy AS permit node 5
if-match ip-prefix 30
apply as-path 65505 additive
#
route-policy AS permit node 10
[AR1-bgp]peer 10.1.13.3 route-policy AS import
再次查看BGP路由表:
[AR1-bgp]dis bgp routing-table
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 192.168.30.0 10.1.13.3 0 0 65505 200i
AS_Path に関するアクション:
1. 追加、指定した AS 番号を AS_Path [追加] に追加します。
2. AS_Pathを指定したAS番号に上書き書き換え[変更/削除]します。
3. 上書きなし、AS_Path 値をクリアします。
Next_Hop
これは必須として認識されるため、変更後にポリシー ルーティングを通じてIBGP と EBGP の間で受け渡すことができます。
要件: EBGP ネイバー 10.1.13.3 から渡される 192.168.30.0/24 のルートを 3.3.3.3 に変更します。
ip ip-prefix 30 permit 192.168.30.0 24
#
route-policy NextHOP permit node 5
if-match ip-prefix 30
apply ip-address next-hop 3.3.3.3
#
route-policy NextHOP permit node 10
[AR1-bgp]peer 10.1.13.3 route-policy NextHOP import
再次查看BGP路由表:
[AR1-bgp]dis bgp routing-table
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
192.168.30.0 3.3.3.3 0 0 200i
ローカル設定
任意と認識されるため、ポリシールーティング変更によりIBGP と EBGP 間で送信可能ですが、ローカル優先度の特殊性により、EBGP ネイバーに送信しても処理されません。
要件: EBGP ネイバー 10.1.13.3 から渡される 192.168.30.0/24 のルートを 300 に変更します。
ip ip-prefix 30 permit 192.168.30.0 24
#
route-policy LPRI permit node 5
if-match ip-prefix 30
apply local-preference 300
#
route-policy LPRI permit node 10
[AR1-bgp]peer 10.1.13.3 route-policy LPRI import
再次查看BGP路由表:
[AR1-bgp]dis bgp routing-table
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 192.168.30.0 10.1.13.3 0 300 0 200i
デフォルトでは、すべてのローカル優先度は 100 です。デフォルト値を変更する必要がある場合は、次のようにします。[AR1-bgp]default local-preference 新优先值
アトミック集合体
これは任意であると認識されるため、ポリシー ルーティングを通じて変更された後、IBGP と EBGP の間で受け渡すことができます。
アグリゲータ
これはオプションの移行であり、ポリシーの変更後にIBGP と EBGP の間で受け渡すことができます。デバイスが認識できない場合でも、この属性を保持し続ける必要があります。
これら 2 つの属性はポリシー ルーティングを通じて変更することはできません。ここでは設定コマンドのみを示します。
要件: AR1 で集約 192.168.0.0/16 を設定し、対応する詳細ルートの外部広告を抑制し、集約ルートに Aggregator 属性を追加します。
[AR1-bgp]aggregate 192.168.0.0 16 as-set detail-suppressed
コミュニティ
これはオプションの移行であり、ポリシーの変更後に IBGP と EBGP の間で渡すことができます。デバイスが認識できない場合でも、この属性を保持し続ける必要があります。
要件: EBGP ネイバー 10.1.13.3 によって配信される 192.168.30.0/24 のルートの場合、ルートのコミュニティ値を 200:3 に設定します。
ip ip-prefix 30 permit 192.168.30.0 24
#
route-policy COM permit node 5
if-match ip-prefix 30
apply community 100:3
#
route-policy COM permit node 10
#
[AR1-bgp]peer 10.1.13.3 route-policy COM import
再次查看BGP路由详细信息:
[AR1-bgp]display bgp routing-table 192.168.30.0
BGP local router ID : 10.1.13.1
Local AS number : 100
Paths: 1 available, 1 best, 1 select
BGP routing table entry information of 192.168.30.0/24:
From: 10.1.13.3 (10.1.13.3)
Route Duration: 00h00m35s
Direct Out-interface: GigabitEthernet0/0/1
Original nexthop: 10.1.13.3
Qos information : 0x0
Community:<100:3> 【团体值在这】
AS-path 200, origin igp, MED 0, pref-val 0, valid, external, best, select, acti
ve, pre 255
Not advertised to any peer yet
拡張機能: 後で BGP ルート選択を導入する場合、この属性は、ルート選択を制御するために、さまざまなルートを区別するために使用されます。
と
これはオプションで非移行的であり、IBGP と EBGP の間で渡すことができますが、EBGP ネイバーに渡されるとデフォルトで削除されます。
要件: ルート 192.168.30.0/24 の MED 値を EBGP ネイバー 10.1.13.3 から 10 に変更します。
ip ip-prefix 30 permit 192.168.30.0 24
#
route-policy MED permit node 5
if-match ip-prefix 30
apply cost 10
#
route-policy MED permit node 10
#
[AR1-bgp]peer 10.1.13.3 route-policy MED import
再次查看BGP路由表:
[AR1-bgp]dis bgp routing-table
Total Number of Routes: 2
Network NextHop MED LocPrf PrefVal Path/Ogn
*> 192.168.30.0 10.1.13.3 10 0 200i
デフォルト値を変更する必要がある場合、BGP によって学習された MED はデフォルトで 0 です。[AR1-bgp]default local-preference 新优先值
クラスターリスト
これはオプションであり、移行的なものではなく、複数のルート リフレクションを防ぐために RR リフレクタ クラスタが存在するシナリオに適用されます。
発信者ID
これはオプションで非移行的なもので、RR リフレクタが存在するシナリオで、複数回のリフレクション後にルーティング ループが発信元デバイスに返されるのを防ぐために使用されます。
上記の 2 つの属性は、ポリシー ルーティングでは変更できませんが、デフォルトで有効になっており、対応する情報が自動的に記録されます。
詳細については、BGP リフレクタを紹介するときに後で説明します。