Network & Security Engineer

BGP (Border Gateway Protocol) – Giriş

Günümüzde “internet” olarak adlandırılan ağ yapısı, birbirinden bağımsız çalışan birkaç ufak ağın bir araya gelmesinden çıkarak tüm dünyayı kapsayan dev bir iletişim sarmalına dönüşmüştür. Bu küresel ağın oluşum sürecinde, her cihazın birbirine tek tek bağlanması imkânsız, karmaşık ve yönetilemez bir durum yaratmıştır. Bu yapıdaki bir sistemin stabil bir şekilde işletilmesi de mantıksal olarak mümkün görülmemektedir. Bu sorunun üstesinden gelebilmek için dinamik bir ağ yönlendirme mekanizmasına duyulan ihtiyaç ortaya çıkmıştır.

Dinamik Yönlendirme Protokolleri

IGP (Interior Gateway Protocol), tek bir otonom sistem içinde bulunan farklı ağların yönlendirilmesi için kullanılan protokoller grubunu ifade eder. OSPF, RIP ve IS-IS protokolleri birer IGP protokolü olarak tanımlanır. Ancak internetin hızla gelişmesi ve otonom sistemlerin sayısındaki artış, bir noktadan sonra IGP’nin yetersiz kalmasına neden olmuştur. Bu kapsamda, bir ağdan diğerine gerçekleştirilecek paket yönlendirmelerini izlemek ve optimize etmek amacıyla otonom sistemler (Autonomous Systems – AS) geliştirilmiştir. İlk olarak EGP (Exterior Gateway Protocol) olarak bilinen dinamik yönlendirme protokolü, ağı oluşturan cihazların mevcut erişilebilirlik bilgilerini komşu otonom sistemlere iletmek için kullanılmaktaydı. Bu protokol, cihazların birbirleriyle haberleşmesini ve ağın genel durumunu dinamik bir şekilde paylaşmasını sağlıyordu.

Bir otonom sistem, birden fazla internet servis sağlayıcısına (Internet Service Provider – ISP) ait farklı ağları içerebilir. Her bir otonom sistem, kendine özgü bir kimlik numarası (AS Number) ile tanımlanır. Bu yapıda, her bir otonom sistemin yönlendirme kuralları belirlenerek IP aralıkları tanımlanır ve bu şekilde ağ içerisindeki trafiğin yönlendirilmesi sağlanır.

EGP’nin hiyerarşik yapısı, yeni ağların sisteme etkili ve ölçeklenebilir bir şekilde bütünleşik yapıda çalışmasını zorlaştırmış ve bunun sonucunda daha gelişmiş bir dış yönlendirme protokolüne olan ihtiyaç doğmuştur. Bu ihtiyacı karşılamak üzere EGP’nin bir parçası olan BGP (Border Gateway Protocol) geliştirilmiştir. BGP, esneklik, ölçeklenebilirlik ve sağlam yönlendirme yetenekleri sunarak EGP’ye göre önemli bir ilerlemeyi temsil eder. BGP, yönlendiricilere otonom sistem numarası ataması yapan gelişmiş bir yönlendirme protokolüdür ve Katman 4 üzerinde çalışmaktadır. BGP, yönlendiricilere otonom sistem numarası ataması yapan gelişmiş bir yönlendirme protokolüdür. Bu otonom sistem numarası 1 ile 65535 arasında değişir. Özel otonom sistem numaraları 64512 – 65535 arasındadır ve herkes tarafından kullanılabilir.

BGP’de EIGRP aksine farklı otonom sistemlerin birbirleri ile haberleşmesi sağlanır. Gönderilen her pakete hangi otonom sistemine ait olduklarına dair bir etiket eklenir.

BGP AS Numaraları ile Ağlar

BGP protokolünü daha iyi anlamak için günlük hayattan bir örneğe başvurabiliriz. Otonom sistemleri, birçok sokaktan oluşan bir mahalleye benzetmek mümkündür. Sokak tabelaları ağ ön eklerine (network ve prefix), ev adresleri ise IP adreslerine karşılık gelir. Bir evden çıkan bir araba, başka bir eve en verimli rotadan ulaşmaya çalışırsa, bir ağdan çıkan bir paket de hedef ağa en iyi rotayı izleyerek ulaşır. Bu durum, GPS uygulamalarının sunduğu en iyi rota önerilerine benzetilebilir. GPS’ler, anlık verilerle trafik, yol çalışması veya kazalar gibi faktörleri değerlendirerek hedefe ulaşmak için en iyi rotayı çizer. BGP yönlendirmeleri de benzer şekilde çalışır.

