BGP nasıl çalışır?

Bugün BGP protokolüne bakacağız. Neden olduğundan ve neden tek protokol olarak kullanıldığına uzun süre değinmeyeceğiz. Bu konuyla ilgili oldukça fazla bilgi var, örneğin burada.

Peki BGP nedir? BGP dinamik bir yönlendirme protokolüdür ve tek EGP (Harici Ağ Geçidi Protokolü) protokolüdür. Bu protokol internette yönlendirme oluşturmak için kullanılır. İki BGP yönlendirici arasında nasıl bir mahalle oluşturulduğuna bakalım.

BGP nasıl çalışır?
Yönlendirici1 ve Yönlendirici3 arasındaki mahalleyi düşünün. Aşağıdaki komutları kullanarak bunları yapılandıralım:

router bgp 10
  network 192.168.12.0
  network 192.168.13.0
  neighbor 192.168.13.3 remote-as 10

router bgp 10
  network 192.168.13.0
  network 192.168.24.0
  neighbor 192.168.13.1 remote-as 10

Tek bir otonom sistem içindeki komşuluk AS 10'dur. Yönlendirici1 gibi bir yönlendiriciye bilgi girdikten sonra, bu yönlendirici Yönlendirici3 ile bitişiklik ilişkisi kurmaya çalışır. Hiçbir şeyin olmadığı başlangıç ​​durumuna denir boş. Yönlendirici1'de bgp yapılandırılır yapılandırılmaz, TCP bağlantı noktası 179'u dinlemeye başlayacak - duruma geçecektir Sosyal medyave Router3 ile bir oturum açmaya çalıştığında durumuna geçecektir. Aktif.

Yönlendirici1 ve Yönlendirici3 arasında oturum kurulduktan sonra Açık mesajlar alınıp verilir. Bu mesaj Router1 tarafından gönderildiğinde bu durum çağrılacaktır. Gönderilenleri Aç. Ve Router3'ten bir Açık mesaj aldığında duruma geçecektir. Aç Onayla. Açık mesajına daha yakından bakalım:

BGP nasıl çalışır?
Bu mesaj, yönlendiricinin kullandığı BGP protokolünün kendisi hakkında bilgi iletir. Yönlendirici1 ve Yönlendirici3, Açık mesaj alışverişi yaparak, ayarları hakkındaki bilgileri birbirlerine iletir. Aşağıdaki parametreler iletilir:

  • Sürümü: Bu, yönlendiricinin kullandığı BGP sürümünü içerir. BGP'nin mevcut sürümü, RFC 4'de açıklanan sürüm 4271'tür. İki BGP yönlendiricisi uyumlu bir sürüm üzerinde anlaşmaya çalışacak, bir uyumsuzluk olduğunda BGP oturumu olmayacaktır.
  • Benim AS'm: Bu, BGP yönlendiricisinin AS numarasını içerir; yönlendiricilerin AS numaraları üzerinde anlaşması gerekir ve ayrıca iBGP mi yoksa eBGP mi çalıştıracaklarını da tanımlar.
  • Zaman tutun: BGP, bekletme süresi boyunca karşı taraftan herhangi bir canlı tutma veya güncelleme mesajı almazsa, diğer tarafı 'ölü' ilan edecek ve BGP oturumunu kapatacaktır. Cisco IOS yönlendiricilerinde bekleme süresi varsayılan olarak 180 saniyeye ayarlanmıştır, canlı tutma mesajı her 60 saniyede bir gönderilir. Her iki yönlendiricinin de bekleme süresi konusunda anlaşması gerekir, aksi takdirde BGP oturumu olmayacaktır.
  • BGP Tanımlayıcı: Bu, tıpkı OSPF'nin yaptığı gibi seçilen yerel BGP yönlendirici kimliğidir:
    • Bgp router-id komutuyla manuel olarak yapılandırılan yönlendirici kimliğini kullanın.
    • Geridöngü arayüzünde en yüksek IP adresini kullanın.
    • Fiziksel bir arayüzde en yüksek IP adresini kullanın.
  • Opsiyonel Parametreler: burada BGP yönlendiricinin bazı isteğe bağlı yeteneklerini bulacaksınız. Bu alan, yeni bir sürüm oluşturmaya gerek kalmadan BGP'ye yeni özelliklerin eklenebilmesi için eklenmiştir. Burada bulabileceğiniz şeyler şunlardır:
    • MP-BGP (Çoklu Protokol BGP) desteği.
    • Rota Yenileme desteği.
    • 4 sekizli AS numaraları desteği.

