Table of Contents
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のまとめ
- 選択型集約を行う方法
- すべてのネイバーに対しての選択型集約
- 後ろにルートマップを指定する
- ルートマップでpermitされたルートを抑制対象としてアドバタイズしない
関連記事
「ネットワークのおべんきょしませんか?」内の記事を検索
BGPの仕組み
- BGPの概要 ~AS間でルート情報を交換~
- BGPの動作
- BGPの基本設定と確認コマンド
- BGPネイバーの状態
- BGPコンフェデレーションの設定
- BGPコンフェデレーションの設定例
- BGPネイバー認証
- BGP Well Known Mandatory アトリビュート
- BGP 基本的な設定についての演習[Cisco]
- BGPの基本的な設定についての演習 ~トラブルシュート~
- BGP ルート集約 自動集約
- BGPルート集約 networkコマンドによる集約
- BGP ルート集約 aggregate-addressコマンドによる集約
- aggregate-addressコマンドのオプション summary-only
- aggregate-addressコマンドのオプション attribute-map
- aggregate-addressコマンドのオプション as-set
- aggregate-addressコマンドのオプション advertise-map
- BGP選択型集約の概要
- BGP選択型集約 suppress-map
- BGP選択型集約 unsuppress-map
- BGP local-as ~ネイバーに他のASのように見せる~
- bgp fast external-fallover
- BGP プレフィクス数の制限
- BGP COMMUNITYアトリビュートの使い方
- BGP Well-known COMMUNITYのルートフィルタ設定例
- BGP プライベートCOMMUNITYによるルート制御の設定例
- BGP 設定ミスの切り分けと修正 Part1
- BGP 設定ミスの切り分けと修正 Part2
- BGP 設定ミスの切り分けと修正 Part3
- BGP 設定ミスの切り分けと修正 Part4
- BGP 設定ミスの切り分けと修正 Part5
- BGP 設定ミスの切り分けと修正 Part6
- IPv6 BGPの設定例 Part1
- IPv6 BGPの設定例 Part2
- IPv4 BGPネイバーでのIPv6プレフィックスの交換