Her BGP eş (peer) olarak tanımlanır ve bu eşler, yönlendirme bilgilerini ağ ön ekleriyle birlikte anlık olarak birbirleriyle paylaşır. BGP’nin karar mekanizması, paketleri hedefe kesin olarak yönlendirebilmek için tüm verileri ve eşler arasındaki iletişimi analiz eder. Her peer, paketin hedefe yönlendirilmesiyle ilgili bir yönlendirme tablosunu yönetir. Bu sayede BGP, otonom sistemlerin yönlendirme bilgilerini toplar ve birbirleriyle paylaşılmasını sağlar. Aynı zamanda, bu eşler kendi otonom sistemleri dâhilinde iç bilgi aktarımı da gerçekleştirir. BGP komşuluklarında Katman 1, Katman 2 ve Katman 3 bilgileri göz önünde bulundurulmaz. İki BGP komşusunun birbirlerine direkt bağlı olmaları gerekmez. Yalnızca next-hop adresin erişilebilir olması ve komşusuna ping atabilmesi sonucunda komşuluk karşılıklı olarak kurulabilir. Ek olarak, aynı otonom sistemden çıkan bir paketin, aynı otonom sisteme geri dönmesi engellenir. Bu durum genellikle ‘update’ paketlerinde yaşanabilir ve BGP yapısında update paketleri sebebiyle loop oluşumu önlenir.

BGP’nin yönlendirme işlemlerini gerçekleştirebilmek için üç temel tabloya sahiptir:

  • Komşuluk Tablosu: Bu tablo, BGP’nin komşu yönlendiricilerini belirlediği ve yönlendiricilerle ilgili bilgileri sakladığı bir yapıdır. Komşuluklar manuel olarak eklenir ve hangi bilgilerin hangi yönlendiriciye iletilebileceği bilgisi de bu tabloda tutulur.
  • BGP Tablosu: Bu tabloda, komşu yönlendiricilerle iletişim durumunun düzenli olarak kontrol edildiği bilgiler yer alır. Her dakika, komşu yönlendiricilerden “ayaktayım” veya “çalışıyorum” bilgisini içeren update mesajlarının alınıp alınmadığı bu tablo üzerinden takip edilir.
  • IP Yönlendirme Tablosu: Bu tablo, kaynak noktadan hedefe en verimli şekilde ulaşılmasını sağlayan en iyi rotaları içerir. BGP’nin yönlendirme kararlarını alırken başvurduğu en kritik bileşenlerden biridir.

Kaynaktan hedefe ulaşmak için genellikle birden fazla rota mevcuttur. BGP (Border Gateway Protocol), bu rotalar arasından en verimli olanı seçmek için mevcut tablolardaki verileri analiz eder ve anlık değişimleri değerlendirerek, yapılandırılmış yönlendirme politikasına uygun kararlar alır. Bu politikalar; maliyet, gerçekleşebilirlik, hız ve ölçülebilirlik gibi kriterler dikkate alınarak belirlenir.

BGP’nin metrik hesaplamalarında otonom sistem sayısı önemli bir rol oynar. Bu, BGP’nin bir tür Distance Vector algoritması kullandığını gösterse de, geleneksel Distance Vector protokollerinden farklı olarak Path Vector yaklaşımı benimser. Bu nedenle BGP, genellikle kendine özgü bir protokol türü olarak değerlendirilir. BGP çalışma prensibindeki karakteristik özellikleri:

  • CIDR Desteği: BGP, IP adreslerini optimize etmek için CIDR (Classless Inter-Domain Routing) yapısını destekler.
  • Port ve İletişim: Komşu yönlendiriciler (peers) arasında iletişim kurmak ve yönlendirme bilgilerini paylaşmak için TCP 179 portunu kullanır. Her 60 saniyede bir, 19 bayt uzunluğunda bir paket bu port üzerinden gönderilir.
  • Veri Bütünlüğü: TCP’nin hata kontrolü mekanizması sayesinde, paketlerin sıralı iletimi ve kayıp paketlerin tekrar gönderilmesi sağlanır. Bu özellik, BGP’nin diğer yönlendirme protokollerinde olduğu gibi ek doğrulama mekanizmalarına ihtiyaç duymamasını sağlar.
  • Güncelleme Paketi: BGP, güncelleme paketlerinde yalnızca değişen rotaları iletir.
  • Bağlantı Güvenliği: BGP oturumlarında güvenliği artırmak için MD5 kimlik doğrulama mekanizması kullanılır. Bu yöntem, yetkisiz erişimi önler ve yönlendiriciler arasında gönderilen TCP segmentlerinin kaynağını doğrular.

