İçeriğe atla

Yönlendirme algoritmaları

Ağ katmanının ana görevi, kaynak makineden hedef makineye paketleri göndermektir. Gönderilen bu paketler, hedef makineye ulaşana kadar, değişik algoritmalar yardımıyla birçok düğümden geçerler. Verinin iletim ortamından hedefe ulaşmasını sağlayan bu yönlendirme algoritmalarından hangisinin kullanılacağına ağ katmanı karar verir. Bir yönlendirme protokolü, yönlendirme tablosunu yol bilgisi ile doldurur. Yönlendirme tablolarında, ağ katmanında tanımlanan yönlendirilmiş protokol IP, IPX gibi paketlerin bilgileri saklanır. Seçilen yönlendirme protokolü bu yönlendirme tablolarını kullanarak paketleri hedefine ulaştırır. Bir yönlendirme protokolü aşağıdakileri sağlamalıdır:

  • Yönlendirme tablosunu dinamik olarak öğrenmek ve yönlendirme tablosunu ağdaki tüm alt ağlara giden yol bilgisi ile doldurmak
  • Alt ağlara giden birden fazla yol bilgisi varsa yönlendirme tablosuna en iyi yol bilgisini koymak
  • Tablodaki yol bilgilerinden geçerli olmayanları tespit edip tablodan çıkarmak
  • Yönlendirme tablosundan bir yol bilgisi çıkartılırsa, bu bilgi için diğer komşu yönlendiricilerden kullanılacak başka bir yol bilgisi aramak
  • En hızlı şekilde tablonun güncelliğini sağlamak
  • Yönlendirmelerde döngü oluşmasını engellemek

Yönlendirme protokolleri yönlendirme tablolarını güncel ve kullanışlı yol bilgisi ile doldurur ve bu bilgiler sayesinde paket iletimini gerçekleştirirler. Bu işlem yolda bir adres arayan yolcu gibi düşünülebilir. Yolcunun elinde adres vardır ve yol üzerinde adrese ulaşabileceği yönleri gösteren tabelalar bulunur. Yolcu bu tabelaları takip ederek gitmek istediği yere ulaşır. Ancak yol üzerindeki tabelalar yanlış yerleştirilirse yolcu istediği noktaya ulaşamayacaktır. Bu tabelaları yerleştiren yol görevlisi bunların doğru olduğunu garanti etmelidir. Yönlendirme protokolleri bu yol bilgilerini yönlendirme tablosunda tutar ve doğruluğunu sağlar. Yönlendirme protokolleri birçok yönlendirme algoritması kullanır. Bunlar aşağıda açıklanmaktadır.

En etkili kural (Optimality Principle)

Yönlendiricinin ağdaki diğer yönlendiricilere ulaşabileceği en az hop sayısının olduğu yönlendirme algoritmasıdır. Her yönlendirici için bir derinlik ağacı ile belirlenir, bu ağacın derinliği en az olacak biçimde ayarlanır.

En kısa yol Yönlendirmesi (Shortest Path Routing)

Bu algoritmada ağ içerisindeki herhangi bir yönlendirici ağın tüm topolojisine sahiptir. Bunu Dijkstra’nın en kısa yol algoritması ile sağlar. Bu algoritmada, öncelikle bir yönlendirici kendisine komşu olan düğümleri listeler, her yönlendirici aynı işlemi yapar ve kendinden bir yönlendirici daha ilerleyerek bu işlem tekrarlanır ve tüm ağ topolojisinin bilgileri toplanır. Yönlendirme tablosu yol durumuna göre kendini yeniler ve güncelliğini korur.

En kısa yol seçimi için metrik değerleri kendimiz belirleriz bu bağlantı hızı, en düşük hop sayısı gibi değerler olduğu için, ağ içerisinde bazı bağlantıların kullanım maliyeti fazla olabileceğinden bu bağlantılar ölçüm dışında tutulur. Örneğin bir firma karasal hatlar yanında uydu hatları kullanıyorsa karasal hatlar sadece kendilerine tahsis edilirken uydu hatlarının aktardığı veri başına ücret ödediğinden uydu hatlarını acil durumlar için kullanır. Normal trafiği buradan kullanmaz.

Sel Yönlendirmesi (Flooding)

Bu algoritma da gelen paketlerin, paketin geldiği yol hariç diğer bir yönlendirilebilen yollara gönderilmesidir. Bu işlem su baskını benzeri, akan suyun açıklık bulduğu tüm yollara dağılması gibidir. Sabit bir algoritmadır. Bu yöntemde paketler sürekli olarak ağda dolaşır. Bunu önlemek için bazı yöntemler kullanılır. Paket başlığında her düğümde 1 azaltılan bir hop sayacı kullanılır. Ne zaman bu sayaç sıfır olursa paket silinir. Diğer bir yöntem de, yönlendiricilerin gönderdikleri paketleri bir saklayıcıda saklamasıdır. Aynı paket alındığında bu paket için tekrar gönderilme işlemi gerçekleşmeyecektir. Pratik bir yöntem değildir. Ama yönlendirici veritabanlarının değiştirilmesinde bu yöntem tercih edilebilir.

Mesafe Vektörü Yönlendirme (Distance Vector Routing)

Yönlendirme Bilgisi Protokolü (RIP) öncelikle kullanılan dinamik yönlendirme protokolüdür. Bu tip yönlendiriciler kendi yönlendirme tablolarını, bağlı oldukları yönlendiricilere bakarak dinamik şekilde oluştururlar. Her bir yönlendirici için hop değerine bir eklerler. Mesafe vektörü ile her bir yönlendirici kendi yönlendirme tablosunu dakikada bir kere güncelleyecektir.

Bu yöntemde her bir yönlendirici diğer ağlara ulaşmak için hop sayma bilgisini yakınındaki yönlendiricilerden alacaktır. Ancak aldığı bu bilgiler her zaman gerçeği yansıtmayabilir. Bu nedenle bazı durumlarda yanlış yönlendirme ve hop sayma bilgisi oluşabilir. Yönlendirme bilgisi ikince el bilgi olduğu için bu bilginin doğruluğu hiçbir zaman kanıtlanamayacaktır. Bu ise bir güvenlik açığı anlamına gelmektedir. Dolayısı ile çoğu kuruluş statik yönlendirme tablosu veya bağlantı durumu protokolü kullanır.

Bağlantı durumlu yönlendiriciler, birkaç önemli fark dışında mesafe vektörüne benzer işlev görürler. Bu yönlendiriciler öncelikle tabloları güncellerken birinci el bilgiler kullanılar. Bu sadece yönlendirme hatalarını elimine etmez, buluşma zamanını azaltarak sıfıra yaklaştırır. Bağlantı durumu yönlendirmede, yönlendirici A açıldığı zaman, bir RIP paketi olarak “hello” mesajı gönderir. Bu mesaj her porttan gönderilir. A yönlendiricisi B ve C'de cevap aldığında bir bağlantı kurulur. Bu bağlantı aşağıdaki bilgileri içerir.

  • Yönlendiricinin adı veya kimliği
  • Bağlı olduğu ağ'lar
  • Her bir ağa erişim için gerekli hop sayısı veya maliyet
  • Onun "hello" çerçevesine cevap veren her ağdaki diğer yönlendiriciler

Yönlendirici A'nın “hello” mesajını alan diğer yönlendiriciler bu mesajı yönlendiricilere kopyalarlar. Böylece ağdaki her aktif yönlendiricinin cevabı A'ya gelerek bir bağlantı kurulur. Bağlantı durumlu ağ faal olarak çalışırken, B ve C yönlendiricileri yeniden yönlendirme tablolarını oluşturmak yerine, A'dan bir bölüm kopyalarlar. Böylece zamandan tasarruf edilmiş olur. Eğer C yönlendiricisi normal olarak kapatılırsa, B'ye bir çerçeve gönderir. Bunun üzerine B, kendi tablosundan C'nin bilgisini siler ve A'ya da bu bilgiyi gönderir. Eğer C arızalanır ise, B'nin bunu anlaması için bir gecikme olur. Bundan sonra B tablosundan C'yi siler ve durumu A'ya bildirir. Her bir yönlendiricinin yönlendirme tabloları doğru ve şebekemiz güncelleme için minimum zaman gerektirir. Bağlantı durumunun maksimum büyüklüğü 127 olabilir.

