BGP Confederation (コンフェデレーション) とは
BGP のコンフェデレーションは、RFC5065 で規定された、フルメッシュ要件を緩和するための仕組みです。
フルメッシュ要件とは、iBGP ネイバーから受け取ったルートを他の iBGP ネイバーに渡せないことに起因する、同一 AS 内の全 BGP ルータをネイバー確立する要件です。詳細については以下を参照下さい。
フルメッシュ要件の緩和策については、ルートリフレクタも効果的ですが、AS の合併や、OSPF 負荷軽減のための AS 分割には特に効果的です。
例えば以下の 3 つの AS (AS=123,AS= 456,AS= 789) を合併することを考えます。
もともと各 AS で 3つの iBGP ネイバーを確立していましたが、これら 9 つのルータを全て iBGP にする場合、9C2 = 36 の iBGP ネイバー確立が必要になります。
このようなケースではもともとの各 AS を『サブ AS』とし、これらを統合する AS=1000 を作り、コンフェデレーションを構成することができます。
既存の設定に追加して投入することで対応できますので、大幅な構成変更は不要です。
[RT1 ~ RT3]
RTX(config)# router bgp 123 RTX(config-router)# bgp confederation identifier 1000 RTX(config-router)# bgp confederation peers 456 789
[RT4 ~ RT6]
RTX(config)# router bgp 456 RTX(config-router)# bgp confederation identifier 1000 RTX(config-router)# bgp confederation peers 123 789
[RT7 ~ RT9]
RTX(config)# router bgp 789 RTX(config-router)# bgp confederation identifier 1000 RTX(config-router)# bgp confederation peers 123 456
ただし、コンフェデレーションの外部から見たときは AS 番号が変わるため、RT10 では設定変更が必要になりますので注意が必要です。
[RT10]
RT10(config)# router bgp 10 RT10(config-router)# no neighbor 10.1.110.1 remote-as 123 RT10(config-router)# neighbor 10.1.110.1 remote-as 1000
BGP Confederation の挙動 (広報するルートと属性の扱い)
BGP Confederation 間のピアは iBGP, eBGP と中間の挙動をします。
大枠としては、『どのルートを広報するか』については eBGP と同様、iBGP からのルートを広報しますが、各ルートの属性については iBGP と同じように属性値を変更しません。
細かい違いを iBGP と eBGP と比較した表を以下に示します。
比較対象 | iBGP | eBGP | Confederation Peer |
---|---|---|---|
BGPテーブルの i 表記 | 有り (iBGP) | 無し (eBGP) | 無し (eBGP) |
AS_PATH属性 | 変化なし | AS_Sequenceとして 自分のAS番号を 先頭に付与 | Confed_Sequence として自分のAS 番号を先頭に付与 |
NEXT_HOP属性 | 変化なし | 相手のIPアドレス に変更して広報 | 変化なし |
LOCAL_PREF属性 | 広報可能 | 広報不可 | 広報可能 |
IPヘッダTTL | 255 | 1 | 1 |
ルーティングAD値 | 200 | 20 | 200 |
BGP confederation の構成例と設定例
BGP コンフェデレーションの構成例および設定例を示します。コンフェデレーションピア間でのルート交換では属性は保存されますのでデフォルトでは NEXT_HOP 属性も変化しません。そのため neighbor ~ next-hop-self を使うと良いです。(ルートリフレクタでは next-hop-self は使えないので、その点はコンフェデレーションのほうが扱い易い)
[R1 の config]
router bgp 123 bgp confederation identifier 579 network 1.1.1.0 mask 255.255.255.0 neighbor 10.1.12.2 remote-as 123 neighbor 10.1.13.3 remote-as 123 router ospf 1 network 10.0.0.0 0.255.255.255 area 0
[R2 の config]
router bgp 123 bgp confederation identifier 579 bgp confederation peers 456 network 2.2.2.0 mask 255.255.255.0 neighbor 10.1.12.1 remote-as 123 neighbor 10.1.23.3 remote-as 123 neighbor 10.1.24.4 remote-as 456 neighbor 10.1.24.4 next-hop-self neighbor 10.1.27.7 remote-as 70 router ospf 1 passive-interface GigabitEthernet0/1 network 10.0.0.0 0.255.255.255 area 0
[R3 の config]
router bgp 123 bgp confederation identifier 579 bgp confederation peers 456 network 3.3.3.0 mask 255.255.255.0 neighbor 10.1.13.1 remote-as 123 neighbor 10.1.23.2 remote-as 123 neighbor 10.1.35.5 remote-as 456 neighbor 10.1.35.5 next-hop-self router ospf 1 passive-interface GigabitEthernet0/1 network 10.0.0.0 0.255.255.255 area 0
[R4 の config]
router bgp 456 bgp confederation identifier 579 bgp confederation peers 123 network 4.4.4.0 mask 255.255.255.0 neighbor 10.1.24.2 remote-as 123 neighbor 10.1.24.2 next-hop-self neighbor 10.1.45.5 remote-as 456 neighbor 10.1.46.6 remote-as 456 router ospf 1 passive-interface GigabitEthernet0/0 network 10.0.0.0 0.255.255.255 area 0
[R5 の config]
router bgp 456 bgp confederation identifier 579 bgp confederation peers 123 network 5.5.5.0 mask 255.255.255.0 neighbor 10.1.35.3 remote-as 123 neighbor 10.1.35.3 next-hop-self neighbor 10.1.45.4 remote-as 456 neighbor 10.1.56.6 remote-as 456 router ospf 1 passive-interface GigabitEthernet0/0 network 10.0.0.0 0.255.255.255 area 0
[R6 の config]
router bgp 456 bgp confederation identifier 579 network 6.6.6.0 mask 255.255.255.0 neighbor 10.1.46.4 remote-as 456 neighbor 10.1.56.5 remote-as 456 router ospf 1 network 10.0.0.0 0.255.255.255 area 0
[R7 の config]
router bgp 70 network 7.7.7.0 mask 255.255.255.0 neighbor 10.1.27.2 remote-as 579
結果、各ルータの BGP テーブル (show ip bgp) を示します。
[R1 の BGP テーブル]
Network Next Hop Metric LocPrf Weight Path *> 1.1.1.0/24 0.0.0.0 0 32768 i *>i 2.2.2.0/24 10.1.12.2 0 100 0 i *>i 3.3.3.0/24 10.1.13.3 0 100 0 i *>i 4.4.4.0/24 10.1.24.4 0 100 0 (456) i * i 10.1.35.5 0 100 0 (456) i *>i 5.5.5.0/24 10.1.24.4 0 100 0 (456) i * i 10.1.35.5 0 100 0 (456) i *>i 6.6.6.0/24 10.1.24.4 0 100 0 (456) i * i 10.1.35.5 0 100 0 (456) i *>i 7.7.7.0/24 10.1.27.7 0 100 0 70 i
[R2 の BGP テーブル]
Network Next Hop Metric LocPrf Weight Path *>i 1.1.1.0/24 10.1.12.1 0 100 0 i *> 2.2.2.0/24 0.0.0.0 0 32768 i *>i 3.3.3.0/24 10.1.23.3 0 100 0 i * i 4.4.4.0/24 10.1.35.5 0 100 0 (456) i *> 10.1.24.4 0 100 0 (456) i * i 5.5.5.0/24 10.1.35.5 0 100 0 (456) i *> 10.1.24.4 0 100 0 (456) i * i 6.6.6.0/24 10.1.35.5 0 100 0 (456) i *> 10.1.24.4 0 100 0 (456) i *> 7.7.7.0/24 10.1.27.7 0 0 70 i
[R3 の BGP テーブル]
Network Next Hop Metric LocPrf Weight Path *>i 1.1.1.0/24 10.1.13.1 0 100 0 i *>i 2.2.2.0/24 10.1.23.2 0 100 0 i *> 3.3.3.0/24 0.0.0.0 0 32768 i * i 4.4.4.0/24 10.1.24.4 0 100 0 (456) i *> 10.1.35.5 0 100 0 (456) i * i 5.5.5.0/24 10.1.24.4 0 100 0 (456) i *> 10.1.35.5 0 100 0 (456) i * i 6.6.6.0/24 10.1.24.4 0 100 0 (456) i *> 10.1.35.5 0 100 0 (456) i *>i 7.7.7.0/24 10.1.27.7 0 100 0 70 i
[R4 の BGP テーブル]
Network Next Hop Metric LocPrf Weight Path *> 1.1.1.0/24 10.1.24.2 0 100 0 (123) i * i 10.1.35.3 0 100 0 (123) i * i 2.2.2.0/24 10.1.35.3 0 100 0 (123) i *> 10.1.24.2 0 100 0 (123) i *> 3.3.3.0/24 10.1.24.2 0 100 0 (123) i * i 10.1.35.3 0 100 0 (123) i *> 4.4.4.0/24 0.0.0.0 0 32768 i *>i 5.5.5.0/24 10.1.45.5 0 100 0 i *>i 6.6.6.0/24 10.1.46.6 0 100 0 i * i 7.7.7.0/24 10.1.35.3 0 100 0 (123) 70 i *> 10.1.24.2 0 100 0 (123) 70 i
[R5 の BGP テーブル]
Network Next Hop Metric LocPrf Weight Path * i 1.1.1.0/24 10.1.24.2 0 100 0 (123) i *> 10.1.35.3 0 100 0 (123) i *> 2.2.2.0/24 10.1.35.3 0 100 0 (123) i * i 10.1.24.2 0 100 0 (123) i * i 3.3.3.0/24 10.1.24.2 0 100 0 (123) i *> 10.1.35.3 0 100 0 (123) i *>i 4.4.4.0/24 10.1.45.4 0 100 0 i *> 5.5.5.0/24 0.0.0.0 0 32768 i *>i 6.6.6.0/24 10.1.56.6 0 100 0 i *> 7.7.7.0/24 10.1.35.3 0 100 0 (123) 70 i * i 10.1.24.2 0 100 0 (123) 70 i
[R6 の BGP テーブル]
Network Next Hop Metric LocPrf Weight Path *>i 1.1.1.0/24 10.1.24.2 0 100 0 (123) i * i 10.1.35.3 0 100 0 (123) i * i 2.2.2.0/24 10.1.35.3 0 100 0 (123) i *>i 10.1.24.2 0 100 0 (123) i *>i 3.3.3.0/24 10.1.24.2 0 100 0 (123) i * i 10.1.35.3 0 100 0 (123) i *>i 4.4.4.0/24 10.1.46.4 0 100 0 i *>i 5.5.5.0/24 10.1.56.5 0 100 0 i *> 6.6.6.0/24 0.0.0.0 0 32768 i * i 7.7.7.0/24 10.1.35.3 0 100 0 (123) 70 i *>i 10.1.24.2 0 100 0 (123) 70 i
[R7 の BGP テーブル]
Network Next Hop Metric LocPrf Weight Path *> 1.1.1.0/24 10.1.27.2 0 579 i *> 2.2.2.0/24 10.1.27.2 0 0 579 i *> 3.3.3.0/24 10.1.27.2 0 579 i *> 4.4.4.0/24 10.1.27.2 0 579 i *> 5.5.5.0/24 10.1.27.2 0 579 i *> 6.6.6.0/24 10.1.27.2 0 579 i *> 7.7.7.0/24 0.0.0.0 0 32768 i
また、最後に参考として、以下のリンクから『RT2 と RT4 の間のパケットキャプチャ』がダウンロードできます。
コメント