BGP, otonom sistemin içinde veya dışında çalışmasına göre ikiye ayrılır:

  • eBGP (Exterior Border Gateway Protocol – Dış Sınır Geçit Protokolü), farklı otonom sistem içinde bulunan yönlendiricilerin birbirleriyle komşuluk kurabilmesi için eBGP, Exterior Border Gateway Protocol (Dış Sınır Geçit Protokolü) kullanılır. Bu protokol kullanılarak komşudan öğrenilen ağ bilgisi yönlendirici tablosuna Administrative Distance değeri 20 olacak şekilde eklenir.
  • iBGP (Interior Border Gateway Protocol – İç Sınır Geçit Protokolü), aynı otonom sistem içinde bulunan yönlendiricilerin birbirleriyle komşuluk kurabilmesi için iGBP, Interior Border Gateway Protocol (İç Sınır Geçit Protokolü) kullanılır. Bu protokol kullanılarak komşudan öğrenilen ağ bilgisi yönlendirici tablosuna “Administrative Distance” değeri 200 olacak şekilde eklenir.

BGP’de, ‘neighbor’ komutu kullanılarak aynı veya farklı yönlendiriciler arasında komşuluk kurulması sağlanır. Bu komut ile komşuluk kurulacak yönlendiricilerin IP adresi ve otonom sistem (AS) numaraları belirlenir. Ancak BGP, rota belirlerken hedefe ulaşırken üzerinden geçtiği otonom sistem sayısını dikkate alır. Ancak, bant genişliği gibi faktörler doğrudan hesaba katılmadığı için, bu parametreler üzerinde manuel müdahale gerekebilir.

Yönlendirme optimizasyonu için ise BGP’nin çeşitli attributes (özellikler) kullanılarak yönlendirme kararları daha etkili hale getirilir. Bunlar;

Bu görselin Alt özniteliği boş. Dosya adı: BGP-3.png
BGP Öznitelikleri

Well Known Attributes: Tüm yönlendiriciler tarafından tanınan ve her zaman bulunan özniteliklerdir. Bu öznitelikler, BGP rotalarının yönlendirme kararlarını almak için kritik öneme sahiptir. Bütün BGP update mesajlarında bulunur.

  • Mandatory Attributes: Bütün güncelleme mesajlarında bulunması gereken özniteliklerdir. Bu öznitelikler, BGP mesajları içindeki her rota için mutlaka bulunmalıdır. Eğer bir BGP mesajında bu öznitelikler eksikse, o mesaj geçerli kabul edilmez ve yönlendirici tarafından işlenmez.

    • AS Path: Hedefe giderken geçilen otonom sistemleri belirtir. Rota birden fazla AS üzerinden geçiyorsa, her AS numarası sırasıyla listelenir. Bu öznitelik, döngülerin önlenmesi için önemlidir; bir yönlendirici, kendi AS numarasını gördüğünde bu rotayı kabul etmez. Böylelikle döngü (loop) oluşmasını engeller.
    • Next-Hop: Hedefe giderken gidilecek olan bir sonraki yönlendiricinin IP adresini belirtir. BGP yönlendiricisi, bu bilgiyi kullanarak rotanın doğru yönlendirilip yönlendirilmediğini belirler.
    • Origin: BGP’nin rotayı nasıl öğrendiğini belirtir.
      • Internal(i): iBGP ile öğrenilen rotalardır ve “i” harfi ile tanımlanır.
      • External(e): eBGP ile öğrenilen rotalardır ve “e” harfi ile tanımlanır.
      • Incomplete(?): Orijini belli olmayan, başka şekillerde BGP’nin içine aktarıldığını gösterir. “?” ile tanımlanır. Rota, herhangi bir protokolden öğrenilmediği için belirtilen değeri içerir.
  • Discretionary Attributes: BGP protokolünde yönlendiricilerin kullanması zorunlu olmayan, ancak belirli ağ gereksinimlerine göre tercih edilebilen özelliklerdir. Bu öznitelikler, her yönlendirici tarafından tanınmak zorunda değildir ve kullanımı isteğe bağlıdır. Bir yönlendirici bu özellikleri işlemeyebilir ve yine de BGP ile veri iletimi yapabilir. Ancak, belirli durumlar veya ağ politikaları için faydalı olabilir.
    • Local Preference: Yönlendiricinin, komşu yönlendiricilerden öğrendiği birden fazla rotadan hangi rotayı tercih edeceğini belirler. Yüksek Local Preference değeri, daha yüksek tercih anlamına gelir.
    • Atomic Aggregate: Özetleme ile oluşturulan rotalarda kullanılır. Yönlendiriciye, birden fazla rotaya sahip iletimlerin rotalar özet olarak birleştirilmeden önce, rotaların atomik şekilde yani birer birer ele alınması gerektiğini belirtir.