Mahalle kurmak için aşağıdaki şartların yerine getirilmesi gerekir:

  • Versiyon numarası. Güncel sürüm 4'tür.
  • AS numarası yapılandırdığınız numarayla eşleşmelidir komşu 192.168.13.3 uzak-as 10.
  • Yönlendirici kimliği komşununkinden farklı olmalıdır.

Parametrelerden herhangi biri bu koşulları karşılamıyorsa yönlendirici, Bildirim hatayı belirten mesaj. Açık mesajları gönderip aldıktan sonra komşuluk ilişkisi durumuna girer KURULMUŞ. Bundan sonra yönlendiriciler rotalar hakkında bilgi alışverişinde bulunabilir ve bunu kullanarak yapabilirler. Güncelleme mesajlar. Bu, Yönlendirici1 tarafından Yönlendirici3'e gönderilen Güncelleme mesajıdır:

BGP nasıl çalışır?

Burada, metriklere benzer olan Yönlendirici1 ve Yol nitelikleri tarafından rapor edilen ağları görebilirsiniz. Yol nitelikleri hakkında daha ayrıntılı olarak konuşacağız. Keepalive mesajları aynı zamanda bir TCP oturumu içinde de gönderilir. Varsayılan olarak her 60 saniyede bir iletilirler. Bu bir Canlı Tutma Zamanlayıcısıdır. Bekleme Zamanlayıcısı sırasında Keepalive mesajının alınmaması komşuyla iletişimin kesilmesi anlamına gelecektir. Varsayılan olarak 180 saniyeye eşittir.

Yararlı işaret:

BGP nasıl çalışır?

Görünüşe göre yönlendiricilerin birbirlerine nasıl bilgi aktardığını çözdük, şimdi BGP protokolünün mantığını anlamaya çalışalım.

IGP protokollerinde olduğu gibi BGP tablosuna bir rota tanıtmak için ağ komutu kullanılır, ancak çalışma mantığı farklıdır. IGP'de, ağ komutunda rotayı belirledikten sonra, IGP hangi arayüzlerin bu alt ağa ait olduğuna bakar ve bunları kendi tablosuna dahil ederse, BGP'deki ağ komutu yönlendirme tablosuna bakar ve точное ağ komutundaki rotayla eşleşir. Böyle bir rota bulunursa bu rotalar BGP tablosunda görünecektir.

Yönlendiricinin geçerli IP yönlendirme tablosunda, ağ komutunun parametreleriyle tam olarak eşleşen bir rota arayın; IP yolu mevcutsa eşdeğer NLRI'yi yerel BGP tablosuna yerleştirin.

Şimdi kalanların tümüne BGP'yi yükseltelim ve bir AS içinde rotanın nasıl seçildiğini görelim. BGP yönlendiricisi komşusundan rotaları aldıktan sonra en uygun rotayı seçmeye başlar. Burada ne tür komşuların olabileceğini anlamalısınız - iç ve dış. Yönlendirici, yapılandırılan komşunun dahili mi yoksa harici mi olduğunu yapılandırmadan anlıyor mu? Bir takımdaysanız:

neighbor 192.168.13.3 remote-as 10 

