条件アドバタイズメントとは
BGPの条件アドバタイズメント(Conditional Advertisement)とは、特定の条件が満たされたときにのみ、BGPルートをアドバタイズ(広告)する機能です。
条件アドバタイズメントの仕組み
BGPの条件アドバタイズメントでは、トリガールート(存在を条件とするルート)とアドバタイズルート(条件が満たされたときに広告されるルート)の2つを使用します。
- トリガールート: このルートが存在するかどうかで、他のルートをアドバタイズするかどうかを決定するためのルートです。通常、トリガールートが存在しない場合に、指定されたルートをアドバタイズするように設定されます。
- アドバタイズルート: トリガールートの状態によって、アドバタイズされるルートです。通常、トリガールートが存在しない場合に、このルートが他のピアにアドバタイズされます。
条件アドバタイズメントの設定
基本構文
1.ルートマップの設定
アドバタイズするルートとトリガールートをルートマップで指定します。
プレフィックス リストを設定します。
Router(config)#ip prefix-list list-name [seq seq-value ] {deny network / length | permit network / length } [ge ge-value ] [le le-value ]
ルート マップを設定し、ルート マップ設定モードに入ります。
Router(config)#route-map map-tag [permit | deny ] [sequence-number ]
条件となるルートを指定します。
Router(config-route-map)#match ip address {access-list-number | access-list-name | prefix-list prefix-list-name }
アドバタイズするルートを指定します。
Router(config-route-map)#match ip address {access-list-number | access-list-name | prefix-list prefix-list-name }
2.BGPの設定
Router(config)#router bgp as-number
Router(config-router)#neighbor address advertise-map route-map-name non-exist-map route-map-name
設定例

現状、Router1はRouter3(Lo3:3.3.3.3),Router4(Lo4:4.4.4.4)どちらのルート情報もアドバタイズされていて、ルート情報を受信することが出来ています。

3.3.3.3/32のルート情報が存在しなければ、4.4.4.4/32のルート情報をアドバタイズするように設定します。(通常時は4.4.4.4/32のルート情報はアドバタイズされない)
Router2(config)#ip prefix-list NON-EXSIT permit 3.3.3.3/32
Router2(config)#ip prefix-list ADV permit 4.4.4.4/32
Router2(config)#route-map NON-EXSIT-MAP permit 10
Router2(config-route-map)#match ip address prefix-list NON-EXSIT
Router2(config-route-map)#exit
Router2(config)#route-map ADV-MAP permit 10
Router2(config-route-map)#match ip address prefix-list ADV
Router2(config-route-map)#exit
Router2(config)#router bgp 65002
Router2(config-router)#neighbor 192.168.12.1 advertise-map ADV-MAP non-exist-map NON-EXSIT-MAP
通常時、4.4.4.4/32のルート情報をアドバタイズされなくなりました。

3.3.3.3/32のルート情報を消すために、インターフェイスをシャットダウンします。
Router3(config)#interface Loopback 3
Router3(config-if)#shutdown
3.3.3.3/32のルート情報が消えたことにより、、4.4.4.4/32のルート情報をアドバタイズされるようになりました。
