Routing protokollerinin ne olduğuna derinlemesine inmeden bakacağız. Routing protokollerinin sınıflandırıldığı Distance Vector ve Link State kategorilerinin özelliklerini göreceğiz.

OSI İçerisinde Konumlanmaları

Routing protokolleri OSI routing framework’e göre iletişim mekanizmalarına bakılmaksızın layer management protokolleri olarak sınıflandırılırlar.

İletişim mekanizmaları farklılık göstermektedir:

  • IS-IS, veri bağlantı katmanında çalışır. (data-link layer)
  • OSPF, IP içinde kapsüllenir.  Ancak yalnızca IPv4 subnet içerisinde çalışırken, IPv6 sürümü yalnızca link-local addressing (APIPA adresi 169.254.0.0/16 , IPv6 için fe80::/10 blogundan)  olduğunda çalışır.
  • IGRP ve EIGRP direk olarak IP içerisinde kapsüllenir. EIGRP kendi reliable transmission mekanizmasını kullanırken IGRP unreliable transport yapar. (Tüm komşulara gönderir.) TCP kullanmazlar.
  • RIP, UDP üstünde çalışır. Versiyon 1 broadcast mode’da çalışırken versiyon 2 multicast adresleme kullanır. (TCP/IP Application Layer)
  • BGP, TCP üzerinde çalışır. (TCP/IP Application Layer)

Routing Protokolü Nedir?

Bir router default olarak yalnızca tek direk bağlı bulunduğu networkleri bilir. Yalnızca konfigüre edilmiş routeları bilecektir. Bir interface’e IP verildiğinde (örn aşağıda solda yer alan routerda 10.5.1.1/24 IP adresi verilmiş olsun) router 10.5.1.0 networkünden haberdar etmiş oluruz. Subnet Mask’e bakıp network’u tespit eder. Daha sonra routing tablosuna giderek aşağıdaki satırı ekler.

(C) yani Connected anlamında. Yukarıdaki gibi bir ekleme yapıldıktan sonra S0/0 konfigüre edildiğinde onun için de aynısını yapacaktır. Fakat direkt olarak bağlı olmadığı networkler’i bilemez. Bu nedenle bilgisayarlar birbirine erişemeyecektir.

Aşağıdaki gibi bir yapıda yukarıdaki gibi statik route girilerek (S) sorun çözülebilir. (ip route 10.5.3.0 255.255.255.0 10.5.2.2) İki router iki network için bu kolay olabilir. Ama 4-5-20-10 network olduğu zaman static routing ile ilerlemek imkansız hale gelir. Bu nedenle bir routing protokolü kullanılır. RIP, OSPF, IS-IS, BGP, ve EIGRP üzerine konuşacağımız routing protokolleri olacak.

Routing protokollerinin her biri kendi uzmanlığına sahiptir. Bu routing protokolleri routerların kendilerini eğitmelerini sağlarlar.

Basit biçimde “hello” protokolü kullanılır. Hello mesajı sonrasında bildiği networkleri tanıtır.  Dinamik olarak aşağıdaki gibi ekleme yapar. Örneğin RIP protokolü kullanılıyor olsun.

Diğer router da benzer şekilde routing tablosuna ilgili satırı ekler. Bu iletişim tek bir kerede kalmaz belirli aralıklarla tekrarlanır. (Örn RIP için 30 saniye gibi) Routing protokolleri routerlar arasında komşu oluşturulmasının yanı sıra (neighbour routers) hata belirleme de sağlar. (failure detection)

Eğer yollardan biri çökecek olursa ne olur? Örneğin burada router1’den router2’ye giden bağlantı kesilmiş olsun. Statik routingde yedek bir path tanımlayabiliriz. (redunand path). Administrative Distance ile aralarında önceliklendirme yapabiliriz. Fakat iletişimde problem olduğunu tespit edip yedek bağlantıya geçecek bir sistem olmalıdır.

Yedek path ancak router yolun çöküğünü anladığında çalışacaktır. Çoğu case’de böyle bir durumda router yolun çöktüğünü anlayamaz. Statik route’ın hatayı farkettiği tek durum interfacelerden birinin down olmasıdır. Ama interface down olmayabilir.

Bu durumu aşağıdaki gibi açıklayabiliriz.

Örneğin yukarıdaki gibi bir cable modem kullanıyor olalım.  O taraftaki network down olduğunda evimizdeki modemde problem olmadığı için router problemi fark edemez. Modem bağlantısı up olduğu , modem de arada olduğu için router bunu anlayamaz. Yedek bir bağlantısı bile olsa statik olarak tanımlandığında ona geçmeyecektir.

Oysa Routing protokolü i sürekli hello mesajı yolladığından bunlardan belirli bir kısmı kaçırıldığında o komşunun down olduğunu anlayacaktır. Farklı bir yoldan gitmeyi deneyecektir.

Kimi durumlarda routing protokolleri de elverişsiz olabilmektedir. Routing protokolleri routing i kolaylaştırsalar da yanlış yöne gidebilirler. Bu nedenle routing protokollerinin detay özelliklerinin bilinmesi gerekir.

Routing protokolleri iki kategoride incelenebilir: Distance Vector ve Link State.

