BGPの経路集約
・BGPで経路情報を集約して通知する
・集約した経路情報だけを通知するようにする
・経路情報が集約されていることを確認する
ネットワーク構成(画像を別ウインドウで表示)
RouterAのコンフィグ
!
version 12.3
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterA
!
interface Loopback0
ip address 192.168.24.1 255.255.255.0
!
interface Loopback1
ip address 192.168.25.1 255.255.255.0
!
interface Serial0
ip address 192.168.1.1 255.255.255.0
!
router bgp 100
no synchronization
bgp log-neighbor-changes
network 192.168.24.0
network 192.168.25.0
neighbor 192.168.1.2 remote-as 300
no auto-summary
!
line con 0
line aux 0
line vty 0 4
login
!
!
end
RouterBのコンフィグ
!
version 12.3
service timestamps debug uptime
service timestamps log uptime
no service password-encryption
!
hostname RouterB
!
interface Loopback0
ip address 192.168.26.1 255.255.255.0
!
interface Loopback1
ip address 192.168.27.1 255.255.255.0
!
interface Serial0
ip address 192.168.2.1 255.255.255.0
no fair-queue
!
router bgp 200
no synchronization
bgp log-neighbor-changes
network 192.168.26.0
network 192.168.27.0
neighbor 192.168.2.2 remote-as 300
no auto-summary
!
line con 0
line aux 0
line vty 0 4
login
!
!
end
RouterCのコンフィグ
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname RouterC
!
interface Serial0
ip address 192.168.1.2 255.255.255.0
clockrate 64000
!
interface Serial1
ip address 192.168.2.2 255.255.255.0
clockrate 64000
!
interface Serial2
ip address 192.168.3.1 255.255.255.0
clockrate 64000
!
router bgp 300
no synchronization
bgp log-neighbor-changes
aggregate-address 192.168.24.0 255.255.252.0 as-set summary-only ←集約経路(のみ)を配信
neighbor 192.168.1.1 remote-as 100
neighbor 192.168.2.1 remote-as 200
neighbor 192.168.3.2 remote-as 300
neighbor 192.168.3.2 next-hop-self ←BGPでの疎通確保のためネクストホップを自身にしてRouterDに通知
no auto-summary
!
line con 0
line aux 0
line vty 0 4
!
end
RouterDのコンフィグ
!
version 12.3
service timestamps debug datetime msec
service timestamps log datetime msec
no service password-encryption
!
hostname RouterD
!
interface Serial0
ip address 192.168.3.2 255.255.255.0
!
router bgp 300
no synchronization
bgp log-neighbor-changes
neighbor 192.168.3.1 remote-as 300
no auto-summary
!
line con 0
line aux 0
line vty 0 4
!
end
確認
BGPにも経路集約のコマンドがあります。
BGPで受け取った経路情報を集約して配信してみましょう。

●設定の確認
まず,ネットワークの構成を見てください。
AS100に,192.168.24.0/24と192.168.25.0/24というネットワークがあり,
AS200に,192.168.26.0/24と192.168.27.0/24というネットワークがあります。
これら四つの経路情報を,AS300のRouterCで192.168.24.0/22に集約して,RouterDに配信します。

RouterCに設定する経路集約のコマンドは,以下です。

aggregate-address 192.168.24.0 255.255.252.0 as-set summary-only

まずはこのコマンド以外のコマンドを入力した状態から見ていきます。

●経路集約前
経路集約前のRouterCのBGPテーブルは以下です。
四つの経路情報がBGPで運ばれてきているのがわかります。

RouterC#show ip bgp
BGP table version is 5, local router ID is 192.168.3.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.24.0   192.168.1.1       0         0  100 i
*> 192.168.25.0   192.168.1.1       0         0  100 i
*> 192.168.26.0   192.168.2.1       0         0  200 i
*> 192.168.27.0   192.168.2.1       0         0  200 i


