BGP, ortak bir yönlendirme politikasıyla yönetilen ağların, yani AS'lerin, hangi IP prefixlerine hangi ağ yollarından ulaşabildiğini birbirine bildirir. Bir prefix, belirli bir IP adresi bloğunu tanımlar. Otonom sistemler arasındaki BGP oturumlarına eBGP denir. Ağ operatörünün komşusuyla kurduğu ilişki, hangi rotaları hangi yönde yeniden duyurabileceğini de belirler.

Rota sızıntısı, bir BGP duyurusunun ağlar arasındaki ilişkiye göre izin verilen yayılımın dışına taşmasıyla ortaya çıkar. Örneğin bir internet transit sağlayıcısından öğrenilen rotanın başka bir internet transit sağlayıcısına veya eş ağa yeniden duyurulması, trafiğin istenmeyen bir AS üzerinden akmasına ve yönlendirme politikasının bozulmasına yol açabilir.

BGP Role Capability, eBGP komşularının ilişki türlerini birbirine bildirmesine ve iki tarafın bu bilgiyi karşılaştırmasına olanak tanır. OTC (Only to Customer) niteliği, işaretlenmiş rotanın bundan sonra yalnız müşteri yönüne yayılabileceğini gösterir. Bu iki mekanizma, yanlış ilişki tanımlarını ve belirli rota sızıntılarını erken durdurabilir; ancak doğru yönlendirme politikalarının ve filtrelerin yerini tutmaz.

BGP Rolleri ve OTC'nin Birlikte Çalışması

  • Her eBGP tarafı kendi rolünü Provider (transit hizmeti veren ağ), Customer (bu hizmeti alan ağ), Peer (eş ağ), Route Server (rota sunucusu) veya Route Server Client (rota sunucusunun istemcisi) olarak tanımlar.
  • Rolü yapılandırdığınızda yönlendirici bu bilgiyi oturumun kuruluş bilgilerini taşıyan BGP OPEN mesajındaki BGP Role Capability ile komşusuna bildirir.
  • İki taraf da rol bildiriyorsa roller beklenen çiftlerden biri olmalıdır; roller uyuşmazsa BGP oturumu kurulmaz.
  • Rota duyurularını taşıyan UPDATE mesajlarında kullanılan OTC niteliği, belirli rotaların artık yalnız müşteri yönüne yayılması gerektiğini belirtir.
  • Böylece yerel AS, ilişki yönüyle çelişen duyuruyu engelleyebilir; daha sonraki bir AS de aynı duyuruyu sızıntı olarak fark edebilir.

BGP Rolü Komşuluk İlişkisini Açıkça Tanımlar

BGP rolü, bir eBGP oturumunda yerel AS'nin uzak AS karşısındaki konumunu ifade eder. Buradaki Provider, Customer ve Peer adları her zaman ödeme veya sözleşme modelini göstermez; teknik olarak hangi rotaların hangi yönde yayılmasına izin verildiğini tanımlayan yönlendirme ilişkisini temsil eder.

Normal ilişkilerde roller karşılıklı olarak tamamlayıcıdır. Provider rolünün karşı tarafı Customer, Route Server rolünün karşı tarafı Route Server Client ve Peer rolünün karşı tarafı yine Peer olmalıdır.

Aşağıdaki tablo, her rol için temel rota yayılımını gösterir:

Yerel rolKarşı rolDuyurulabilecek rotalar
ProviderCustomerProvider rolündeki ağ, kullanılabilir rotaları Customer rolündeki komşusuna duyurabilir.
CustomerProviderCustomer rolündeki ağ, kendi rotalarını ve müşterilerinden öğrendiği rotaları Provider rolündeki komşusuna duyurabilir.
PeerPeerPeer rolündeki ağ, kendi rotalarını ve müşterilerinden öğrendiği rotaları diğer eş ağa duyurabilir.
Route ServerRoute Server ClientRoute Server, kullanılabilir rotaları istemcisine iletebilir.
Route Server ClientRoute ServerRoute Server Client rolündeki ağ, kendi rotalarını ve müşterilerinden öğrendiği rotaları Route Server'a duyurabilir.

BGP OPEN Mesajı Rol Uyumsuzluğunu Nasıl Yakalar?

BGP rolü kullanılmadığında iki operatör aynı eBGP ilişkisinin yönünü farklı tanımlayabilir. Bu hata çoğu zaman yanlış bir rota duyurulana kadar fark edilmez. BGP Role Capability ise iki uçtaki rol tanımlarını protokol üzerinden karşılaştırır.

İki komşu da rol bildiriyorsa rollerin Provider-Customer, Customer-Provider, Route Server-Route Server Client, Route Server Client-Route Server veya Peer-Peer çiftlerinden biri olması gerekir. Çiftler uyuşmazsa bağlantı, rol uyumsuzluğunu belirten Role Mismatch hatasıyla reddedilir; böylece yanlış ilişki tanımı herhangi bir rota alışverişi başlamadan yakalanabilir.

