Yönlendirme algoritmaları

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.

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.

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.