Optional Attributes: BGP güncelleme mesajlarında bulunup bulunmaması üreticiye bağlıdır.

  • Transitive Attributes: Bu öznitelikler, rotaların taşınması sırasında, değerlerinin değiştirilmeden ya da bozulmadan iletilmesini sağlar. Bir BGP rotası komşu yönlendiriciden başka bir yönlendiriciye aktarılırken özelliklerini korur ve ilerleyen yönlendiricilere bozulma yaşanmadan iletilmelidir.
    • Aggregator: Otonom sistem içerisindeki rota özetlemesini yapan yönlendiriciyi tanımlar.
    • Community: Yönlendiricilere rotaların grup bazında işaretlenmesini ve belirli politikaların bu kapsamda uygulanmasını sağlar. İşaretlemeler farklı sayıda bitlerin paket başlığına işlenmesi ile sağlanır.

Standard Community: 32 bit etiketleme.
Extended Community: 64 bit daha gelişmiş etiketleme.
Large Community: 128 bit geniş kapsamlı etiketleme.
Well-Known Community: Önceden tanımlanmış ve yaygın kullanılan toplulukları tanımlayan etiketleme (No-Export, No-Advertise, Internet, Local AS).

  • .
    • No-Export: Rotaların diğer otonom sistemlere yani dışarıya aktarılmasını engelleyen bir topluluktur. Rota, dışa aktarılmadan sadece yerel ağda kullanılabilir.
    • No-Advertise: Rotanın diğer yönlendiricilere reklamını yapmama özelliği sunar. Yönlendirici, bu rotayı aynı AS içinde bulunsa dahi komşularına duyurmaz.
    • Internet: Genellikle bir rotanın geniş internet ağlarına açık olduğunu belirtir.
    • Local AS: Ağda kullanılan yerel otonom sistem numarasını ifade eder ve BGP gibi protokollerde yönlendirme politikalarını belirlerken, komşuluk kurarken veya yönlendirme kararları alırken önemli bir rol oynar.
  • Non Transitive Attributes: Bir BGP rotası bir yönlendiriciden diğerine aktarılırken, bu öznitelikler ile yalnızca o yönlendiricinin kullanabileceği değerler taşır ve bu değerler diğer yönlendiricilere iletilmez.
    • MED (Multi Exit Discriminator): BGP’de, bir otonom sistemin birden fazla çıkış noktası olduğu durumlarda, komşu otonom sistemlere erişimde hangi çıkışın tercih edilmesi gerektiğini belirleyen bir öncelik değerdir. MED, yönlendiricilere hangi çıkışın daha uygun olduğunu bildirir ve çoklu bağlantıya sahip olan ağlarda yönlendiricilerin trafik akışını optimize etmesini sağlar. Paketlerin öncelikli olarak hangi hattan gelmesi isteniyorsa o hatta MED değeri düşük girilir.
    • Originator ID: BGP güncellemesini oluşturan kaynak yönlendiricinin numarasını taşıyarak tanımlar. BGP rotasının kaynağını tanımlaması döngülerin önlenmesini sağlar. Özellikle Route Reflection ve Confederation ile birlikte kullanıldığında önemli bir rol oynar.
    • Cluster ID: Aynı otonom sistem içerisinde bulunan yönlendiricilerin ait olduğu kümenin numarasını belirtir. Route Reflector kullanıldığında, yönlendiriciler arasındaki döngüleri önlemek ve rotaların doğru bir şekilde yönlendirilmesini sağlar. Belirli bir Route Reflector grubunda bulunan ve aynı cluster içerisinde yer alan yönlendiriciler tarafından yayılan rotaları takip eder ve aynı kümeye yayın yapılarak döngü oluşmasını önler.

BGP rota seçimi aşağıdaki ölçütlere göre yapılır:

  • Highest Weight

