Huawei BGPルーティングルールの詳細な説明

Huawei BGPルーティングルールの詳細な説明

Huawei 機器には 11 個の BGP ルーティング ルールがありますが、これらの多くのルーティング ルールをどのように使用すればよいでしょうか? 以下は 11 個のルーティング ルールの実験的分析です。

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

1. 最も高いプロトコル優先値 (pref val) を優先します。
2. 最も高いローカル優先順位 (local_pref) を持つルートを優先します。
3. 手動集約ルート、自動集約ルート、network コマンドによって導入されたルート、およびインポートによって導入されたルートを優先します。ピアから学習したルート
4. AS_PATH が最も短いルートが優先されます
5. 起点タイプは IGP、EGP、不完全なルートが順に優先されます
6. 同じ AS からのルートの場合、ルートMED 値が最も低いものが優先されます。
7. EBGP ルート、IBGP ルート、ローカル クロス ルート、およびリモート クロス ルートを順番に選択します。
8. BGP ネクスト ホップ IGP メトリック値が
最小のルートが優先されます 9.cluster_list が最小のルートが優先されます
10. ルータ ID が最小のデバイスによって公開されたルートが優先されます (ルートがoriginator_ID 属性を持っている場合)
11. IP アドレスが最も小さいピアから学習したルートを選択します

実験的なトポロジ図:

上記のトポロジからわかるように、ルーターは 4 台あります。AR1、AR2、AR3、AR4。R1、R2、R3 は AS 123 に属し、R4 は AS 4 に属します。

R4、4.4.4.4 のルートを BGP に公開すると、4.4.4.4 の 2 つの BGP ルートが R1 で学習可能になります

上記から、学習された 2 つの BGP ルートのネクスト ホップはそれぞれ R2 と R3 であることがわかります。10 番目の BGP ルート選択ルールによれば、最も小さいルーター ID を持つデバイスによって公開されたルートが優先され、R2 は好ましい。

最初のルーティング ルール:

優先値

preferred-value は主にデバイスからの離脱方法を制御します。preferred-value は BGP プロトコルのプライベート属性です。このコマンドは BGP ルートでのみ有効です。Preferred-value は BGP ルーティング ルールの重み値であり、RFC で指定された標準属性ではないため、このコマンドはローカルでのみ有効であり、BGP 出力ポリシーでは有効ではありません。

目的:

preferred-value を使用して、R4 に送信するときに R3 を優先するように R1 を変更します(トラフィックがこのデバイスから出る方法を制御します)。

設定コマンド:

# 配置路由策略
route-policy p_v permit node 10 
 apply preferred-value 1
#
# BGP视图下引用策略,该命令可以理解收到R3发过来的路由,调用路由策略p_v,在策略里面修改preferred-value为1 
bgp 123
  peer 3.3.3.3 route-policy p_v import
# 使用命令查看BGP路由,发现4.4.4.4路由的下一跳变为R3了,prefval值等于1.说明修改成功,也对路由有了影响。
[R1-bgp]display bgp routing-table 

 BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         3.3.3.3         0          100        1      4i
 * i                     2.2.2.2         0          100        0      4i

ビューを確認します:

2 番目のルーティング ルール:

ローカル優先度は、ルーターの BGP ルートのローカル優先度を示し、AS から出る最適なルートを決定するために使用されます。デフォルト値は 100 で、大きいほど優れています。

local-preference 属性は、IBGP ネイバー間でのみ渡すことができます。IBGP ネイバーの場合は、アウトバウンドまたはインバウンド方向に設定できます。EBGP ネイバーの場合は、インバウンド方向でのみ使用できます。

目的:

local-preference 属性を変更すると、AS 123 が最初に R3 を介して AS 4 にアクセスするかどうかを制御できます。

設定コマンド:

# 第一种方法,通过修改从EBGP收到的路由中的local-preference属性实现,其中的原理是从EBGP邻居学习到的路由会通告给IBGP邻居,在收到这个路由器上对该路由进行修改local-preference属性,那么通告给IBGP邻居的路由属性则是修改属性后的路由。
# 在R3配置路由策略
route-policy l_p permit node 10 
 apply local-preference 101 
#
# 在R3的BGP下调用策略,
bgp 123
  peer 10.1.34.4 route-policy l_p import
#
# 查看R1路由表,可以看到优选了R3去往R4,其中locprf是101
<R1>display bgp routing-table 

 BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         3.3.3.3         0          101        0      4i
 * i                     2.2.2.2         0          100        0      4i
