BGP Nedir? eBGP, iBGP ve Yol Seçimi Nasıl Çalışır?

BGP'nin IGP'den farkı, AS ve ASN, TCP 179 üzerinde elle kurulan komşuluk, eBGP ve iBGP kuralları, network komutunun RIB koşulu ve best-path seçiminin routing tablosuna kurulumdan ayrı bir karar olması; Cisco, Huawei, FortiOS ve AOS-CX örnekleriyle.

Standartlar RFC 4271 (BGP-4), RFC 4456, RFC 5398, RFC 5737, RFC 6793, RFC 8212
Resmi dokümana göre
Cisco IOS XE Catalyst 9300 IP Routing Configuration Guide, IOS XE 17.14.x (Configuring BGP); IP Routing Configuration Guide, IOS XE 17.x (Cisco BGP Overview); Select BGP Best-path Algorithm (13753); Troubleshoot BGP Routes that Do Not Advertise (19345, 2023)
Resmi dokümana göre
Huawei S300/S500/S2700/S5700/S6700 V200R023C10 Configuration Guide, IP Unicast Routing (BGP); network (BGP) komutu ve NULL arayüzü S1720/S2700/S5700/S6720 V200R011C10 belgelerinden
Resmi dokümana göre
Fortinet FortiOS 7.6.7 CLI Reference (config router bgp, config router static); 7.6.4 Administration Guide (BGP, Basic BGP example)
Resmi dokümana göre
HPE Aruba Networking AOS-CX 10.14–10.16 IP Routing Guide (8400; BGP yapılandırma, network, neighbor next-hop-self, BGP FAQ); 10.16 IP Routing Guide 6300/6400/83xx (ip route nullroute)
Resmi dokümana göre

Router Nasıl Karar Verir?, Statik Route Nedir? ve Dinamik Routing Nedir? yazıları tek bir yönetimin içindeki ağı anlattı. Bu yazı ağın sınırına çıkıyor: Bir kurum iki ayrı servis sağlayıcıya bağlandığında kendi önekini nasıl duyurur ve dışarıdan gelen birden çok yol arasından nasıl seçim yapar?

AD, en uzun önek eşleşmesi ve Null0 rotası burada tekrar anlatılmıyor. Yapılandırma örnekleri resmî belgelerdeki sözdizimine göre yazıldı, laboratuvarda denenmedi. Çıktılar temsilîdir.

Öğretici topoloji

Bu yazıdaki topoloji sitenin kampüs topolojisinden bağımsızdır:

Öğe Değer
Kurum AS64496; önek 192.0.2.0/24
LAN 192.0.2.0/25; EDGE-1’de bağlı ağ
EDGE-2’de LAN rotası 192.0.2.0/25 → 192.0.2.253 (EDGE-1), statik
EDGE-1 ↔ EDGE-2 (iBGP) 192.0.2.252/30 (EDGE-1 .253, EDGE-2 .254)
ISP-A (AS64497) ↔ EDGE-1 203.0.113.0/30 (ISP-A .1, EDGE-1 .2)
ISP-B (AS64498) ↔ EDGE-2 203.0.113.4/30 (ISP-B .5, EDGE-2 .6)
Uzak önek (alıştırmalar) 198.51.100.0/24, AS64499

ASN’ler RFC 5398’in, IP blokları RFC 5737’nin dokümantasyon için ayırdığı aralıklardandır. Bu değerler gerçek internette duyurulamaz.

AS64499 (uzak) 198.51.100.0/24 ISP-A · AS64497 203.0.113.1 ISP-B · AS64498 203.0.113.5 AS64510 üzerinden AS64496 · KURUM EDGE-1 203.0.113.2 · 192.0.2.253 EDGE-2 203.0.113.6 · 192.0.2.254 iBGP · 192.0.2.252/30 AS_PATH değişmez · next-hop-self eBGP 203.0.113.0/30 eBGP 203.0.113.4/30 ↑ 192.0.2.0/24 · AS_PATH 64496 ↓ 198.51.100.0/24 · 64497 64499 AS_PATH 64496 · 192.0.2.0/24 ↑ 64498 64510 64499 · 198.51.100.0/24 ↓ LAN 192.0.2.0/25 (bağlı ağ) 192.0.2.0/25 → 192.0.2.253 (statik) İki edge de 192.0.2.0/24'ü network ile duyurur; Null0 /24 yalnızca kullanılmayan kısım için. ASN: RFC 5398 · adresler: RFC 5737 · yalnızca dokümantasyon; internette duyurulamaz.
Kurumun öneği iki ISP'ye AS_PATH 64496 ile çıkar; uzak önek iki farklı AS_PATH ile gelir. iBGP, iki edge router'ın dışarıdan öğrendiklerini birbirine taşır. LAN /25 EDGE-1'de bağlıdır; EDGE-2 ona statik rotayla EDGE-1 üzerinden ulaşır.