Remote-as parametresi, yönlendiricinin bgp 10 komutunda yönlendiricinin kendisinde yapılandırılan AS'yi belirtir. Dahili AS'den gelen rotalar dahili olarak kabul edilir ve harici AS'den gelen rotalar harici olarak kabul edilir. Ve her biri için farklı bir alma ve gönderme mantığı çalışıyor. Bu topolojiyi düşünün:

BGP nasıl çalışır?

Her yönlendiricinin ip ile yapılandırılmış bir geridöngü arayüzü vardır: xxxx 255.255.255.0 - burada x, yönlendirici numarasıdır. Router9'da 9.9.9.9 255.255.255.0 adresli bir geridöngü arayüzümüz var. BGP aracılığıyla duyuracağız ve nasıl yayılacağını göreceğiz. Bu rota Router8 ve Router12'ye iletilecektir. Router8'den bu rota Router6'ya gidecek, ancak Router5'e yönlendirme tablosunda olmayacak. Ayrıca Router12'de bu rota tabloda görünecek, ancak Router11'de de orada olmayacak. Bunu çözmeye çalışalım. Router9'un bu rotayı bildirerek komşularına hangi veri ve parametreleri ilettiğini düşünelim. Aşağıdaki paket Router9'dan Router8'e gönderilecektir.

BGP nasıl çalışır?
Rota bilgileri Yol niteliklerinden oluşur.

Yol nitelikleri 4 kategoriye ayrılmıştır:

  1. Bilinen zorunlu - BGP çalıştıran tüm yönlendiricilerin bu nitelikleri tanıması gerekir. Tüm güncellemelerde mevcut olmalıdır.
  2. Tanınmış isteğe bağlı - BGP çalıştıran tüm yönlendiricilerin bu nitelikleri tanıması gerekir. Güncellemelerde mevcut olabilirler ancak varlıkları gerekli değildir.
  3. İsteğe bağlı geçişli - tüm BGP uygulamaları tarafından tanınmayabilir. Yönlendirici özniteliği tanımazsa, güncellemeyi kısmi olarak işaretler ve tanınmayan özniteliği saklayarak komşularına iletir.
  4. İsteğe bağlı geçişsiz - tüm BGP uygulamaları tarafından tanınmayabilir. Yönlendirici özniteliği tanımazsa, öznitelik göz ardı edilir ve komşulara aktarıldığında atılır.

BGP niteliklerine örnekler:

  • Bilinen zorunlu:
    • Otonom sistem yolu
    • Sonraki atlama
    • Origin

  • Tanınmış isteğe bağlı:
    • Yerel tercih
    • Atomik agrega
  • İsteğe bağlı geçişli:
    • Toplayıcı
    • topluluklar
  • İsteğe bağlı geçişsiz:
    • Çok çıkışlı ayırıcı (MED)
    • Oluşturan kimliği
    • Küme listesi

Bu durumda şimdilik Origin, Next-hop, AS Path ile ilgileneceğiz. Rota Router8 ile Router9 arasında yani tek AS içerisinde iletim yaptığı için dahili sayılıyor ve Origin'e dikkat edeceğiz.

Origin özelliği - güncellemedeki rotanın nasıl elde edildiğini gösterir. Olası özellik değerleri:

  • 0 - IGP: Orijinal otonom sistem içerisinde alınan NLRI;
  • 1 - EGP: NLRI, Dış Ağ Geçidi Protokolü (EGP) kullanılarak öğrenilir. BGP'nin öncülü, kullanılmıyor
  • 2 - Eksik: NLRI başka bir şekilde öğrenildi

Bizim durumumuzda paketten de anlaşılacağı gibi 0'a eşittir. Bu rota Router12'ye iletildiğinde bu kodun kodu 1 olacaktır.

Sonraki, Sonraki atlama. Sonraki atlama özelliği

  • Bu, hedef ağa giden yolun geçtiği eBGP yönlendiricisinin IP adresidir.
  • Önek başka bir AS'ye gönderildiğinde özellik değişir.