<R1>
# 查看R2路由表
<R2>display bgp routing-table 

 BGP Local router ID is 2.2.2.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   4.4.4.4/32         10.1.24.4       0                     0      4i
<R2>
# 从R2路由表中看到,R2只有一条路由,这是因为IBGP邻居从IBGP邻居学到的路由不会在通告给IBGP邻居,可以理解为R3把R4的路由通告给R1后,然后R1收到后,并不会把该路由通告给R2,而R2通告给R1的路由也如此,所以在R2上和R3上都只存在一条R4的路由。
# 可以通过把R1配置为路由反射器,使R2也可以学到R3通告的路由。
bgp 123
  peer 2.2.2.2 reflect-client
  peer 3.3.3.3 reflect-client
#
# 配置完路由反射后再次查看R2的路由表
<R2>display bgp routing-table 

 BGP Local router ID is 2.2.2.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         3.3.3.3         0          101        0      4i
 *                       10.1.24.4       0                     0      4i
<R2>
# 可以看到存在两条路由,并且去往4.4.4.4的下一跳是R3,从而实现通过local-preference实现控制AS123去往AS4的选路。
# 第二种方式,在IBGP邻居配置local-preference对AS的路由控制,实现原理通过在R3上修改R3向IBGP邻居发送的路由属性从而实现,在IBGP邻居的出方向调用路由策略。
# 在R3的BGP下调用路由策略
bgp 123
  peer 1.1.1.1 route-policy l_p export
# 配置完成后查看R1的BGP路由表和R2的BGP路由表
<R1>display bgp routing-table 

 BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         3.3.3.3         0          101        0      4i
<R1>
<R2>display bgp routing-table 

 BGP Local router ID is 2.2.2.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         3.3.3.3         0          101        0      4i
 *                       10.1.24.4       0                     0      4i
<R2>
# 结果是跟第一种方式一样的
# 第三种方式,在IBGP邻居的入方向调用路由策略,需要在R1接收R3路由的入方向调用策略,实现原理是R1在收到R3路由的时候,对收到的路由修改local-perference值进行影响路哟选路。
# 在R1上配置路由策略
route-policy l_p permit node 10 
 apply local-preference 101 
# 在R1的BGP下调用路由策略
bgp 123
  peer 3.3.3.3 route-policy l_p import
# 查看路由表
<R1>display bgp routing-table 

 BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         3.3.3.3         0          101        0      4i
<R1>
<R2>display bgp routing-table

 BGP Local router ID is 2.2.2.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         3.3.3.3         0          101        0      4i
 *                       10.1.24.4       0                     0      4i
<R2>
# 得到结论跟前二者一样

ルート選択ルール3

手動集約ルート、自動集約ルート、network コマンドで導入されたルート、import-route コマンドで導入されたルート、ピアから学習したルートの順に優先します。これは、自ルータが複数のルート生成方法を備えているためと理解できます。あなたはどのルートを好みますか?

目的:

R3 と R4 を使って実験してみましょう。R4 は 4.4.4.0/24 ルートを R3 にアドバタイズします。R3 は、独自のインポート ルート、ネットワーク、および手動集約メソッドを通じて 4.4.4.0/24 ルートを生成します。R3 がそれを選択することを観察してください。ルート。

設定コマンド:

# 首先看到R3上学到了R4发送的一条4.4.4.0/24的路由
[R3]display bgp routing-table

 BGP Local router ID is 3.3.3.3 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 1
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   4.4.4.0/24         10.1.34.4       0                     0      4?
[R3]
# R3 通过import-route方式产生一条4.4.4.0/24的路由
ip route-static 4.4.4.0 255.255.255.0 NULL0
# BGP引入路由
bgp 123
  import-route static
#
[R3-bgp]display bgp routing-table

 BGP Local router ID is 3.3.3.3 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   4.4.4.0/24         0.0.0.0         0                     0      ?
 *                       10.1.34.4       0                     0      4?
[R3-bgp]
# 查看R3路由表可以看到优选了import-route的路由
# 然后R3在通过network产生一条4.4.4.0/24的路由,在BGP下宣告4.4.4.0/24的路由
bgp 123
  network 4.4.4.0 255.255.255.0 
# 查看R3的路由表
[R3]display bgp routing-table

 BGP Local router ID is 3.3.3.3 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   4.4.4.0/24         0.0.0.0         0                     0      i
 *                       0.0.0.0         0                     0      ?
 *                       10.1.34.4       0                     0      4?
[R3]
# 可以看到优选了network产生的路由
# 然后R3在通过手动聚合产生一条4.4.4.0/24的路由
bgp 123
  aggregate 4.4.4.0 255.255.255.0 