BGP yönlendiricisinin yerel olarak kullandığı bir parametredir ve yalnızca bu yönlendirici için geçerlidir. Yönlendiricinin bulunduğu AS dışında bulunan yönlendiricilere iletilmez. Varsayılan değeri “0”dır. Bu değer yönlendirici üzerinde manuel olarak ayarlanabilir ve genellikle en yakın çıkış rotasını tercih etmek için kullanılır.

  • Highest Local Preference

Aynı AS içinde bir hedefe ulaşmak için hangi rotanın daha iyi olduğunu belirlemek amacıyla kullanılır. Bu değer BGP güncellemeleriyle AS içinde paylaşılır. Varsayılan değeri “100”dür.  Daha yüksek highest local preference değeri olan rota tercih edilir. Bu değer, AS içerisinde trafiğin hangi çıkış noktasını kullanacağını belirlemede kritik rol oynar.

  • Originate (Local Router Originated)

Yönlendirici tarafından yerel olarak oluşturulan rotalar (örneğin, bir ağın BGP konfigürasyonunda elle eklenmesi) diğer rotalara göre önceliklidir. Eğer rota yerel yönlendirici tarafından oluşturulmuşsa, next-hop adresi “0.0.0.0” olarak görünür ve bu rota tercih edilir. Bu değer, yönlendiricinin kendi ağını tercih etmesini sağlar.

  • Shortest AS Path Length

Rota, hedefe ulaşana kadar AS sayısına göre değerlendirilir. Daha kısa bir AS yolu, genellikle daha az gecikme ve daha hızlı bir yol anlamına gelir. Bu sebeple AS yolu daha kısa olan rota tercih edilir. Bazı durumlarda AS yolu manipüle edilerek trafik akışı yönlendirilebilir.

  • Lowest Origin Code

Rota kaynağına göre bir sıralama yapılır. Kökeni, BGP tablosunda üç farklı türde bulunabilir:

  • IGP (Interior Gateway Protocol): En öncelikli.
  • EGP (Exterior Gateway Protocol): Orta öncelikli.
  • Incomplete (Tamamlanmamış): En düşük öncelikli.

Kaynak kodu sırasına göre tercih edilir: IGP < EGP < Incomplete.

  • Lowest MED (Multi-Exit Discriminator)

MED, birden fazla giriş/çıkış noktası bulunan bir AS içerisinde hangi rotanın daha iyi olduğunu belirlemek için kullanılır. MED, yalnızca iki komşu AS arasında karşılaştırılır, global bir değer değildir. MED değeri düşük olan rota tercih edilir.

  • Prefer eBGP over iBGP

Eğer bir rota hem eBGP (External BGP) hem de iBGP (Internal BGP) ile alınmışsa, eBGP rotası tercih edilir. Çünkü eBGP rotası, genellikle daha az hop içerir ve dış kaynaklardan gelir. Bu sebeple eBGP rotaları, iBGP rotalarına göre önceliklidir.

  • Lowest IGP Metric to BGP Next-Hop

BGP, rotanın bir sonraki adımına (next-hop) ulaşmak için kullanılan IGP (OSPF, IS-IS gibi) metriklerini değerlendirir. Daha düşük bir IGP metriği, genellikle daha kısa bir yol anlamına gelir.

  • Oldest Path

Eğer yukarıdaki tüm ölçütler eşitse, ilk önce öğrenilen (en eski) rota tercih edilir. Bu, BGP’nin stabilitesini korumak için kullanılan bir yaklaşımdır. Stabil bir ağ için bu ölçüt önemlidir, çünkü aksi durumda oluşabilecek olan sürekli rota değişimleri böylece önlenir.

  • Lowest BGP Neighbor Router_ID

Eğer hala ölçütlerde eşitlik söz konusu ise, BGP komşularının Router ID’si (RID) karşılaştırılır. Router ID, BGP yönlendiricisini tanımlayan benzersiz bir numaradır. Daha düşük Router ID’ye sahip olan rota tercih edilir. Router ID, genellikle en yüksek loopback IP adresi veya yönlendirici manuel bir şekilde atanmış bir değerdir.

  • Lowest BGP Neighbor IP_Address

Eğer önceki tüm ölçütler eşitse, en düşük komşu IP adresine sahip rota tercih edilir. Daha düşük IP adresine sahip olan komşudan öğrenilen rota seçilir. Bu ölçüt, eşitlik durumunda rotayı belirleyecek olan son karar mekanizmasıdır.