İBGP durumunda, yani bir AS içinde Next-hop, bu rotayı öğrenen veya anlatan kişi tarafından belirtilecektir. Bizim durumumuzda 192.168.89.9 olacaktır. Ancak bu rota Router8'den Router6'ya iletildiğinde Router8 onu değiştirecek ve kendi rotasıyla değiştirecektir. Sonraki atlama 192.168.68.8 olacaktır. Bu bizi iki kurala götürür:

  1. Bir yönlendirici bir rotayı dahili komşusuna iletirse Sonraki atlama parametresini değiştirmez.
  2. Bir yönlendirici harici komşusuna bir rota iletirse, Next-hop'u bu yönlendiricinin iletim yaptığı arayüzün IP'sine değiştirir.

Bu bizi ilk sorunu anlamamıza yönlendiriyor: Router5 ve Router11'deki yönlendirme tablosunda neden rota olmayacak? Hadi daha yakından bakalım. Böylece Router6, 9.9.9.0/24 rotası hakkında bilgi aldı ve bunu başarıyla yönlendirme tablosuna ekledi:

Router6#show ip route bgp
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, p - overrides from PfR

Gateway of last resort is not set

      9.0.0.0/24 is subnetted, 1 subnets
B        9.9.9.0 [20/0] via 192.168.68.8, 00:38:25<source>
Теперь Router6 передал маршрут Router5 и первому правилу Next-hop не изменил. То есть, Router5 должен добавить  <b>9.9.9.0 [20/0] via 192.168.68.8</b> , но у него нет маршрута до 192.168.68.8 и поэтому данный маршрут добавлен не будет, хотя информация о данном маршруте будет храниться в таблице BGP:

<source><b>Router5#show ip bgp
BGP table version is 1, local router ID is 5.5.5.5
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 9.9.9.0/24       192.168.68.8             0    100      0 45 i</b>

Aynı durum Router11-Router12 arasında da yaşanacaktır. Bu durumu önlemek için Router6 veya Router12'yi dahili komşularına rotayı geçirirken IP adreslerini Next-hop olarak değiştirecek şekilde yapılandırmanız gerekir. Bu, şu komut kullanılarak yapılır:

neighbor 192.168.56.5 next-hop-self

Bu komuttan sonra Router6, Gi0/0 Router6 arayüzünün IP'sinin rotalar için Sonraki atlama - 192.168.56.6 olarak belirleneceği bir Güncelleme mesajı gönderecek ve ardından bu rota zaten yönlendirme tablosuna dahil edilecektir.

Daha da ileri gidelim ve bu rotanın Router7 ve Router10'da görünüp görünmediğine bakalım. Yönlendirme tablosunda olmayacak ve Next-hop parametresi ile sorunun ilkindekiyle aynı olduğunu düşünebiliriz ancak show ip bgp komutunun çıktısına bakarsak şunu göreceğiz: Yanlış Next-hop ile bile rota oraya alınamadı, bu da rotanın iletilmediği anlamına geliyor. Bu da bizi başka bir kuralın varlığına götürecektir:

İç komşulardan alınan rotalar diğer iç komşulara yayılmaz.

Router5, Router6'dan rotayı aldığı için diğer dahili komşusuna iletilmeyecektir. Aktarımın gerçekleşmesi için işlevi yapılandırmanız gerekir Rota Reflektörüveya tamamen bağlantılı komşuluk ilişkilerini (Full Mesh) yapılandırın, yani Router5-7 herkes herkese komşu olacaktır. Bu durumda Route Reflector kullanacağız. Router5'te bu komutu kullanmanız gerekir:

neighbor 192.168.57.7 route-reflector-client

Route-Reflector, bir rotayı dahili bir komşuya geçirirken BGP'nin davranışını değiştirir. İç komşu şu şekilde belirtilmişse rota-yansıtıcı-istemci, ardından dahili rotalar bu istemcilere duyurulacaktır.

Rota Router7'de görünmedi mi? Next-hop'u da unutmayın. Bu manipülasyonlardan sonra rotanın da Router7'ye gitmesi gerekiyor ancak bu olmuyor. Bu bizi başka bir kurala getiriyor:

Sonraki atlama kuralı yalnızca Harici rotalar için çalışır. Dahili rotalar için sonraki atlama özelliği değiştirilmez.

Ve yönlendiricileri AS içindeki tüm yollar hakkında bilgilendirmek için statik yönlendirme veya IGP protokollerini kullanan bir ortam yaratmanın gerekli olduğu bir durumla karşı karşıyayız. Router6 ve Router7'ye statik rotaları kaydedelim ve bundan sonra router tablosunda istenilen rotayı elde edeceğiz. AS 678'de bunu biraz farklı yapacağız - Router192.168.112.0'da 24/10 ve Router192.168.110.0'de 24/12 için statik rotaları kaydedeceğiz. Daha sonra Router10 ve Router12 arasında komşuluk ilişkisini kuracağız. Ayrıca Router12'yi bir sonraki atlama noktasını Router10'a gönderecek şekilde yapılandıracağız:

neighbor 192.168.110.10 next-hop-self

Sonuç olarak Router10, 9.9.9.0/24 rotasını alacak, hem Router7 hem de Router12'den alınacaktır. Router10'un hangi seçimi yaptığını görelim:

Router10#show ip bgp
BGP table version is 3, local router ID is 6.6.6.6
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 9.9.9.0/24       192.168.112.12           0    100       0      45 i

                               192.168.107.7                                0     123 45 i  