# 
# 查看R3上的路由表
[R3-bgp]display bgp routing-table

 BGP Local router ID is 3.3.3.3 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 5
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   4.4.4.0/24         127.0.0.1                             0      i
 *                       0.0.0.0         0                     0      i
 *                       0.0.0.0         0                     0      ?
 *                       10.1.34.4       0                     0      4?
 *>   4.4.4.4/32         10.1.34.4       0                     0      4i
[R3-bgp]
# 根据以上路由表可以看到优选了手动聚合的路由,下一跳为127.0.0.1的这条为手动聚合的路由。

ルーティングルールのルール4

AS_PATH が最も短い経路が優先される このルールは比較的理解しやすく、文字通りの意味では、as_path が最も短い経路が最適です。原理的には、as_path が増えるほど、より多くの AS ドメインにまたがることになり、パスが長くなるほど最適性が低下することが理解できます。

AS_Path 属性は BGP のプライベート属性です。特定のルートがローカルから宛先アドレスまで通過するすべての AS 番号を記録します。AS_Path 属性を適用することで、ルート選択を制御し、ルーティング ループを防ぐことができます。同じ宛先へのルートが複数ある場合、BGP はルートの AS_Path 属性を比較し、AS_Path リストが短いルートが最適なルートとみなされます。

目的:

R2 と R3 の AS_PATH 長を変更すると、R1 のルーティング選択に影響します。

設定コマンド:

# 在修改as_path长度前进行查看R1的BGP路由表
<R1>display bgp routing-table

 BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.0/24         2.2.2.2         0          100        0      4?
 * i                     3.3.3.3         0          100        0      4?
 *>i  4.4.4.4/32         2.2.2.2         0          100        0      4i
 * i                     3.3.3.3         0          100        0      4i
<R1>
# 在R2配置as-path长度,首先使用路由策略定义好要增加的AS-PATH长度
route-policy as permit node 10 
 apply as-path 100 200 300 additive
# 然后在BGP接受EBGP路由时调用该策略
bgp 123
peer 10.1.24.4 route-policy as import
# 
# 配置完成后查看R1的路由表
<R1>display bgp routing-table

 BGP Local router ID is 1.1.1.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.0/24         3.3.3.3         0          100        0      4?
 *>i  4.4.4.4/32         3.3.3.3         0          100        0      4i
<R1>
# R1优选了R3出去,然后查看R2自身的BGP路由表
[R2-bgp]display bgp routing-table 

 BGP Local router ID is 2.2.2.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.0/24         3.3.3.3         0          100        0      4?
 *                       10.1.24.4       0                     0      100 200 30
0 4?
 *>i  4.4.4.4/32         3.3.3.3         0          100        0      4i
 *                       10.1.24.4       0                     0      100 200 30
0 4i
[R2-bgp]
#可以看到R2自身修改了后,也优先选择R3做为下一跳了

ルーティング ルールのルール 5

起点タイプが IGP、EGP、不完全なルートの順に優先されます。

Origin は BGP ルートのソースを識別し、ルートがどのように BGP ルートになったかを記録します。ネットワークによって生成された BGP ルートは IGP として識別されます。import-route によって生成された BGP ルートは不完全として識別され、番号付きのルートとして表示されます。ルーティングテーブル内の? EGP は EGP プロトコルを実行して生成される経路であり、BGP と EBGP は同じものではなく、現在のネットワークでは基本的に EGP は見られません。

このルート選択ルールは、ネットワークから BGP にインポートされたルートが、BGP にインポートされたルートよりも優れていると理解できます。

目的:

R1 には、R2 によってアドバタイズされるルートと R3 によってアドバタイズされるルートがあります。R2 によってアドバタイズされるルートは、router-id を通じて優先されるため、origin 属性を変更すると、R1 のルート選択に影響を与える可能性があります。

設定コマンド:

# 先查看R1的BGP路由表
<R1>display bgp routing-table

 BGP Local router ID is 10.1.12.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         2.2.2.2         0          100        0      4i
 * i                     3.3.3.3         0          100        0      4i
<R1>
# 可以看到目前学到的两条路由起源属性都是IGP的,通过在R2上修改起源属性为EGP的,进而影响选路,并且证实I>E
# 配置R2路由策略
route-policy ogn permit node 10 
 apply origin egp 10
# BGP下调用策略,因为origin属性是公认必遵属性,所有路由器都可以识别的属性,所以可以通过如方向调用,也可以通过出方向调用。
bgp 123
  peer 10.1.24.4 route-policy ogn import