BGP neden var?

OSPF, tek bir yönetimin ağında en düşük maliyetli yolu bulur ve bütün router’lar birbirine güvenir. İnternette ise her ağı ayrı bir kurum yönetir; hangi yolun kullanılacağını link maliyeti değil, o kurumun politikası belirler.

BGP bu iş için tasarlandı; RFC 4271’e göre temel işi, bağımsız ağlar (AS’ler) arasında erişilebilirlik bilgisini taşımaktır. Bir BGP rotası öneğin yanında yolun özelliklerini de taşır (geçtiği AS’ler, next-hop, yerel tercih); router seçimini bu özelliklere ve politikaya göre yapar. Çoğu ağda ikisi birlikte çalışır: içeride IGP, sınırda BGP.

AS ve ASN

Autonomous System (AS), tek bir yönetimin tek bir yönlendirme politikasıyla işlettiği ağdır. Her AS bir numarayla, yani ASN ile tanınır.

  • 2 baytlık ASN: 1–65535 aralığı. İlk BGP tanımı bu uzunluğu kullanıyordu.
  • 4 baytlık ASN: RFC 6793, ASN’i 4 bayta genişletir (4294967295’e kadar). 4 baytlık ASN’i desteklemeyen eski bir komşuyla konuşurken, 2 bayta sığmayan numaranın yerine AS_TRANS (23456) kullanılır.
  • Yazım biçimi: Cisco’nun IOS XE belgesi iki gösterimi tanımlar: asplain ve asdot. 65536, asplain’de 65536, asdot’ta 1.0 olarak yazılır. Cisco’da varsayılan asplain’dir.

Komşuluk: elle tanımlanır, TCP 179 üzerinde kurulur

OSPF komşularını hello paketleriyle bulur; BGP’de ise her komşunun adresi ve AS numarası elle yazılır ve oturum TCP 179 üzerinden kurulur. Güvenilir taşımayı TCP sağladığı için BGP, RIP gibi periyodik olarak bütün tabloyu yeniden göndermez; ilk alışverişten sonra yalnızca değişiklikleri gönderir.

RFC 4271 dört mesaj tanımlar:

  • OPEN: Oturumu açar; AS numarası, sürüm ve hold time burada karşılaştırılır.
  • UPDATE: Yeni rotaları duyurur ya da geri çeker.
  • KEEPALIVE: Oturumun canlı olduğunu bildirir. Huawei S serisinde varsayılan aralık 60 saniye, hold time 180 saniyedir.
  • NOTIFICATION: Hata bildirir ve oturumu kapatır.

RFC 2918’in eklediği ROUTE-REFRESH, politika değiştiğinde oturumu kapatmadan rotaların yeniden gönderilmesini ister. Rota alışverişi oturum Established durumuna geldiğinde başlar.

eBGP, iBGP ve AS_PATH

Komşunun AS numarası kendi AS numaranla aynıysa oturum iBGP, farklıysa eBGP olur.

AS_PATH döngüyü önler. Bir rota eBGP ile başka bir AS’e duyurulurken gönderen kendi AS numarasını AS_PATH’in başına ekler. EDGE-1, 192.0.2.0/24’ü ISP-A’ya AS_PATH 64496 ile duyurur; ISP-A da başka bir AS’e 64497 64496 ile iletir. Bir router, AS_PATH’inde kendi AS numarasını gördüğü rotayı karar sürecine almaz. Böylece rota çıktığı AS’e geri dönemez.

iBGP rotayı başka bir iBGP komşusuna aktarmaz. iBGP AS_PATH’e bir şey eklemez; bu yüzden AS’in içinde döngü AS_PATH ile fark edilemez. RFC 4271 bu nedenle bir kural koyar: iBGP komşusundan öğrenilen rota, normal koşullarda başka bir iBGP komşusuna duyurulmaz. Bu yüzden AS içinde ya full mesh iBGP ya da route reflector (RFC 4456) kullanılır; bu topolojideki tek iBGP oturumu zaten full mesh’tir.

