R1でshow ip bgpを実行すると
R1#sho ip bgp Network Next Hop Metric LocPrf Weight Path *> 192.168.102.0 192.168.101.2 0 32768 64513 i ※1 * 192.168.101.18 80 0 64517 i ※2 * i 192.168.101.14 80 80 0 64516 i ※3
ベストパスは※1である。
この時、192.168.101.2のルータ(図でいうRT5)がダウンしたら、 ベストパスはどれになるか?
この時、192.168.101.2のルータ(図でいうRT5)がダウンしたら、 ベストパスはどれになるか?
現在のベストパスはweightが設定されている。
weightはciscoルータがBGPのベストパスを選択するときに比較する最初の条件である。
この経路以外はWeightは設定されていない。
Weightの次に比較するのはlocal preference である。
残りの2経路のLocPrfを見ると、一つは空欄、もう一つは80である。
この時、どちらの経路が採用されるか?
そもそも、※2のlocPrfはなぜ空欄なのか?
それは、※2の経路はeBGPのネイバーから受信したprefixだからである。
逆に言うと、BGPテーブルを表示したときにLocPrfが空欄のprefixは、
eBGPから受信したものだとわかる。
eBGPから受信した経路にはlocPrfは「無い」のである。
では、ベストパスの2番目の比較が行われるときに、※2と※3の比較はどうなるのか?
locPrfがない経路より、80が設定されている※3の方が強いのか?
これは考えてもわからない。
こういう場合、LocPrfがないeBGPネイバーから受信したprefixはLocPrfがデフォルト値の100であるとして比較をおこなうことになっている。
だから、RT5がダウンしたらベストパスは ※2になる。
実際にやってみた。
R1#sho ip bgp Network Next Hop Metric LocPrf Weight Path *> 192.168.102.0 192.168.101.2 0 32768 64513 i * 192.168.101.18 80 0 64517 i * i 192.168.101.14 80 80 0 64516 i ※RT5を落とす *Mar 29 04:29:31.095: %BGP-3-NOTIFICATION: sent to neighbor 192.168.101.2 4/0 (hold time expired) 0 bytes *Mar 29 04:29:31.095: %BGP-5-NBR_RESET: Neighbor 192.168.101.2 reset (BGP Notification sent) *Mar 29 04:29:31.095: %BGP-5-ADJCHANGE: neighbor 192.168.101.2 Down BGP Notification sent *Mar 29 04:29:31.095: %BGP_SESSION-5-ADJCHANGE: neighbor 192.168.101.2 IPv4 Unicast topology base removed from session BGP Notification sent R1#sh ip bgp summary Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 192.168.101.2 4 64513 0 0 1 0 0 00:00:07 Idle 192.168.101.14 4 64512 10 11 3 0 0 00:05:09 1 192.168.101.18 4 64517 10 11 3 0 0 00:05:09 1 ※新しいベストパスが選択される R1#sh ip bgp Network Next Hop Metric LocPrf Weight Path *> 192.168.102.0 192.168.101.18 80 0 64517 i * i 192.168.101.14 80 80 0 64516 i