# 配置完成查看R2的路由表,检查结果
[R2-bgp]display bgp routing-table 

 BGP Local router ID is 10.1.12.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         3.3.3.3         0          100        0      4i
 *                       10.1.24.4       0                     0      4e
[R2-bgp]
# 从路由表可以看到R2优选了从R3学到的IGP路由,而没有优选自己的EGP路由
# 在R3上修改origin属性为incomplete,证实E>?
route-policy origin permit node 10 
 apply origin incomplete
# 在R3的BGP下调用策略,在R1邻居上调用策略,使用出方向的方法,这样不会修改自身路由器所学到路由,只会对通告给R1的路由有影响。
# 查看R3的BGP路由表
[R3-bgp]display bgp routing-table

 BGP Local router ID is 10.1.13.3 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   4.4.4.4/32         10.1.34.4       0                     0      4i
 * i                     2.2.2.2         0          100        0      4e
[R3-bgp]
# 从上述路由表可以看到自己通过R4学到的路由是IGP的,优于EGP所以优选了从R4学到的路由,然后在看R1上的路由表
<R1>display bgp routing-table 

 BGP Local router ID is 10.1.12.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         2.2.2.2         0          100        0      4e
 * i                     3.3.3.3         0          100        0      4?
<R1>
# 从上述路由表可以看到R1上从R2学到的优选了,而没有优选从R3学到的,是因为R3学到的路由是incomplete。从而证实了I>E>?

ルーティングルールのルール6

同じ AS からのルートの場合、MED 値が最も低いルートが優先されます。

このルーティング ルールは 2 番目のルーティング ルールとはまったく逆で、local-preference はトラフィックが AS から出る方法を制御し、MED はトラフィックが AS に戻る方法を制御します。

MED の転送範囲は 2 つの AS 間でのみ伝送でき、3 番目の AS には伝送できません。たとえば、AS 10 が MED を AS 20 にアドバタイズすると、AS 20 は MED 属性を持ちますが、AS 20 が AS 30 にアドバタイズすると、MED 属性は持ちません。

MED の配信ルール:

MED は、EBGP ネイバーから学習したルートを自身の IBGP ネイバーに渡すことができます

EBGP ネイバーから学習したルートがそれ自体の EBGP ネイバーに渡される場合、MED は伝送されません。

IBGP ネイバーから学習したルートがそれ自体の EBGP ネイバーに渡される場合、MED は

MED機能:

この AS でアドバタイズされた BGP ルートの IGP オーバーヘッドを MED 値を通じて伝送し、ピア AS がローカル ルートの IGP オーバーヘッドを認識できるようにします。

デフォルトの医療:

BGP でデフォルト メディアを直接設定できますが、このコマンドはインポートされたルートと集約されたルートにのみ有効であり、独自の IBGP ネイバーではなく、独自の EBGP ネイバーにのみ渡されます。

制限:

デフォルトでは、ルーターは同じ AS 内のネイバーから BGP ルートを受信した場合にのみ MED 値を比較します。ルートが異なる AS からのものである場合、MED 値は比較しません。異なる AS の MED 値を比較する必要がある場合は、compare-Difference-as-med コマンドを設定する必要があります

目的

R2からR1にアクセスするコストは50、R3からR1にアクセスするコストは10である。R4がR1を訪問する場合、R3にアクセスすることが好ましい。

設定コマンド:

# 先看一下R4访问R1的默认选举
<R4>display bgp routing-table 

 BGP Local router ID is 10.1.24.4 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   4.4.4.4/32         0.0.0.0         0                     0      i
 *>   10.10.10.10/32     10.1.24.2                             0      123i
 *                       10.1.34.3                             0      123i
<R4>
# 从路由表可以看出,R4访问R1是通过router-id比较出优先走R2的,然后通过在R2和R3上配置使得R4通过MED优选R3
# 配置R2的路由策略,并且修改IGP的开销
route-policy med permit node 10 
 apply cost-type internal 
#
interface GigabitEthernet0/0/0
 isis cost 50
#BGP下调用策略
bgp 123
  peer 10.1.24.4 route-policy med export
#
# R3配置路由策略,并且调用策略
route-policy med permit node 10 
 apply cost-type internal 
#
bgp 123
  peer 10.1.34.4 route-policy med export
#配置完成,在R4上再次查看前往R1的选路
<R4>display bgp routing-table 

 BGP Local router ID is 10.1.24.4 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   4.4.4.4/32         0.0.0.0         0                     0      i
 *>   10.10.10.10/32     10.1.34.3                             0      123i
 *                       10.1.24.2       50                    0      123i