Next-hop erişilebilir olmalıdır. EDGE-1, ISP-A’dan öğrendiği rotayı EDGE-2’ye iletirken next-hop’u varsayılan olarak değiştirmez: rota EDGE-2’ye next-hop 203.0.113.1 ile ulaşır. EDGE-2 bu adrese giden yolu bilmiyorsa rota geçersizdir. RFC 4271, next-hop’u çözülemeyen rotanın karar sürecinden çıkarılmasını zorunlu tutar. Huawei bu rotayı inactive yapar; Cisco’nun kılavuzu ise erişilemeyen next-hop’lu güncellemenin bırakıldığını belirtir. Çözüm iki yoldan biridir: Ya peering bağlantısı IGP ile AS içine duyurulur ya da edge router, iBGP komşusuna rotayı kendi adresiyle gönderir. İkincisine next-hop-self denir; Huawei’de karşılığı next-hop-local’dır. Bu yazıdaki örnekler next-hop-self kullanıyor.

Önek duyurusu: network komutu RIB’e bakar

network komutu yeni bir rota oluşturmaz. Routing tablosunda zaten olan bir rotayı BGP tablosuna alır ve komşulara duyurur:

  • Cisco: Cisco’nun teknik notuna göre maskeli bir network ifadesinin BGP tablosuna girmesi için routing tablosunda birebir aynı rota olmalıdır.
  • Huawei: Komut başvurusuna göre yalnızca hedef adresi ve önek uzunluğu birebir eşleşen rotalar alınır. Bu açıklama V200R011C10 komut başvurusundandır.
  • AOS-CX: network ifadesindeki maske uzunluğu, routing tablosundaki öneğin maske uzunluğuyla eşleşmelidir.
  • FortiOS: network-import-check seçeneği, öneğin routing tablosunda olup olmadığını kontrol eder ve varsayılan olarak açıktır. Kapatılırsa önek routing tablosunda olmasa da duyurulur. Bu durumda dışarıdan çekilen trafik içeride yolsuz kalabilir.

EDGE-1’in routing tablosunda 192.0.2.0/25 (LAN, bağlı ağ) ve 192.0.2.252/30 (iBGP bağlantısı) vardır. EDGE-2’de LAN’a giden rota, 192.0.2.0/25 → 192.0.2.253 statik rotasıdır. İkisinde de /24 olmadığı için her iki edge router’a 192.0.2.0/24 → Null0 statik rotası yazılır. Trafik daha uzun önekli rotalarla iletilir: ISP-B’den EDGE-2’ye gelen LAN trafiği /25 rotasıyla EDGE-1’e gider. Null0 yalnızca /24’ün kullanılmayan kısmına gelen paketleri atar. Bu tasarım, EDGE-1 ya da LAN bağlantısı kaybolduğunda LAN için otomatik yüksek erişilebilirlik sağlamaz.

Filtreler iki yönde yazılır: inbound filtre neyin kabul edileceğini, outbound filtre neyin duyurulacağını belirler. Outbound filtre olmadan bir edge router, öteki ISP’den iBGP ile öğrendiği rotaları kendi ISP’sine duyurabilir; kurum iki ISP arasında transit hâline gelir. FortiOS’un örneği, iBGP rotalarının eBGP komşusuna kendiliğinden duyurulduğunu ve bunu engellemek için route-map yazıldığını gösterir. Huawei’nin kılavuzu da cihazın komşularından gelen bütün rotaları kabul ettiğini ve iBGP’den öğrenilen rotaları eBGP komşularına duyurduğunu belirtir. RFC 8212, açık bir politika uygulanmamış eBGP oturumunda rota alınmamasını ve gönderilmemesini ister. Ancak bu davranış yapılandırma ile değiştirilebilir ve platformdan platforma farklıdır.

Üretimde ek önlemler de gerekir: önek filtreleri, kabul edilecek önek sayısını sınırlayan max-prefix ve öneğin doğru AS’ten çıktığını doğrulayan RPKI. RFC 7454 bu uygulamaları toplar. Aşağıdaki örneklerde filtreler kısalık için yazılmadı.

Dört üreticide EDGE-1

