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 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ğeri-arttı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 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. |