Çoğu bağlantı durumlu yönlendirme protokolü, dinamik yönlendirme güncellemenin yapacağı kaynak için bir yetkilendirme seviyesi sağlar. Böylece bir parola ve kullanıcı adı ile yönlendirme protokolü daha güvenli hale gelir.

Hiyerarşik Yönlendirme (Hierarchical Routing)

Ağ büyüdükçe, buna orantılı olarak yönlendirme tablolarının genişlği artar. Sadece yönlendiricinin belleği değil işlemci gücünün yetersizliği yanında yönlendirme tablolarının birbirlerine transfer edilmesindeki gereken band genişliği ihtiyacı da artar. Bu nedenle yönlendirme, telefon iletişiminde olduğu gibi hiyerarşik şekilde yapılır.

Hiyerarşik yönlendirme yapıldığında her bir yönlendiricinin sorumlu olduğu yönlendirme bölgeleri belirlenir. Böylece her bir yönlendirici sorumlu olduğu bölgedeki alt ağlara yönlendirme yapar. Fakat diğer ağların yapısı hakkında bilgi sahibi değildir. Kendi yönlendirme bölgesine girmeyen paketleri bir üst yönlendiriciye gönderir.

Hareketli İstasyonlarda Yönlendirme (Routing for Mobile Hosts)

Günümüzde milyonlarca insan, dünyanın neresinde olursa olsun kendi e-postalarını dosya sisteminden okumak için artan sayıda hareketli iş istasyonu kullanmaktadır. Bu hareketli iş istasyonları yönlendirme konusunda yeni bir problem ortaya çıkarmışlardır. Bu mimaride bir hareketli istasyonun değişmeyen sabit bir yerleşim konumu vardır. Bu konumun adresinden sabit konumun yeri belirlenir. Burada problem sabit yerleşik konum adresinden, hareketli istasyonun paketlerinin nasıl yönlendirileceğidir. Bir hareketli istasyon yabancı YAŞ girdiği zaman paketlerin yönlendirilmesi için aşağıdaki olaylar gerçekleşir.

  • Yabancı YAŞ'deki yabancı etmen periyodik olarak varlığını ve adresini belirten paket broadcast eder. Gelen bir yabancı istasyon bu paketi arar.
  • Hareketli istasyon yabancı etmen ile yerleşik adresini, veri katmanı adresi ve güvenlik bilgilerini kullanarak kendisini kayıt ettirir.
  • Yabancı etmen, hareketli istasyonun yerleşik etmeni ile iletişim kurarak, yerini hareketli host'a bildirir. Hareketli etmenden gelen mesajlar, yabancı etmenin adresi ile birlikte yerleşik etmene ulaşır.
  • Yerleşik etmen güvenlik bilgisini denetleyerek, yabancı etmeni bilgilendirir.
  • Yabancı etmen, yerleşik etmenden olumlu mesaj almış ise, tablosuna hareketli hostun bilgisini ekleyerek onu kayıt eder.

Yayımlayarak Yönlendirme (Broadcast Routing)

Bazı uygulamalarda konaklar, birden fazla veya diğer bütün konaklara mesaj göndermek isteyebilirler. Örneğin bir servis hava raporlarını bütün bilgisayarlara yaymak isteyebilir. Bütün bilgisayarlara eşzamanlı olarak paket gönderme işlemine yayınlamak (broadcasting) adı verilir.

İlk yayınlama yöntemi, bir istasyonun bütün diğer istasyonların adreslerini toplayarak alt ağ'a paket yollamasıdır. İkinci yayınlama yöntemi ise, sel yayınlama (flooding) dır. Bu yöntemde her istasyon ile birebir bağlantı kurularak çok miktarda paket üretilerek gönderilir.

