BGPの応用設定(その2)

※Packet Tracer では、iBGPをサポートしていないため、BGPのごく一部の機能しか試すことができません。細かな機能の検証については、実機が必要です。ここでは、実機で検証した結果を紹介しています。

 今回、検証に使用したのは、Cisco2500シリーズのルータです。Cisco2500ルータは、中古で安く入手できるコストパフォーマンスに優れたルータです。

BGPの応用設定(その1)」の続きです。

BGPを設定したはずなのに、Router_Cでは、BGPによる「10.10.10.0」のルートがありません。

 ここでは、なぜ、Router_Cのルーティングテーブルに「10.10.10.0」のBGPルートが反映されないのかを検証してゆきます。

それは、「Next Hop」属性が、影響しているからです。

それでは、検証していきます。

BGPテーブルを確認してみます。BGPテーブルの内容を確認するには、以下のコマンドを使用します。

Router#show ip bgp

Router_BのBGPテーブルを確認します。

Router_B#show ip bgp
BGP table version is 2, local router ID is 172.17.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop          Metric LocPrf Weight Path
*> 10.10.10.0/24    172.16.0.1             0             0 100 i

AS100内の「10.10.10.0/24」の経路情報があります。

「*」は、その経路情報が有効であることを示しており、「>」は、ベストパスであることを示しています。

●近接ルータの情報を確認する

近接ルータの情報を確認するには、以下のコマンドを使用します。

Router#show ip bgp summary

Router_Bで、「show ip bgp summary」を実行します。

Router_B#show ip bgp summary
BGP table version is 2, main routing table version 2
1 network entries (1/2 paths) using 176 bytes of memory
1 BGP path attribute entries using 92 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State
172.16.0.1      4   100      83      82        2    0    0 01:19:57
172.17.0.2      4   200      78      79        2    0    0 01:15:50

ピア接続について、さらに詳細情報を確認したい場合には、次のコマンドを使用します。

Router#show ip bgp neighbors

Router_Bで「show ip bgp neighbors」を実行します。

Router_B#show ip bgp neighbors
BGP neighbor is 172.16.0.1,  remote AS 100, external link
 Index 1, Offset 0, Mask 0x2
  BGP version 4, remote router ID 172.16.0.1
  BGP state = Established, table version = 2, up for 01:10:59
  Last read 00:00:59, hold time is 180, keepalive interval is 60 seconds
  Minimum time between advertisement runs is 30 seconds
  Received 74 messages, 0 notifications, 0 in queue
  Sent 73 messages, 0 notifications, 0 in queue
  Connections established 1; dropped 0
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Local host: 172.16.0.2, Local port: 11000
Foreign host: 172.16.0.1, Foreign port: 179

(途中略)

BGP neighbor is 172.17.0.2,  remote AS 200, internal link
 Index 0, Offset 0, Mask 0x0
  BGP version 4, remote router ID 172.17.0.2
  BGP state = Established, table version = 2, up for 01:06:58
  Last read 00:00:58, hold time is 180, keepalive interval is 60 seconds
  Minimum time between advertisement runs is 5 seconds
  Received 69 messages, 0 notifications, 0 in queue
  Sent 70 messages, 0 notifications, 0 in queue
  Connections established 1; dropped 0
Connection state is ESTAB, I/O status: 1, unread input bytes: 0
Local host: 172.17.0.1, Local port: 11002
Foreign host: 172.17.0.2, Foreign port: 179

(途中略)

Datagrams (max data segment is 1460 bytes):
Rcvd: 130 (out of order: 0), with data: 70, total data bytes: 1340
Sent: 103 (retransmit: 0), with data: 71, total data bytes: 1399

 「show ip bgp summary」コマンド、「show ip bgp neighbors」の出力結果の黄色の網掛け部分から分かるように、Router_Bは、Router_Cと経路情報を送受信していることが確認できます。

しかし、Router_Cには、AS100内にある「10.10.10.0」のルートがありません。

