İnternet Trafiği Nasıl Yönlendirilir? (BGP Protokolü)
 
 İçindekiler
 ODTÜ'de Kablosuz Ağ
 Servisi ve Tarihçesi
 Kablosuz Ağların
 Geleceği: 802.11n
 İnternet Trafiği Nasıl
 Yönlendirilir?
 Linux ile Masaüstü
 Özgürlüğü
 CISN Arşiv
 Geribildirim
 
     
 

İnternet'in ilk çıkış noktasındaki önemli kriterlerden biri, tek noktaya, tek sisteme ya da kuruluşa bağlı olmadan çalışabilmesi ve bu şekilde sürekliliğin garanti edilmesi idi. Bu nedenle İnternet dağıtık bir yapıda kuruldu. Kurumlar ve birimlere ihtiyaçları oranında IP adresi barındıran bloklar tahsis edildi. ODTÜ'ye bu şekilde 144.122.0.0 - 144.122.255.255 arası IP adreslerini kullanım hakkı verildi. Bu dağıtık yapının kaçınılmaz sonucu ise farklı IP adres bloklarının farklı bölgelerde olması idi. Merkezi yapıda olmayan ve dağıtık IP bloklarının bulunduğu böyle bir ağ yapısının çalışmasının yolu ise ağların dış bağlantılarını sağlayan yönlendirici cihazların (routerlar) birbirleri ile haberleşerek hangi ağlara ulaşım sağladıkları bilgisini paylaşmalarıdır. Bunu sağlamak için ağ geçidi (gateway) protokolleri geliştirilmiştir. Böylece dünya üzerindeki herhangi bir yönlendirici cihaz, hangi IP bloğunun nerede olduğunu merkezi bir yere sormadan öğrenebilecek hale gelmiştir.

Ağ geçidi (gateway) protokollerinin en çok kullanılan ikisi ospf ve bgp dir. OSPF (Open Shortest Path First) daha çok servis sağlayıcıların kendi iç ağlarında kullandığı bir protokol olmakla beraber kurumsal ağlarda da yaygın olarak kullanılmaktadır. BGP (Border Gateway Protokol) ise dünya genelinde servis sağlayıcılar, çok büyük kurumsal ağlar ve özellikle de büyük yerleşke (kampüs) ağlarının birbirleri ile bağlantılarında kullanılmaktadır.

İnternet üzerinde onbinlerce ayrı ağ bulunmaktadır. Kenar yönlendiricilerin İnternet üzerindeki paket iletimini sağlayabilmesi ortak bir protokol üzerinde bilgi paylaşımı yapmaları ile mümkün olur. BGP'nin temel mantığı her yönlendiricinin komşusu olan diğer yönlendiricilere, hangi ağlara ulaşabilecekleri bilgisini iletmesi üzerine kuruludur. BGP sisteminde her kenar yönlendirici öncelikle kendi ağını, yani İnternet'e bağlanmasını sağladığı ağı, çevresindeki diğer kenar yönlendiricilere duyurur. Bu bilgiyi alan diğer kenar yönlendiriciler de aynı şekilde bu bilgiyi bağlı olduğu diğer kenar yönlendiricilere aktarır. Sonuçta dünya üzerindeki her kenar yönlendirici bir IP bloğuna ulaşmak için bir veya birden fazla yol biliyor olacaktır.

