概要

CiscoルータでBGPルートを集約するためのaggregate-addressコマンドにはたくさんのオプションがあります。オプションは、以下の2つにわかれます。

  • 集約前のルートをどう扱うか
  • 集約ルートのアトリビュートをどうするか

summary-onlyオプションは、「集約前のルートをどう扱うか」に関するオプションです。summary-onlyのオプションを指定すると、集約ルートのみをアドバタイズします。summary-onlyオプションについて詳しく解説します。

aggregate-addressコマンドのオプション : summary-only

単純にaggregate-addressコマンドで集約ルートを生成すると、集約ルートの範囲内のルートもすべてアドバタイズされます。通常、ルートを集約すると集約ルートのみがアドバタイズされるので、アドバタイズされるルートは少なくなります。ところが、BGPのデフォルトでは、集約してもアドバタイズされるルートは少なくなりません。

集約ルートの範囲内のルートはアドバタイズせずに、集約ルートだけをアドバタイズしたいときに利用するのがsummary-onlyオプションです。summary-onlyオプションをつけることによって、名前のとおり、「集約ルートだけ」をアドバタイズすることができます。

図 summary-onlyオプションの動作
図 summary-onlyオプションの動作

summary-onlyのオプションの設定は特別な引数は必要ありません。summary-onlyオプションを利用するときのコマンドは以下の通りです。

aggregate-address summary-only

(config)#router bgp <AS>
(config-router)#aggregate-address <network-address> <subnetmask> summary-only

<AS> : AS番号
<network-address> : 集約ルートのネットワークアドレス
<subnetmask> : 集約ルートのサブネットマスク

summary-onlyオプションを設定した場合、BGPテーブル上で集約前ルートのエントリには「s」と表示されるようになります。「s」はsuppressed(送信が抑制されている)でルートが送信されないことを表しています。

summary-only設定時のBGPテーブルの例

R1#show ip bgp
BGP table version is 83, local router ID is 192.168.123.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
*> 123.1.0.0/16     0.0.0.0                            32768 i
s> 123.1.1.0/24     0.0.0.0                  0         32768 i
s> 123.1.2.0/24     0.0.0.0                  0         32768 i
s> 123.1.3.0/24     0.0.0.0                  0         32768 i

aggregate-address summary-onlyオプションの設定例

ネットワーク構成と初期設定

次のネットワーク構成でR1でaggregate-addressのsummary-onlyオプションの設定を行います。

図  aggregate-address summary-onlyオプションの設定例 ネットワーク構成
図 aggregate-address summary-onlyオプションの設定例 ネットワーク構成

aggregate-addressを設定する前のR1のBGPに関連する設定は次のとおりです。

R1 初期設定

interface Loopback0
 ip address 123.1.2.1 255.255.255.0 secondary
 ip address 123.1.3.1 255.255.255.0 secondary
 ip address 123.1.4.1 255.255.255.0 secondary
 ip address 123.1.5.1 255.255.255.0 secondary
 ip address 123.1.6.1 255.255.255.0 secondary
 ip address 123.1.7.1 255.255.255.0 secondary
 ip address 123.1.1.1 255.255.255.0
!
router bgp 123
 neighbor 14.0.0.4 remote-as 4
 neighbor 192.168.123.3 remote-as 123
 network 123.1.1.0 mask 255.255.255.0
 network 123.1.2.0 mask 255.255.255.0
 network 123.1.3.0 mask 255.255.255.0
 network 123.1.4.0 mask 255.255.255.0
 network 123.1.5.0 mask 255.255.255.0
 network 123.1.6.0 mask 255.255.255.0
 network 123.1.7.0 mask 255.255.255.0

R1ではBGPネイバーの設定とnetworkコマンドでBGPルート 123.1.1.0/24~123.1.7.0/24を生成しています。ルートをアドバタイズするためにLoopback0インタフェースに、セカンダリアドレスをたくさん設定しています。Loopbackインタフェースをいくつも作るより、この例のように1つのLoopbackインタフェースにセカンダリアドレスを設定するほうがシンプルになるのでオススメです。

通常の集約の設定 summary-onlyなし

まず、通常の集約の設定、つまりオプションなしでaggregate-addressコマンドを設定します。AS123の123.1.x.xのルートを集約して123.1.0.0/16としてアドバタイズします。アドバタイズするルータはR1です。

R1 aggregate-address

router bgp 123
 aggregate-address 123.1.0.0 255.255.0.0

このコマンドによって集約ルートが生成されR1のBGPテーブルに載り、ネイバーにアドバタイズされます。summary-onlyオプションをつけなければ、集約前のルートも一緒にアドバタイズされます。これを確認するためにBGPテーブルを見ます。

R1 show ip bgp

R1#sh ip bgp
BGP table version is 72, local router ID is 192.168.123.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
*> 123.1.0.0/16     0.0.0.0                            32768 i
*> 123.1.1.0/24     0.0.0.0                  0         32768 i
*> 123.1.2.0/24     0.0.0.0                  0         32768 i
*> 123.1.3.0/24     0.0.0.0                  0         32768 i
*> 123.1.4.0/24     0.0.0.0                  0         32768 i
*> 123.1.5.0/24     0.0.0.0                  0         32768 i
*> 123.1.6.0/24     0.0.0.0                  0         32768 i
*> 123.1.7.0/24     0.0.0.0                  0         32768 i

BGPテーブルを確認すると、集約ルート123.1.0.0/16 が生成されベストパスとなりネイバーにアドバタイズされていることがわかります。それと同時に集約前の123.1.1.0/24~123.1.7.0/24のルートもアドバタイズされています。

図 aggregate-address summary-onlyなし
図 aggregate-address summary-onlyなし

以上のように、普通にaggregate-addressコマンドで集約ルートを生成すると、集約前のルートもすべてアドバタイズされます。

summary-onlyオプション

集約前ルートはアドバタイズせずに、集約ルートだけをアドバタイズしたいときに利用するのがsummary-onlyオプションです。R1で次のように設定します。

R1 aggregate-address summary-only

router bgp 123
 aggregate-address 123.1.0.0 255.255.0.0 summary-only

この設定で、集約ルートだけのアドバタイズに変わります。それを確認するには、R1のBGPテーブルを見ればわかります。R1のBGPテーブルは次のようになっています。

R1 show ip bgp

R1#sh ip bgp
BGP table version is 83, local router ID is 192.168.123.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
*> 123.1.0.0/16     0.0.0.0                            32768 i
s> 123.1.1.0/24     0.0.0.0                  0         32768 i
s> 123.1.2.0/24     0.0.0.0                  0         32768 i
s> 123.1.3.0/24     0.0.0.0                  0         32768 i
s> 123.1.4.0/24     0.0.0.0                  0         32768 i
s> 123.1.5.0/24     0.0.0.0                  0         32768 i
s> 123.1.6.0/24     0.0.0.0                  0         32768 i
s> 123.1.7.0/24     0.0.0.0                  0         32768 i

集約前のルート123.1.1.0/24~123.1.7.0/24のエントリの前に「s」が付きました。「s」はStatus codesのところにも記載されているように「suppressed」を表します。日本語では「抑制」です。つまり、集約前のルートがアドバタイズされなくなっています。

図 aggregate-address summary-onlyオプション
図 aggregate-address summary-onlyオプション

まとめ

ポイント

  • summary-onlyは集約前ルートをどうするかについてのオプション
  • summary-onlyによって集約前ルートをアドバタイズせず、集約ルートのみをアドバタイズする

BGPの仕組み