Görüldüğü gibi iki rota ve bir ok (>), 192.168.112.12 üzerinden rotanın seçildiği anlamına geliyor.
Rota seçim sürecinin nasıl işlediğini görelim:

  1. Bir rota alırken ilk adım, Next-hop'un kullanılabilirliğini kontrol etmektir. Bu nedenle Router5 üzerinde Next-hop-self ayarı yapılmadan bir rota aldığımızda bu rota daha fazla işlenmedi.
  2. Daha sonra Ağırlık parametresi gelir. Bu parametre bir Yol Niteliği (PA) değildir ve BGP mesajlarında gönderilmez. Her yönlendiricide yerel olarak yapılandırılır ve yalnızca yönlendiricinin kendisinde rota seçimini değiştirmek için kullanılır. Bir örneğe bakalım. Hemen yukarıda Router10'un Router9.9.9.0 (24) üzerinden 12/192.168.112.12 için rota seçtiğini görüyorsunuz. Wieght parametresini değiştirmek için, belirli rotaları ayarlamak üzere rota haritasını kullanabilir veya şu komutu kullanarak komşularına bir ağırlık atayabilirsiniz:
     neighbor 192.168.107.7 weight 200       

    Artık bu komşudan gelen tüm rotalar bu ağırlığa sahip olacak. Bu manipülasyondan sonra rota seçiminin nasıl değiştiğini görelim:

    Router10#show bgp
    *Mar  2 11:58:13.956: %SYS-5-CONFIG_I: Configured from console by console
    BGP table version is 2, local router ID is 6.6.6.6
    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
     *>  9.9.9.0/24       192.168.107.7                        200      123 45 i
     * i                          192.168.112.12           0          100      0 45 i

    Gördüğünüz gibi Router7 üzerinden geçen rota artık seçilmiştir ancak bunun diğer yönlendiriciler üzerinde herhangi bir etkisi olmayacaktır.

  3. Üçüncü pozisyonda Yerel Tercihimiz var. Bu parametre, iyi bilinen isteğe bağlı bir özelliktir; bu, varlığının isteğe bağlı olduğu anlamına gelir. Bu parametre yalnızca bir AS içinde geçerlidir ve yalnızca dahili komşular için yol seçimini etkiler. Bu nedenle yalnızca dahili komşuya yönelik Güncelleme mesajlarında iletilir. Harici komşulara yönelik Güncelleme mesajlarında mevcut değildir. Bu nedenle Tanınmış takdire bağlı olarak sınıflandırılmıştır. Router5'te uygulamaya çalışalım. Router5'te 9.9.9.0/24 için iki rotamız olmalı - biri Router6 üzerinden ve ikincisi Router7 üzerinden.

    Bir göz atın:

    Router5#show bgp
    BGP table version is 2, local router ID is 5.5.5.5
    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 9.9.9.0/24       192.168.56.6             0    100      0 45 i

    Ancak Router6 üzerinden bir rota gördüğümüz gibi. Router7'den geçen rota nerede? Belki Router7'de de yoktur? Haydi bakalım:

    Router#show bgp
    BGP table version is 10, local router ID is 7.7.7.7
    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 9.9.9.0/24       192.168.56.6             0     100           0      45 i
    
                                  192.168.107.10                                  0     678 45 i 

    Garip, her şey yolunda görünüyor. Neden Router5'e aktarılmıyor? Mesele şu ki BGP'nin bir kuralı var:

    Yönlendirici yalnızca kullandığı rotaları iletir.

    Yönlendirici7, Yönlendirici5 üzerinden bir rota kullanır, dolayısıyla Yönlendirici10 üzerinden geçen rota iletilmez. Yerel Tercih'e dönelim. Router7'de Yerel Tercihi ayarlayalım ve Router5'in buna nasıl tepki verdiğini görelim:

    route-map BGP permit 10
     match ip address 10
     set local-preference 250
    access-list 10 permit any
    router bgp 123
     neighbor 192.168.107.10 route-map BGP in</b>

    Böylece tüm rotaları içeren bir rota haritası oluşturduk ve Router7'ye Yerel Tercih parametresini alındığında 250 olarak değiştirmesini söyledik, varsayılan değer 100'dür. Router5'te ne olduğuna bakalım:

    Router5#show bgp
    BGP table version is 8, local router ID is 5.5.5.5
    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 9.9.9.0/24       192.168.57.7             0          250      0 678 45 i

    Şimdi görebileceğimiz gibi Router5, Router7 üzerinden geçen rotayı tercih ediyor. Aynı resim Router6'da da olacak, ancak Router8 üzerinden bir rota seçmesi onun için daha karlı. Ayrıca bu parametreyi değiştirmenin, değişikliğin etkili olması için mahallenin yeniden başlatılmasını gerektirdiğini de ekliyoruz. Okumak burada. Yerel Tercihi sıraladık. Bir sonraki parametreye geçelim.

  4. Sonraki atlama parametresi 0.0.0.0 olan rotayı, yani yerel veya toplu rotaları tercih edin. Bu rotalara, ağ komutunu girdikten sonra otomatik olarak maksimum değere (32678) eşit bir Ağırlık parametresi atanır:
    Router#show bgp
    BGP table version is 2, local router ID is 9.9.9.9
    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
     *>  9.9.9.0/24       0.0.0.0                  0            32768    i
  5. AS'den geçen en kısa yol. En kısa AS_Path parametresi seçilir. Bir rota ne kadar az AS'den geçerse o kadar iyidir. Router9.9.9.0'da 24/10'e giden rotayı düşünün:
    Router10#show bgp
    BGP table version is 2, local router ID is 6.6.6.6
    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
     *   9.9.9.0/24     192.168.107.7                           0           123 45 i
     *>i                     192.168.112.12           0    100       0       45 i

    Gördüğünüz gibi Router10, rotayı 192.168.112.12 üzerinden seçti çünkü bu rota için AS_Path parametresi yalnızca 45, diğer durumda ise 123 ve 45 içeriyor. Sezgisel olarak temiz.

  6. Bir sonraki parametre Menşe'dir. IGP (BGP kullanılarak elde edilen rota) EGP'den (BGP'nin öncülü kullanılarak elde edilen, artık kullanılmayan rota) daha iyidir ve EGP, Eksik'ten daha iyidir. (başka bir yöntemle, örneğin yeniden dağıtımla elde edilir).
  7. Bir sonraki parametre MED'dir. Yalnızca yönlendiricide yerel olarak çalışan Wieght'imiz vardı. Yalnızca tek bir özerk sistem içinde çalışan Yerel Tercih vardı. Tahmin edebileceğiniz gibi MED, otonom sistemler arasında aktarılacak bir parametredir. Çok güzel makale Bu parametre hakkında.

Daha fazla özellik kullanılmayacaktır ancak iki rota aynı özelliklere sahipse aşağıdaki kurallar kullanılır:

  1. En yakın IGP komşusunun yolunu seçin.
  2. eBGP yolu için en eski rotayı seçin.
  3. En küçük BGP yönlendirici kimliğine sahip komşunun yolunu seçin.
  4. En düşük IP adresine sahip komşu üzerinden bir yol seçin.

Şimdi BGP yakınsaması konusuna bakalım.

Bakalım Router6, Router9.9.9.0 üzerinden 24/9 rotasını kaybederse ne olacak. Router0'nın Gi1/6 arayüzünü devre dışı bırakalım, bu, Router8 ile BGP oturumunun sonlandırıldığını ve komşunun ortadan kaybolduğunu hemen anlayacaktır, bu da kendisinden alınan rotanın geçerli olmadığı anlamına gelir. Yönlendirici6 hemen Güncelleme mesajları gönderir ve burada Geri Çekilen Yollar alanında 9.9.9.0/24 ağını belirtir. Router5 böyle bir mesajı alır almaz onu Router7'ye gönderecektir. Ancak Router7'nin Router10 üzerinden bir rotası olduğundan, yeni bir rotaya sahip bir Güncelleme ile hemen yanıt verecektir. Arayüzün durumuna göre bir komşunun düşüşünü tespit etmek mümkün değilse, Tutma Zamanlayıcısının etkinleşmesini beklemeniz gerekecektir.

Konfederasyon.

Hatırlarsanız çoğu zaman tam bağlantılı bir topoloji kullanmak zorunda kaldığınızdan bahsetmiştik. Bir AS'de çok sayıda yönlendirici olması büyük sorunlara neden olabilir, bunu önlemek için konfederasyonları kullanmanız gerekir. Bir AS, birden fazla alt AS'ye bölünmüştür ve bu da bunların tamamen bağlı bir topolojiye ihtiyaç duymadan çalışmasına olanak tanır.

BGP nasıl çalışır?

İşte buna bir bağlantı labuVe burada GNS3 için yapılandırma.

Örneğin, bu topolojiyle AS 2345'teki tüm yönlendiricileri birbirine bağlamamız gerekir, ancak Konfederasyon kullanarak yalnızca birbirine doğrudan bağlı yönlendiriciler arasında bitişiklik ilişkileri kurabiliriz. Bu konuyu ayrıntılı olarak konuşalım. Eğer sadece AS 2345'e sahip olsaydık, o zaman LaForge bir yürüyüş almış olmak Picard bunu yönlendiricilere söylerdim Veri и Vorf, ancak yönlendiriciye bundan bahsetmediler Kırıcı . Ayrıca yönlendiricinin kendisi tarafından dağıtılan rotalar LaForgetransfer edilmeseydi Kırıcı veya Vorf-Oh hayır Veri.

Bir Rota-Yansıtıcıyı veya tamamen bağlantılı bir komşuluk ilişkisini yapılandırmanız gerekir. Bir AS 2345'i her yönlendirici için 4 alt AS'ye (2,3,4,5) bölerek farklı bir çalışma mantığı elde ediyoruz. Her şey mükemmel bir şekilde anlatılmış burada.

Kaynaklar:

  1. CCIE Routing and Switching v5.0 Resmi Sertifika Kılavuzu, Cilt 2, Beşinci Baskı, Narbik Kocharians, Terry Vinson.
  2. web sitesi xgu.ru
  3. web sitesi GNS3 Kasası.

Kaynak: habr.com

Yorum ekle