Sırasıyla rota seçimini özetlemek gerekirse;

  • Eğer bir sonraki yönlendiriciye erişilemiyorsa söz konusu olan rota direkt iptal edilir.
  • En büyük Weight değerine sahip olan rota seçilir.
  • Eğer, Weight değerleri eşit ise en büyük Local Preference değerine sahip rota seçilir.
  • Eğer Local Preference değerleri de eşitse AS Path değerine bakılır.
  • AS Path değerleri de eşitse rotanın kökenine bakılarak öncelik içeriden öğrenilen olan rota da olmak üzere; sırasıyla dışarıdan öğrenilen ve kökeni belli olmayan rota olarak seçim yapılır.
  • Seçilecek rotaların kökenleri yoksa en düşük MED değerine sahip rota seçilir.
  • Eğer MED değerleri aynı ise kökeni dışarıdan olan rotalar içeriden olan rotalara tercih edilir.
  • Eğer seçilecek olan rotalar aynı kökene sahipse, rota seçiminde iBGP komşusuna en yakın olan rota seçilir.
  • Yönlendirici numarası tarafından belirtilen en küçük IP adresi rota olarak tercih edilir.
  • Eğer yukarıdaki tüm ölçekler eşitse en küçük IP adresine sahip komşusu olan rota tercih edilir.

BGP komşu yönlendiriciler ile güvenli bağlantı kurarken belirli aşamalar takip edilir. BGP, bir TCP bağlantısı ile 3-way-handshake süreci başlatır. Bu süreç BGP FSM (Finite State Machine) olarak adlandırılır.

  • Idle: BGP, bağlantı başlatma olayını algılar ve komşusu ile bir TCP bağlantısı kurmaya çalışır. Bağlantı başlatılamazsa, paket başlığında bulunan “ConnectRetryTimer” sıfırlanır ve bağlantı tekrar denenir. Eğer bu işlem sürekli olursa, zamanlayıcı iki katına çıkar. Bağlantıyı yöneten komşu, daima daha yüksek IP adresine sahip olanıdır.
  • Connect: Yönlendirici, TCP üç aşamalı el sıkışmanın tamamlanmasını bekler. Başarılı olursa “OpenSent” durumuna geçer eğer bağlantı başarısız olursa “Active” durumuna geçer. Eğer zamanlayıcı süresi dolarsa, yeni bir TCP bağlantısı denenir ve süreç tekrar edilir.
  • Active: Bağlantı kurulamazsa, BGP yeni bir TCP bağlantısı kurmaya çalışır. Başarıyla bağlantı kurarsa, “OpenSent” durumuna geçer. Eğer bağlantı başarısız olursa, “Connect” durumuna geri dönülür.
  • OpenSent: Bu aşamada, kaynak yönlendirici bir “Open” mesajı gönderir ve komşusundan gelecek olan mesajı bekler. Hatalı bir mesaj alınırsa, BGP bağlantıyı kapatır ve “Idle” durumuna geri döner. Doğru bir mesaj alınırsa, Hold Time müzakere edilir ve “keepalive” mesajları gönderilir.
  • OpenConfirm: BGP, uzak komşudan bir “keepalive” veya “notification” mesajı bekler. Keepalive alındığında, bağlantı “Established” durumuna geçer. Eğer herhangi bir hata olursa, “Idle” durumuna geri dönülür.
  • Established: Bağlantı kurulmuş ve BGP komşuluğu tamamlanmıştır. Yönlendiriciler, yönlendirme bilgilerini değiş tokuş etmek için güncelleme paketleri gönderir. Hold Timer süresi dolarsa veya bir hata tespit edilirse, bağlantı Idle durumuna geri döner.

Bu süreç, BGP’nin doğru bir şekilde komşu yönlendiricilerle bağlantı kurmasını ve yönlendirme bilgilerini güvenli bir şekilde paylaşmasını sağlar.

BGP Paket İletişimi Çalışma Prensibi

Multiprotocol BGP (MBGP veya MP-BGP), BGP için bir uzantıdır ve birden fazla türdeki adresin aynı anda yönetilmesine imkân verir. Standart BGP yalnızca IPv4 unicast adreslerini kullanarak yönlendirme yapabilir, ancak MP-BGP, hem IPv4 hem de IPv6 adresleriyle çalışabilir ve bunların yanı sıra unicast ve multicast gibi farklı veri iletimi türlerini de destekler.

