BGPコンフェデレーション

BGPコンフェデレーションについての検証メモになります。

◆そもそも BGP コンフェデレーションとは
 ===== 以下 シスコ社 ドキュメントより抜粋 =====

 BGP コンフェデレーションの実装により、AS 内部の iBGP メッシュが
 減少します。 なぜなら、1 つの AS を複数の AS に分割し、
 グループ全体を単一のコンフェデレーションに割り当てるからです。
 AS はそれぞれ単独でフル メッシュ構造の iBGP を確立し、
 コンフェデレーション内の他の AS に接続しています。 これらの AS は、
 コンフェデレーション内の AS と eBGP ピアで接続されていますが、
 iBGP を使用する場合と同様にルーティングを交換します。 これにより、
 コンフェデレーションにネクスト ホップ、メトリック、
 ローカル プリファレンス情報が保持されます。 外部からは、
 コンフェデレーションが単一の AS のように見えます。
 BGP コンフェデレーションとは

 ===== 以上 シスコ社 ドキュメントより抜粋 =====
 個人的なポイントとしては
 ・1つのASを分割し、分割されたAS内ではiBGP メッシュ構造となる。
 ・分割されたAS間は eBGP ピアで接続される。
  (iBGP メッシュ構造と比較した場合、ネイバー数を減らせる)
 ・コンフェデレーションでは、ネクスト ホップ、メトリック、
  ローカル プリファレンス情報が保持される。
 ・外部から見た場合、単一の AS のように見える。
 ・以下はイメージ図になります。

BGP コンフェデレーション イメージ図

◆検証構成と確認ポイント
 ・外部から見た場合に、単一の AS のように見えるかについて
  (AS3から見た場合)
 ・分割されたAS間での経路情報の学習状況について
  (AS64513とAS64514間の経路情報の学習状況)
 ・コンフェデレーションにて保持される情報について
  (NEXT-HOP属性、LOCAL_PREF情報など)

検証構成図

◆検証コンフィグ BGPのみ

AS3-1#show running-config | section router bgp
router bgp 3
bgp log-neighbor-changes
timers bgp 1 3
neighbor 10.0.0.2 remote-as 4
neighbor 10.0.0.2 soft-reconfiguration inbound
neighbor 10.0.0.26 remote-as 4
neighbor 10.0.0.26 soft-reconfiguration inbound

AS4-1#show running-config | section router bgp
router bgp 64513
bgp log-neighbor-changes
bgp confederation identifier 4
bgp confederation peers 64514
timers bgp 1 3
neighbor 10.0.0.1 remote-as 3
neighbor 10.0.0.1 soft-reconfiguration inbound
neighbor 10.0.0.6 remote-as 64514
neighbor 10.0.0.6 next-hop-self
neighbor 10.0.0.6 soft-reconfiguration inbound
neighbor 10.0.0.10 remote-as 64513
neighbor 10.0.0.10 next-hop-self
neighbor 10.0.0.10 soft-reconfiguration inbound
neighbor 10.0.0.14 remote-as 64513
neighbor 10.0.0.14 next-hop-self
neighbor 10.0.0.14 soft-reconfiguration inbound

AS4-2#show running-config | section router bgp
router bgp 64513
bgp log-neighbor-changes
bgp confederation identifier 4
timers bgp 1 3
neighbor 10.0.0.9 remote-as 64513
neighbor 10.0.0.9 next-hop-self
neighbor 10.0.0.9 soft-reconfiguration inbound
neighbor 10.0.0.18 remote-as 64513
neighbor 10.0.0.18 next-hop-self
neighbor 10.0.0.18 soft-reconfiguration inbound
neighbor 10.0.0.25 remote-as 3
neighbor 10.0.0.25 soft-reconfiguration inbound

AS4-3#show running-config | section router bgp
router bgp 64513
bgp log-neighbor-changes
bgp confederation identifier 4
network 172.16.0.1 mask 255.255.255.255
timers bgp 1 3
neighbor 10.0.0.13 remote-as 64513
neighbor 10.0.0.13 next-hop-self
neighbor 10.0.0.13 soft-reconfiguration inbound
neighbor 10.0.0.17 remote-as 64513
neighbor 10.0.0.17 next-hop-self
neighbor 10.0.0.17 soft-reconfiguration inbound