Örnekler EDGE-1’in yapılandırmasıdır; Cisco ile AOS-CX’te global configuration modundan, Huawei’de sistem görünümünden başlar. EDGE-1, ISP-A ile eBGP ve EDGE-2 ile iBGP oturumu kurar, 192.0.2.0/24’ü duyurur ve iBGP komşusuna next-hop-self uygular. EDGE-2’de ISP-B’nin adresi (203.0.113.5, AS64498) ve iBGP komşusu olarak 192.0.2.253 yazılır; ayrıca LAN için 192.0.2.0/25 → 192.0.2.253 statik rotası eklenir. Router ID örneklerde yazılmadı; cihaz kendisi seçer. Huawei’nin kılavuzu kararlılık için router ID’nin loopback adresine sabitlenmesini önerir.

Cisco IOS XE (17.x): Router configuration modunda tanımlanan komşular varsayılan olarak IPv4 unicast önek alışverişi yapar.

ip route 192.0.2.0 255.255.255.0 Null0
router bgp 64496
 neighbor 203.0.113.1 remote-as 64497
 neighbor 192.0.2.254 remote-as 64496
 neighbor 192.0.2.254 next-hop-self
 network 192.0.2.0 mask 255.255.255.0
 exit

Huawei VRP (S serisi V200R023C10): peer ... as-number komşuyu tanımlar; aynı AS numarası iBGP komşusu demektir. IPv4 unicast komşular için ayrıca peer enable gerekmez. Bu sürümde BGP lisansa bağlı değildir. Desteklenen modellerin listesi kılavuzda yer alır; örneğin S5735-S ve S6730-H.

ip route-static 192.0.2.0 255.255.255.0 NULL 0
bgp 64496
 peer 203.0.113.1 as-number 64497
 peer 192.0.2.254 as-number 64496
 ipv4-family unicast
  network 192.0.2.0 255.255.255.0
  peer 192.0.2.254 next-hop-local
  quit
 quit

FortiOS (7.6): Statik rota blackhole ile yazılır. network-import-check varsayılan olarak açık olduğu için bu rota olmadan önek duyurulmaz.

config router static
    edit 1
        set dst 192.0.2.0 255.255.255.0
        set blackhole enable
    next
end
config router bgp
    set as 64496
    config neighbor
        edit "203.0.113.1"
            set remote-as 64497
        next
        edit "192.0.2.254"
            set remote-as 64496
            set next-hop-self enable
        next
    end
    config network
        edit 1
            set prefix 192.0.2.0 255.255.255.0
        next
    end
end

HPE Aruba AOS-CX (10.15–10.16): Komşular IPv4 unicast adres ailesinde neighbor ... activate ile etkinleştirilir; Aruba’nın BGP SSS sayfası bu komutun eksikliğini olası yapılandırma hataları arasında sayar. Statik rotada Null0 karşılığı nullroute seçeneğidir.

ip route 192.0.2.0/24 nullroute
router bgp 64496
    neighbor 203.0.113.1 remote-as 64497
    neighbor 192.0.2.254 remote-as 64496
    address-family ipv4 unicast
        neighbor 203.0.113.1 activate
        neighbor 192.0.2.254 activate
        neighbor 192.0.2.254 next-hop-self
        network 192.0.2.0/24
        exit
    exit

Doğrulama

Üretici Komşular BGP tablosu
Cisco IOS XE show ip bgp summary show ip bgp
Huawei VRP display bgp peer display bgp routing-table
FortiOS get router info bgp neighbors get router info bgp network
AOS-CX show bgp ipv4 unicast neighbors show bgp ipv4 unicast

Uzak önek iki ISP’den de geldiğinde, henüz bir politika yokken EDGE-2’nin BGP tablosu şuna benzer. Bu çıktı temsilîdir:

     Network          Next Hop            Metric LocPrf Weight Path
 *>  192.0.2.0        0.0.0.0                  0         32768 i
 * i                  192.0.2.253              0    100      0 i
 *>i 198.51.100.0     192.0.2.253                   100      0 64497 64499 i
 *                    203.0.113.5                            0 64498 64510 64499 i

