|
BGP nin en belirgin karakteristiği BGP nin çalışma mantığının distance-vector protokollere benzemesidir. Umuyorum ki şu ana kadar distance- vector protokoller hakkında basit protokoller olduğunu ve küçük çaplı networklerde kullanıldığını duymuşsunuzdur. Peki neden Internet gibi binlerce cihazın bulunduğu büyük bir networkte distance vector mantığı kullanılsın?
Bütün dünya üzerinde her saniye bazı rotalar up/down olmakta. Link state routing protokolleri topoloji bilgisi değiştiğinde işlemci yükü çok olan algoritmalar çalıştırır ve tüm networkü bu topoloji değişikliğinden haberdar eder. Eğer internet üzerinde her saniye binlerce cihazda link-state protokollerin algoritmaları çalışsa ve topoloji değişikliklerini anında iletseler kullanıcıların trafiklerini yönlendirecekleri güçleri kalmayacaktı. Bu nedenle BGP distance-vector çalışır. BGP, topoloji değişikliklerini RIP protokolünden bile daha yavaş komşulara gönderir. RIP gibi protokollerde distance-vector hop count yani cihaz sayısı tabanlı çalışır, BGP de ise önemli olan router sayısı değil AS sayısıdır. Bu nedenle BGP bir path-vector protokol olarak tanımlanır. BGP, günümüzde RIP gibi protokollerden çok daha farklılaşmıştır. RIP gibi protokoller updatelerinde IP prefixleri ile hop count gönderirlerken, BGP IP prefixleri ile autonomous system bilgisini gönderir. 
BGP nin diğer routing protokollerinden farkı da transport katmanında TCP kullanmasıdır. OSPF, EIGRP gibi protokoller layer 4 de kendi protokollerini kullanırken BGP TCP nin 179 nolu portundan çalışır. Diğer routing protokollerinde olan acknowledgement işlemi BGP de yoktur. Çünkü zaten TCP, gönderilen her paket için ACK isteyecektir. BGP, distance-vector protokollere benzese dahi update lerinde RIP gibi bütün routing tablosunu göndermez. BGP komşuları birbirlerine yalnızca değişiklikleri gönderirler. BGP komşuları arasında keepalive mesajları gönderilir. Keepalive mesajları OSPF, IS-IS ve EIGRP protokollerinde olan hello mesajlarına benzemektedirler. BGP, varsayılan olarak 60 saniyede bir keepalive gönderir. BGP Databaseleri 1. Neighbor Table Kurulan BGP komşuluklarının bulunduğu tablodur. BGP nin komşuluk kurabilmesi için, manuel olarak her cihaz için tanımlama yapmak gerekmektedir. BGP, komşularıyla TCP 179 nolu porttan iletişim kurar ve periyodik olarak keepalive mesajları ile komşuluğun durumunu denetler. 2. BGP Table (forwarding database) Komşuluk kurulduktan sonra, cihazlar BGP rotalarını alıp verirler. Diğer cihazlardan alınan BGP rotaları BGP forwarding database’e koyulur. Tek bir rota için birden fazla path bulunabilir. 3. IP Routing Table BGP forwarding database den seçilen en iyi rotalar IP routing table a konur. Ancak bir autonomous system içerisinde BGP ile öğrenilen rotalar aynı zamanda OSPF, EIGRP, RIP gibi bir IGP ile de öğrenildiyse routing tablosuna BGP ile öğrenilen rota konulmaz. IGP ile öğrenilen rota konulur. Çünkü bir autonomous system içinde BGP nin administrative distance değeri 200dür. Yani tüm IGP lerden yüksektir. BGP Stateleri 
TCP bağlantısı kurulduktan sonra, gönderilen ilk paket Open mesajıdır. Open mesajı kabul edilirse bunu doğrulamak için keepalive mesajı gönderilir. BGP komşuluğu kurulduktan sonra, komşular arasında update, keepalive ve notification mesajları gönderilebilir. BGP komşuları ilk olarak tüm BGP routing tablosunu paylaşırlar. Sonrasında ise yalnızca topoloji değişiklikleri gönderilir. Aynı zamanda periyodik olarak keepalive lar ile komşuların ayakta olup olmadığı doğrulanır. Bir hata oluştuğunda notification paketleri gönderilerek bağlantılar koparılır. Idle State: BGP nin çalışmasının başlangıcıdır. Komşu ile bir TCP bağlantısı kurulmaya çalışılır. Komşudan bir TCP bağlantısı gelmesi beklenir. Eğer BGP nin diğer statelerinde bir hata meydana gelirse, BGP oturumu kapatılır ve Idle State’e geçiş yapılır. Bir routerın Idle State’den ileriye gidememesinin genel sebepleri şunlardır: TCP port 179 açık değildir. Komşu router IP adresi hatalı konfigüre edilmiştir. Komşu router AS numarası hatalı konfigüre edilmiştir. Connect State: Komşu ile TCP bağlantısının tam olarak kurulmasını bekler. SYN, SYN-ACK, ACK işlemi ile TCP oturumunun kurulması kısa sürdüğü için bu state çok kısa sürede geçer. Open mesajı bu state içinde gönderilir. Bir hata olursa, BGP Active State e geçer. Active State: Router TCP bağlantısı kuramadığında geçtiği state. Router, komşu cihazla yeniden TCP bağlantısı kurmayı dener. Eğer başarılı olursa OPEN mesajı gönderir. Tekrar başarısız olursa Idle State’e düşer. Eğer iki cihaz arasında bant genişliği yeterli seviyede değil ve hatta tıkanıklık varsa BGP Idle ve Active stateler arasında devamlı geçiş yapabilir. Bu düzeltilmesi gereken bir durumdur. OpenSent State: Router’ın komşusundan Open mesajı dinlediği state. Komşudan Open mesajı alındığı anda paketin doğruluğuna bakılır. Open paketinde BGP versiyon numarası, MD5 parola, AS numarası gibi değerler olması gereken ile uyuşmuyorsa geriye NOTIFICATION mesajı döner. Hata yoksa KEEPALIVE mesajı gönderilir. OpenConfirm State: Komşudan KEEPALIVE mesajının beklendiği state. Karşıdan bir KEEPALIVE mesajı alınır ise Established state e geçilir. KEEPALIVE gelmezse router IDLE state e döner. Established State: BGP komşularının UPDATE mesajlarını göndereceği durumdur. Artık komşuluk ilişkileri yerine oturmuştur. UPDATE mesajlarında sorun çıkarsa geriye NOTIFICATION mesajı gönderilir ve Idle state e dönülür. NOT: Cisco cihazlarında established state’de iken hiçbir zaman “established” yazmaz. Bunun yerine bu komşudan öğrenilen prefix sayısı yazılır. Görüntüleme sayısı: 412
Sadece kayıtlı kullanıcılar yorum yazabilir. Lütfen sisteme giriş yapın veya kayıt olun.
|