ネットワーク構成

以下のネットワーク構成でBGPコンフェデレーションの設定を行います。

図 コンフェデレーションの構成
図 コンフェデレーションの構成


設定の概要

設定の概要は次の通りです。

  • AS番号
    本来のAS番号:AS100
    R1サブAS:65001
    R2サブAS:65002
    R3サブAS:65003
  • IEBGPネイバー
    R1-R3
    R2-R3
    ループバックアドレスでネイバーを確立
  • ルートの生成
    R3で100.100.1.0/24、100.100.2.0/24、100.100.3.0/24を生成

AS内はOSPFでのルーティングを設定済みです。ループバックインタフェースでIEBGPネイバーを確立するために、neighbor ebgp-multihopコマンドが必要なので注意してください。

設定

R1の設定

R1でのコンフェデレーションの設定次の通りです。

R1

router bgp 65001
 bgp confederation identifier 100
 bgp confederation peers 65003
 neighbor 3.3.3.3 remote-as 65003
 neighbor 3.3.3.3 update-source loopback 0
 neighbor 3.3.3.3 ebgp-multihop
 neighbor 3.3.3.3 next-hop-self
 neighbor 172.16.1.11 remote-as 1

R1はR3との間でIEBGPネイバーを確立します。また、ISP1との間でEBGPネイバーを確立します。

R2の設定

R2でのコンフェデレーションの設定は次の通りです。

R2

router bgp 65002
 bgp confederation identifier 100
 bgp confederation peers 65003
 neighbor 3.3.3.3 remote-as 65003
 neighbor 3.3.3.3 update-source loopback 0
 neighbor 3.3.3.3 ebgp-multihop
 neighbor 3.3.3.3 next-hop-self
 neighbor 172.16.2.22 remote-as 2

R2は、R3との間でIEBGPネイバーを確立します。また、ISP-2との間でEBGPネイバーを確立します。

R3の設定

R3でのコンフェデレーションの設定は次の通りです。

R3>

router bgp 65003
 bgp confederation identifier 100
 bgp confederation peers 65001 65002
 neighbor 1.1.1.1 remote-as 65001
 neighbor 1.1.1.1 update-source loopback 0
 neighbor 1.1.1.1 ebgp-multihop
 neighbor 2.2.2.2 remote-as 65002
 neighbor 2.2.2.2 update-source loopback 0
 neighbor 2.2.2.2 ebgp-multihop
 network 100.100.1.0 mask 255.255.255.0
 network 100.100.2.0 mask 255.255.255.0
 network 100.100.3.0 mask 255.255.255.0

R3は、R1との間でIEBGPネイバーを確立します。また、R2との間でIEBGPネイバーを確立します。そして、networkコマンドで3つのBGPルートを生成しています。

BGPテーブルの確認

コンフェデレーションの構成において、R1でBGPテーブルを確認します。

R1 BGPテーブル

R1#show ip bgp
BGP table version is 13, local router ID is 1.1.1.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
*> 100.1.1.0/24     172.16.1.11              0             0 1 i
*> 100.1.2.0/24     172.16.1.11              0             0 1 i
*> 100.1.3.0/24     172.16.1.11              0             0 1 i
*> 100.2.1.0/24     2.2.2.2                  0    100      0 (65003 65002) 2 i
*> 100.2.2.0/24     2.2.2.2                  0    100      0 (65003 65002) 2 i
*> 100.2.3.0/24     2.2.2.2                  0    100      0 (65003 65002) 2 i
r> 100.100.1.0/24   3.3.3.3                  0    100      0 (65003) i
r> 100.100.2.0/24   3.3.3.3                  0    100      0 (65003) i
r> 100.100.3.0/24   3.3.3.3                  0    100      0 (65003) i
R1#show ip bgp 100.2.1.0
BGP routing table entry for 100.2.1.0/24, version 5
Paths: (1 available, best #1, table Default-IP-Routing-Table)
Advertised to non peer-group peers:
172.16.1.11
(65003 65002) 2
2.2.2.2 (metric 3) from 3.3.3.3 (100.100.1.3)
Origin IGP, metric 0, localpref 100, valid, confed-external, best

IEBGPネイバーから受信したルートについては、そのサブAS番号がAS_PATHアトリビュートの( )内に記述されていることがわかります。
サブAS番号は外部のASからはわかりません。ISP1でBGPテーブルをみると、次のようになります。

ISP1 BGPテーブル

ISP1#show ip bgp
BGP table version is 74, local router ID is 111.1.1.11
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
Network          Next Hop            Metric LocPrf Weight Path
*> 100.1.1.0/24     0.0.0.0                  0         32768 i
*> 100.1.2.0/24     0.0.0.0                  0         32768 i
*> 100.1.3.0/24     0.0.0.0                  0         32768 i
*> 100.2.1.0/24     172.16.1.1                             0 100 2 i
*> 100.2.2.0/24     172.16.1.1                             0 100 2 i
*> 100.2.3.0/24     172.16.1.1                             0 100 2 i
*> 100.100.1.0/24   172.16.1.1                             0 100 i
*> 100.100.2.0/24   172.16.1.1                             0 100 i
*> 100.100.3.0/24   172.16.1.1                             0 100 i

R1は、ISP1へルートを送信するときにAS_PATHアトリビュートの( )の部分をすべて削除して、本来のAS番号100をプリペンドしています。

次の図は、AS2内の100.2.1.0/24のBGPルートがコンフェデレーション構成のAS内をアドバタイズされるときにAS_PATHアトリビュートがどのよう変わっていくかを表しています。

図 コンフェデレーション時のAS_PATHアトリビュート
図 コンフェデレーション時のAS_PATHアトリビュート