> işareti best path’i, i iBGP’den öğrenilen yolu gösterir. Kurumun öneği iki kez görünür: EDGE-2’nin kendi ürettiği yol (next-hop 0.0.0.0, Weight 32768) ve EDGE-1’in iBGP ile gönderdiği yol. Uzak önek için de iki yol var. LOCAL_PREF ikisinde de 100 olduğundan karar AS_PATH’te verilir ve EDGE-1 üzerinden gelen ISP-A yolu kazanır; eBGP’nin iBGP’ye tercih edilmesi daha sonraki bir adımdır. EDGE-2’nin best path’i iBGP’den öğrenildiği için EDGE-2, ISP-B yolunu EDGE-1’e duyurmaz. Bu yüzden EDGE-1’in tablosunda uzak önek için yalnızca ISP-A yolu bulunur.

Yol seçimi: önce geçerlilik, sonra özellikler

Aynı önek için birden çok yol varsa router birini best path olarak seçer. RFC 4271’in kavramsal karar süreci ile üreticilerin tam algoritması aynı şey değildir.

RFC 4271 ne söyler? Önce geçersiz yollar elenir: next-hop’u çözülemeyen ve AS_PATH’inde kendi AS’ini taşıyan yollar. Sonra her yola bir tercih derecesi verilir: iBGP’den gelen yolda bu LOCAL_PREF’tir; eBGP’den gelen yolda yerel politikayla hesaplanır ve iBGP’ye LOCAL_PREF olarak aktarılır. Dereceler eşitse sırasıyla şunlar karşılaştırılır: en kısa AS_PATH, en düşük Origin, MED, eBGP’nin iBGP’ye tercihi, next-hop’a en düşük IGP maliyeti, en düşük BGP Identifier ve en düşük komşu adresi. RFC, uygulamaların aynı sonucu veren herhangi bir algoritmayı kullanabileceğini de belirtir.

Üreticiler neler ekler?

  • Yerel ağırlık en başta gelir. Cisco’da Weight, Huawei’de PrefVal, AOS-CX’te administrative weight. Üçü de yalnızca tanımlandığı router’da geçerlidir ve komşulara gönderilmez. Cisco’da varsayılan değer router’ın kendi ürettiği yollar için 32768, öğrenilen yollar için 0’dır. Huawei’de PrefVal’in varsayılanı 0’dır ve Huawei’ye özgüdür. Bu adım RFC’de yoktur.
  • Yerel üretilen yol AS_PATH’ten önce gelir. Cisco, router’ın network, redistribute ya da aggregate ile ürettiği yolu AS_PATH karşılaştırmasından önce tercih eder. Huawei’nin sırası aggregate > summary automatic > network > import-route > komşudan öğrenilen; AOS-CX de yerel olarak eklenen rotayı aynı yerde tercih eder.
  • Ek adımlar ve beraberlik kuralları: Cisco ve Huawei listelerinde AIGP adımı vardır; Huawei’nin kılavuzu S serisi switch’lerin AIGP’yi desteklemediğini belirtir. Cisco ve AOS-CX varsayılan olarak router ID’den önce en eski eBGP yolunu korur.

LOCAL_PREF AS_PATH’ten önce gelir. Yüksek LOCAL_PREF kazanır ve Cisco ile Huawei’de varsayılan değer 100’dür. LOCAL_PREF AS içinde iBGP ile taşınır; RFC 4271’e göre eBGP komşusuna gönderilmez. Bu sıralamanın sonucu şudur: LOCAL_PREF’i daha yüksek olan yol, AS_PATH’i daha uzun olsa da seçilir. LOCAL_PREF yalnızca kurumdan çıkan trafiğin yolunu belirler; dışarıdaki AS’lerin kuruma gelen trafik için yaptığı seçimi değiştirmez.

MED her yol arasında karşılaştırılmaz. Düşük MED tercih edilir, ama RFC 4271’e göre MED yalnızca aynı komşu AS’ten gelen yollar arasında karşılaştırılır. Cisco bunu AS_PATH’teki ilk AS’in aynı olması koşuluyla uygular; bgp always-compare-med bu koşulu kaldırır. Topolojide ISP-A ve ISP-B farklı AS’ler olduğu için onlardan gelen MED’ler varsayılan olarak karşılaştırılmaz.

