【BGP】iBGPフルメッシュ

BGP

 iBGPピアリングは基本、フルメッシュで確立しなければいけません。
 これは、ルーティングループを防ぐために、iBGPで学習したルートを他のiBGPネイバーにアドバタイズすることはできないためです。

R1(config)#router bgp 123
R1(config-router)#neighbor 192.168.12.2 remote-as 123
R2(config)#router bgp 123
R2(config-router)#neighbor 192.168.12.1 remote-as 123
R2(config-router)#neighbor 192.168.23.3 remote-as 123
R3(config)#router bgp 123
R3(config-router)#neighbor 192.168.23.2 remote-as 123

 ここで、R1のループバックアドレス1.1.1.1/32をR2に広告します。

R1(config)#router bgp 123
R1(config-router)#network 1.1.1.1 mask 255.255.255.255

 R2のBGPテーブルで1.1.1.1/32を学習しているか確認します。

R2#sh ip bgp
BGP table version is 2, local router ID is 2.2.2.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>i 1.1.1.1/32       192.168.12.1             0    100      0 I

 R2は1.1.1.1/32をベストパスとして認識しています。

 では、R3のBGPテーブルを確認します。

R3#sh ip bgp 
R3#

 R3では何もBGPルートを学習していません。R2はR1で学習したルートをR3へ広告しません.
 BGPでは、AS番号を使用して、自身のAS番号が含まれるBGPルートを拒否することで、ループ検出、防止します。iBGPでは、同一AS番号内のピアリングのため、このような検知、防止ができません。
 そのため、iBGPでは、学習したルートを他のiBGPネイバーにアドバタイズしないことで、ループを防止します。
そのため、AS内のルータをフルメッシュでピアリングする必要があります。

 R3に1.1.1.1/32を学習させようとすると、R1からR3に直接iBGPピアリングする必要があります。 まず、R1からR3に接続できる必要があるので、R1〜R3間でIGP(EIGRP)を有効にします。

R1〜R3 :
R1(config)#router eigrp 123
R1(config-router)#network 192.168.0.0 0.0.255.255

 これで、R1とR3間が接続できるようになりました。

R1#sh ip route eigrp 
Codes: L - local, 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, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override

Gateway of last resort is not set

D     192.168.23.0/24 [90/307200] via 192.168.12.2, 00:00:59, FastEthernet0/0.12

R1#ping 192.168.23.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.23.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
R3#sh ip route eigrp 
Codes: L - local, 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, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override

Gateway of last resort is not set

D     192.168.12.0/24 [90/307200] via 192.168.23.2, 00:01:46, FastEthernet0/0.23

R3#ping 192.168.12.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.12.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/1/2 ms
R3#

 R1とR3で、iBGPピアリングします。

R1(config)#router bgp 123
R1(config-router)#neighbor 192.168.23.3 remote-as 123
R3(config)#router bgp 123
R3(config-router)#neighbor 192.168.12.1 remote-as 123

*May  6 12:16:31.512: %BGP-5-ADJCHANGE: neighbor 192.168.12.1 Up 

 R3のBGPテーブルを確認します。

R3#sh ip bgp
BGP table version is 2, local router ID is 3.3.3.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, 
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter, 
              x best-external, a additional-path, c RIB-compressed, 
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>i 1.1.1.1/32       192.168.12.1             0    100      0 i

 R1とR3間でiBGPピアリングすることで、R3は、1.1.1.1/32を学習できました。

 今回はルータ3台ですが、台数Nが増えると、ピアリングの数が N(N-1)/ 2 で増加します。例えば、10台だと 45ピアリングが必要です。
 これは、拡張性に問題が発生するため、その対策としてルートリフレクタやコンフェデレーションが使用されます。


その他 BGP関連記事は   >>  ルーティングプロトコル(BGP)まとめ << より参照できます。

コメント

タイトルとURLをコピーしました