この四つの経路情報は,当然RouterCのルーティング・テーブルに載ります。

RouterC#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2
    i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
    ia - IS-IS inter area, * - candidate default, U - per-user static route
    o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

B  192.168.25.0/24 [20/0] via 192.168.1.1, 00:05:33
B  192.168.24.0/24 [20/0] via 192.168.1.1, 00:05:33
B  192.168.27.0/24 [20/0] via 192.168.2.1, 00:05:33
B  192.168.26.0/24 [20/0] via 192.168.2.1, 00:05:33

C  192.168.1.0/24 is directly connected, Serial0
C  192.168.2.0/24 is directly connected, Serial1
C  192.168.3.0/24 is directly connected, Serial2


RouterDの集約前の状態も確認しておきましょう。
BGPテーブルには,やはり四つの経路情報がBGPで流れてきています。

RouterD#show ip bgp
BGP table version is 5, local router ID is 192.168.3.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
*>i192.168.24.0   192.168.3.1       0  100    0  100 i
*>i192.168.25.0   192.168.3.1       0  100    0  100 i
*>i192.168.26.0   192.168.3.1       0  100    0  200 i
*>i192.168.27.0   192.168.3.1       0  100    0  200 i


四つの経路情報は,RouterDのルーティング・テーブルにも載っていますね。

RouterD#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2
    i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
    ia - IS-IS inter area, * - candidate default, U - per-user static route
    o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

B  192.168.25.0/24 [200/0] via 192.168.3.1, 00:06:20
B  192.168.24.0/24 [200/0] via 192.168.3.1, 00:06:20
B  192.168.27.0/24 [200/0] via 192.168.3.1, 00:06:20
B  192.168.26.0/24 [200/0] via 192.168.3.1, 00:06:20

C  192.168.3.0/24 is directly connected, Serial0


●動作の確認(経路集約後)
では,RouterCで四つの経路情報を,192.168.24.0/22に集約して配信するようにします。
aggregate-addressコマンドを使います。

RouterC(config)#router bgp 300
RouterC(config-router)#aggregate-address 192.168.24.0 255.255.252.0 as-set

コマンド入力後のRouterCのBGPテーブルを見てみましょう。
192.168.24.0/22の経路情報が追加されました。
また,Pathの項目を見ると,{100,200} となっています。
これは,AS100とAS200の経路情報を集約した経路情報であることを示しています。
なぜこう表記されたかというと,先ほどのaggregate-addressコマンドにas-setオプションを付けたからです。
(ちなみに,経路情報の一番右にある「i」はOriginコードで,そのルートの発生元がAS100とAS200の内部で作られたことを示しています。networkコマンドで経路を流すとこのように「i」になり,再配信すると「?」になります。)

RouterC#show ip bgp
BGP table version is 6, local router ID is 192.168.3.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.24.0   192.168.1.1       0         0  100 i
*> 192.168.24.0/22 0.0.0.0             100 32768  {100,200} i
*> 192.168.25.0   192.168.1.1       0         0  100 i
*> 192.168.26.0   192.168.2.1       0         0  200 i
*> 192.168.27.0   192.168.2.1       0         0  200 i


経路集約をしたので,RouterCのルーティング・テーブルには,ループ防止のNull0の経路情報ができました。

RouterC#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2
    i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
    ia - IS-IS inter area, * - candidate default, U - per-user static route
    o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

B  192.168.25.0/24 [20/0] via 192.168.1.1, 00:08:32
B  192.168.24.0/24 [20/0] via 192.168.1.1, 00:08:32
B  192.168.27.0/24 [20/0] via 192.168.2.1, 00:08:32
B  192.168.26.0/24 [20/0] via 192.168.2.1, 00:08:32
C  192.168.1.0/24 is directly connected, Serial0
C  192.168.2.0/24 is directly connected, Serial1
C  192.168.3.0/24 is directly connected, Serial2
B  192.168.24.0/22 [200/0] via 0.0.0.0, 00:00:39, Null0