<R4>
# 根据路由表可以看到,R4选择了R3做为优选下一跳设备,使用该方法在没有对AS4进行配置时,从而影响了AS4的选路。

ルート選択ルール第7条

EBGP ルート、IBGP ルート、ローカル クロス ルート、リモート クロス ルートの順に優先します。

このルーティング ルールを理解すると、EBGP 近隣ピアから学習したルートの方が、IBGP 近隣ピアから学習したルートよりも優れているということになります。

目的:

R3 には 2 つのルート 4.4.4.4/32 があり、これらは R4 から学習され、R1 によって反映されます。R4 が学習したルートは EBGP タイプ、R1 が反映したルートは IBGP ルートです。ルーティング テーブルを観察して比較を確認してください。

設定コマンド:

# 查看R3的BGP路由表
[R3-bgp]display bgp routing-table

 BGP Local router ID is 10.1.13.3 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>   4.4.4.4/32         10.1.34.4       0                     0      4i
 * i                     2.2.2.2         0          100        0      4i
 *>i  10.10.10.10/32     1.1.1.1         0          100        0      i
[R3-bgp]
# 可以看到优选了下一跳为R4的路由表,然后看详细信息,查看下一跳为R2的路由为什么没被优选
[R3-bgp]display bgp routing-table 4.4.4.4

 BGP local router ID : 10.1.13.3
 Local AS number : 123
 Paths:   2 available, 1 best, 1 select
 BGP routing table entry information of 4.4.4.4/32:
 From: 10.1.34.4 (10.1.24.4)
 Route Duration: 04h43m10s  
 Direct Out-interface: GigabitEthernet0/0/1
 Original nexthop: 10.1.34.4
 Qos information : 0x0
 AS-path 4, origin igp, MED 0, pref-val 0, valid, external, best, select, active
, pre 255
 Advertised to such 1 peers:
    1.1.1.1
 BGP routing table entry information of 4.4.4.4/32:
 From: 1.1.1.1 (10.1.12.1)
 Route Duration: 03h21m11s  
 Relay IP Nexthop: 10.1.13.1
 Relay IP Out-Interface: GigabitEthernet0/0/0
 Original nexthop: 2.2.2.2
 Qos information : 0x0
 AS-path 4, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, pre 2
55, IGP cost 20, not preferred for peer type
 Originator:  10.1.12.2
 Cluster list: 10.1.12.1
 Not advertised to any peer yet
 # 通过以上回显可以看到没被优选的原因是  not preferred for peer type 不是对等体类型首选,可以理解为对等体类型就是EBGP和IBGP

ルーティングルールのルール8

BGP ネクストホップ IGP メトリック値が最小のルートを優先します

BGP ネクスト ホップ IGP のコスト値が小さいことがわかります。たとえば、異なるネクスト ホップを持つ 2 つのルートがあります。preferred-value は 0、local-prefreence は 100 で、どちらもピアを通じて学習されます。 . 、AS_PATH 長さは同じ、起点属性はすべて IGP、MED 値はすべて空です。これらはすべて IBGP ネイバーを通じて学習されます。最初の 7 つの項目を比較して、このルートの最適なルートを決定することはできません。次に、8 番目の項目が比較されます。上記の説明によれば、異なるネクスト ホップがある場合、このネクスト ホップへのルートが存在し、ネクスト ホップのルートは IGP を通じて学習され、R1 から R2 へのオーバーヘッドなどの IGP オーバーヘッドが発生します。が 20 で、R1 から R3 までのコストが 10 の場合、R3 が優先されます。

目的:

R1 が R4 にアクセスする場合、R2 が優先され、IGP のコスト値は R1 の R4 へのアクセスに影響を与えるように変更され、R3 が優先されます。

設定コマンド:

# 查看R1路由表,在没有做修改前优先选择的R2下一跳
<R1>display bgp  routing-table 

 BGP Local router ID is 10.1.12.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         2.2.2.2         0          100        0      4i
 * i                     3.3.3.3         0          100        0      4i
 *>   10.10.10.10/32     0.0.0.0         0                     0      i
<R1>
# 在R1上修改R1跟R2的互联的接口,修改ISIS开销值为20,增加开销
interface GigabitEthernet0/0/0
 isis cost 20
# 查看R1的路由表
[R1]display bgp routing-table

 BGP Local router ID is 10.1.12.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         3.3.3.3         0          100        0      4i
 * i                     2.2.2.2         0          100        0      4i
 *>   10.10.10.10/32     0.0.0.0         0                     0      i