Üçüncü yöntem ise, çok varışlı yönlendirmedir. Bu yöntemde, her bir paket ya bütün varış konaklarının adresini ya da varış istasyonlarını gösteren bir bit haritası içerir. Yönlendirici paketi aldığı zaman, varış adresini test ederek paketlerin kopyalarını üreterek varış konaklarına iletilmek üzere her bir bağlantı hattına verir.

Dördüncü yöntemde bir tür kapsama ağacı niteliğinde olan ve her bir yönlendiricinin dağılım ağacı(sink tree) elde edilerek paketler gönderilir. Yönlendirici her bir hattındaki paketin en az bir adet host'a gideceğini bilir.

Son yayımlama algoritması ise, bir öncekinin davranışına bağlı olarak yönlendirme yapılan ters yol ileri göndermedir. Bu yöntemde yönlendirici kapsama ağacı hakkında bir şey bilmesede yönlendirme gerçekleşebilir. Gönderilen paketler alıcı tarafından tekrar kaynak yönlendiriciden gelen hat dışındaki diğer bütün hatlara dağıtılır.

Çoğa göndererek Yönlendirme (Multicast Routing)

Bazı uygulamalar, gruplar ile çalışırlar. Bu durumda, gönderilen mesajlar altağ'daki konakların bir grubuna adreslenir. Bu işleme multicasting, yönlendirmeye de multicast yönlendirme adı verilir. Multicast yönlendirme grup yönetimi gerektirir. Multicast yönlendirme için her bir yönlendirici diğer tüm yönlendiricileri içeren kendi kapsama ağacını hesaplar. 2 grup olduğu durumda her bir grup için hesaplanan kapsama ağaçları gösterilmiştir. Bir süreç bir gruba multicast paket gönderdiği zaman ilk yönlendirici kendi kapsama ağacını inceler ve gruptaki hostlara ait olmayan yolları budar.

Kaynaklar ve Dış bağlantılar

İlgili Araştırma Makaleleri

İnternette paketlerin hedeflerine ulaştırılması yönlendirici (router) adı verilen ve bu amaçla özel alarak tasarlanmış bilgisayarlar tarafından gerçekleştirilir. Yönlendiriciler, IP paketinin başlığında bulunan hedef adres bilgisini kullanarak bu paketleri diğer yönlendiricilere iletirler. Bu işlem paket hedefine ulaşıncaya kadar devam eder. Bu işleme IP Yönlendirme veya routing adı verilir. Yönlendiriciler tuttukları yönlendirme tablolarına göre paketleri alıcılara nasıl göndereceklerine karar verirler. Yönlendirme tabloları iki şekilde oluşturulur:

  1. Ağ yöneticisi kendisi tanımlayabilir. Genelde bir ya da birkaç yere bağlantısı olan ağlarda bu yöntem kullanılır. Statik yönlendirme olarak adlandırılır. Ağdaki herhangi bir değişiklik durumunda tanımların yeniden elle değiştirilmesi gerekir.
  2. Yönlendirme algoritmaları tarafından hesaplanarak oluşturulur. Ağ yöneticisinin önceden bazı tanımlamalar ve filtreleme girmesi gerekir. Ağda herhangi bir değişiklik olduğunda alternatif yollar otomatik olarak bulunur. Dinamik yönlendirme olarak adlandırılır. RIP, OSPF, BGP en çok kullanılan dinamik yönlendirme protokolleridir.

Ağ katmanı veya 3. katman, veri paketinin farklı bir ağa gönderilmesi gerektiğinde, veri paketine yönlendiricilerin kullanacağı bilginin eklendiği katmandır. Örneğin IP iletişim kuralı bu katmanda görev yapar.

<span class="mw-page-title-main">IPv6</span> İnternet protokolünün 6. versiyonu

Internet Protocol Version 6 kısaca IPv6, aslında 32 bitlik bir adres yapısına sahip olan IPv4'ün adreslemede artık yetersiz kalması ve ciddi sıkıntılar meydana getirmesi üzerine IETF tarafından geliştirilmiştir.

Network Address Translation (NAT), TCP/IP ağındaki bir bilgisayarın yönlendirme cihazı ile başka bir ağa çıkarken adres uzayındaki bir IP ile yeniden haritalandırma yaparak IP paket başlığındaki ağ adres bilgisini değiştirme sürecidir.

