BGPルートの生成(経路集約 その2)

 「BGPルートの生成(経路集約 その1)」で構築したBGPネットワークに、経路集約の設定を加えていきます。

ネットワーク構成は、下図になります。

 Router_Bで、以下のように経路集約を行います。

AS100の経路集約経路
192.168.4.0/24
192.168.5.0/24
192.168.6.0/24
192.168.7.0/24
192.168.4.0/22
経路集約

BGPルートの生成(経路集約 その1)」で構築したBGPネットワークに、経路集約の設定を加えていきます。

ネットワーク構成は、下図になります。

経路集約の設定

 BGPで経路集約の設定を行うには、ルーティングコンフィグレーションモードで、「aggregate-address」コマンドを使用します。

コマンドは、以下のようになります。

Router(config-router)#aggregate-address {network} {mask} {オプション}

<オプションの指定>

 オプションの指定は、いろいろな組み合わせで設定できますが、ここでは、下のオプション指定して検証してゆきます。

as-set通知する集約経路を指定します。集約の基となった経路も通知されます。
as-set summary-only 通知する集約経路を指定します。集約された経路だけが通知されます。集約の基となった経路は通知されません。

それでは、まず、「as-set」を指定した場合、どうなるのかを検証してゆきましょう。

Router_Bに次の設定を加えます。

Router_B(config)#router bgp 200
Router_B(config-router)#aggregate-address 192.168.4.0 255.255.252.0 as-set

Router_Bのルーティングテーブルを確認してみます。


Gateway of last resort is not set

B    192.168.4.0/24 [20/0] via 172.16.0.1, 00:33:34
B    192.168.5.0/24 [20/0] via 172.16.0.1, 00:33:34
B    192.168.6.0/24 [20/0] via 172.16.0.1, 00:33:34
B    192.168.7.0/24 [20/0] via 172.16.0.1, 00:33:34
C    172.16.0.0/16 is directly connected, Serial0
C    172.17.0.0/16 is directly connected, Serial1
B    192.168.4.0/22 [200/0] via 0.0.0.0, 00:07:09, Null0

B 192.168.4.0/22 [200/0] via 0.0.0.0, 00:07:09, Null0

より、「192.168.4.0/22」が追加されたことが確認できます。

また、「Null0」より「192.168.4.0/22」が集約経路であることが分かります。

今度は、

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

Router_C#show ip bgp
BGP table version is 6, 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
*>i192.168.4.0      172.17.0.1             0    100      0 100 i
*>i192.168.4.0/22   172.17.0.1                  100      0 100 i
*>i192.168.5.0      172.17.0.1             0    100      0 100 i
*>i192.168.6.0      172.17.0.1             0    100      0 100 i
*>i192.168.7.0      172.17.0.1             0    100      0 100 i

集約された経路「192.168.4.0/22」がありますね!

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

Gateway of last resort is not set

B    192.168.4.0/24 [200/0] via 172.17.0.1, 00:32:01
B    192.168.5.0/24 [200/0] via 172.17.0.1, 00:32:02
B    192.168.6.0/24 [200/0] via 172.17.0.1, 00:32:02
B    192.168.7.0/24 [200/0] via 172.17.0.1, 00:32:02
C    172.17.0.0/16 is directly connected, Serial0
B    192.168.4.0/22 [200/0] via 172.17.0.1, 00:05:37

集約された経路「192.168.4.0/22」があります。

 しかし、集約の基になった、「192.168.4.0/24」、「192.168.5.0/24」、「192.168.6.0/24」、「192.168.7.0/24」の経路情報も存在します。

そもそも、経路集約を行うのは、ルーティングテーブルのサイズを小さくしてルータの負荷を軽減させるためです。

これでは、経路集約を行った意味がありません。

 そこで、今度は、集約された経路だけを通知するように、「aggregate-address」コマンドに「as-set summary-only」オプションを指定して検証してみます。

Router_Bで先ほど指定した経路集約の設定を削除します。

Router_B(config)#router bgp 200
Router_B(config-router)#no aggregate-address 192.168.4.0 255.255.252.0 as-set

Router_Bに次の設定を加えます

Router_B(config-router)#aggregate-address 192.168.4.0 255.255.252.0 as-set summary-only

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
*>i192.168.4.0/22   172.17.0.1                  100      0 100 i

集約された経路「192.168.4.0/22」のみになりました。

 集約の基になった、「192.168.4.0/24」、「192.168.5.0/24」、「192.168.6.0/24」、「192.168.7.0/24」の経路情報は、通知されなくなりました。

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

Gateway of last resort is not set

C    172.17.0.0/16 is directly connected, Serial0
B    192.168.4.0/22 [200/0] via 172.17.0.1, 00:01:45

 これで、「as-set summary-only」オプションを指定すると集約した経路だけ通知されるということが確認できました。

次の「BGPルートの生成(経路集約 その3)」では、複数のAS内の経路を集約させる演習を行います。