aggregate-addressコマンドのsuppress-mapオプション

選択型集約とは、BGPでルートを集約したときに集約前ルートを全部送る、あるいは全く送らないというAll or Nothingではなく、一部の集約前ルートを選択して集約ルートとともに送信することです。選択型集約を行うためのaggregate-addressコマンドのsuppress-mapオプションについて解説します。suppress-mapのオプションで、アドバタイズしない集約前ルートを決められます。

サンプルネットワークと初期設定

以下の図のネットワークをサンプルネットワークとして選択型集約を考えます。

図 選択型集約 サンプルネットワーク
図 選択型集約 サンプルネットワーク

R1では、AS2(R2)、AS3(R3)とEBGPを確立し100.1.1.0/24~100.1.4.0/24のルートをnetworkコマンドでアドバタイズします。R1(AS1)の設定は次の通りです。

R1

interface Loopback0
 ip address 100.1.2.1 255.255.255.0 secondary
 ip address 100.1.3.1 255.255.255.0 secondary
 ip address 100.1.4.1 255.255.255.0 secondary
 ip address 100.1.1.1 255.255.255.0
!
router bgp 1
 network 100.1.1.0 mask 255.255.255.0
 network 100.1.2.0 mask 255.255.255.0
 network 100.1.3.0 mask 255.255.255.0
 network 100.1.4.0 mask 255.255.255.0
 neighbor 12.12.12.2 remote-as 2
 neighbor 12.12.12.2 send-community
 neighbor 13.13.13.3 remote-as 3
 neighbor 13.13.13.3 send-community

R2(AS2)、R3(AS3)はシンプルにR1とのEBGPネイバーを設定します。設定は下記の通りです。

R2

router bgp 2
 neighbor 12.12.12.1 remote-as 1
 neighbor 12.12.12.1 send-community

R3

router bgp 3
 neighbor 13.13.13.1 remote-as 1
 neighbor 13.13.13.1 send-community

通常の集約

R1で100.1.1.0/24~100.1.4.0/24を100.1.0.0/16に集約してアドバタイズします。aggregate-addressコマンドを特にオプションを指定せずに設定します。

R1 集約ルートの生成

router bgp 1
 aggregate-address 100.1.0.0 255.255.0.0

BGPテーブルを見ると、次のようになります。

R1

R1#sh ip bgp
BGP table version is 43, local router ID is 100.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric LocPrf Weight Path
*> 100.1.0.0/16     0.0.0.0                            32768 i
*> 100.1.1.0/24     0.0.0.0                  0         32768 i
*> 100.1.2.0/24     0.0.0.0                  0         32768 i
*> 100.1.3.0/24     0.0.0.0                  0         32768 i
*> 100.1.4.0/24     0.0.0.0                  0         32768 i

R1は、集約ルート100.1.0.0/16だけでなく集約前ルートをすべてピアにアドバタイズします。これをR2とR3でも確認します。R2、R3でのBGPテーブルを見ると、次のように集約ルート100.1.0.0/16と集約前ルートの100.1.1.0/24~100.1.4.0/24のすべてがR1からアドバタイズされていることがわかります。

R2

R2#sh ip bgp
BGP table version is 42, local router ID is 12.12.12.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric LocPrf Weight Path
*> 100.1.0.0/16     12.12.12.1               0             0 1 i
*> 100.1.1.0/24     12.12.12.1               0             0 1 i
*> 100.1.2.0/24     12.12.12.1               0             0 1 i
*> 100.1.3.0/24     12.12.12.1               0             0 1 i
*> 100.1.4.0/24     12.12.12.1               0             0 1 i

R3

R3#sh ip bgp
BGP table version is 45, local router ID is 100.3.1.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric LocPrf Weight Path
*> 100.1.0.0/16     13.13.13.1               0             0 1 i
*> 100.1.1.0/24     13.13.13.1               0             0 1 i
*> 100.1.2.0/24     13.13.13.1               0             0 1 i
*> 100.1.3.0/24     13.13.13.1               0             0 1 i
*> 100.1.4.0/24     13.13.13.1               0             0 1 i

suppress-mapによる選択型集約

集約ルートとともにアドバタイズされる集約前ルートの扱いを変えるのが選択型集約です。suppress-mapによる選択型集約の設定と確認を行います。