Özetle bir router yalnızca bir tip network’ü default olarak bilecektir. Routing protokolleri ile routerlar’ın dışarıdan müdahaleye gerek kalmayacak şekilde birbirlerine route’ları bildirdikleri bir dinamik bir yapı ile komşuluklar oluşturulmasını ve çöküşleri denetlenmesini sağlar.

Routing Protokolü Çeşitleri: Distance Vector ve Link State

Routing protokolleri distance vector ve link state olarak sınıflandırılır.

RIP, EIGRP ve BGP distance vector protokollere örnek olarak gösterilirken OSPF ve IS-IS link state protokollere örnek olarak gösterilebilir.

Distance Vector Protokolleri (RIP, EIGRP, BGP)

  • Bu kategorideki protokoller veri paketleri için en iyi route’u belirlerken mesafeyi (distance) baz alır.
  • Mesafe  paketin geçmesi gereken router sayısı ile ölçülür.
  • Mesafe için her router bir hop sayılır. Bu kategorideki bazı protokoller ağdaki gecikme (network latency) ya da route üzerindeki trafiği etkileyecek öteki faktörleri de hesaba katabilirler.
  • Ağ üzerindeki en iyi yolu belirlemek için,  distance-vector protokolünün uygulandığı iki router birbirleriyle bilgi alışverişinde bulunur.
  • Routerlar arasındaki bilgi alışverişi routing tablosu, routing tablosuna ek olarak hedef networklere ait hop sayıları ve muhtemel diğer trafik bilgisini içerir.
  • Routerların komşularına ağ topolojisi değişiklikleri hakkında periyodik olarak bilgi vermesini gerektirir.
  • Loop’a sebebiyet verebilir. AS numarası ile bunu önler. Loop önleyici bir sisteme sahip olması gerekir. Route’ları gruplayan AS ( autonomous system ) ler oluşturup damgalayarak geri gelen routeları almaz.

Distance Vectör terimi adı protokolün ağdaki diğer node bir vektör (dizi, array) olarak tutup bu diziyi manipüle ederek çalışmasından gelir.

Tarihsel olarak Distance Vector algoritması ARPANET’in orjinal routing algoritmasıydı. Daha sonra RIP olarak LAN ağlar üzerinde uygulandı.

Distance Vector protokolleri ile çalışan routerlar (RIP, EIGRP, BGP…) yalnızca komşularının onlara söylediklerini bilirler. Veri paylaşımı esnasında aşağıdaki gibi yavaş bağlantı advertise edilmez.

Bu durum çoğu zaman faydalı olsa da Distance Vector protokollerin ağdaki bir çöküşü çözmesini yavaşlatır.

Bunun yanında link state protokoller tüm routing sisteminin bir haritasını barındırırlar. Harita barındırmaması distance vector protokolleri işlemci ve bellek kullanımında daha verimli yapar.

Distance vector’leri daha düşük bir teknoloji olarak görmek hatalıdır çünkü örneğin bir distance vector protokol olan BGB internetin temel protokolüdür.

İnternet üzerinde majör bağlantı noktaları ve aralarındaki bağlantıları gösteren haritalara ulaşılabilir.

BGP dünyanın networklerini birbirine bağlar. Routerlarımızın internetteki yalnızca en iyilerini değil de hepsini bildiğini düşünelim. Burada muazzam bir fark ortaya çıkacaktır. Bu mümkün olmadığından distance vector ile (aslında advance distance vector) kullanımı ile bu gereklilik ortadan kalkar. Routerlar yalnızca komşularının onlara söylediğini bilir. Tabi ki bu bile binlerce route anlamına gelir. Bu nedenle daha çok kaynak tüketen link state internet boyutundaki bir networkle asla uyumlu olmaz.

Distance vector protokoller için özet olarak,

  • Yalnızca komşusunun söylediğini bilir.
  • Memory/Processor açısından verimlidir.
  • Loop önleme sistemine ihtiyaç duyar.

Link State Protokolleri (OSPF ve IS – IS )

  • Link State için tüm harita elinin altında olduğu için her path bilindiğinden loop önleme sitemine ihtiyaç duyulmaz.
  • Her düğüm, hangi node’ların (düğüm) hangi diğer node’lara bağlı olduğunu gösteren bir çizge biçiminde (graph) ağ bağlantılarının bir haritasını oluşturur.
  • Her node bağımsız olarak kendisinden çıkıp ağdaki her hedeflere giden bir sonraki en iyi mantıksal yolu (logical path) diğerlerinden bağımsız olarak hesaplar.
  • Hesaplanan en iyi mantıksal yollar her bir routerın routing tablosunu oluşturur.
  • Distance vektor gibi her node komşusuyla routing table’ını paylaşmaz. Düğümler arasında aktarılan tek bilgi bağlantı ile ilgilidir. (?!)
  • Her router komşuları hakkında dünyaya bilgi verir.

Link State olarak OPSF ve IS-IS üzerinde duracağız.  OSPF en popüler routing protokollerinden biri iken IS-IS ise en az popüler olanlardan biridir.

Özetle distance vector ve link state routing protokollerin özellikleri aşağıdaki gibi sıralayabiliriz.

  • Network sisteminin bir haritasını barındırır.
  • Kaynak tüketir.
  • Loopları doğası gereği önler.

Kaynaklar