BGP ルートリフレクタ

BGPルートリフレクタとは

BGPでは、全てのIBGPスピーカーが完全にメッシュ化される必要があります。

メッシュ構成とは、すべてのIBGPルータがお互いに直接接続し、BGPの経路情報を共有する構成です。

しかし、ネットワークが大規模になると、フルメッシュ構成には多くのIBGPセッションが必要になり、管理が非常に困難になります。

ルートリフレクタを使用することで、この完全メッシュの要件を緩和できます。

ルートリフレクタとして設定されたIBGPピアは、学習したルートを他のIBGPネイバーに伝播します。ルートリフレクタの内部ピアは、クライアントピアと非クライアントピアに分けられ、ルートリフレクタはこれらの間でルートをリフレクトします。ルートリフレクタとそのクライアントピアはクラスタを形成し、クライアントピアは完全メッシュ化される必要がなくなります。

ルートリフレクタは、以下のアクションを実行します:

  • 外部BGPスピーカーからのルートは全てのクライアントと非クライアントピアにアドバタイズされます。
  • 非クライアントピアからのルートは全てのクライアントにアドバタイズされます。
  • クライアントからのルートは全てのクライアントと非クライアントピアにアドバタイズされます。

通常、クラスタには1つのルートリフレクタがありますが、冗長性のために複数のルートリフレクタを持つことも可能です。その場合、すべてのルートリフレクタは同じクラスタIDを持ち、完全にメッシュ化される必要があります。

通常の構成の場合

RT3はAS65001のルート情報をアドバタイズしないため、本来ならRT2とRT3の間にもネイバー関係が必要になります。

ルートリフレクタの場合

ルートリフレクタの設定をして、リフレクタとクライアントの関係になることで、iBGPのルート情報をアドバタイズするようになります。

BGPルートリフレクタの設定

BGP ルータ設定モードに入ります。
Router(config)#router bgp autonomous-system

ローカル ルータを BGP ルート リフレクタとして設定し、指定されたネイバーをクライアントとして設定します。
Router(config-router)#neighbor {ip-address | peer-group-nameroute-reflector-client

(オプション) クラスタに複数のルート リフレクタがある場合にクラスタ ID を設定します。
Router(config-router)#bgp cluster-id cluster-id

(オプション) クライアント間のルート リフレクションを無効にします。デフォルトでは、ルート リフレクタ クライアントからのルートは他のクライアントに反映されます。ただし、クライアントが完全にメッシュ化されている場合、ルート リフレクタはクライアントにルートを反映する必要はありません。
Router(config-router)#no bgp client-to-client reflection

設定例

Router1

hostname Router1

int g0/2
ip address 192.168.12.1 255.255.255.0
no shut

int lo1
ip address 1.1.1.1 255.255.255.255

router bgp 65001
neighbor 192.168.12.2 remote-as 65002
neighbor 192.168.12.2 activate
network 192.168.12.0 mask 255.255.255.0
network 1.1.1.1 mask 255.255.255.255

Router2

hostname Router2

int g0/1
ip address 192.168.12.2 255.255.255.0
no shut

int g0/3
ip address 192.168.23.2 255.255.255.0
no shut

router bgp 65002
neighbor 192.168.12.1 remote-as 65001
neighbor 192.168.12.1 activate
neighbor 192.168.23.3 remote-as 65002
neighbor 192.168.23.3 activate
network 192.168.23.0 mask 255.255.255.0
network 192.168.12.0 mask 255.255.255.0

Router3

hostname Router3

int g0/2
ip address 192.168.23.3 255.255.255.0
no shut

int g0/4
ip address 192.168.34.3 255.255.255.0
no shut

router bgp 65002
neighbor 192.168.23.2 remote-as 65002
neighbor 192.168.23.2 activate
neighbor 192.168.34.4 remote-as 65002
neighbor 192.168.34.4 activate
network 192.168.23.0 mask 255.255.255.0
network 192.168.34.0 mask 255.255.255.0

Router4

hostname Router4

int g0/3
ip address 192.168.34.4 255.255.255.0
no shut

router bgp 65002
neighbor 192.168.34.3 remote-as 65002
neighbor 192.168.34.3 activate
network 192.168.34.0 mask 255.255.255.0

現在、Router4はLo1:1.1.1.1のルート情報を受信していません。

ルートリフレクタの設定をします。トポロジがチェンジしたことを示すログが出力されます。

Router4でLo1:1.1.1.1のルート情報を受信することが出来るようになりました。