目次
概要
選択型集約とは、BGPでルートを集約したときに集約前ルートを全部送る、あるいは全く送らないというAll or Nothingではなく、一部の集約前ルートを選択して集約ルートとともにアドバタイズすることです。選択型集約を行うためのaggregate-addressコマンドのsuppress-mapオプションについて解説します。suppress-mapのオプションで、アドバタイズしない集約前ルートを決められます。
aggregate-addressコマンドのsuppress-mapオプション
suppress-mapオプションでの選択型集約は、デフォルトの集約前ルートをすべてアドバタイズすることをベースに考えます。suppress-mapのオプションによって、集約ルートといっしょにアドバタイズする集約前ルートの一部を止めることができます。
suppress-mapコマンドの構文は、次のようになります。
aggregate-address suppress-map
(config)#router bgp <AS>
(config-router)#aggregate-address <network-address> <subnetmask> suppress-map <route-map-name>
<AS>:AS番号
<network-address>:集約ルートのネットワークアドレス
<subnetmask>:集約ルートのサブネットマスク
<route-map-name>:ルートマップ名
suppress-mapのあとにルートマップを指定するのですが、ルートマップの設定で混乱しがちなので注意してください。suppress-mapは集約前ルートを「止める」ためのオプションです。そのため、suppress-mapのあとのルートマップでpermitされた集約前ルートがアドバタイズされなくなります。逆に、集約ルートといっしょにアドバタイズしたい集約前ルートは、ルートマップでdenyされるように設定します。
suppres-mapによる選択型集約の設定例
「図 suppress-mapによる選択型集約」での具体的な設定を考えます。以下の4つのBGPルートを集約した集約ルートを生成します。
- 192.168.0.0/24
- 192.168.1.0/24
- 192.168.2.0/24
- 192.168.3.0/24
これらの4つのルートを最も長いサブネットマスクで集約すると「192.168.0.0/22」です。この集約ルートと一緒に「192.168.1.0/24」「192.168.3.0/24」もアドバタイズします。つまり、集約前ルートの192.168.0.0/24と192.168.2.0/24のアドバタイズを止めます。このようなルート送信を行いたい場合のsuppress-mapの設定は以下の通りです。
suppress-map 設定例
access-list 1 permit 192.168.0.0 access-list 1 permit 192.168.2.0 ! route-map SUPP-MAP permit 10 match ip address 1 ! router bgpaggregate-address 192.168.0.0 255.255.252.0 suppress-map SUPP-MAP
ルートマップ「SUPP-MAP」のシーケンス10のmatchに一致するルートが192.168.0.0/24と192.168.2.0/24です。suppress-mapでルートマップSUPP-MAPを指定しているので、192.168.0.0/24と192.168.2.0/24の送信が抑制(suppress)されることになります。
ルートマップSUPP-MAPには、やはり最後に暗黙のdeny anyがあります。192.168.1.0/24と192.168.3.0/24は暗黙のdeny anyでdenyされます。そのため、この2つの集約前ルートのアドバタイズは抑制されず、集約ルートとともにネイバーにアドバタイズされるようになります。
suppress-mapのルートマップにはsetは必要ありません。また、アトリビュートをセットするときのように、その他のルートを全部permitする最後にシーケンス番号を大きくした条件(route-map <name> permit 1000など)も不要です。これをつけてしまうと、結局すべての集約前ルートが抑制対象になってしまうからです。
そして、suppress-mapの設定を行っている場合のBGPテーブルにも注目してください。suppress-mapで特定の集約前ルートのアドバタイズを抑制していると、BGPテーブルは「*(valid)」と「s(suppressed)」が混在するようになります。
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 *> 192.168.0.0/22 0.0.0.0 32768 i s> 192.168.0.0/24 0.0.0.0 0 32768 i *> 192.168.1.0/24 0.0.0.0 0 32768 i s> 192.168.2.0/24 0.0.0.0 0 32768 i *> 192.168.3.0/24 0.0.0.0 0 32768 i
まとめ
ポイント
- suppress-mapは選択型集約を行うためのaggregate-addressコマンドのオプションです。suppress-mapは、すべてのネイバーに対しての選択型集約を行います。
- suppress-mapの後ろにルートマップを指定します。ルートマップでpermitされたルートを抑制対象としてアドバタイズしません。
BGPの仕組み
- BGPの概要 ~AS間でルート情報を交換~
- BGPの動作
- BGPの基本設定と確認コマンド
- BGPピアグループ(Peer Group) ~ネイバーの設定をまとめよう~
- BGPネイバーの状態
- BGPコンフェデレーションの設定
- BGPコンフェデレーションの設定例
- BGPネイバー認証
- BGP Well Known Mandatory アトリビュート -ORIGIN/AS_PATH/NEXT_HOP-
- 図解!BGPベストパス選択アルゴリズム
- BGP 基本的な設定についての演習[Cisco]
- BGPの基本的な設定についての演習 ~トラブルシュート~
- BGP KEEPALIVEタイマ/ホールドタイムの設定
- BGPルート 最小送信間隔の設定
- BGPルートダンプニング
- マルチホーム – インターネット接続の冗長化 –
- マルチホームAS BGPルートフィルタのポイント
- マルチホームAS ベストパス選択のポイント
- マルチホームAS IGPとBGPの連携のポイント
- マルチホームAS BGPの設定例
- IP-VPNでのBGPの利用 設定例
- BGPルートフィルタの種類
- BGPルートフィルタ -ディストリビュートリスト-
- BGPルートフィルタ -ディストリビュートリスト設定例-
- BGPルートフィルタ -プレフィクスリスト-
- BGPルートフィルタ -プレフィクスリスト設定例-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)-
- BGPルートフィルタ -フィルタリスト(AS_PATH ACL)設定例-
- BGPルートフィルタ -ルートマップ(route-map)-
- BGPルートフィルタ -ルートマップ(route-map)設定例-
- BGP neighbor allowas-inコマンド
- BGP neighbor as-overrideコマンド
- BGPルート RIB Failure
- BGPルート アドミニストレイティブディスタンスの制御
- BGPルートの負荷分散
- BGPルート 条件付き生成
- BGPルート 条件付きアドバタイズ
- BGP ルート集約 自動集約
- BGPルート集約 networkコマンドによる集約
- BGPルート集約 networkコマンドによる集約 設定例
- BGP ルート集約 aggregate-addressコマンドによる集約
- aggregate-addressコマンドのオプション summary-only
- aggregate-addressコマンドのオプション attribute-map
- aggregate-addressコマンドのオプション as-set
- aggregate-addressコマンドのオプション advertise-map
- aggregate-addressコマンド as-set/attribute-map/advertise-map 設定例
- BGP選択型集約の概要
- BGP選択型集約 suppress-map
- BGP選択型集約 unsuppress-map
- BGP 選択型集約 suppress-map/unsuppress-map 設定例
- BGP local-as ~ネイバーに他のASのように見せる~
- BGP neighbor remove-private-ASコマンド
- bgp fast external-fallover
- BGP プレフィクス数の制限
- BGP COMMUNITYアトリビュートの使い方
- BGP Well-known COMMUNITYのルートフィルタ設定例
- BGP プライベートCOMMUNITYによるルート制御の設定例
- [演習]BGP応用 Part1:BGP基本設定
- [演習]BGP応用 Part2:ルート集約
- [演習]BGP応用 Part3:ポリシーベースルーティング
- [演習]BGP応用 Part4:トラブルシューティング
- BGP 設定ミスの切り分けと修正 Part1
- BGP 設定ミスの切り分けと修正 Part2
- BGP 設定ミスの切り分けと修正 Part3
- BGP 設定ミスの切り分けと修正 Part4
- BGP 設定ミスの切り分けと修正 Part5
- BGP 設定ミスの切り分けと修正 Part6
- BGP 設定ミスの切り分けと修正 Part7
- IPv6 BGPの設定例 Part1
- IPv6 BGPの設定例 Part2
- 2021年10月4日 Facebookに何が起こったか?
- IPv4 BGPネイバーでのIPv6プレフィックスの交換