Border Gateway Protocol (BGP) Route Reflector
Route reflector konfigürasyon bazında oldukça sade ancak konuya ilk kez çalışan arkadaşlar için diğer konulara nazaran anlaşılması biraz zor bir konudur.
internal BGP(iBGP) networklerinde external BGP den farklı olarak yapının full mesh olma zorunluluğu vardır.
Full mesh zorunluluğun sebebi iBGP de herhangi bir router yine herhangi bir iBGP routerdan öğrendiği route’u (genelde external route) tekrar anons etmemesidir. Dolayısıyla her bir router iBPG içerisindeki diğer bütün routerlarla komşuluk kurmak zorundadır.
Full mesh yapısı fiziksel olarak kurulabileceği gibi mantıksal olarakta kurulabilmektedir.ancak 50 tane Router’ın olduğu bir iBGP network’ünde bu yapıyı oluşturabilmek için bir router üzerinde en az 49 tane interface olmak zorundadır.
Yukarıdaki şekilde iBGP AS grubu içerisindeki routerların fiziksel olarak full mesh gibi bir bağlantısı yoktur.Ancak BGP altında çalışacak IGP(ospf eigrp rip vs.) sayesinde her bir router’ın diğer bir router’a doğrudan BGP komşuluğu kurması sağlanabilir.iBGP de full mesh bir yapının kurulması için mutlaka BGP nin altında bir IGP yani ospf eigrp veya Rip gibi bir protokol kullanmalısınız.Bu yöntem bir zorunluluk değil ihtiyacı karşılamak için yapılacak en iyi çözümdür.Yine 50 adet router’ın birbirine yapılacak full mesh bir bağlantıda yazılacak olan static route sayısını hesaplamak bile zordur.
Full mesh yapısını her ne kadar da igp ile rahatlıkla oluşturabilecekte Router sayısının fazla olduğu iBGP networklerinde her bir router için gireceğiniz komşuluk tanımı oldukça fazla sayıda olacaktır.
Route Reflector kompleks full mesh topolojilerinin sadeleştirilmesi ve full mesh zorunluluğunun ortadan kalkması için geliştirilmiş bir özelliktir.
Route reflector olarak tanımlanan bir router iBGP veya eBGP den öğrendiği route’ları üzerinde route-reflector-client olarak tanımlanmış diğer routerlara anons eder.Yukarıdaki şekli referans aldığımızda R4 route reflector olarak tanımlanmış ve R1 client olarak girilmiş. Böylece R1 ile R3 arasında bir BGP komşuluğu kurma zorunluluğu ortadan kalkmıştır.
Route reflector iBGP içerisinde yapılandırmada kolaylık sağlamaktadır ancak bütün Routing anonsları tekbir noktadan beklemek single point of failure(Sağlam zincirin zayıf halkası diyebiliriz) sebeb olmaktadır.
Bu sebepten ötürü iBGP yapılarında single route reflector yerine Multiple Route reflector çok daha güvenli ve stabil bir network oluşturmanızı sağlayacaktır.
Aşağıdaki Multiple Route Reflector topolojisi ve Konfigürasyonunu inceleyebilirsiniz.
-R4 üzerinden anons edilen 4.4.4.4 networkü R1 ile R3 arasında komşuluk olmamasına rağmen R1 in bgp talosunda görülmektedir.
-Ayrıca Show ip update group çıktısı ile her iki RR ı update group altında görebilirsiniz.
R1-
interface Loopback0
ip address 1.1.1.1 255.255.255.255
!
interface FastEthernet0/0
ip address 192.168.1.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 172.16.1.1 255.255.255.0
duplex auto
speed auto
!
router ospf 1
log-adjacency-changes
network 1.1.1.1 0.0.0.0 area 0
network 172.16.1.0 0.0.0.255 area 0
network 192.168.1.0 0.0.0.255 area 0
!
router bgp 100
no synchronization
bgp log-neighbor-changes
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source Loopback0
neighbor 5.5.5.5 remote-as 100
neighbor 5.5.5.5 update-source Loopback0
no auto-summary
R2
interface Loopback0
ip address 2.2.2.2 255.255.255.255
!
interface FastEthernet0/0
ip address 192.168.1.12 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.2.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet2/0
no ip address
shutdown
duplex auto
speed auto
!
router ospf 1
log-adjacency-changes
network 2.2.2.2 0.0.0.0 area 0
network 192.168.1.0 0.0.0.255 area 0
network 192.168.2.0 0.0.0.255 area 0
!
router bgp 100
no synchronization
bgp cluster-id 10
bgp log-neighbor-changes
neighbor 1.1.1.1 remote-as 100
neighbor 1.1.1.1 update-source Loopback0
neighbor 1.1.1.1 route-reflector-client
neighbor 3.3.3.3 remote-as 100
neighbor 3.3.3.3 update-source Loopback0
no auto-summary
R3
interface Loopback0
ip address 3.3.3.3 255.255.255.255
!
interface FastEthernet0/0
ip address 192.168.5.1 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 192.168.2.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 172.24.82.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet2/0
no ip address
shutdown
duplex auto
speed auto
!
router ospf 1
log-adjacency-changes
network 3.3.3.3 0.0.0.0 area 0
network 172.24.82.0 0.0.0.255 area 0
network 192.168.2.0 0.0.0.255 area 0
network 192.168.5.0 0.0.0.255 area 0
!
router bgp 100
no synchronization
bgp log-neighbor-changes
neighbor 2.2.2.2 remote-as 100
neighbor 2.2.2.2 update-source Loopback0
neighbor 2.2.2.2 next-hop-self
neighbor 4.4.4.4 remote-as 200
neighbor 4.4.4.4 ebgp-multihop 255
neighbor 4.4.4.4 update-source Loopback0
neighbor 5.5.5.5 remote-as 100
neighbor 5.5.5.5 update-source Loopback0
neighbor 5.5.5.5 next-hop-self
no auto-summaryip forward-protocol nd
ip route 4.4.4.4 255.255.255.255 192.168.5.2
R4
interface Loopback0
ip address 4.4.4.4 255.255.255.255
!
interface FastEthernet0/0
ip address 192.168.5.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet0/1
no ip address
shutdown
duplex auto
speed auto
!
router bgp 200
no synchronization
bgp log-neighbor-changes
network 4.4.4.4 mask 255.255.255.255
neighbor 3.3.3.3 remote-as 100
neighbor 3.3.3.3 ebgp-multihop 255
neighbor 3.3.3.3 update-source Loopback0
no auto-summary
!
ip forward-protocol nd
ip route 3.3.3.3 255.255.255.255 192.168.5.1
R5
interface Loopback0
ip address 5.5.5.5 255.255.255.255
!
interface FastEthernet0/0
no ip address
shutdown
duplex auto
speed auto
!
interface FastEthernet0/1
ip address 172.16.1.2 255.255.255.0
duplex auto
speed auto
!
interface FastEthernet1/0
ip address 172.24.82.1 255.255.255.0
duplex auto
speed auto
!
router ospf 1
log-adjacency-changes
network 5.5.5.5 0.0.0.0 area 0
network 172.16.1.0 0.0.0.255 area 0
network 172.24.82.0 0.0.0.255 area 0
!
router bgp 100
no synchronization
bgp log-neighbor-changes
neighbor 1.1.1.1 remote-as 100
neighbor 1.1.1.1 update-source Loopback0
neighbor 1.1.1.1 route-reflector-client
neighbor 3.3.3.3 remote-as 100
neighbor 3.3.3.3 update-source Loopback0
no auto-summary