MP-BGP’nin en önemli özelliği, bir ağda hem unicast hem de multicast yönlendirme bilgilerini yönetebilmesidir. Bu, her iki türdeki yönlendirme bilgilerini farklı yönlendirme tablolarında saklayarak birbirinden ayrılmalarını sağlar. Örneğin, unicast yönlendirme bilgileri bir tabloda, multicast yönlendirme bilgileri ise başka bir tabloda yer alır. Böylece, her iki yönlendirme türü birbirine karışmadan, kendi gereksinimlerine göre bağımsız şekilde işlenebilir. Multicast yönlendirme topolojisi, unicast yönlendirme topolojisinden farklı olabilir. Bu da, ağ yöneticilerinin her iki türdeki trafiği daha esnek ve kontrollü bir şekilde yönetmesini sağlar.

MP-BGP’nin kullanımı, özellikle MPLS L3 VPN (Multiprotocol Label Switching Layer 3 Virtual Private Network) gibi gelişmiş ağ yapılarında yaygındır. Bu tür ağlarda, müşteri siteleri arasındaki trafiği ayırt etmek için VPN etiketleri kullanılır. MP-BGP, bu etiketlerin doğru şekilde yönlendirilmesini sağlayarak, her bir müşteri ağının trafiğini diğerlerinden ayırır ve her müşteri için doğru ve ayrı yönlendirme yapılmasını garanti eder.

BGP manipülasyonları, yönlendirme politikalarını değiştirmek veya optimize etmek amacıyla yapılan ayarlamalar ve müdahalelerdir. Manipülasyonlar ile BGP’nin esnek ve politika tabanlı yapısından yararlanılarak, trafik akışını istenen şekilde yönlendirmek veya belirli hedeflere ulaşımı kısıtlamak için kullanılır. BGP manipülasyonları, büyük ölçekli ağlarda trafik akışını kontrol etmek, güvenlik sağlamak ve maliyet avantajı elde etmek için güçlü bir araçtır. Ancak, bu manipülasyonların dikkatli ve planlı bir şekilde uygulanması gerekir. Yanlış yapılandırmalar, yönlendirme döngüleri, performans kayıpları ve hatta ağ kesintilerine neden olabilir. En iyi rota seçiminde varsayılan değerler değiştirilerek yapılabileceği gibi farklı protokoller ile bir arada çalışırken belirli sorunlar yaşayabileceği durumları çözmek için farklı konfigürasyonlar uygulayarak uyum sürecini arttırmak ve daha iyi sonuçlar almak amacıyla da benzer manipülasyon teknikleri uygulanabilmektedir.

  • Bir grup yönlendirici arasında bir sanal IP adresi için yedeklilik sağlar. VRRP’nin amacı, yönlendirme cihazlarının birisinin arızalanması durumunda diğer bir cihazın devreye girerek ağın kesintisiz çalışmasını sağlamaktır. Bu genellikle Layer 2 veya Layer 3 seviyesinde gerçekleşir. VRRP, bir sanal IP adresi kullanır ve bu IP genellikle Layer 3 yönlendirme işlemlerinde “gateway” olarak kullanılır. BGP ise farklı AS arasında veya aynı AS içinde yönlendiriciler ile yönlendirme bilgilerini paylaşır. Bu iki protokol farklı amaçlara hizmet ettiği için, bazı durumlarda etkileşimleri sırasında beklenmedik sorunlar oluşabilir. Eğer BGP’nin kullandığı next-hop adresi VRRP tarafından kontrol edilen sanal IP ile aynıysa, yönlendirme döngüleri veya yanlış yol seçimleri ortaya çıkabilir. VRRP, trafiği bir yönlendirici üzerinden geçirirken, BGP başka bir yönlendirme yolu seçebilir. Bu, ağda asimetrik trafik akışına yol açabilir. VRRP, master cihazın arızalanması durumunda hızlı bir şekilde yedek cihazın master olarak devreye girmesini sağlar. VRRP’nin hızlı geçiş mekanizması, BGP’nin daha uzun süren yeniden oturum kurma sürecine uyumsuzluk gösterebilir. Bu geçiş sürecinde BGP oturumu kesilebilir çünkü BGP’nin TCP tabanlı bir oturum yönetimi vardır ve bu oturumlar stabiliteye ihtiyaç duyar. Örneğin, gelen trafik bir cihazdan gelirken, giden trafik başka bir cihaz üzerinden yönlendirilebilir. Bu durum, bağlantı sorunlarına ve performans düşüşlerine neden olabilir.
VRRP Örneği