RFC 4271 kuralı üreticiye özgü ■ elenir Aday yollar: komşulardan + yerel Adj-RIB-In ve yerel rotalar Geçerli mi? next-hop çözülür, AS döngüsü yok değilse yol elenir Weight / PrefVal (yüksek) Cisco · Huawei · AOS-CX LOCAL_PREF (yüksek) AS içinde taşınır · varsayılan 100 Yerel üretilen yol network, aggregate… · AS_PATH'ten önce AS_PATH (kısa) Origin (IGP > EGP > ?) MED (düşük) yalnızca aynı komşu AS'ten gelenler eBGP > iBGP Next-hop'a IGP maliyeti (düşük) Router ID · komşu adresi (düşük) Cisco, AOS-CX: önce en eski eBGP BGP best path BGP'nin kendi kararı IP routing tablosu (RIB): ayrı bir karar Aynı önek başka kaynaktan da geliyorsa AD / preference karşılaştırılır. Cisco, FortiOS: eBGP 20 · iBGP 200 Huawei S serisi: harici preference 255; eşitse iç değer EBGP 20 · IBGP 200
Sıra Cisco, Huawei ve AOS-CX belgelerine göre sadeleştirildi; AIGP ve cluster list gibi adımlar gösterilmedi. Best path seçimi ile routing tablosuna kurulum ayrı kararlardır.

Best path routing tablosuna girer mi?

Best path yalnızca BGP yolları arasında kazanandır. Aynı önek başka bir kaynaktan da geliyorsa tabloya hangisinin kurulacağına AD ya da preference ile karar verilir. RFC 4271 de yeni bir BGP rotasının BGP olmayan bir rotanın yerini alıp almayacağını yerel politikaya bırakır. AD bir BGP path attribute’u değildir; komşuya gönderilmez ve yalnızca o router’daki tablo seçimini etkiler.

Platform eBGP iBGP Not
Cisco IOS XE 20 200 Yerel üretilen BGP rotası da 200
FortiOS 7.6 20 200 distance-external, distance-internal, distance-local (200)
Huawei S serisi V200R023C10 255 255 Harici preference; eşitlikte iç değerler: EBGP 20, IBGP 200

Huawei’nin varsayılan değerlerinin pratik bir sonucu var. Aynı önek hem OSPF’ten hem eBGP’den öğrenildiğinde Cisco, varsayılan değerlerle eBGP rotasını kurar (20 < 110). Huawei ise OSPF rotasını kurar (10 < 255). BGP’nin best path’i aynı olabilir, ama tabloya kurulan rota farklıdır. Huawei’deki 255’in Cisco’daki “AD 255 olan rota kurulmaz” kuralıyla aynı anlama gelmediği routing tablosu yazısında anlatıldı. AOS-CX’in varsayılan BGP distance değerlerini resmî kaynakta doğrulayamadık; distance bgp komutuyla platformda kontrol edilmelidir.

Varsayılan olarak routing tablosuna yalnızca best path kurulur. Birden çok yolun birlikte kurulması için multipath ayrıca yapılandırılır (Cisco’da maximum-paths).

Kendinizi deneyin

Alıştırma 1: 198.51.100.0/24 iki ISP’den de geliyor. ISP-A yolu: AS_PATH 64497 64499. ISP-B yolu: AS_PATH 64498 64510 64499. EDGE-2, ISP-B’den gelen rotalara inbound politikayla LOCAL_PREF 200 veriyor; EDGE-1’de bir politika yok. iBGP oturumunda iki yönde de next-hop-self açık. (a) EDGE-1 ve EDGE-2 hangi yolu seçer, neden? (b) EDGE-2’de next-hop-self olmasaydı ve EDGE-1’in routing tablosunda 203.0.113.5’i çözebilecek hiçbir geçerli rota olmasaydı ne değişirdi?