suppress-mapの「suppress」とは「抑制する」という意味です。普通の集約の設定だと集約前ルートが全部アドバタイズされてしまいますが、suppress-mapで抑制、つまりアドバタイズしない集約前ルートを決めることができます。なお、suppress-mapによる選択型集約はすべてのネイバーが対象です。ネイバーごとに抑制するルートを変えることはできません。

suppress-mapの後ろにはルートマップを指定します。ルートマップの中でpermitされたルートが抑制対象です。つまり、アドバタイズされなくなります。ここがわかりにくいので要注意です。ルートマップの中でpermitすると、まるでpermitされたルートをアドバタイズするかのように思ってしまうんですけど、逆です。ルートマップの中でpermitされたルートが抑制対象なのでアドバタイズされません。

集約前ルートのうち100.1.1.0/24と100.1.4.0/24を抑制対象としてアドバタイズしない設定を行います。まずルートマップを作ります。ルートマップの中で100.1.1.0/24と100.1.4.0/24をpermitするようにします。

R1 suppress-mapで適用するルートマップの設定

route-map SUPPRESS permit 10
 match ip address 1
!
access-list 1 permit 100.1.1.0
access-list 1 permit 100.1.4.0

suppress-mapのルートマップにはsetは必要ありません。また、アトリビュートをセットするときのように、その他のルートを全部permitする最後にシーケンス番号を大きくした条件(route-map [name] permit 1000など)も不要です。これをつけてしまうと、結局すべての集約前ルートが抑制対象になってしまうからです。

そして、作ったルートマップを次のようにaggregate-addressのオプションであるsuppress-mapで適用します。

R1 suppress-mapの適用

router bgp 1
 aggregate-address 100.1.0.0 255.255.0.0 suppress-map SUPPRESS

この設定の後、R1のBGPテーブルは次のように変わります。

R1 suppress-map適用後のBGPテーブル

R1#sh ip bgp
BGP table version is 8, local router ID is 100.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric LocPrf Weight Path
*> 100.1.0.0/16     0.0.0.0                            32768 i
s> 100.1.1.0/24     0.0.0.0                  0         32768 i
*> 100.1.2.0/24     0.0.0.0                  0         32768 i
*> 100.1.3.0/24     0.0.0.0                  0         32768 i
s> 100.1.4.0/24     0.0.0.0                  0         32768 i

suppress-mapで抑制対象にした100.1.1.0/24と100.1.4.0/24のエントリ左端に「s」がつきました。「s」は「suppress」の頭文字です。BGPテーブルの詳細を確認してもこの2つのルートが抑制されていることがよくわかります。

R1

R1#sh ip bgp 100.1.1.0
BGP routing table entry for 100.1.1.0/24, version 7
Paths: (1 available, best #1, table Default-IP-Routing-Table,
Advertisements suppressed by an aggregate.)
Not advertised to any peer
Local
0.0.0.0 from 0.0.0.0 (100.1.1.1)
Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, local, best
R1#sh ip bgp 100.1.4.0
BGP routing table entry for 100.1.4.0/24, version 8
Paths: (1 available, best #1, table Default-IP-Routing-Table,
Advertisements suppressed by an aggregate.)
Not advertised to any peer
Local
0.0.0.0 from 0.0.0.0 (100.1.1.1)
Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, local, best

アドバタイズ先のR2とR3のBGPテーブルは次のようになります。

R2

R2#sh ip bgp
BGP table version is 50, local router ID is 12.12.12.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric LocPrf Weight Path
*> 100.1.0.0/16     12.12.12.1               0             0 1 i
*> 100.1.2.0/24     12.12.12.1               0             0 1 i
*> 100.1.3.0/24     12.12.12.1               0             0 1 i

R3

R3#sh ip bgp
BGP table version is 53, local router ID is 100.3.1.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric LocPrf Weight Path
*> 100.1.0.0/16     13.13.13.1               0             0 1 i
*> 100.1.2.0/24     13.13.13.1               0             0 1 i
*> 100.1.3.0/24     13.13.13.1               0             0 1 i

ここでも、R1から100.1.1.0/24と100.1.4.0/24がアドバタイズされていないことが確認できました。

図 suppress-mapによる選択型集約
図 suppress-mapによる選択型集約

suppress-mapのまとめ

  • 選択型集約を行う方法
  • すべてのネイバーに対しての選択型集約
  • 後ろにルートマップを指定する
  • ルートマップでpermitされたルートを抑制対象としてアドバタイズしない

関連記事

BGPの仕組み

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA