ana sayfa : araştırma : TCP-IP ve İnternet : IP yönlendirme [ 4 / 7 ] |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
GERİ | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IV.
IP YÖNLENDİRME
IP yönlendirme
TCP/IP ağlarının bel kemiği denebilir; ağlar arası IP paket aktarımı,
paketlerin en uygun yolları takip ederek bilgisayar sistemleri arasında
gidip gelmesi IP yönlendirme tarafından gerçekleştirilir. Yönlendirme görevi,
temel olarak yönlendiriciler ve geçit yolu cihazlarına bırakılmıştır.
Komple ağ oluşturulmasında, bağlantı/geçit noktası konumuna sahip bu
cihazların başarımı ve yönlendirmede kullandıkları algoritmalar göz
önüne alınması gerek önemli unsurlardır.
Yalın
(tek segmentli) bir TCP/IP ağda IP yönlendirmeye o kadar gerek yoktur;
sistemlere, yalnızca, IP adresi ve ağ maskesinin yerleştirilmesiyle
iş kotarılır. Çünkü bütün aktarım LAN içerisinde kalmaktadır.
Ancak bir ağ, birkaç tane LAN’ ın birleşmesinden oluşmuşsa veya
internet gibi global bir ağa bağlıysa, sistemlere yerleştirilen IP
bilgilerine ek olarak, yönlendirme bilgileri de ek olarak verilmelidir. Bu
bölümde IP yönlendirme ile ilgili konular teorik açıdan ele alınmıştır.
Yönlendirme işinin gerçekleşmesinde ana görev yönlendirme
protokollerine (routing protocols) düşer; birçok yönlendirme protokolü
vardır. En uygun yolun bulunması ve yönlendirme kararının verilmesi yol
uzunluğu, yolun bant genişliği, ara düğümlerin sayısı gibi göz önüne
alınan birçok parametre vardır. Yönlendirme protokolleri, türüne göre
bu parametrelerden birini veya birkaçına bakarak görevlerini yerine
getirirler.
Yönlendirme işinin gerçekleştirilmesi için sistemler üzerinde yönlendirme
tablosu (routing table) tutulur. Bu tablo, gönderilecek veri paketlerinin
alıcısına ulaşması hangi yolun izleneceğini belirten yönlendirme
bilgilerini tutar. Bu bilgiler, ya ağ yöneticisi (network administrator)
tarafından elle verilir, ya da kullanılan yönlendirme algoritmasınca
doldurulur ve güncellenir.
Yönlendirme algoritmaları,
protokolleri ve tabloları IP yönlendirmede işin temel taşıdır. TCP/IP
tabanlı ağlarda, ağlar arası paket aktarımını sağlayan IP yönlendirme,
uygulama alanına göre en uygun olacak şekilde gerçekleştirilmektedir.
Dengeler göz önüne alınarak, ağ içersindeki sistemlerde en uygun yönlendirme
protokolü yürütülmeli ve yönlendirme tabloları bilinçli bir şekilde
oluşturulmalıdır. Tabloların gereksiz yere şişmesi, sistemin işlem gücünü
azaltacağı gibi, gerekli uygun yönlendirme bilgilerinin olmaması da IP
paketleri çok uzaklara sürükleyebilir; doğal olarak kaybolması olasıdır.
4.1
IP Yönlendirmenin Temelleri
4.1.1
Doğrudan(Direct) Yönlendirme
Bilgisayar ağları üzerinde iletişime geçilmek istenen bilgisayar
eğer mantıksal olarak aynı ağ üzerinde bulunuyorsa bir datagramın gönderilmesinde
router servisine ihtiyaç yoktur. Gönderilecek olan veri paketi herhangi
bir yönlendirici üzerinden geçmeden ilgili bilgisayara iletilir. Bir
bilgisayar göndereceği verinin hedef adresine bakarak kendisi ile aynı ağda
olup olmadığını anlar. Kendi ağında ise doğrudan bir yönlendirme gerçekleşir.
Şekil-15 Doğrudan Yönlendirme
Eğer veri paketi şekilde olduğu gibi yönlendiriciden geçmeden
hedef bilgisayara iletiliyorsa bu tür bir yönlendirme işlemine “Doğrudan(direct)
Yönlendirme” denir. 4.1.2 Dolaylı(Indirect) Yönlendirme
Şekildeki C hostu ile B hostu kendi aralarında iletişime geçmek
isterseler veri paketleri yönlendirici üzerinden geçerek ilgili
bilgisayarlara ulaştırılır.
4.1.3 Yönlendirme Tabloları
Aşağıdaki şekilde 4 tane birbirinden fiziksel olarak farklı ağ
yönlendiriciler ile birbirlerine bağlanmıştır. Bu uygulamayı basit bir
Internet uygulaması olarak düşünebiliriz. Mantıksal olarak farklılık
gösteren ağlar üzerindeki bir bilgisayar diğer bir ağdaki bilgisayar
ile haberleşmek isterse yönlendiriciler üzerinden veri paketini göndermesi
gerekir. Peki yönlendirici veri paketini hangi ağ segmentine göndereceğini
nereden biliyor? İşte bu bilgi yönlendiriciler üzerinde bulunan yönlendirme
tablolarında tutuluyor. Bu tablolar hangi ağa nasıl ulaşılacağını,
en uygun yolun seçimini ve diğer yönlendirici bilgilerini içermektedir.
Şeklimize
göre her yönlendiricinin tablosunu düzenleyecek olursak; Router
A İçin Yönlendirme Tablosu: Tablo-4.1
Router A İçin Yönlendirme Tablosu
Router
B İçin Yönlendirme Tablosu: Tablo-4.2
Router B İçin Yönlendirme Tablosu
Router
C İçin Yönlendirme Tablosu: Tablo-4.3
Router C İçin Yönlendirme Tablosu
Bu tablolar sayesinde bir
router üzerindeki datagramın hangi yolu izleyerek hedefine ulaşazağı
kolayca anlaşılmaktadır. Mesela; router C üzerindeki bir datagram
128.1.0.0 IP adresine sahip olan ağa bir veri göndermek istiyor. Bunun için
128.3.0.2 IP adresine sahip olan Router B’nin 2.portundan veriyi aktaracağı
tabloda ifade edilmiş ve paketi göndereceği yere ulaştırmak için 2
tane router’dan geçmesi gerektiği gösterilmiştir.(Tablo-5 Satır 1)
4.2
Yönlendirme Algoritmaları
Yönlendiriciler üzerinde tutulan ve en uygun yolun belirlenmesinde
kullanılan yönlendirme tablolarının dinamik olarak güncellenmesini sağlar.
Temelde biri uzaklık vektörü, diğeri bağlantı durumu algoritması
olarak adlandırılan iki farklı
yönlendirme algoritması vardır. Bu algoritmalara dayanarak RIP, OSPF, IGP,BGP
gibi birçok yönlendirme protokolu geliştirilmiştir.
Protokol kümelerindeki ağ katmanının (OSI’nin 3.cü katmanı)
en temel işlevi yönlendirmedir. Yönlendirme, bir düğümün, alıcı
adresi içerisinde olan bir IP paketi, alıcısına en uygun yoldan ulaşması
için komşu düğüme geçirme mekanizmasıdır.
Algoritmalar, yönlendirme tablolarının güncellenmesi açısından
statik ve dinamik, gerçekleştirilmesi açısından Uzaklık Vektörü
Algoritması( Distance Vector Algorithm) ve Bağlantı Durumu Algoritması(Link
State Algorithm) sınıflanmıştır. Algorritmalar en uygun yolu
belirleyebilmek için; ·
Yolun
bant genişliği(bandwidth) ·
Trafik
yoğunluğu(load) ·
Yol
uzunluğu(path lenght,hop count) ·
Maliyet(cost) ·
Güvenirlik(reliability) ·
Güvenlik(security) ·
Gecikme(delay) gibi parametrelerden bir veya birkaçını kullnarak
bir metrik değer hesaplarlar. Bu metrik değere göre paketler yönlendirilir.
4.2.1
Statik Algoritmalar
Ağ işletime alınmadan önce, yönlendirme bilgisi cihazlar üzerindeki
yönlendirme tablolarına girilir ve değiştirilmediği sürece sabit kalır.
Örneğin, en yönlendirme kriteri için minimum iletim süresi göz önüne
alınacaksa, ağın işletiminden önce her bir yöndeki iletim süresi
hesaplanmalı ve yönlendirme algoritması iki uç arasında en kısa sürede
iletimi gerçekleştiren yolları belirlemelidir.
Örneğin Şekil-17’de görülen örnek ağda düğümler arasında
birden çok alternatif yol vardır ve iki düğüm arasındaki yol iletim süreleri
(veya maliyetleri) kirişlerin ortalarında verilmiştir. Buna göre düğümler
arasında en hesaplı yol maliyetleri hesaplanabilir. Örneğin A düğümü
için en uygun yol aşağıdaki gibi hesaplanabilir.
A→B:1 A→C:2 A→D
(A→C→D üzerinden):3 A→E
(A→C→D→E üzerinden):4 A→F
(A→B→E→F üzerinden):5 4.2.2 Dinamik Algoritmalar
Düğümler ağ topolojisindeki değişiklikleri ve trafik yoğunluğunu
izleyerek ağın o anki durumuna göre karar verirler. Bu yapıda düğümler
periyodik olarak kendi durumlarını belirten durum paketlerini komşularına
geçirirler ve kendi yönlendirme tablolarını belirli aralıklarla güncellerler.
Adaptif yönlendirme kullanılmasının en olumlu yanı, geçici tıkanma
sorunlarını kendiliğinden çözebilmesidir; aktarım için tek bir yol
varsa ve yol kopmuşsa iletim elbette gerçekleştirilemez, ancak birden
fazla yol varsa, hemen ikinci en uygun yol kullanılır. Adaptif yönlendirme
algoritmaları merkezi ve dağılmış denetimli olarak iki sınıfa ayrılır.
Yönlendirme algoritması, merkezi denetimli bir ağda, tek bir ağ denetim
düğümünde koşar. Bu düğüm, durum paketleriyle gelen bilgiyi
kullanarak yönlendirme algoritmasını koşturur ve her bir düğüme yönlendirme
tablolarında yapması gereken güncellemeleri haber verir. 4.2.2.1 Uzaklık Vektörü Algoritması - DVA(Distance Vector Algortihm)
DVA algoritması, yönlendiriciler arasında uzaklık bilgisinin
(veya atlama sayısının) metrik değer olarak kullanılmasına dayanır.
Her yönlendiricide paketlerin gönderilebileceği diğer komşu yönlendiriciler
için uzaklık vektör tablosu oluşturulur; en uygun yola bu vektöre dayanılarak
karar verilir.
Uzaklık vektörü, komşu olan yönlendiricilere göre hesaplanır.
Yönlendiriciler,kendi taraflarındaki yönlendirme tablosu bilgilerini, diğer
tüm komşu yönlendiricilere yayma yoluyla bildirir ve her yönlendirici
kendisine gelen yeni durumları tuttuğu tabloya yansıtır. Yansıtma işi
oldukça hızlı yapılmalıdır.
Eğer bu algoritma merkez yönlendiricilerde kullanılıyorsa ve yansıtma
yavaş olursa, merkez yönlendiriciler için hızlı uyarlama gereksinimi sağlanmamış
olunur ve yönlendirmede sorunlar çıkabilir. Normalde olmayan yere yönlendirme
yapılabilir veya olan bir bağlantıya, henüz güncelleme yapılmadığı
için, yokmuş gibi görünerek yönlendirme yapılmayabilir. Bu algoritmada
atlama sayısına dayanılarak en kısa kullanılır ve yönlendirme
tablosunun güncellenmesi için yönlendiriciler arasındaki trafiğin bir
miktar artmasına neden olur. Bu algoritmada güncelleme bilgisi yalnızca
komşu yönlendiricilere yapılır; ancak gönderilen bilgi, enelde tüm yönlendirme
tablosunun aktarılması şeklinde olur. 4.2.2.2 Bağlantı Durumu Algoritması - LSA(Link State Algortihm)
LSA algoritması, en uygun yolun belirlenmesi için kullanılan
metrik değeri, uzaklık bilgisinin yanı sıra yönlendiricilere yapılmış
olan bağlantıları da göz önüne alarak hesaplar. Bu algoritmada, ağ içindeki
bir yönlendirici ağın tüm topolojisi hakkında bilgi sahibidir. Herhangi
bir yönlendirici, kendisine olan bağlantıda bir değişiklik olduğunu
algıladığı zaman, bu değişikliği tüm ağa yayma yoluyla bildirir.
Ancak bu yayma işlemi tüm yönlendirme tablosunun gönderilmesi şeklinde
olmayıp yalnızca algılanan değişikliğin bildirilmesi şeklindedir.
Uzaklık vektörü algoritmasında(DVA’da) ise komşu düğümlere gönderilen
yönlendirme tablosu bilgileri daha fazladır; genelde, yönlendirme
tablosunun tamamı veya büyük bir kısmı gönderilir. Bu durum, uzaklık
vektörü algoritmasının ağı daha fazla yüklemesi anlamına gelir;
ancak gönderme işlemi yalnızca komşu düğümlere yapılır.
Bağlantı durumu algoritmasında, algılanan değişiklik ağdaki,
yine bu algoritmayı koşturan tüm yönlendiricilere bildirilir; ancak değişikliği
içeren paketin kısa olması ve algoritmanın uzaklık vektörü algoritmasına
göre daha gerçekçi yönlendirme yapması nedeniyle daha çok merkez yönlendiricilerde
kullanılmaktadır. Bu algoritma daha fazla işlem gücü gerektirdiğinden
buna sahip yönlendiriciler daha güçlü donanıma sahip olmalıdır. çünkü
metrik değerin hesaplanması için daha çok parametre göz önüne alınmaktadır.
RIP, OSPF,IGP gibi bir çok yönlendirme protokolu bu iki algoritmadan
birine dayanır. Örneğin IP ağlarda oldukça fazla kullanılan RIP, uzaklık
vektörü algoritmasına; OSPF ise, bağlantı durumu algoritmasına dayanır. 4.3
Yönlendirme Protokolleri
Yönlendirme protokolleri, yönlendirici üzerinde koşan ve tablonun
güncellenmesini sağlayan kurallardır, genelde yazılımla gerçeklenirler.
Protokoller, dahili (interior) ve harici (exterior) olarak iki sınıfa ayrılmıştır.
İç protokoller daha çok pek fazla büyük olmayan özel ağ içindeki yönlendiriciler
arasında kullanılırken, dış protokoller birbirinden bağımsız ve geniş
ağlar arasındaki yönlendiriciler üzerinde koşturulur
Dahili
Geçityolu Protokolleri (Interior
Gateway Protocol) RIP
(Routing Information Protocol) OSPF(Open
Shorthest Path First) Harici
Geçityolu Protokolleri (Exterior
Gatweway Protocol) EGP2
(Exterior Gateway Protocol) BGP(Border
Gateway Protocol)
NOT: Yönlendirme protokolleri (routing protocols) ile yönlendirmeli
protokoller (routed protocols), genelde birbiriyle karıştırılır; ancak,
farklı tanımlamalardır. İlki, yani yönlendirme protokolleri, dinamik yönlendirme
tablosu oluşturmak için kullanılan RIP, OSPF; EGP gibi protokolleri;
ikincisi, yani yönlendirmeli protokoller ise IP, IPX, DECnet, XNS, Apple
Talk gibi protokolleri anlatır. 4.3.1
Dahili Geçityolu Protokolleri-IGP(Interior Gateway Protocol)
IGP, özel ve bağımsız ağlar içindeki yönlendiricilerde kullanılan
bir iç protokoldür. Bağımsız özel ağlarda temel kriter hız ve başarımın
(performansın) yüksek olmasıdır. Ağ içersinde olabilecek herhangi bir
kesintiye karşı, diğer en uygun yol hızlıca belirlenmelidir. IP ağ
uygulamalarından iyi bilinen RIP ve OSPF bu protokole dayanır. 4.3.1.1 RIP-(Routing Information Protocol)
RIP uzaklık vektör algoritmasına dayanır ve IGP’nin bir
uygulamasıdır . İlk olarak XNS(Xerox Network Systems) protokol kümesinde
kullanılmış olup daha sonra IP ağ uygulamasında kendisine geniş bir
alan bulmuştur.
UNIX işletim sistemi bünyesinde bulunan
‘routed’ programı RIP içindir(bkz. Bölüm 9-RIP Yönlendirme
Protokolu ve Çalıştırılması). Bu protokolda en uygun yol, atlama sayısına
dayanılarak hesaplanı; tabloda her varış adresi için en iyi yol bilgisi
tutulur. Uygulamada RIP için atlama sayısının en fazla 15 olacağı
kabul edilmiştir; bu değerden daha uzak yerler ulaşılmaz durum olarak değerlendirilir.
Ağ topolojisindeki herhangi bir değişiklik, oraya bağlı olan yönlendirici
tarafından sezilir ve yönlendirici hemen yeni durum için değerlendirme
yapar. Eğer daha iyi bir yol olduğunu öğrenirse, önce kendi tablosunu günceller
(aynı varış adresli daha kötü yol varsa tablodan siler) ve daha sonra
komşularına yansıtır. Komşu yönlendiriciler de yeni durumu göz önüne
alarak kendi tablolarını güncelleyip kendi komşularına haber verirler.
Ancak değişikliği ilk yansıtan yönlendiriciye tekrar gönderilmemelidir.
Aksi durumda kısır döngü oluşur. 4.3.1.2 OSPF-( Open Shorthest Path First)
OSPF geniş IP ağlarda kullanılan ve bağlantı durum algoritmasına
dayanan bir protokoldur. Bu protokol hiyerarşik yapı içinde çalışır
ve benzer hiyerarşik düzeyde olan yönlendiriciler arasında tablo güncellenmesi
için kulanılır. Genel olarak IP ağlarda omurgayı oluşturan yönlendiriciler
üzerinde koşturulur. IETF tarafından geliştirilmiş olup tanımlamaları
RFC 1247 içinde yapılmıştır. OSPF geniş ağlarda RIP’e göre daha
iyi sonuç vermektedir ve dolayısıyla onun yerine de facto standard haline
gelmeye başlamıştır. 4.3.1
Harici Geçityolu Protokolü-EGP(Exterior Gateway Protocol)
EGP bağımsız ağ içindeki yönlendiricilerde değil de, bu tür ağları
birbirine bağlayan yönlendiricilerde kullanılan bir protokol sınıfıdır.
Bu algoritmada temel gereksinim güvenliğin sıkı tutulmasıdır; IGP’de
ise işlerin olabildiğince hızlı kotarılmasıdır. Şekil-18’de IGP ve
EGP’inin uygulamadaki yeri görülmektedir.
Şekil-18
IGP ve EGP’nin Kullanım Yeri
Şekil-18’de görüldüğü gibi komple geniş bir ağ uygulamasında
IGP ve EGP aynı anda kullanılabilmektedir; IGP bağımsız ağ içersinde
en uygun yolu belirlemek için kullanılırken, EGP bağımsız ağlar arasında
en uygun yolun belirlenmesinde kullanılmaktadır. Çok bilinen iki
uygulaması EGP2 ve BGP’dir. 4.3.1.1 EGP2 (Exterior Gateway Protocol 2)
Bu protokol bağımsız ağlar arasında yönlendirme bilgisi değiş
tokuş işini gerçekleştirir. Internet’in yayılmasından sonra
uygulamada etkin olmamıştır. EGP2 yerine BGP kullanılmaya başlanmıştır. 4.3.1.2 BGP2 (Border Gateway Protocol 2)
Bağımsız ağlararası yönlendirme bilgisi değiş tokuş için
EGP22nin eksikliğini gidermek amacıyla geliştirilmiştir. Yönlendirme
tablosu güncellenmesinde EGP2’ye daha az bilgi transferi gerektirir ve
gerçekleşmesi daha kolay bir protokoldur. 4.4
Metrik Değer Parametreleri
Metrik değer hesaplanmasında en basit hesap yöntemi, yönlendiriciler
arasındaki atlama sayısının(hop count) baz alınmasıdır. Gerçekte bu
değer paketlerin alıcısına en hızlı gitmesini sağlayacaktır. Çünkü
iki düğüm arasında atlama sayısı 2 olan bir yol 1 olan bir başka
yoldan daha hızlı aktarım gerçekleştirebilir. Bu durumda paketlerin
aktarılması için daha hızlı yol var iken atlama sayısı diye metrik değeri
bir olan yola yönlendirme yapılır. Bu gibi durumların önüne geçmek için
ağın ayrıntısını gösteren parametreler de kullanılır. Bunlar kısaca
aşağıdaki gibidir. ·
En
ucuz yola göre. ·
Servis
kalitesi gereksinimine göre. ·
Gereksinimi
duyulan servis türüne göre ·
Uygulama
politikalarına göre ·
Var
olan diğer yolun da kullanılmasına göre
En uygun yol bulunurken yukarıdaki gibi parametrelerin de göz önüne
alınması yönlendiricide gerekecek işlemci gücünü ve diğer donanım
gereksinimini arttıracağından kenar yönlendiricilerde pek fazla kullanılmazlar;daha
çok merkez yönlendiricilerde kullanılır.
Yukarıdaki parametrelerden özellikle “var olan diğer yolun da
kullanılması” dikkate değerdir. Birçok uygulamada yedek anlamında ana
bağlantıya ek olarak ikinci bir bağlantı yapılır. Bunun amacı, ana bağlantıda
bir kesinti olduğunda, iletişimin yavaş da olsa sağlanmasıdır.
Normalde bu ikinci bağlantı kullanılmaz. Ancak yönlendirici ana bağlantı
ile yedek bağlantı arasında yük paylaşımı yapılacağı ilkesine göre
konfigüre edilirse, en iyi yolu bulmada ikinci yol da göz önüne alınır.
|