[R1]
# 优选了R3做为下一跳设备

負荷分散

BGP ルート選択ルールでは、前の 8 つのルートのいずれも最適なルートを選択できない場合、BGP ロード バランシングを有効にすることができます。

注意すべき点:

このシナリオでは、デフォルトでは最初の 8 エントリのうち 4 番目の AS_PATH が同じである必要があり、PA_PATH 長が同じでも異なる AS に属している場合、負荷分散は実行できません。このシナリオでは、ロード バランシングを実装する必要がある場合は、AS_PATH チェックを無視するコマンドを使用できます。BGP でロード バランシング as-path-ignore コマンドを設定して、AS_PATH チェックを無視することができます。

目的:

デフォルトでは、BGP はロード バランシングを有効にしていないため、BGP ロード バランシングを手動で有効にする必要があります。R1 でロード バランシングを構成することにより、R1 と R4 の間のロード バランシングが実装されます。

# 先查看没有修改配置的R1到R4的路由表
[R1-bgp]display ip routing-table 4.4.4.4 
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 1
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        4.4.4.4/32  IBGP    255  0          RD   2.2.2.2         GigabitEthernet
0/0/0

[R1-bgp]
# 通过路由表看到只有一条路由
# 可以通过在R1的BGP下配置命令开启负载分担
bgp 123
  maximum load-balancing 8
# 再次查看R1的IP路由表
[R1-bgp]display ip routing-table 4.4.4.4
Route Flags: R - relay, D - download to fib
------------------------------------------------------------------------------
Routing Table : Public
Summary Count : 2
Destination/Mask    Proto   Pre  Cost      Flags NextHop         Interface

        4.4.4.4/32  IBGP    255  0          RD   2.2.2.2         GigabitEthernet
0/0/0
                    IBGP    255  0          RD   3.3.3.3         GigabitEthernet
0/0/1

[R1-bgp]
# 从上面路由表可以看到去往R4有了两个下一跳了,这是在IP路由表中的表现,其原理就是BGP路由表在加载到IP路由表的时候,如果前面八条都没有比较出来后,配置maximum load-balancing命令后,就会把没比较出来的也加载到IP路由表中去,但是在BGP路由表中还是一样的会比较出一个最优。查看BGP路由表时,可以看到依然只有一条是最优的。
[R1-bgp]display bgp routing-table 

 BGP Local router ID is 10.1.12.1 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 3
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         2.2.2.2         0          100        0      4i
 * i                     3.3.3.3         0          100        0      4i
 *>   10.10.10.10/32     0.0.0.0         0                     0      i
[R1-bgp]
# 通过第十条选路原则比较出的最优,而不会把两条路由都标识为最优路由

経路選択規則第9条

最も短いcluster_listを持つルートを優先します。このルーティング原則の意味は、リテラルの意味と同じです。RRシナリオでは、cluster_list属性があります。これはリストタイプで、AS_PATHに非常によく似ています。通過するたびに、 RR では、cluster_list レコードが追加されます。

9 番目のルーティング シナリオの実装をシミュレートするには、元のトポロジを変更し、階層型 RR シナリオに変更する必要があります。

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムが存在する可能性があります。画像を保存して直接アップロードすることをお勧めします (img-QCkF1Od7-1681473046862) (Huawei BGP ルーティング ルールの詳細な説明.assets/image- 20230413164802056.png)]

上記のトポロジでは、R3 は ASBR として機能し、R4 からルートを受信し、R5 にアドバタイズします。R5 はトップレベルの RR として機能します。R1 と R2 は両方とも R5 のクライアントとして機能します。R1 は、リフレクション ルーティングを実行する RR としても機能します。 R2で。

目的:

9番目の配線ルールを実験現象で検証する

設定コマンド:

# 根据以上描述进行配置R5
bgp 123
 peer 1.1.1.1 as-number 123 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 2.2.2.2 as-number 123 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 3.3.3.3 as-number 123 
 peer 3.3.3.3 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
  peer 1.1.1.1 reflect-client
  peer 2.2.2.2 enable
  peer 2.2.2.2 reflect-client
  peer 3.3.3.3 enable
#
#R1配置
bgp 123
 peer 2.2.2.2 as-number 123 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 5.5.5.5 as-number 123 
 peer 5.5.5.5 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.2.2 enable
  peer 2.2.2.2 reflect-client
  peer 5.5.5.5 enable