Router_Cで、BGPテーブルを確認します。

Router_C#show ip bgp
BGP table version is 1, local router ID is 172.17.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop          Metric LocPrf Weight Path
* i10.10.10.0/24    172.16.0.1             0    100      0 100 i

上の黄色の網掛けを見て下さい。黄色の網掛け部分から以下のことが分かります。

「*」は、「10.10.10.0/24」の経路情報は有効であることを示していますが、「>」が付いていない。

「10.10.10.0/24」の前に「i」が表示されていることから、iBGPで学習している。

つまり、「10.10.10.0/24」は、ベストパスではないことを示しています。

Router_Cのルーティングテーブルを確認します。

Gateway of last resort is not set

C    172.17.0.0/16 is directly connected, Serial0

 つまり、「10.10.10.0/24」の経路情報をBGPで受け取っているが、ルーティングテーブルに反映させていないのです。

Router_BとRouter_CのBGPテーブルをもう一度確認してみます。

●Router_BのBGPテーブル

Router_B#show ip bgp
BGP table version is 2, local router ID is 172.17.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop          Metric LocPrf Weight Path
*> 10.10.10.0/24    172.16.0.1             0             0 100 i

●Router_CのBGPテーブル

Router_C#show ip bgp
BGP table version is 1, local router ID is 172.17.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop          Metric LocPrf Weight Path
* i10.10.10.0/24    172.16.0.1             0    100      0 100 i

「Next Hop」が共に、「172.16.0.1」になっています。

 Router_Bにおいて、「10.10.10.0/24」の「Next Hop」が「172.16.0.1」になっているのは、理解できますが、Router_Cにおいて、「10.10.10.0/24」の「Next Hop」が「172.16.0.1」になっています。何か変ですよね!

「172.16.0.1」の経路情報の詳細をRouter_Cで確認してみます。

Router_C#show ip bgp 10.10.10.0

Router_C#show ip bgp 10.10.10.0
BGP routing table entry for 10.10.10.0/24, version 0
Paths: (1 available, no best path)
  100
    172.16.0.1 (inaccessible) from 172.17.0.1
      Origin IGP, metric 0, localpref 100, valid, internal

上の水色のマーカーを見て下さい。「inaccessible」と表示されています。これは、到達できないことを意味しています。

※inaccessible:  近づきにくい; 到達しがたい

ちょっと不思議に思うかもしれませんが、

iBGPで経路情報を送る時には、「Next Hop」を変更しないのです。

そのため、Router_Cでは、「Next Hop」に到達できず、ルーティングテーブルに反映されないのです。

「172.16.0.1」に到達できないわけですから、このルートに到達できるように静的ルートで追加してみます。

Router_Cで「172.16.0.0/16」の経路を追加します。

Router_C(config)#ip route 172.16.0.0 255.255.0.0 172.17.0.1

再度、Router_Cのルーティングテーブルを確認してみます。

Gateway of last resort is not set

     10.0.0.0/24 is subnetted, 1 subnets
B       10.10.10.0 [200/0] via 172.16.0.1, 00:01:20
S    172.16.0.0/16 [1/0] via 172.17.0.1
C    172.17.0.0/16 is directly connected, Serial0

 ルーティングテーブルに、BGPによる「10.10.10.0/24」のルートが追加されました。「via 172.16.0.1」は、隣接ルータのIPアドレスではありまえんが。

Router_CのBGPテーブルを確認してみます。

Router_C#show ip bgp
BGP table version is 2, local router ID is 172.17.0.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop          Metric LocPrf Weight Path
*>i10.10.10.0/24    172.16.0.1             0    100      0 100 i

「10.10.10.0/24」の経路情報は、「>」が付き、ベストパスに変化しました。

これで、やっと、Router_Aから、BGPで流した「10.10.10.0/24」がRouter_Cに届きました。

この続きの「BGPの応用設定(その3)」では、iBGP、eBGPの確認を行います。

関連コンテンツ