Cevap ve açıklama
  • (a) İkisi de ISP-B yolunu seçer. Önce EDGE-2: Kendi eBGP yolunun LOCAL_PREF’i 200, EDGE-1’den gelen ISP-A yolununki 100’dür; ISP-B yolu kazanır. Best path artık eBGP’den öğrenildiği için EDGE-2 onu EDGE-1’e LOCAL_PREF 200 ile duyurur. Politika yokken bu duyuru yapılmıyordu.
  • EDGE-1: İki aday var: ISP-A’dan eBGP ile gelen yol (LOCAL_PREF 100, AS_PATH uzunluğu 2) ve EDGE-2’den iBGP ile gelen yol (LOCAL_PREF 200, uzunluk 3, next-hop 192.0.2.254). İkisi de geçerli. Öğrenilmiş yollar oldukları için Cisco’da Weight, Huawei’de PrefVal ikisinde de 0’dır. Bir sonraki adım LOCAL_PREF’tir ve 200 kazanır; AS_PATH’e hiç bakılmaz.
  • Bir sonuç daha: EDGE-1’in best path’i artık iBGP’den öğrenilen yoldur. iBGP’den öğrenilen yol başka bir iBGP komşusuna duyurulmadığı ve router komşularına yalnızca best path’ini gönderdiği için EDGE-1, ISP-A yolunu EDGE-2’ye göndermeyi bırakır.
  • Routing tablosu: EDGE-1’de bu önek için başka bir kaynak olmadığından iBGP rotası kurulur (Cisco’da AD 200). Trafik EDGE-1’den EDGE-2’ye, oradan ISP-B’ye gider. LOCAL_PREF yalnızca kurumdan çıkan trafiği etkiler; 198.51.100.0/24’ten kuruma dönen trafiğin yolunu dışarıdaki AS’ler seçer.
  • (b) Rota EDGE-1’e next-hop 203.0.113.5 ile ulaşır. RFC 4271’in 9.1.2.1. bölümüne göre next-hop, routing tablosunda onunla eşleşen geçerli bir rota varsa çözülebilir sayılır. Bu yüzden 203.0.113.4/30’un tabloda olmaması tek başına yeterli değildir: Bir default route ya da 203.0.113.5’i kapsayan başka bir rota varsa next-hop recursive olarak çözülebilir. Soruda böyle bir rota yok; yol çözülemez sayılır ve karar sürecine girmez. Geriye yalnızca ISP-A yolu kalır ve EDGE-1, LOCAL_PREF 200’e rağmen ISP-A’yı kullanır. Bu yolu EDGE-2’ye LOCAL_PREF 100 ile duyurur; EDGE-2 ise kendi LOCAL_PREF 200’lü ISP-B yolunda kalır. Sonuçta iki edge router trafiği farklı ISP’lerden çıkarır ve politika yalnızca yarısında uygulanmış olur. Geçerlilik kontrolü bütün özelliklerden önce gelir.

Alıştırma 2: EDGE-1’de network 192.0.2.0 (/24) tanımlı, ama ISP-A bu öneği almıyor. EDGE-1’in routing tablosunda 192.0.2.0/25 (LAN) ve 192.0.2.252/30 var; statik /24 rotası yazılmamış. Dört platformda nedeni hangi sırayla kontrol edersiniz?

Cevap ve açıklama
  • 1. RIB’de birebir önek: Routing tablosunda /24 yok, yalnızca daha uzun önekler var. Cisco, Huawei ve AOS-CX’te network ifadesi birebir eşleşme ister; bu yüzden önek BGP tablosuna hiç girmez. FortiOS’ta network-import-check açıksa (varsayılan) sonuç aynıdır. Kapalıysa önek tabloda olmadan da duyurulur. Çözüm, öneği gerçekten taşıyabilecek bir /24 rotasıdır: bu topolojide Null0’a giden statik rota.
  • 2. Komşuluk: Oturum Established değilse hiçbir rota gönderilmez. Önce show ip bgp summary, display bgp peer ya da platformdaki karşılığıyla durum kontrol edilir.
  • 3. Adres ailesi: AOS-CX’te komşu IPv4 unicast adres ailesinde activate edilmemişse önek alışverişi olmaz. Cisco’da router modunda tanımlanan komşu varsayılan olarak IPv4 unicast alışverişi yapar. Huawei’de IPv4 unicast komşular için peer enable ayrıca gerekmez.
  • 4. Export filtresi: Komşuya uygulanan bir route-map, prefix-list ya da RFC 8212 tarzı bir varsayılan red, öneği outbound yönde durdurabilir. Platformun açık politika olmadan eBGP komşusuna ne gönderdiği kontrol edilir.
  • 5. Next-hop: Kendi ürettiği önekte next-hop sorunu beklenmez; router eBGP komşusuna kendi adresini gönderir. Next-hop, başka bir komşudan öğrenilen rotayı yeniden duyururken önemlidir: Next-hop’u çözülemeyen rota best path olamaz, best path olmayan rota da duyurulmaz.

Kaynaklar

#routing#bgp#ebgp#ibgp#best-path

Kemal Keleş

Network & Security Engineer · CCNA · HCSA · NSE 3

Switching, routing, firewall ve kampüs ağlarında presales ve saha deneyimimi, teknik araştırmalarımı ve üretici dokümantasyonlarını bir araya getirerek pratik, üreticiden bağımsız içerikler hazırlıyorum.

Aynı konudan