#
# 完成配置查看R2的路由表
<R2>display bgp routing-table 

 BGP Local router ID is 10.1.12.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 4
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         3.3.3.3         0          100        0      4i
 * i                     3.3.3.3         0          100        0      4i
 *>i  10.10.10.10/32     1.1.1.1         0          100        0      i
 * i                     1.1.1.1         0          100        0      i
<R2>
# 通过上面可以看到有两条下一跳为3.3.3.3的路由,但是看起来都一模一样,看不出来区别,需要看详细信息。使用命令查看详细信息
<R2>display bgp routing-table 4.4.4.4 

 BGP local router ID : 10.1.12.2
 Local AS number : 123
 Paths:   2 available, 1 best, 1 select
 BGP routing table entry information of 4.4.4.4/32:
 From: 5.5.5.5 (5.5.5.5)
 Route Duration: 00h08m35s  
 Relay IP Nexthop: 10.1.25.5
 Relay IP Out-Interface: GigabitEthernet0/0/2
 Original nexthop: 3.3.3.3
 Qos information : 0x0
 AS-path 4, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, best,
 select, active, pre 255, IGP cost 20
 Originator:  10.1.13.3
 Cluster list: 5.5.5.5
 Not advertised to any peer yet

 BGP routing table entry information of 4.4.4.4/32:
 From: 1.1.1.1 (10.1.12.1)
 Route Duration: 00h11m07s  
 Relay IP Nexthop: 10.1.25.5
 Relay IP Out-Interface: GigabitEthernet0/0/2
 Original nexthop: 3.3.3.3
 Qos information : 0x0
 AS-path 4, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, pre 2
55, IGP cost 20, not preferred for Cluster List
 Originator:  10.1.13.3
 Cluster list: 10.1.12.1, 5.5.5.5
 Not advertised to any peer yet

<R2>
# 根据以上命令回显可以看到,在下方的回显中 Cluster list: 不一样,而没有优选的原因为not preferred for Cluster List。

ルート選択ルール10

最小のルータ ID を持つデバイスによって公開されたルートを優先します (ルートにoriginator_ID 属性が含まれている場合、ルート選択プロセス中にoriginator_ID のサイズが比較され、ルータ ID は比較されなくなり、ルートは最小のoriginator_IDが優先されます)

10 番目のルーティング原則を実装するには、ルータ ID を事前に常にこの方法で比較するという 2 つの概念があり、もう 1 つは、RR を通過した後、originator_ID 属性が存在する場合はルータの比較を行わないという 2 つの概念があります。 id の場合、以下では変更されたトポロジを使用して、originator_ID の比較を反映します。

目的:

実験により、originator_ID 選出の現象が示される

設定コマンド:

# 配置R1跟R6建立BGP邻居,配置R5跟R6建立BGP邻居,并且配置为反射客户端
# R6配置
bgp 123
 peer 1.1.1.1 as-number 123 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 5.5.5.5 as-number 123 
 peer 5.5.5.5 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
  peer 5.5.5.5 enable
#
# 在R6上查看路由表
[R6-bgp]display bgp routing-table 

 BGP Local router ID is 6.6.6.6 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         2.2.2.2         0          100        0      4i
 * i                     3.3.3.3         0          100        0      4i
[R6-bgp]
# 可以看到优选了R2的,查看详细信息
[R6-bgp]display bgp routing-table 4.4.4.4

 BGP local router ID : 6.6.6.6
 Local AS number : 123
 Paths:   2 available, 1 best, 1 select
 BGP routing table entry information of 4.4.4.4/32:
 From: 1.1.1.1 (10.1.12.1)
 Route Duration: 00h14m51s  
 Relay IP Nexthop: 10.1.16.1
 Relay IP Out-Interface: GigabitEthernet0/0/0
 Original nexthop: 2.2.2.2
 Qos information : 0x0
 AS-path 4, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, best,
 select, active, pre 255, IGP cost 20
 Originator:  10.1.12.2
 Cluster list: 10.1.12.1
 Not advertised to any peer yet

 BGP routing table entry information of 4.4.4.4/32:
 From: 5.5.5.5 (5.5.5.5)
 Route Duration: 00h05m56s  
 Relay IP Nexthop: 10.1.56.5
 Relay IP Out-Interface: GigabitEthernet0/0/1
 Original nexthop: 3.3.3.3
 Qos information : 0x0
 AS-path 4, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, pre 2
55, IGP cost 20, not preferred for router ID
 Originator:  10.1.13.3
 Cluster list: 5.5.5.5
 Not advertised to any peer yet