İngilizce Router Information Protocol, yani Yönlendirme Bilgi Protokolü anlamına gelen RIP, bir TCP/IP ağındaki router'ların birbirini otomatik olarak tanımasında kullanılan bir iç yönlendirme protokoldür. Aynı zamanda uzaklık vektör algoritmasına dayanır ve IGP 'nın bir uygulamasıdır. Yönlendirme kararları, düğümler arasındaki sıçramaların sayısına dayanır. Yönlendiriciden geçmek bir sıçrama sayılır. İlk olarak XNS protokol kümesinde kullanılmış olup daha sonra IP ağ uygulamalarında kullanılmıştır.

İngilizce Open Shortest Path First, yani "En kısa yola Öncelik" anlamına gelen OSPF, bir TCP/IP ağındaki router'ların birbirini otomatik olarak tanımasında kullanılan bir protokoldür. OSPF yönlendirme internette intra-AS yönlendirme için RIP gibi yaygınca kullanılan bir yöntemdir. OSPF temelde internet servis sağlayıcılarının (ISP) üst-tabakalarında kullanılır. OSPF kelimesindeki ilk O harfi yönlendirme protokolü şartlarının açık olduğunu gösterir. OSPF'nin en güncel versiyonu ikincisidir[RFC 2328].

<span class="mw-page-title-main">Yönlendirici</span>

Yönlendirici, aynı ağ iletişim kurallarını kullanan iki bilgisayar ağı arasında veri çerçevelerinin iletimini sağlayan ağ donanımıdır. Yönlendirme için OSI yedi katman modelinin üçüncüsü olan ağ katmanı kullanılır. Genellikle bu iş için özel üretilmiş donanımlar varsa da birden çok arayüzü olan bilgisayarlar da yazılım desteğiyle yöneltici olarak çalışabilirler.

ICMPv6(Internet Control Message Protocol Version 6 )

Time to live (TTL) veya atlama sınırı bilgisayardaki veya ağdaki bir verinin ömrünü sınırlayan bir mekanizmadır. Ttl veriye eklenmiş veya gömülmüş bir sayaç veya zaman damgası olarak düşünülebilir. Öngörülen atlama sayısı veya zaman geçtikten sonra, veri düşürülür. Bilgisayar ağlarında, bir veri paketinin süresiz dolaşmasını önler. Bilgi işlemde, önbellek performansının arttırımını ve gizliliğini geliştirmek için kullanılır.

Bilgisayar ağları konusunda geçen Önyükleme Protokolü veya BOOTP, bir yapılandırma sunucusundan bir IP adresi almak için bir ağ istemcisi tarafından kullanılan bir ağ protokolüdür. BOOTP protokolü ilk olarak RFC 951 içerisinde tanımlanmıştı.

Distance-vector Routing Protocol paket-anahtarlamalı ağlarla ilgili bilgisayar Iletişim(computer communication) kuramında yer alan iki ana sınıftan biridir. Diğeriyse bağlantı-durum (link-state) protokolüdür. Distance-vector yönlendirme protokolü yolların hesaplanmasında Bellman-Ford algoritmasını kullanır.

Komşu Keşfi Protokolü IPv6 ile kullanılan internet iletişim kuralları dizisinde bir protokoldur. Bağlantı katmanında çalışır ve bağlantıdaki diğer düğümleri bulmak, diğer düğümlerin ağ katmanı adreslerine karar vermek, uygun routerlar bulmak ve diğer aktif komşu düğümlere yollar hakkında erişilebilirlik bilgisi sağlamakla yükümlüdür(RFC 4861, 2007).

