Sınır Geçit Protokolü

Sınır Geçit Protokolü (Border Gateway Protocol) internet üzerinde kararların çekirdeğe yönlendirilmesine imkân sağlar. BGP gerçekten de güvenilir, sağlıklı çalışan bir yönlendirme protokolü olmasına karşın yavaş bir yönlendirme protokolüdür. Bu protokol bir IP network tablosunu korur ya da otonom sistemler arasında ağın ulaşılabilirliğini gösterir. Yol vektörü protokolü gibi tarif edilir.Sınır Geçit Protokolü dış geçit protokolünün (EGP) tamamen dağıtılmış yönlendirimini çekirdek ARPAnet modelinden NFSNET omurgası içeren dağıtılmış sistem modeline çevirmek amacıyla yaratılmıştır. Bu durum internetin gerçekten dağıtılmış bir sistem olmasını sağlar. 1994'ten bu yana BGP 4 versiyonu internet üzerinde kullanılmaktadır. Tüm önceki versiyonlar şimdi demode olmuşlardır. Versiyon 4 de yapılan tüm geliştirmeler Classless Inter-Domain Routing e destek sağlamıştır ve route aggregation kullanımı yönlendirme tablolarının boyutlarının azalmasını sağlamıştır. 2006 Ocak ayından bu yana versiyon 4, RFC 4271 in içinde kodlanmıştır. Versiyon 4 önceki RFC 1771 inkabaca 20 defa gözden geçirilmiş versiyonunu temel alır. RFC 4271 versiyonda hata numaraları düzeltilmiş, karmaşıklık giderilmiş ve endüstri pratiğine daha yakın bir hale getirilmiştir.Birçok internet servis sağlayıcısı diğer servis sağlayıcılarıyla iletişim kurmada BGP'yi kullanır (özellikle bu sağlayıcılar multihomed ise. (BGP kullanılan bir sistemde yedekli bir bağlantıya ihtiyaç duyabiliriz. Bunun için birden fazla ISP ye bir bağlantı oluşturmamız gerekecek. buna multihoming diyoruz. ) ) BGP yi Sinyal Sistemi 7 (SS7) ile karşılaştırırsak sağladığı PSTN üzerinde çekirdek arama ayarları protokolüdür. Çok geniş özel IP networkleri içsel olarak BGP yi kullanır. Buna OSPF (Open Shortest Path Fisrt) in katılması bir örnek olabilir. BGP kullanımının bir diğer nedeni ise BGP networkünün çoklu erişim noktalarından ISP (RFC 1998) ya da çoklu ISP lerden daha iyi fazlalıklarının olmasıdır.BGP komşuları, konfigürasyonun yönlendiriciler arasında TCP oluşturumunun port 179 üzerinde kurulumunun elle yapılmasına bir imkândır. Bir BGP spikeri periyodik olarak 19 byte lık canlı mesajları ana bağlantıya gönderir(her 60 saniyede). Bu yönlendirme protokolleri arasında BGP TCP'yi nakletme protokolü olarak eşşizdir.BGP otonom sistemin içinden (AS) geçtiği zaman iç BGP (IBGP or Interior Border Gateway Protocol) olarak adlandırılır. Otonom sistemler arasından geçtiğinde ise dış BGP (EBGP or Exterior Border Gateway Protocol) olarak adlandırılır. Diğer bir AS ise bilgi değişimi yapan AS'nin sınırında olan yönlendiriciler sınır ya da uç yönlendiriciler olarak adlandırılır. İşletim sisteminde IBGP yönleri dış BGP den ya da herhangi bir iç yönlendirici protokolden daha az tercih edilen 200 yönetimsel mesafesindedir. Diğer yöneltici uygulamalar da EBGP'yi IGP'ye tercih eder. Ayrıca BGP, bağlantı güvenliğinin sağlanması için MD5 ile erişimin yetkilendirilmesini sağlar.Komşu Tablosu : Bu tabloya manuel olarak komşu yönlendiriciler yazılır. Ayrıca hangi bilgiyi hangi yönlendiriciye gönderebileceği bilgisi de bu tabloda tutulabilir.BGP Tablosu : Dakikada bir, komşu yönlendiricilerinden ayaktayım-çalışıyorum bilgisi alıp almadığını tutar.OPEN süresince , BGP konuşmacıları çoklu uzantıları ve çeşitli kurtarma modları da dahil olmak üzere oturumun isteğe bağlı yetenekleri ile iletişime geçebilirler. Eğer BGP ye yönelen çoklu uzantılar yaratılış esnasında anlaşıyorsa, BPG konuşmacıları Ağ Katmanı Ulaşılabilirlik Bilgisine(NLRI) ön ek olarak bir adres ailesi ön eki olarak tanıtırlar. Bu aileler IPv4(default), IPv6, IPv4/IPv6 Sanal Özel Ağlar ve çok noktaya yayın yapan BGP’leri kapsar.Faaliyetleri içinde aynı işi yaptığı eşleri ile beraber karar alabilmek için, BPG eşi 6 durum içeren basit bir sonlu durum makinesi(FSM) kullanır; Boş, Bağlantı,Aktif,Açık Gönderim, Açık Onay, Kurulmuş. Her karşılıklı eşleşme (peer-to-peer) için bir BPG uygulaması bu 6 durumu bir değişkende tutar. BGP protokolü her eşin bir durumdan diğerine değişimini belirtmek için bir mesaj tanımlar. İlkdurum BOŞ olma durumudur. BOŞ olma durumunda, BGP tüm kaynakları başlatır, tüm gelen BGP bağlantı girişimlerini reddeder, eşbir TCP bağlantısı başlatır. İkinci durum BAĞLANTIdır. BAĞLANTI durumunda router  TCP bağlantısının gönderilmesini ve AÇIK GÖNDER durumuna geçişin başarılı olmasını bekler. Eğer başarısız olursa, Bağlantıyı tekrar deneme zamanlayıcısını çağırır ve sona ermesi ile beraber AKTİF durumuna geçer. AKTİF durumunda yönlendirici Bağlantıyı tekrar deneme zamanlayıcısını sıfırlar ve BAĞLANTI durumuna döner. AÇIK GÖNDERİM durumunda yönlendirici bir AÇMA mesajı gönderir ve AÇIK ONAY durumuna geçmek için başka bir mesajın gelmesini bekler. Canlı tutma mesajları değiş-tokuş yapılır, başarım sağlandıktan sonra yönlendirici KURUM durumuna geçer. KURUM durumunda yönlendirici  eşine canlı tutma, güncelleme ve bildirim mesajları gönderir veya alabilir.FSM süreçlerinin herhangi bir durumunda hata oluşursa BGP oturumu derhal iptal edilir ve BOŞ durumuna dönülür. Bir yönlendirici şu sebeplerle BOŞ durumundan ilerleyemez;BGP FSM diğer TCP oturumunu yeniden başlatmayı dener ve eğer başarılıysa o zaman OPEN mesaj gönderir.Tekrarlanan başarısızlıklar pasif ve aktif durum arasında yönlendirici döngüde sonuçlanabilir. Bazı nedenler şunlardır:Eğer hata varsa OPEN mesajın alanlarından biri eşdeğerlerinin arasında eşleşmediği için, BGP versiyonu uyuşmaz, MDS parolası uyuşmaz, eş yönlendirici farklı my AS bekler vb.Eğer hata yoksa canlı tutma mesajı gönderir, çeşitli zamanlayıcılar ayarlanır, durum açık gönderim olarak değiştirilir.Eğer canlı tutma mesajı alınırsa ve herhangi bir zamanlayıcının canlı tutma alım aşamasında süresi dolmamışsa, BGP KURUM durumuna geçer.Güncelleme mesajında herhangi bir hata yoksa eşdeğerine uyarı mesajı gönderilir ve BGP geçişi eylemsiz duruma geri döndürülür.Canlı tutma mesajı alınmadan önce eğer zamanlayıcının süresi dolarsa ya da hata durumu meydana gelirse yönlendirici geçişi eylemsiz duruma geri döndürülür.