【BGP】ベストパス選定(bgp bestpath compare-routerid )

 BGPのベストパス選定は、以下の優先順位で行われます。

  1. Weightが最も大きい方を優先
  2. Local Preferenceが最も大きい方を優先
  3. ローカルで生成されたプレフィックスを優先
  4. AS-PATHの最も短い方が優先
  5. Originが最も小さい方が優先(IGP < Incomplete)
  6. MEDが最も小さい方が優先
  7. 内部BGPパスよりも外部BGPパスを優先
  8. NEXT-HOP IPアドレスに到達するIGPメトリックが最小のパスを優先
  9. 先に受信したeBGP経路を優先
  10. 最小のBGPルーターIDを持つルーターから発信されたパスを優先
  11. BGPピアのIPアドレスが最小のルートを優先

 Ciscoでは、 外部BGP経路で同じプレフィックスで属性値などが同じ場合、最後のタイブレークはデフォルトで、「9 先に受信したeBGP経路を優先」 が採用されます。

内部BGP経路の場合は、タイブレークにルータIDの比較が採用されます。

 「9. 先に受信したeBGP経路を優先」 を無視することで、優先順位の10,11のようなルータIDやピアのアドレスを比較させることができます。

「9. 先に受信したeBGP経路を優先」を無視するには、 bgp bestpath compare-routerid を設定します。

 BGPベストパス選定について理解を深めるには、以下の記事を先に読んでいただくことをお勧めします。

  >> 参考 :  ベストパス選定(PART1 アルゴリズム)
  >> 参考 :  ベストパス選定(PART2 動作確認)

 以下の構成で検証します。R2とR3から同一ルート(23.23.23.23/32)を広告し、R6がR2、R3のどちらをベストパスに選ぶのか、を見ていきます。

R2(config)# router bgp 23 
R2(config-router)#  bgp router-id 2.2.2.2 
R2(config-router)#  network 23.23.23.23 mask 255.255.255.255 
R2(config-router)#  neighbor 192.168.26.6 remote-as 6 
R3(config)# router bgp 23 
R3(config-router)#  bgp router-id 3.3.3.3 
R3(config-router)#  network 23.23.23.23 mask 255.255.255.255 
R3(config-router)#  neighbor 192.168.36.6 remote-as 6 
R6(config)# router bgp 6 
R6(config-router)#  neighbor 192.168.26.2 remote-as 23 
R6(config-router)#  neighbor 192.168.36.3 remote-as 23 
スポンサーリンク

デフォルトのタイブレーク確認

 R6のBGPテーブルを確認します。R2、R3からの外部BGPルートで属性値が同じで、最終的に、タイブレークになり、R3をベストパスとして認識しています。R3をベストパスとして選定したのは、R3からの経路をR2よりはやく学習したからです。

R6# show ip bgp
BGP table version is 2, local router ID is 6.6.6.6
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  23.23.23.23/32   192.168.36.3             0             0 23 i
 *                    192.168.26.2             0             0 23 I

R6# show ip bgp 23.23.23.23
BGP routing table entry for 23.23.23.23/32, version 2
Paths: (2 available, best #1, table default)
  Advertised to update-groups:
     7         
  Refresh Epoch 1
  23
    192.168.36.3 from 192.168.36.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, external, best
  Refresh Epoch 1
  23
    192.168.26.2 from 192.168.26.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, external
スポンサーリンク

ルータIDによるベストパス選定

 ルータIDの比較によるベストパスの選定を有効にするのは、以下の通り設定します。

R6(config)# router bgp 6
R6(config-router)# bgp bestpath compare-routerid

 BGPセッションをクリアします。

R6# clear ip bgp *
R6#
%BGP-5-ADJCHANGE: neighbor 192.168.26.2 Down User reset
%BGP_SESSION-5-ADJCHANGE: neighbor 192.168.26.2 IPv4 Unicast topology base removed 
from session  User reset
%BGP-5-ADJCHANGE: neighbor 192.168.36.3 Down User reset
%BGP_SESSION-5-ADJCHANGE: neighbor 192.168.36.3 IPv4 Unicast topology base removed 
from session  User reset
%BGP-5-ADJCHANGE: neighbor 192.168.36.3 Up 
%BGP-5-ADJCHANGE: neighbor 192.168.26.2 Up

 R6のBGPテーブルを確認します。R2のルータID(2.2.2.2)がR3のルータID (3.3.3.3)より小さいため、R2へのパスをベストパスとして選定します。

R6# show ip bgp
BGP table version is 3, local router ID is 6.6.6.6
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  23.23.23.23/32   192.168.26.2             0             0 23 i
 *                    192.168.36.3             0             0 23 i

R6# show ip bgp 23.23.23.23
BGP routing table entry for 23.23.23.23/32, version 3
BGP Bestpath: compare-routerid
Paths: (2 available, best #1, table default)
  Advertised to update-groups:
     8         
  Refresh Epoch 1
  23
    192.168.26.2 from 192.168.26.2 (2.2.2.2)
      Origin IGP, metric 0, localpref 100, valid, external, best
  Refresh Epoch 1
  23
    192.168.36.3 from 192.168.36.3 (3.3.3.3)
      Origin IGP, metric 0, localpref 100, valid, external

その他 BGP関連記事は   >>  ルーティングプロトコル(BGP)まとめ << より参照できます。

コメント