Yönlendirme protokolleri, yönlendirici üzerinde koşan ve tablonun güncellenmesini sağlayan kurallardır; genelde yazılım ile gerçekleşirler. Protokoller iç (interior) ve dış (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. Yönlendirme protokolleri ile yönlendirmeli protokoller, genelde birbiriyle karıştırılır; ancak farklı tanımlamalardır. İlki, yani yönlendirme protokolleri, dinamik yönlendirme protokoller ise IP, IPX, DECnet, XNS, AppleTalk gibi protokolleri anlatır.

IGP Otonom sistemlerde (AS) kullanılan Yönlendirme protokolleri'nden biridir

Sınır Geçit Protokolü internet üzerinde kararların çekirdeğe yönlendirilmesine imkân sağlar. BGP gerçekten de güvenilir, sağlıklı çalışan bir yönlendirme protokolü olmasına karşın yavaş bir yönlendirme protokolüdür. Bu protokol bir IP network tablosunu korur ya da otonom sistemler arasında ağın ulaşılabilirliğini gösterir. Yol vektörü protokolü gibi tarif edilir.

<span class="mw-page-title-main">Supernet</span>

Supernet ortak Sınıfsız alanlar arası yönlendirme (CIDR) öneki ile iki veya daha fazla ağların birleşiminden oluşan bir Internet Protokolü (IP) ağıdır. birleşik ağ agrega kurucu ağlarının önek için yeni yönlendirme yoludur. Aynı yönlendirme yolunda yanlış ağların diğer önekleri içermemelidir. supernet kurma süreci genellikle supernetting, rota toplama ya da rota özetlenmesine denir. İnternet içinde Supernetting delegeler, bölgesel şebeke servis sağlayıcıları için adres alanının segment denetimi, hiyerarşik bir dağıtım sistemi kullanarak IP adres alanı topolojik parçalanmayı önlemek için önleyici bir strateji olarak hizmet vermektedir. Bu yöntem, bölgesel rota toplamayı kolaylaştırır. supernetting faydaları, adres alanı verimlerin korunması, rota bilgileri, bellek depolama ve güzergâh eşleştirme işlem yükü açısından yönlendirici olarak elde edilir.

Hop, ağ iletişimi sırasında veri paketi hedef adrese ulaşmak için yönlendiriciler üzerinden geçerek ilerler. Hedef adrese ulaşılmadan önceki her yönlendirici geçilirken bir hop oluşur. Veri paketinin kaç yönlendiriciden geçtiği hop sayısı ile hesaplanabilmektedir.

<span class="mw-page-title-main">IPv6 Adres</span>

IPv6 Adres, IPv6 adres protokolü bir bilgisayarın ağ arayüzünü tanımlamak için kullanılan nümerik bir etiket veya bir IPv6 ile etiketlenmiş olan ve bilgisayar ağına katılan diğer bir ağ düğümüdür.

TCP/IP, yapı olarak iki katmanlı bir haberleşme protokolüdür. Üst Katman TCP verinin iletimden önce paketlere ayrılmasını ve karşı tarafta bu paketlerin yeniden düzgün bir şekilde birleştirilmesini sağlar. Alt Katman IP ise, iletilen paketlerin istenilen ağ adresine yönlendirilmesini kontrol eder.

Tümleşme , aynı topolojik bilgiye sahip olan yönlendiricilerin işlev gördükleri merkezi bağlantı hakkındaki durumları. Yönlendiriciler tümleşik oldukları için onların tümü gerçekleştirimi yapılan yönlendirme protokolü yöntemiyle her biri diğerinden mevcut topolojik bilgiyi toplamalıdır. Onların topladıkları bilgi kümedeki herhangi bir diğer yönlendiricinin topolojik bilgisi ile çakışmamalıdır ve ağın gerçek durumunu göstermelidir. Diğer bir deyişle tümleşik ağ içindeki tüm yönlendiriciler ağ topolojisinin neye benzeyeceği hakkında hemfikir olmalıdırlar. Tümleşme dinamik yönlendirme (routing) içerisindeki yönlendiriciler için önemli bir kavramdır. Tüm iç ağ geçidi protokolü(Interior Gateway Protocol) tümleşme işleyişinin düzgün çalıştığına güvenir. Tümleştirme işlevsel otonom sistemin normal bir durumudur. Exterior Gateway Protocol tipik olarak hiçbir zaman tümleşmez çünkü Internet haberleşmenin yeterince hızlı olabilmesi için çok büyüktür