Taraflardan biri BGP Role Capability göndermiyorsa geriye dönük uyumluluk için oturum yine kurulabilir. Karşı tarafın rol bildirmesini zorunlu tutmak isterseniz strict mode'u (katı modu) etkinleştirebilirsiniz. Katı modda, rol bildirmeyen bir komşuyla eBGP oturumu kurulmaz.

OTC Niteliği Rota Yayılımını Sınırlar

OTC, UPDATE mesajında taşınan isteğe bağlı ve geçişli bir BGP yol niteliğidir. Geçişli olması, OTC desteği olmayan bir yönlendiricinin de niteliği rota duyurusuyla birlikte sonraki komşusuna aktarabilmesi anlamına gelir. Bir rota Customer, Peer veya Route Server Client rolündeki komşuya gönderildikten sonra yalnız Customer yönüne yeniden duyurulmalıdır; OTC bu kısıtı protokol içinde işaretler.

Her otonom sistem, ASN adı verilen bir otonom sistem numarasıyla tanımlanır. Bir AS, Provider, Peer veya Route Server rolündeki komşudan OTC taşımayan bir rota aldığında niteliği komşunun ASN'siyle ekler. Rota Customer veya Peer rolündeki bir komşuya gönderilirken OTC yoksa gönderen AS niteliği kendi ASN'siyle ekler; Route Server rolündeki bir AS de aynı işlemi Route Server Client rolündeki komşuya gönderimde uygular. OTC taşıyan rota Provider, Peer veya Route Server yönüne yeniden duyurulmamalıdır.

Rota alınırken de sızıntı denetimi yapılır. OTC taşıyan rota Customer veya Route Server Client rolündeki komşudan gelirse ilişki yönüyle çelişir ve yönlendirmede kullanılamaz. Peer'den gelen OTC'li rotada ise OTC içindeki ASN değeri doğrudan eşin ASN'siyle eşleşmelidir.

OTC ile Uzak Ağlarda Rota Sızıntısı Tespiti

OTC geçişli bir niteliktir ve rotayla birlikte sonraki AS'lere taşınır. RFC 9234 işlemlerini uygulayan uzaktaki bir AS, bu işaretten rotanın bundan sonra yalnız Customer yönüne yeniden duyurulması gerektiğini anlayabilir. Bu ağ, rota beklenmeyen yönden geldiğinde sızıntıyı tespit edebilir.

Örnek bir senaryoda AS65010, eşinden öğrendiği bir rotayı kendi müşterisine aktarırken rota OTC taşır. Bu müşteri rotayı yanlışlıkla başka bir internet transit sağlayıcısına duyurursa, RFC 9234 OTC denetimini uygulayan ağ, müşteriden gelen bu duyuruyu sızıntı sayar ve rota seçiminde kullanmaz. Operatör gerçek komşuluk ilişkilerini doğru tanımlamalıdır; standardın OTC giriş ve çıkış işlemleri keyfi olarak değiştirilemez.

BGP Rolleri Neleri Doğrulamaz?

BGP rolleri ve OTC, komşuluk ilişkisinden kaynaklanan rota sızıntılarını azaltır. Bir prefixi hangi AS'nin duyurmaya yetkili olduğunu kanıtlamaz ve rotanın geçtiği otonom sistemleri gösteren AS_PATH niteliğine dayalı filtrelerin yerini tutmaz. BGP rolleri ve OTC'yi komşuluk politikaları ve diğer BGP filtreleriyle birlikte kullanın.

Karmaşık eBGP İlişkilerinde Neden Tek Rol Kullanılmaz?

Aynı eBGP oturumunun bazı prefixlerde Provider-Customer, bazılarında Peer-Peer gibi birden fazla ilişki taşıdığı karmaşık bağlantılarda BGP rolü yapılandırılmamalıdır. İlişkiler, her biri tek bir normal ilişkiyi taşıyan ayrı eBGP oturumlarına bölünebiliyorsa roller bu oturumlarda kullanılabilir.

BGP Rolü ve OTC Yapılandırmasını Doğrulama

Yanlış rol tanımı veya OTC işlemi, meşru prefixlerin yayılmasını bozabilir. Rol tanımınız, komşuluk envanteriniz ve dışa aktarım politikanız aynı ilişkiyi göstermelidir.

Önce her eBGP komşuluğunun gerçek yönlendirme ilişkisini belirleyin. Ardından iki uçta tamamlayıcı rolleri tanımlayın, rol uyuşmazlığının oturum kurulurken yakalandığını doğrulayın ve OTC'nin giriş-çıkış davranışını mevcut yönlendirme politikanızla birlikte izleyin.