2017年 7月25日(初版)
概要
BGP において経路集約を行う際に summary-only オプションを有効にしているにも関わらず集約前の経路も広報されてしまうとのお問い合わせをよく頂きますが、ほとんどの場合期待された動作となりますので、本記事では BGP の経路集約プロセスについて記述します。
トポロジ
設定
R2#
router bgp 65002
aggregate-address 10.0.0.0 255.255.0.0 summary-only
上記のトポロジにおいて、R1 と R2 は BGP ネイバー関係を確立しており、 R2 は R1 へ10.0.0.0/24, 10.0.1.0/24, ... , 10.0.4.0/24 を 10.0.0.0/16 に集約して広報します。
経路集約プロセス
上記の設定において、Cisco Router は以下のプロセスで集約経路を広報します。
- R2 は集約前の経路を R1 へ広報する
- R2 は bgp aggregate-timer が expire すると集約後の経路を R1 へ広報する
- summary-only が有効になっている場合、 R1 は集約前の経路をルーティングテーブルから削除する
つまり、一度集約前の経路を広報し、一定時間経過後に集約後の経路を広報するという動作を行います。このインターバルは bgp aggregate-timer と呼ばれ、デフォルトは 30秒です。 経路アップデートの際に直ちに集約を行うと、集約の処理や BGP の収束の処理でHigh CPU を引き起こす可能性があるため、 bgp aggregate-timer が実装されています。
何らかの制約で集約前の経路を広報したくない場合には、下記コマンドで aggregate-timer を0に設定することで、集約後の経路のみを広報することが可能です。
bgp aggregate-timer 0
参照
Cisco IOS IP Routing: BGP Command Reference