[R6-bgp]
# 查看详细信息可以看到,两条路由都携带了Originator属性,但是都不一样,从而比较了Originator属性的大小。在存在Originator属性的情况下,是不会比较router-id的。

ルート選択ルール 11

最小の IP アドレスを持つピアから学習したルートを優先します。

ルート選択の最後のルールはピアのアドレスを比較することですが、11 番目のルールはいつ使用されるのでしょうか?

目的:

最後のルーティング ルールの比較を通じて最適なパスが見つかるように実験を構成します。トポロジーの変更が必要です

R3はR4の経路を学習し、R5とR1がRRとしてR2に反映しますが、このときR2のルーティングテーブルにはR4の経路が2つ存在します。

設定コマンド:

# 配置R3,跟R1和R5建立邻居
bgp 123
 peer 1.1.1.1 as-number 123 
 peer 1.1.1.1 connect-interface LoopBack0
 peer 5.5.5.5 as-number 123 
 peer 5.5.5.5 connect-interface LoopBack0
 peer 10.1.34.4 as-number 4 
 #
 ipv4-family unicast
  undo synchronization
  peer 1.1.1.1 enable
  peer 1.1.1.1 next-hop-local 
  peer 5.5.5.5 enable
  peer 5.5.5.5 next-hop-local 
  peer 10.1.34.4 enable
# 配置R5跟R2和R3建立邻居,并且配置路由反射
bgp 123
 peer 2.2.2.2 as-number 123 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 3.3.3.3 as-number 123 
 peer 3.3.3.3 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.2.2 enable
  peer 2.2.2.2 reflect-client
  peer 3.3.3.3 enable
  peer 3.3.3.3 reflect-client
# 配置R1,跟R5一样
bgp 123
 peer 2.2.2.2 as-number 123 
 peer 2.2.2.2 connect-interface LoopBack0
 peer 3.3.3.3 as-number 123 
 peer 3.3.3.3 connect-interface LoopBack0
 #
 ipv4-family unicast
  undo synchronization
  peer 2.2.2.2 enable
  peer 2.2.2.2 reflect-client
  peer 3.3.3.3 enable
  peer 3.3.3.3 reflect-client
# 查看R2的路由表
[R2-bgp]display bgp routing-table

 BGP Local router ID is 10.1.12.2 
 Status codes: * - valid, > - best, d - damped,
               h - history,  i - internal, s - suppressed, S - Stale
               Origin : i - IGP, e - EGP, ? - incomplete


 Total Number of Routes: 2
      Network            NextHop        MED        LocPrf    PrefVal Path/Ogn

 *>i  4.4.4.4/32         3.3.3.3         0          100        0      4i
 * i                     3.3.3.3         0          100        0      4i
[R2-bgp]
# 可以看到存在着两条R4的路由,然后通过查看详细信息,看是什么原因下面那条没被优选的
[R2-bgp]display bgp routing-table 4.4.4.4

 BGP local router ID : 10.1.12.2
 Local AS number : 123
 Paths:   2 available, 1 best, 1 select
 BGP routing table entry information of 4.4.4.4/32:
 From: 1.1.1.1 (10.1.12.1)
 Route Duration: 00h01m11s  
 Relay IP Nexthop: 10.1.12.1
 Relay IP Out-Interface: GigabitEthernet0/0/0
 Original nexthop: 3.3.3.3
 Qos information : 0x0
 AS-path 4, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, best,
 select, active, pre 255, IGP cost 20
 Originator:  10.1.13.3
 Cluster list: 10.1.12.1
 Not advertised to any peer yet

 BGP routing table entry information of 4.4.4.4/32:
 From: 5.5.5.5 (5.5.5.5)
 Route Duration: 00h08m18s  
 Relay IP Nexthop: 10.1.12.1
 Relay IP Out-Interface: GigabitEthernet0/0/0
 Original nexthop: 3.3.3.3
 Qos information : 0x0
 AS-path 4, origin igp, MED 0, localpref 100, pref-val 0, valid, internal, pre 2
55, IGP cost 20, not preferred for peer address
 Originator:  10.1.13.3
 Cluster list: 5.5.5.5
 Not advertised to any peer yet

[R2-bgp]
# 查看详细信息可以看到,是因为not preferred for peer address才没有被优选的,然后通过上面的信息可以看到在携带了Originator: 属性的情况下,是没有比较router-id的,而此时是要比较Originator,但是都一样比较不出来,所以才比较到了具有最小IP address的对等体学来的路由。

おすすめ

転載: blog.csdn.net/qq_41816198/article/details/130160883