Böyle bir durumda VRRP (Virtual Router Redundancy Protocol) ile BGP bir arada kullanılmak isteniyorsa, BGP konfigürasyonunda next-hop self komutu kullanılarak, BGP yönlendirme tablolarının sanal IP adresine bağımlı olmaması sağlanabilir. Böylece next-hop adresi VRRP’nin sanal IP adresi yerine gerçek fiziksel IP adresi olarak ayarlanır. VRRP’nin sanal IP adresini kullanmadan, BGP yönlendirmelerinde fiziksel yönlendirici IP’lerini manuel olarak yapılandırmak sorunları azaltabilir. VRRP’nin rol değişim süresi ile BGP’nin oturum zamanlayıcıları uyumlu hale getirilebilir. Örneğin, VRRP’nin geçiş süresini BGP’nin “hold-time” değerine uygun olarak ayarlamak stabilite sağlayabilir. BGP protokolünde yer alan Graceful Restart özelliği etkinleştirilerek, bir VRRP geçişi sırasında BGP oturumlarının kesintiye uğraması engellenebilir. Yukarıda bahsedilen komutların uygulanması ile sorun yaşanması muhtemel bir senaryoda ilgili riskleri en düşük seviyeye indirgemek mümkündür.

  • BGP ve OSPF veya EIGRP arasında yönlendirme bilgisi paylaşımı yapılırken, yeniden dağıtım (Redistribution) sırasında döngüler oluşabilir. Yanlış veya eksik filtreleme kuralları, yönlendirme tablolarında gereksiz veya hatalı girişlere yol açabilir. BGP büyük ölçekte (örneğin 500.000’den fazla rota) yönlendirme yapabilirken, OSPF veya EIGRP bu kadar büyük bir yükü kaldırmak için tasarlanmamıştır. Redistribution sırasında OSPF’in kararlılığı bozulabilir. OSPF, bağlantı maliyetine dayalı metrik kullanırken, BGP çeşitli politika tabanlı metriklerle çalışır (örneğin Local Preference, MED). Bu uyumsuzluk yanlış rota seçimine neden olabilir.

Böyle bir durumda filtreleme ve döngü önleme mekanizmalarından biri olan “route-map” konfigürasyonu ya da next-hop bilgilerini BGP için uyumlu hale getirmek için “next-hop-self” komutu uygulanabilir. BGP ile OSPF (Open Shortest Path First) veya EIGRP (Enhanced Interior Gateway Routing Protocol) arasındaki yeniden dağıtım işlemini sınırlamak ve dikkatli planlamak riskleri en düşük seviyeye indirgeyecektir.

  • MPLS VPN (Multi Protocol Label Switching – Virtual Private Network) yapılandırmalarında, BGP tarafından taşınan Label bilgileri yanlış eşleştirilirse trafik kayıpları oluşabilir. MPLS hızlı trafik yönlendirmesi sağlarken, BGP’nin daha yavaş konsensüs mekanizması bir darboğaz oluşturabilir.

Böyle bir durumda MPLS ve BGP yapılandırmaları dikkatlice senkronize edilmeli ve MPLS VPN kullanıyorsanız, MP-BGP (Multiprotocol BGP) özelliğini etkinleştirilmelidir.

  • RIP, sınıf tabanlı bir yönlendirme protokolü olduğundan, BGP’nin taşıdığı CIDR (Classless Inter-Domain Routing) tabanlı yönlendirme bilgilerini işleyemez. Bu da rota bilgisi kaybına yol açabilir. Ayrıca RIP’in (Routing Information Protocol) sabit bir metrik sistemi vardır (her hop’a bir metrik eklenir), bu da BGP’nin daha esnek ve detaylı metrik yapısıyla çelişir.

Böyle bir durumda, RIP’ten BGP’ye Redistribution yapılırken özetleme (summarization) kullanılarak ve statik rotalar kullanarak RIP ile BGP arasındaki uyum arttırılabilir.

BGP’nin dinamik yapısı, statik rotalarla çelişebilir ve yönlendirme döngüleri oluşturabilir. Statik rotalar herhangi bir değişikliğe tepki veremezken, BGP’nin failover yetenekleri etkisiz kalabilir.

Böyle bir durumda, Statik rotaların BGP tarafından öğrenilen rotalarla çakışmasını önlenmesi ve statik rotalar için “floating static routes” kullanarak BGP ile uyumlu hale getirmek ilgili riskleri en düşük seviyeye indirgeyecektir.

Lütfen bu gönderiye bir puan ver.
[Total: 1 Average: 5]
« »

YOU CAN NOT COPY THAT TEXT !

COPYRIGHT TO EMRE CICEK.