集約経路はRouterDにどのように伝わっているか見てみましょう。
RouterDのBGPテーブルを見ると,192.168.24.0/22の集約経路が,伝わってきていることがわかります。
エントリの左にある「i」はステータスコードで,この経路情報をIBGPで学習したことを表しています。

RouterD#show ip bgp
BGP table version is 6, local router ID is 192.168.3.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
*>i192.168.24.0   192.168.3.1       0  100    0  100 i
*>i192.168.24.0/22 192.168.3.1      0  100    0  {100,200} i
*>i192.168.25.0   192.168.3.1       0  100    0  100 i
*>i192.168.26.0   192.168.3.1       0  100    0  200 i
*>i192.168.27.0   192.168.3.1       0  100    0  200 i


集約経路はルーティング・テーブルにも載っていることがわかります。

RouterD#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2
    i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
    ia - IS-IS inter area, * - candidate default, U - per-user static route
    o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

B  192.168.25.0/24 [200/0] via 192.168.3.1, 00:09:14
B  192.168.24.0/24 [200/0] via 192.168.3.1, 00:09:14
B  192.168.27.0/24 [200/0] via 192.168.3.1, 00:09:14
B  192.168.26.0/24 [200/0] via 192.168.3.1, 00:09:14
C  192.168.3.0/24 is directly connected, Serial0
B  192.168.24.0/22 [200/0] via 192.168.3.1, 00:01:21

では次に,RouterCで集約経路のみを配信するようにしてみます。
aggregate-addressコマンドで,summary-onlyオプションを加えます。

RouterC(config)#router bgp 300
RouterC(config-router)#aggregate-address 192.168.24.0 255.255.252.0 as-set summary-only

RouterCのBGPテーブルを見てみると,集約経路以外の(集約していない)経路情報に「s」の印が付いています。
これは,経路情報の配信を抑制(suppressed)している状態です。
集約経路のみを配信するように設定したので,個別の経路は配信していないのです。

RouterC#show ip bgp
BGP table version is 10, local router ID is 192.168.3.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
s> 192.168.24.0   192.168.1.1       0         0  100 i
*> 192.168.24.0/22 0.0.0.0            100  32768 {100,200} i
s> 192.168.25.0   192.168.1.1       0         0  100 i
s> 192.168.26.0   192.168.2.1       0         0  200 i
s> 192.168.27.0   192.168.2.1       0         0  200 i


RouterDのBGPテーブルはどうなっているでしょうか。
エントリーが集約経路だけになり,集約経路だけが伝わってきてきていることがわかります。

RouterD#show ip bgp
BGP table version is 10, local router ID is 192.168.3.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
*>i192.168.24.0/22 192.168.3.1      0  100    0  {100,200} i

当然,RouterDのルーティング・テーブルには,集約経路しか掲載されません。

RouterD#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
    D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
    N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
    E1 - OSPF external type 1, E2 - OSPF external type 2
    i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
    ia - IS-IS inter area, * - candidate default, U - per-user static route
    o - ODR, P - periodic downloaded static route

Gateway of last resort is not set

C  192.168.3.0/24 is directly connected, Serial0
B  192.168.24.0/22 [200/0] via 192.168.3.1, 00:03:36

aggregate-addressコマンドでsummary-onlyオプションを付けると,集約経路だけを配信することが確認できました。


●BGPでの経路集約について
http://www.cisco.com/japanese/warp/public/3/jp/service/tac/459/aggregation-j.shtml

BGPラボ
BGPの基本設定
BGP同期
BGPの経路集約
ルート・リフレクタ

経路選択(Local Preference)
経路選択(MED)

経路選択(AS Path)
経路情報のフィルタ(ネットワーク番号)
経路情報のフィルタ(AS Path)
BGPコンフェデレーション

バックドア・リンク

BGPコミュニティ