BGP'nin çalışma mekanizması, şehir içinde bir noktadan diğer noktaya gitmek için farklı güzergâhlardaki trafik ışıklarını saymaya ve az sayıda trafik ışığı olan güzergâhı seçmeye benzer. Buradaki her trafik ışığını bir yönlendirici cihaz olarak düşünürsek, hedefe en yakın trafik ışığı, yakınındaki diğer tüm trafik ışıklarına hedef adrese kendisi üzerinden ulaşmak için kaç trafik ışığı geçmesi gerektiğini bildirir. Bu değeri ilk trafik ışığı için "0" dersek, bu bilgiyi alan yakınındaki trafik ışığı değeri "1" artırarak yakınındaki diğer trafik ışıklarına iletir. Bunu alan diğer ışıklar da sayıyı "1" artırarak diğerlerine "2" şeklinde iletir. Bu bilgi de 3... 4... 5... şeklinde artarak diğer tüm trafik ışıklarına aktarılır. Burada önemli bir nokta, bir trafik ışığına birden fazla yoldan bilgi gelecektir. Bir ışıktan "4" gelirken diğerinden "5" geldiğini düşünelim. Bu durumda "4" diyen trafik ışığının olduğu yönü seçmek "5" bilgisi gelen yönden daha kısa olacaktır. BGP de aynı bu mantıkla çalışır. Değişik kaynaklardan gelen, hedef IP bloğuna hangi yönden kaç atlama (hop) noktasıyla ulaşılır bilgilerini yorumlayarak paketi o yöne yönlendirir.

Peki en kısa diye bildiği yönde bir kopukluk varsa, oradan ulaşılamıyorsa ne olacak?
BGP'de bunu anlamak için duyuru (anouncement) denen bir mekanizma kullanılır. Her BGP yönlendirici cihazı, bağlı olduğu komşularına "ben ayaktayım, görevimin başındayım" bilgisi gönderir. Eğer bir komşu cihaz, bu bilgiyi belli bir süre alamazsa, ilgili yönlendirici cihazdan gelmiş olan bilgileri siler ve yönlendirme hesaplamalarını tekrar gözden geçirir.

BGP sisteminde değişik ayarlar yapmak mümkündür. Eğer kurumun birden fazla ana ağ bağlantısı varsa, bunlardan bir tanesine kendisini daha uzakmış gibi gösterip diğer hattının kullanılması sağlanabilir veya ayarlamalarla hatlar arası yük paylaşımı yapılabilir, bir IP bloğuna gidiş için belli bir hattın kullanılması sağlanabilir, belli IP blokları için filtreler yazılabilir vs. vs. Bu şekilde BGP yönlendirme protokolü çalıştıran her bir ana yönlendirici cihaz, tuttuğu tabloda dünya üzerindeki herhangi bir IP Bloğuna hangi komşu yönlendirici cihaz üzerinden gidilmesinin daha yakın veya tercih edilen olduğu bilgisine sahiptir. Basitçe, ilgili trafiği yerel tablosundaki kayıtlara bakarak hedefe daha yakın görünen veya tercih edilen komşu cihaza aktarır, bu cihaz yine kendi tablosuna bakarak benzer işlemi tekrarlar ve paketi ilgili diğer komşu cihaza aktarır. Bu işlem paket hedefine ulaşana kadar devam eder. Paketi komşu yönlendiricisine ileten ağ cihazı artık paketin hedefe ulaşıp ulaşmadığıyla ilgilenmez. O görevini tamamlamıştır.

Şu anda üniversitemizin BGP protokolü çalıştıran sunucusu bir PC yönlendirici cihazdır. Cihaz üzerinde çalışan açık kaynak kodlu ücretsiz yazılım ile yönlendirme tabloları oluşturulmaktadır. ODTÜ'nün 4 adet "BGP komşusu" bulunmaktadır. Bunlar ULAKNET, METROETHERNET, TRNET ve BİLKENT'tir. Ulaknet ve Metroethernet BGP tabloları, yerleşkenin genel İnternet çıkışı için kullanılırken TR-NET ve Bilkent tabloları "peering" denilen kurumların karşılıklı olarak kullanıcılarının direk bağlantısını sağlamak amacına hizmet vermektedir. Eylül 2008 tarihi itibarıyla yerleşke ana yönlendirici cihazımız, yaklaşık olarak, 265.000 adet Ulaknet hattından, 263.000 adet metroethernet hattından , 40 Adet TR-Net hattından , 1 adet de Bilkent hattından ulaşılabilecek IP bloğunu tablolarında kaydını tutmakta ve BGP protokolüne göre trafiği yönlendirmektedir.

A. Onur Yurtsever - Hüsnü Demir

 
     
  - BAŞA DÖN -