AS4-4#show running-config | section router bgp
router bgp 64514
bgp log-neighbor-changes
bgp confederation identifier 4
bgp confederation peers 64513
network 172.16.0.2 mask 255.255.255.255
timers bgp 1 3
neighbor 10.0.0.5 remote-as 64513
neighbor 10.0.0.5 next-hop-self
neighbor 10.0.0.5 soft-reconfiguration inbound

◆確認ポイント① 外部から見た場合に、単一の AS のように見えるかについて

AS3-1#show ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 *>  172.16.0.1/32    10.0.0.2                               0 4 i
 *>  172.16.0.2/32    10.0.0.2                               0 4 i

  AS_PATH属性が、AS 64513/64514 ではなく、4と表示されていて
  外部から見た場合に、単一の AS のように見えています。

◆確認ポイント② 分割されたAS間での経路情報の学習状況について

・AS4-1(AS 64513)
AS4-1#show ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 *>i 172.16.0.1/32    10.0.0.14                0    100      0 i
 *>  172.16.0.2/32    10.0.0.6            409600    100      0 (64514) i

・AS4-4(AS 64514)
AS4-4#show ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 *>  172.16.0.1/32    10.0.0.5                 0    100      0 (64513) i
 *>  172.16.0.2/32    10.0.0.22           409600         32768 i

  AS_PATH属性が(64514) iと(64513) iと表示されて、
  BGP コンフェデレーション内のAS_PATH属性が()で囲まれて表示されます。

・AS4-1(AS 64513)
AS4-1#show ip route
B        172.16.0.2 [200/409600] via 10.0.0.6,

  AS4-4(AS 64514)から学習した経路のAD値が200で表示されています。

・AS4-4(AS 64514)
AS4-4#show ip route
B        172.16.0.1 [200/0] via 10.0.0.5, 

  AS4-1(AS 64513)から学習した経路のAD値が200で表示されています。

◆確認ポイント③ コンフェデレーションにて保持される情報について
 (ネクスト ホップ)

・AS4-1(AS 64513)
AS4-1#show running-config | section router bgp
router bgp 64513
 neighbor 10.0.0.6 remote-as 64514
 neighbor 10.0.0.6 soft-reconfiguration inbound

  AS4-1の設定から、next-hop-self 設定を削除します。

・AS4-4(AS 64514) ※AS4-1 next-hop-self 設定あり
AS4-4#show ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 *>  172.16.0.1/32    10.0.0.5                 0    100      0 (64513) i

・AS4-4(AS 64514) ※AS4-1 next-hop-self 設定なし
AS4-4#show ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 *   172.16.0.1/32    10.0.0.14                0    100      0 (64513) i

  next-hop-self 設定ありの場合、ネクスト ホップ が 10.0.0.5(AS4-1)の
  eBGPネイバーとなります。
  next-hop-self 設定なしの場合、ネクスト ホップ が 10.0.0.14(AS4-3)と
  表示され、ネクスト ホップが保持されています。
  (NEXT-HOP属性が変更されない)
  また、到達性がないため、ベストパスとして選択されません。

◆確認ポイント④ コンフェデレーションにて保持される情報について
 (LOCAL_PREF)

・AS4-1(AS 64513)
AS4-1#show running-config
 neighbor 10.0.0.1 remote-as 3
 neighbor 10.0.0.1 soft-reconfiguration inbound
 neighbor 10.0.0.1 route-map Local_Pref_routes in

ip prefix-list Local_Pref_routes_1 seq 10 permit 10.181.2.1/32

route-map Local_Pref_routes permit 10
 match ip address prefix-list Local_Pref_routes_1
 set local-preference 200

  AS4-1の設定に、eBGP ピア(10.0.0.1)から受信する 10.181.2.1/32
  のルートにLOCAL_PREF値 200 に設定をして、
  コンフェデレーション内の eBGP ピアと iBGP ピアにアドバタイズを
  します。

・AS4-4(AS 64514)
AS4-4#show ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 *   10.181.2.1/32    10.0.0.1                 0    200      0 (64513) 3 1 2 i

  10.181.2.1/32 のルートに LOCAL_PREF値 200が設定されています。
  LOCAL_PREF情報が保持されます。