10. ROTA BULMA PROTOKOLLERİ Internet çok büyük bir bilgisayar ağıdır. Tüm yerel ağlar router larla birbirlerine bağlanır. Router lar iletişim ortamındaki veri paketlerini bir ağdan diğer ağa ileterek varış ve kaynak host ları arasındaki haberleşmeyi temin ederler. Bir host diğer bir host ile görüşecekse ve ikisi de farklı ağlar üzerinde ise, çerçeveyi gönderen host yerel ağ üzerindeki router ı adresler. Daha sonra bu çerçeve router dan varış host un bulunduğu yerel ağ üzerindeki router a kadar router dan router a taşınarak ulaşır. 4. bölümden hatırlayacağınız gibi IP yol belirlemede rotalama tablolarını kullanır. Bu tabloların oluşturulması ve router lar arasında değiştirilmesi işlemini ise yardımcı protokoller yerine getirir. Bunlara rota bulma protokolleri (route discovery protocols) denir. 10.1 Terimler ve Kavramlar Bir bilgisayar anahtar gibi davranarak ayrı ağları birleştirebilir. 4. bölümde tartıştığımız gibi, anahtarlama işlemleri (PDU daki varış adresini inceleyerek ve bunu bir rotalama tablosundaki girişlerle eşleyerek) trafiği doğru ağa rotalamak üzere yapılır. Bu girişler sıradaki ağa veya gateway e gidecek en iyi rotayı gösterir (biz öyle umarız). Bu ayrı ağlar yerel otoritelerce yönetilmelerine rağmen, pratikte bir ağ grubunun tek bir sistem olarak yönetilmesi yaygındır. Bir internetin bakış açısı ile, bu ağ grubuna otonom sistem denir, ve bu grup tek bir otorite tarafından yönetilir. Otonom sistemlere örnek olarak üniversite kampüslerinin ve askeri üslerin ağları verilebilir. Otonom sistem içerisindeki ağlar bir gateway aracılığı ile birbirlerine bağlanırlar. Otonom bir sistem içerisinde çalışan gateway ler, genelde verileri rotalamak için kendilerine ait mekanizmaları seçerler. Ancak, verinin otonom sistemler arasında rotalanması genelde tek bir (küresel) yönetici otorite ile kontrol edilir. Böylece, yerel yönetim otoriteleri, otonom sistemler içerisinde host bilgisayarların ulaşılabilirlik bilgilerini birbirlerine nasıl sağlayacakları (ilan, tanıtma) meselesi üzerinde anlaşmalıdırlar. İlan sorumluluğu bir veya belli sayıda gateway e verilebilir. Otonom sistemler, otonom sistem numaraları ile tanınır. Bunun nasıl yapılacağı yöneticilere kalmıştır, fakat yöntem farklı otonom sistemleri ayırmak için farklı numaralar kullanmaktır. Otonom sistemleri tanıtan rotalama protokolleri ve numaralarını kullanarak, gateway ler birbirlerine nasıl ulaşacaklarına ve nasıl rotalama bilgilerini takas edeceklerine karar verebilirler. Rota bulma işlemleri mesafe-vektör veya link-state metrik protokolleri olarak iki şekilde sınıflandırılır. Mesafe-vektör protokolü bir vektöre (genelde bir adresle tanımlanan bir varış uç noktası) olan bir mesafe (en az sayıda hop) temeline dayanarak en iyi rotaya karar verir. Link-state metrik protokolü bir internet içerisindeki veya bir internet içerisindeki bir bölgedeki her bir router a bağlı her bir haberleşme linkine atanmış değerleri kullanır. Bu değer gecikme, hat hızı, veya ağ yöneticisinin istediği herhangi bir şeyi gösterebilir. Rotaya bu değerler incelenerek ve bir düğümdeki hangi çıkış hattının en iyi rotayı gösterdiğine bakılarak karar verilir. Her iki işlemde de, en iyi yol hop sayılarının toplamı veya «tüm olası rotalar için hesaplanan toplam» link-state değeri en küçük olan yoldur.
10.1.1 Core ve noncore gateway ler Internet gateway leri core veya noncore olarak sınıflandırılmıştır. Bu terimler eskiye oranla artık daha az kullanılmaktadırlar. Core gateway ler tek bir otorite tarafından yönetilirler. Internet için bu, Internet Network Operation Center (INOC (Internet Ağ İşletim Merkezi)) dır. Noncore gateway ler tek bir yönetici otorite-kontrolü dışındadırlar ve ayrı grupların kontrolündedirler. Internet in bakış açısı ile, bunlar INOC tarafından kontrol edilmeyenlerdir. ARPANET, ilk kurulduğunda tek omurgalı bir ağ idi. Gelişip büyüdükçe yerel Internet ağlarına gateway lerle bağlandı. Bu core gateway lerde gateway-to-gateway protokolü kullanıldı. Böylece gateway ler birbirlerine, bağlı bulundukları yerel ağlarla ilgili bilgileri verirlerdi. İki yerel ağ arasında oluşacak trafik, iki gateway üzerinden geçerdi ve her bir core gateway, diğeri hakkında tam rotalama bilgisine sahipti. Bu gateway ler tam rotalama bilgilerine sahip oldukları için default rota seçme gereksinimleri yoktu. Ancak zamanla Internet büyüdü. Omurga ağlar orijinal omurgaya eklendi ve yerel ağlar diğer LAN lara bağlandı. Aynı büyüme özel internetlerde de oldu. Bir gateway in bir internetteki tüm rotalama bilgilerini tutma kavramı imkansızlaştı. 10.1.2 Exterior ve interior gateway ler Internet e çok fazla sayıda bilgisayar bağlı olduğundan bir gateway in bir internetin tüm rotalama bilgilerini tutması düşünülemez. Bu yapılamayacağı için, gateway lere yalnızca internetin bir parçasının sorumluluğu verilir. Bu durumda, bir gateway in bir internetin tüm diğer gateway lerinden haberdar olması gerekmez. Gateway, komşu gateway lerin ve diğer otonom sistemlerdeki gateway lerin kendi rotalama bilgilerini paylaşacaklarına güvenir. Aslında, eğer gateway ler bir rotalama kararı vermek için yetersiz bilgiye sahipseler, basitçe default bir rota seçerler. Bu değişim iki başka terimi ortaya çıkarır: exterior gatewayler ve interior gatewayler. Bir exterior gateway iki farklı otonom sistem arasında rotalama bilgisi alışverişi yapılmasını destekler. Interior gateway ler aynı otonom sisteme aittirler. Şekil 10-1 EGP ler ve IGP ler Bu tanımlardan iki yeni tanım türetiriz. Bir exterior komşu iki otonom sistem arasında rotalama bilgisi alışverişi yapan bir gateway dir. Bir interior komşu aynı otonom sistem içerisinde bilgi alışverişi yapar. Şekil 10-1 de external ve internal gateway protokolleri arasındaki ilişki gösterilmiştir. Bir paket anahtarlamalı ağlar kümesi otonom sistem 1 olarak etiketlenmiş ve otonom sistem 2 olarak etiketli başka bir paket-anahtarlamalı ağlar kümesine bağlanmıştır. Gateway 1 (G1) ve gateway 2 (G2) veri ve kontrol bilgisi alışverişi için bir
external gateway protokolü (EGP) kullanırlar. İki internet kendi otonom sistemleri içerisinde rota yönetimi için kendi internal gateway protokollerini kullanırlar. Bir gateway in (trafiğin nereye yöneltildiğine bağlı olarak) iki ya da daha fazla rota bulma protokolünü desteklemesi alışılmamış değildir. Bu gateway ler kendi otonom sistemleri içerisinde IGP ve her bir otonom sistem arasında EGP kullanırlar. 10.1.3 Terimlerin özeti Özel gateway protokollerini incelemeye geçmeden önce, bu bölümde giriş yaptığımız belirli terimleri tanımlayalım: GGP: gateway-to-gateway protokolü; core gateway ler arası bilgi rotalanmasını sağlar. EGP: otonom sistemler arasında bilgi rotalanmasını sağlar. IGP: bir otonom sistem içerisinde ve, belki de bir saha içerisinde bilgi rotalanmasını sağlar. Şunu hatırlatmak önemlidir ki, bazı insanlar bu üç terimi bir kavramı tanımlamak üzere jenerik olarak kullanırlar. Terimlerin nasıl kullanıldığı anlaşıldığı sürece bu uygulama kabul edilebilirdir. GGP ve EGP terimleri aynı zamanda iki özel Internet standardını tanımlar. IGP bir standarttan çok bir kavramı ve bir interior gateway protokolleri ailesini tanımlar. Öncelikle GGP ye bir giriş yapacağız; sonra EGP yi inceleyeceğiz. Sonra IGP yi, RIP ve OSPF standartlarını irdeleyerek inceleyeceğiz. 10.2 Gateway-to-Gateway Protokolü GGP nin geçtiğimiz 10 yıl boyunca kullanımı sınırlanmıştır, fakat burada tartışmamızın nedeni bir mesafe-vektör protokolü için güzel bir örnek olması ve diğer pek çok rota bulma protokollerinde bulunan kavramları içermesindendir. Bu kavramlar komşu gateway lere bağlanma, komşularla rotalama ilanı, ve komşularının varlığını hissetme gibi algoritmalardır. Vektör-mesafe protokolleri tüm gateway lerin bilgi alışverişi yapmasını gerektirir çünkü, her bir gateway arasındaki mesafenin bir toplamına dayanılarak, bir opsiyon rota hesaplanmalıdır. Ancak, bilgi alışverişi yalnızca (ortak bir ağı paylaşan) yakın gateway ler arasında yapılır. Farz edelim ki bir GGP gateway i bir ağa taşınıp, orada başlatılsın. Gateway in ağ ve komşuları hakkında hiçbir bilgisi olmadığını düşünelim. Aslında, bir ağ gateway i işlemlere başlayınca, komşularının çökmüş olduğunu ve kendine bağlı olmadıklarını düşünür. Böylece, rotalama tablosunda herhangi bir düğüme olan mesafe sonsuz sayıda düğüm olarak görünür. Gateway in yapacağı ilk iş, doğrudan bağlı olduğu ağlarla bağlantı kurmaya çalışmaktır. Bu ağlara mesajlar göndererek fiziksel bağlantısının durumuna karar verir. Bu işlemler GGP tarafından tanımlı olmayıp, ağa bağımlıdır. Garip görünebilir ama bir gateway bir ağla haberleşebileceğine veya haberleşemeyeceğine karar vermek için kendi kendine mesaj yollayabilir. Böylece, gateway bağlı olduğu bir ağı periyodik olarak yoklayarak bu ağdan mesaj alıp, alamayacağına karar verir. 10.3 External Gateway Protokolü
EGP komşu gateway ler arasında ağ ulaşılabilirlik bilgisi alışverişi yapılmasını sağlar. Protokolün ismi exterior (dış) terimini içermesine rağmen, bu gateway ler aynı veya farklı otonom sistemler içinde bulunabilirler. Daha yaygın olan yaklaşım EGP leri aynı otonom sisteme ait olmayan ağlar arasında kullanmaktır. GGP de otonom sistemler arasında rotalama bilgisi alışverişini sağlar. Niye EGP ye ihtiyacımız olduğunu anlamak için Şekil 10-2 de gösterilen duruma göz atalım. A, B, C, D gateway leri core gateway lerdir, ve 1, 2, 3, 4 ve 6 ağları arasında trafik rotalamasını yönetmekte kullanılmaktadırlar. Bu gateway ler rotalama bilgilerini alışveriş edebilmek için GGP işlemlerini kullanabilirler. Gateway ler bu ağlar arasındaki rotalamayı desteklemek için internet adreslerini kullanırlar. Ancak, her nasılsa, 5 ve 7 ağlarına datagram rotalamaya kalkışılınca bir sorunla karşılaşılıyor. Core gateway lerin bakış açısına göre, 5 ve 7 ağları yoktur; bunlar 6 ağının arkasına gizlenmişlerdir. Şekil 10-2 Core ve Noncore Gateway ler Core ve noncore gateway ler arasında ağ bilgilerini nasıl sağlayabiliriz? Durum bir şekilde karışmıştır. Bu durumda kimin kiminle alışverişten sorumlu olduğuna karar vermeliyiz. Bu sorunun cevabı, hangi gateway in gizli ağların varlığı ve ulaşılabilirlikleri ile ilgili bilgiyi core ağa sağlamakla sorumlu olduğu hakkında açık ve seçik kurallar geliştirmektir. İnternet, bir otonom sistemin herhangi bir başka otonom sisteme ulaşılabilirlik bilgisi göndermesine izin vererek bu soruna çözüm getirmiştir. Bu bilgi mesajları aynı zamanda en az bir core gateway e gitmelidir. Uygulamada, genelde bir otonom sistem içerisindeki bir gateway bu görevlerden sorumlu sayılır. Şekil 10-2 de D gateway i bu görevi üstlenmiştir. Böylece, D gateway i; 5, 6, 7 ağlarını ve aynı zamanda E ve F gateway lerini içeren bir otonom sisteme ait olur. EGP böylece bir internetteki özel gateway lerin rotalama tablolarının kurulması ve güncellenmesi için sorumluluk paylaşımını sağlar. 10.3.1 EGP nin ana işlemleri EGP aşağıdaki işleri yapar: komşular edinmeye çalışır komşular arasında bilgi mesajları alışverişi yapar komşularının ulaşılabilirliklerini denetler
EGP, gateway lerin birbirlerini denetleyebilmeleri ve rotalama güncelleme mesajlarının alışverişini yapabilmeleri için anket (polling) prosedürleri kullanır. 10.3.2 EGP nin konumları EGP konum-sürümlü bir protokoldür. Bu da EGP nin işlemlerinin konum tabloları ve konum geçiş prosedürleri ile tanımlandığı anlamındadır. EGP, 0 dan 4 e numaralanmış, beş konum içerir. Eğer bir cihazın bir sayıda komşusu var ise her biri için bir konum tablosu oluşturulur. Boş konumu (konum 0): Hiçbir kaynağı olmayan ve herhangi bir protokol aktivitesine katılmayan bir gateway i tanımlar. Başlangıç mesajlarını cevaplayabilir ancak tüm diğer tip mesajları ihmal etmek zorundadır. İstek belirten bir mesaj alınca, ya çökme konumuna geçer veya, eğer aktivitelere başlamayı seçerse, kazanma (acquisition) konumuna geçer. Kazanma konumu (konum 1): Gateway in periyodik olarak istek mesajları iletmesine olanak sağlar. Ancak mesajlar alıp, çökme konumuna geçebilir veya boş konumuna dönebilir. Çökme konumu (konum 2): Gateway çökmüştür. Anket mesajlarını işlemesine de, göndermesine de olanak verilmez. Gateway belirli tipteki trafiği alabilir. Çalışma konumu (konum 3): Komşu gateway e çalışma konumunda olduğunu bildirmeye yarar. Bu konumda, gateway tüm EGP mesajlarını işleyebilir ve bunlara cevap verebilir. Bu konum anket komutlarının iletilmesi için kullanılır. Durdurma konumu (konum 4): Adının da çağrıştırdığı gibi, bu konumda gateway güncelleme işlemlerini durdurur ancak durdurma komutu göndermeyi ve durdurma-ack cevabı almayı sürdürür. 10.4 Border Gateway Protokolü Border gateway protokolü otonom sistemler arasında kullanılan bir protokolüdür ve rota bulma protokolleri ailesine göreceli olarak yeni bir ektir. 1989 dan beri kullanılmaktadır ancak şimdiye kadar çok yaygın değildi. BGP, EGP nin yerini almak için üretilmiştir ve, RFC 1267 içerisinde yayınlanmıştır. BGP, EGP ye karşı önemli sayıda avantajlar sağlar. Birincisi, çevrimli topolojiye sahip ağlarda çalışabilir. Bunu çevrimleri topoloji dışına atan budama algoritmaları kullanarak yapar. İkincisi, BGP birçok rota bulma protokolünde bulunan "sonsuza-kadar-say" sorununa sahip değildir çünkü bir varış adresine olan yoldaki tüm otonom sistemlere (transit cihazları) ilanlar yollar. Üçüncüsü, bu tam ilanlamanın sonucu olarak, ilanlarla varış için birden fazla olası yol bilgisi alan bir düğüm, belirsizlik olmaksızın, en iyi yolu seçebilir. BGP ne tip bir otonom-sistemler-arası rota bulma protokolü kullanıldığı ile ilgilenmez. BGP, TCP gibi güvenli bir aktarım katmanı protokolü ile çalışmak üzere tasarlanmıştır. Bir BGP kurucusunun; güvenli trafik kabulü, segmentasyon, vs. gibi konularla ilgilenmesi gerekmez çünkü bu potansiyel sorunlarla aktarım katmanı ilgilenir. 10.5 Interior Gateway Protokolleri
Bu bölümde daha önce belirtildiği gibi IGP bir kavrama, ve aynı zamanda özel sistemlere referans olan bir jenerik terimdir. Ne yazık ki, Internet açık bir IGP liderine sahip değildir. Çünkü IGP ler sistematik olmayan bir yolla gelişip, yaygınlaşmışlardır. Şöyle söyleyebiliriz ki ağ yöneticileri farklı iç ağ yönetim gereksinimleri nedeni ile farklı IGP yaklaşımlarını tercih ederler. Bununla beraber biz RIP ve daha iyi bir IGP olan OSPF den bahsederek IGP kavramını kapatacağız. 10.6 Routing Information Protokolü RIP sistemi Xerox PARC daki (Palo Alto Research Center) araştırmalara, ve Xerox s PUP ve XNS rotalama protokollerine dayanılarak geliştirilmiştir. California Üniversitesi-Berkeley (UCB) de bazı LAN lar üzerinde kurulması, RIP in yaygınlaşmasını sağladı. UCB aynı zamanda RIP i kendi Unix sistemi ile dağıttı. İlginçtir ki LAN lar için tasarlanan RIP şimdi WAN larda kullanılmaktadır. RIP satıcı ürünleri standartlaşmamıştır, ve birçok üretici değeriarttırılmış yapılarla protokolü müşteriye sunarlar. Biz bu başlık altında RFC 1058 le yayınlanmış RIP versiyonunu anlatacağız. RIP, LAN lar için tasarlandığından, yayın teknolojisi tabanlıdır ve burada bir gateway periyodik olarak komşularına kendi rotalama tablosunu yayınlar. RIP in yayın yönü etkinliği ile ilgili şikayetlere sebep olmuştur. RIP, mesafe-vektör algoritmalı bir rotalama protokolü olarak sınıflandırılır. RIP rotalama kararlarını son varışa ulaşmak için geçilecek ara hopların sayısına dayanarak verir. RIP yalnızca ağ adreslerini ve mesafelerini (hop ların sayısı) yayınlar. GGP ye benzerdir çünkü bir hop sayımı yaparak rota maliyetini hesaplar, ancak bir ağın ulaşılmaz olduğunu göstermek için kullandığı maksimum değer 16 dır. GGP ise bir ağın ulaşılmaz olduğuna işaret etmek için 255 değerini kullanır. Aynı zamanda, RIP otonom sistem içerisindeki tüm ağların bilgilerine ihtiyaç duyar. GGP ye benzer bir biçimde, yalnızca komşuları ile bilgi alışverişi yapar. RIP işlemlerine katılan cihazlar aktif veya pasif cihazlardır. Aktif cihazlar (genelde gateway ler) rotaları diğer cihazlara ilan ederler. Pasif cihazlar (genelde host bilgisayarlar) rota ilan etmezler, ancak mesajlar alırlar ve rotalama tablolarını güncelleştirirler. Hop sayımı rota maliyetinin bir ölçüsüdür. Gecikme, güvenlik, band genişliği, vs. gibi başka ölçüler de kullanılabilir fakat çoğu uygulamada basitçe ara hop sayısı kullanılır. RIP aynı zamanda UDP yi kullanır. UDP nin, port 520 si RIP cihazlarınca RIP mesajlarının gönderilmesi ve alınması için kullanılır. RIP kullanan her cihazın bir rotalama tablosu olmalıdır. Tablo cihaz tarafından servis sağlanan her varış için bir giriş içerir. Tablodaki her bir giriş en azından aşağıdaki bilgileri içermelidir: varış IP adresi varışa ulaşmak için bir maliyet (hop ların sayısı) ölçüsü (1 ile 15 arasında) varış yolunda gidilecek sıradaki gateway in IP adresi rotanın son zamanlarda değişip değişmediğini belirten işaretçiler rota ile ilgili zamanlayıcılar 10.7 Open Shortest Path First Protokolü OSPF protokolü, Internet Engineering Task Force un OSPF çalışma grubunca tasarlanmış, bir IGP dir. OSPF nin gateway ve router larının tümü bir otonom sistem içerisindedir. Aynı
zamanda, OSPF bir link-state protokolüdür. Protokol, IP ortamının dışında tasarlanmış tekniklere dayanmasına rağmen, özellikle bir IP için biçilmiş kaftandır ve altağ adresleme ve TOS rotalama gibi kabiliyetlere sahiptir. OSPF protokolü, rotalama kararlarını IP datagramındaki iki alana dayandırır. Bunlar varış IP adresi ve TOS alanlarıdır. IP datagramının nasıl rotalanacağı kararı bir kere alınınca, datagram ek başlıklar eklenmeden rotalanır; yani, hiç bir ek paketleme olmaz. Bu yaklaşım birçok ağa nazaran farklıdır çünkü PDU lar bir çeşit iç ağ başlığı ile paketlenerek, altağ içerisinde rotalama protokolünün kontrolü sağlanır. OSPF dinamik, adaptif bir protokol olarak sınıflandırılır. OSPF, ağ içerisindeki sorunları düzeltir ve rotalama tablolarını kalıcı hale getirmek için kısa odaklanma periyotları sağlar. OSPF aynı zamanda trafik döngülerini önlemek üzere tasarlanmıştır. Bu yetenek dağınık ağlar veya (farklı LAN ları birbirlerine bağlamak için) çoklu köprüler kullanan LAN larda oldukça önemlidir. Router lar ve ağlar arasında alışverişi yapılan OSPF PDU larına paketler denir. Şunu da belirtelim ki RFC 1247 internetworking birimini tanımlamak için router terimini kullanır. Birçok satıcının router ve gateway i eşanlamlı olarak kullandığına da dikkat etmek gerekir.