6-Cisco Router'da Dynamic Routing

IP routing, temel olarak yönlendiricileri kullanarak paketleri bir ağdan diğerine iletme işlemidir. Bir önceki yazımda Static Routing / Elle Girme yönteminden bahsetmiştim. Bu yöntemi kullanmak küçük networkler için ideal ve kolay bir yöntem. Fakat bu yöntemi büyük networklerde kullanmak; zaman kaybı, iş yükü ve hataya mahal verecek bir yöntem haline geliyor. Bunun yerine verimlilik açısından küçük, büyük ve orta ölçekli networklerde dinamik yani 'otomatik' yönlendirmeyi kullanabiliriz. İki yönlendirmenin de kombinasyon halinde kullanılması da mümkün tabi ki.

Fark Nedir?

  • Static Routing'de bilinmeyen ağlar için paketin kime verileceğini biz elimizle girerek söylüyorduk, Dynamic Routing'de protokolleri kullanarak, ortak bir ağ haritasının oluşmasını ve yolu otomatik olarak bulmasını sağlıyoruz.
  • Static Routing küçük ağlar için, Dynamic Routing büyük ağlar için kullanıma elverişlidir.
  • Ağda bir değişiklik olduğunda; dynamic routing tüm yönlendiricileri otomatik olarak bilgilendirir fakat static routing'de yönetici tüm işlemleri tek tek güncelleme sorumluluğuna sahiptir.
Dynamic Routing olarak adlandırılan bu yönlendirme, çeşitli router protokolleri kullanılarak yapılan bir yönlendirmedir.
Protokoller paketin hedefine en verimli şekilde ulaşmasında, ağ üzerindeki en verimli yolu belirlemek için kullanılır.

Bu protokoller;

  • RIPV2 - Distance Vector Protocol
  • OSPF - Link State Protocol
  • EIGRP - Hybrid Protocol

Tüm routerlar, tüm ağları öğrendikten sonra paketleri bu yerleşik verileri kullanarak gönderiyorlar. Routerların bir paketi etkili bir şekilde iletebilmesi için bilmesi gerek 5 minimum faktör bulunmaktadır.

Faktörler;

  • Hedef Adres  // paketi kime gönderiyorum.
  • Komşu Routerlar // paketi kimler götürebilir.
  • Uzak Ağlar için Olası Yollar // paket kaç farklı yoldan gidebilir.
  • Her Uzak Ağ için En İyi Yol // paket için en verimli yolu seç
  • Yönlerdirme Bilgilerine Koru ve Doğrula // paket için bilgiyi al ve hedefe ilet.

Kullanılan Parametreler;

Metrik : En iyi yolu seçmek için kullanılan parametreleri ifade eder. Bunlar;
  • -hop count : durak sayısı / geçilen router sayısı
  • -cost : metriklerin toplam etkisi
  • -bandwith :bant genişliği
  • -reliability : hattın güvenilirliği
  • -load : trafik yükü
  • -delay : gecikme süresi
AD / Administrative Distance : Aynı ağın birden fazla protokolle öğrenilmesi durumunda, routerların karar vermek için kullandığı, protokol öncelik sırasıdır. Cost değeri küçüldükçe öncelik artar. 
  • Aynı hedef için birden fazla yol varsa cost değeri küçük olan yol tercih edilir.
Yolu Temsil Eden Harf : 
  • Routerlardaki işletim sisteminde protokolleri temsil eden harfler.
VLSM / (Veriable Lenght Subnet Masking ) Desteği : Ip bloklarını, değişik büyüklüklerde alt ağlara bölmeye yarar. VLSM desteği olan protokoller sınıfsız, olmayanlar ise sınıflı bir mimari yapıya sahiptir.

*Hello Paketi: Sadece değişiklik olduğunda güncelleme paketi yollayan protokollerde, bağlantının devamlı olduğunu göstermek için kullanılan pakettir. Boyutu çok küçüktür.

Auto-Summary: Rip ve eigrp'de varsayılan olarak açık olan otomatik özetleme(auto summarization) bulunmaktadır.Yani router arkasında bulunan networkleri (1.0,2.0,.3.0 gibi ) gruplar ve öyle söyler. Bunu anlayabilmek için subnetting/ alt ağlara bölme işleminin iyice kavranmış, anlaşılmış olması gerekir. Kısaca şöyle düşünebiliriz performansı arttırmak için rotayı bir maskta genelleyerek tutuyor. Mask bir genellemeye girdiğinde ise paketlerde karışıklık olması çok normal. Bu grupların bazı parçaları başka router tarafında ise bu soruna sebep olabilir. Bu nedenle;
 no auto-summary komutu ile kapalı çalışmak lazımdır. 

RIP PROTOCOL

  • RIP, mesafe vektörü yönlendirme protokolüdür.
  • 30 sn'de bir routing table / yol tablosu güncellenir ve komşu routerlara iletilir.
  • En iyi yolu seçmek için atlama sayısına / hop count'a bakılır. RIP için varsayılan atlama sayısı 15'dir. 16 routerdan oluşan network için hedefe ulaşamayacağı kabul edilir.
  • RIP küçük networkler için çok verimlidir fakat çok fazla yönledirici içeren ağlar için verimsizdir.
  • RIP bant genişliğine bakmaz, hedefe giderken baktığı tek şey kaç hop geçtiğidir.
  • Tüm markalardaki routerlar destekler.
RIPV1

-Sadece classful/sınıflar arası networkleri kullanılır. Bunun anlamı ağdaki tüm cihazların aynı alt ağ maskesini kullanması gerektiği anlamına gelir. Çünkü güncellemelerde Subnet Mask / alt ağ maskesine ait bir bilgi yoktur. Bu sebeple farklı dağılımlarda çalışmaz.

RIPV2

-Classful ve classes networkleri kullanılır. Burada güncellemelerde Subnet Mask / alt ağ maskesi bulunur. Buna sınıfsız yönlendirme denir. auto-summary vardır, kapatılması önerilir.



Konfigürasyon Bilgisi:
#router rip
#version 2
#no auto-summary
#network networkID // direk bağlı olan bacakların kullandığı network ID'leri yazılıyor.

**ÖRNEK UYGULAMA**

  • AR,BR,CR,DR,ER olmak üzere 5 routerdan oluşan bu network'de 1.2 ip'sine sahip PC'den 7.2 ip'sine sahip PC ye paket iletmek istiyoruz.
  • Uygulamada tüm routerlar rip protokolü ile haberleşsin.
  • 1.2 den 7.2 ye 2 farklı yol var ve RIP protokolünde hedef kaç hop geçtiğimdi yani hedefe en kısa yoldan ulaşmak istiyorum.Bunun için;

İlk olarak tüm routerlarda kendi bacaklarını tanıtma işlemi [1] yapıldıktan sonra RIP uygulamasını başlayabiliriz.

AR isimli Router'da:



















Bu işlemden sonra kimleri hangi yöntemle tanıdığıma bakarsam;

#do sh ip rou
// C direk bağlı olduğum networkleri gösteriyor, yapmış olduğum işleme dair bir ibare yok henüz.









Tüm RIP işlemlerini bütün routerlarda yaptığımızı kabul edelim. Aşağıda routerlar üzerinde yapılacak tüm işlemleri gösterdim.


Burada şuan şöyle bir işlem gerçekleşti;

AR isimli router komşusu olan BR ve DR isimli router'a benim routing table'ım bu diyerek 3.0,2.0 ve 1.0 networklerini iletti. BR isimli router kendinde olmayan 1.0 ve 2.0 networklerini kendi yönlendirici tablosuna ekledi. Tüm routerlar aralarında bu işlemleri tamamlamış oldu.

Sonuç olarak DR isimli Router'da kimleri hangi yöntemle biliyor diye bakarsak;

#do sh ip rou

// Burada direk bağlı olan C ile ifade edilen 2.0 ve 6.0 networkleri var.
// R ile ifade edilenler ise RIP protokolü ile öğrenilmiş olan diğer networkler.
İşlemler buraya kadardı. Peki paket iletimi nasıl oluyor, paketim hangi yolu kullanıyor diye test etmek istersek?

192.168.1.2 ip'sine sahip PC'den 7.2 ip'sine sahip PC'ye paket gönderiyorum.



Gönderdiğim paket hangi yolu kullandı?

>tracert hedefip

//Paketim 4 adımda hedefe ulaşmış bunun için 1.0 , 3.0 , 4.0 ve 7.0 networklerini kullanmış. Aslında olması gerekende bu üst yolu tercih etmedi çünkü üst tarafta  hop / router sayısı daha fazla.

Fakat BR isimli routerda bir arıza olmuş olsaydı mecbur üst yolu tercih edecekti.Bunun için BR'yu fiziksel olarak kapatıp test ediyoruz.

Bu sefer 5 adımda ulaştı ve 1.0 , 2.0, 6.0, 5.0 ve 7.0 networklerini kullandı. Her iki şekildede paketim hedefine ulaştı. RIP uygulamasını yapmış olduk.

OSPF PROTOCOL

  • Ospf protokolünde hop sınırı yoktur.
  • En hızlı ve en güvenilir yola göre karar vermektedir.
  • Bağlantı durumuna göre ideal yol tarifi yapabilmektedir.
  • Versiyon yok, auto-summary kapalı geliyor.
  • 10 saniyede bir komşu routerlara HELLO paketi yollayarak bir değişiklik olup olmadığı kontrol edilir.
  • SPF algoritmasını kullanarak ağ topolojisi çıkarılır ve bu işlem 30 dakika da bir güncellenir.
  • Area 50 router'a kadar desteklenmektedir.

Konfigurasyon Bilgisi:
#en
#conf t
#router ospf [proces_id]
#network [ip](direk bağlı bacak) [tümleyen mask] area [0]

Tümleyen mask / Wildcard Mask = Alt ağ maskesi her ne olursa olsun, 255.255.255.255 olan alt ağ maskesinin tümleyeni şeklinde yazılır.

Örneğin;
192.168.10.2/24  /24 > Mask 255.255.255.0

255.255.255.255 //Sabit mask
255.255.255.0   
0  .   0  .   0 . 255  // Wildcard Mask

Yada 172.16.1.1/16  > Mask 255.255.0.0

255.255.255.255
255.255.    0.   0
  0  .   0 .255.255   // Wildcard Mask


Process_id = İşlemlerin karışmaması için belirlenen bir id numarasıdır.

Area = Çok fazla sayıda router içeren WAN'larda Ospf'in hesabını kolaylaştırmak için alanlara ayrılırlar ve her bir alanın sorumlusu seçilerek, alanlar arası bilgilendirme tek routerdan yapılır. Aynı Ospf area'sında bulunan routerlar ospf ile konuşur. İlk Ospf area'sı backbone area olan area 0 olmak zorundadır.

**ÖRNEK UYGULAMA**



Yukarı görmüş olduğunuz network'ü farklı bölgelerin birleşimi olarak düşünüp bir çok area kullanarak ospf protokolünü uygulayabiliriz, tabi ki mümkün. Fakat bunu bir bölge olarak düşünüp tek bir area üzerinden yapalım.

NOT: Bu protokolde NETMASK yerine WILDCARD MASK kullanıldığından, daha iyi anlaşılması için çok çeşitli ağlar kullanmaya çalıştım.

Uygulama Adım 1:

Aynı bölgedeki routerlar için uygulamaya başlıyorum. İlk olarak AR isimli router üzerinde işlemlere başlayalım.

Not 1:Protokolden sonra bir proces id istedi. Bunun sebebi ;

-Bir veritabanı tablosu oluşturmak istiyor. Bunu kendisi için, komşuları için, topoloji için ve bir yönlendirme tablosu oluşturmak için alıyor. Bu sebeple aslında her router tüm ağı görmüş oluyor. Herhangi bir sayıda olabilirdi bu, sonuçta bir işlemi tutuyor aslında.

Not 2 : Router üzerinde direk bağlı olan bacakların kullandığı networkID'leri , wildcard maskları ve bölgeleri söyledik.

-Area 0 olarak belirttiğimizde söylemek istediğimiz şey;
0 areasını kullanan tüm routerlar yönlendirme tablolarını otomatik olarak paylaşsınlar demiş olduk.

Bu uygulamayı tüm routerlar üzerinde yaptım ve son hali aşağıdaki gibidir.


AR isimli router kimleri nasıl tanıyor bakalım?
#do sh ip rou
// C direk bağlı olanlar
//O ospf protokolü ile öğrendiğim ağlar.

Artık paketlerim OSPF protokolü ile iletiliyor. Peki hangi yolu kullanıyor, neden?

Deneme 1: 192.168.1.2 ip'sine sahip PC'den 192.168.3.2 ip'sine sahip PC'ye ping paketi yolluyorum.


**Hangi yolu kullandı? 
#tracert 192.168.3.2
// Paketim aslında iki yoluda tercih edebilirdi. Çünkü mesafe aynı ve ekstra hiç bir kriterim yok. Fakat paketim alt hattı kullanmayı tercih etti.

**Yol hangi durumda değişebilirdi?
AR ve BR isimli routerlarda bazı kriterler ekleyeceğim.
-Bandwith ve clock raid .

  • İlk olarak AR 'de serial interfaceleri seçerek 4000000 bitlik  clock raid ataması yapıyorum. 
  • Yine AR'de serial interfacelerim üzerinde bant genişliğini belirliyorum. (Kbit cinsinden girilir.)
  • Aynı işlemleri farklı değerler ile BR isimli router üzerindede yapıyorum.

Sonuç: Burarada üst yol ve alt yol için belirleyici olacak kriterler girdik. İlk testimizde hiç bir kriter yokken paket keyfi olarak alt yolu tercih etti.
Alt yol için 128 Kbit'lik bir bant genişliği
Üst yol için ise 4000 Kbit'lik bir bant genişliği belirledik.

Ospf kendi haritasına bakarak en hızlı yolu seçmeli ise mantıken üst yolu tercih etmelidir.Çünkü daha geniş bant genişliği daha fazla birimin daha kısa sürede iletilmesi demektir. Peki sonuç öyle mi test edelim.
// 192.168.1.2 ip'sine sahip PC'den 192.168.3.2'ye paket yolladığımda sonuç; aşağıdaki gibi üst yolu tercih etti.
#tracert 192.168.3.2


EIGRP PROTOCOL

  • Orta ölçekli ve büyük kurumsal ağlar için kullanılır.
  • Cisco tarafından üretilmiş bir protokoldür ve sadece cisco cihazlar destekler.
  • Hibrit protokoldür. RIP ve OSPF'in özelliklerini taşır.
  • Sadece hop'a bakmaz, bağlantı hızına göre ideal yolu gösterir.
  • En hızlı ve en güvenilir yola göre tablo oluşturur.
  • auto-summary açıktır, kapatmak gerekir.
  • Önemli 4 kriter var; hop sayısı, bandwith, yoğunluk ve stabilite.

Konfigürasyon Bilgisi:

#en
#conf t
#router eigrp [1] 
//1  Autonomous System Number. Routerların kendi aralarında konuşabilmesi için aynı numaraya sahip olması gerekiyor.
#no auto-summary
#network ID[direk bağlı olanlanlar]

**ÖRNEK UYGULAMA**


Tüm routerlar üzerinde EIGRP Protokolünü uygulayalım ve sonuçları inceleyelim.

R1 isimli routerda;


R2 isimli routerda;



NOT ::  %DUAL "neighbor adjacency found." bu ifade bitişik bir komşu bulunduğunun ifadesi. Yani aynı mahalledeyiz. Aynı routing table'ı paylaşıyoruz ve herkes herkesin her şeyini görebilir demektir. 

#do sh ip rou // R1 isimli routerda IP rotasına bakalım.
// C direk bağlı olanlar
// D eigrp ile komşuluk ilişkisi kurulanlar.

Bütün routerlarda aynı işlemleri yapıyorum, tüm komutları aşağıda verdim.


Peki bu protokol neleri dikkate alıyor?

Bunu öğrenmek için R1 isimli routerda serial 0/0/0 bacağına bakıyoruz.
R1#sh int s0/0/0


Dikkate alınan faktörler: MTU, bandwith, delay, reliability, load faktörlerini dikkate alıyor ve gitmek istediğiniz yolu bunlara göre planlıyor.
Bu kriterler önemli çünkü protokol burada sezgisel davranıyor fakat biz istersek gitmesini istediğimiz yolu bu faktörleri kullanarak belirleyebiliriz.

Nasıl bir topolojiye sahibim?
  • #sh ip eigrp topology ile baktığımda 2 sembol beni ilgilendiriyor. A ve P
  • Burada A harfi görmüyoruz sebebi tüm routerlarda gerekli protokolü uyguladım yani bilgisini almadığım hiç bir komşum YOK.
  • P hafi ise bana mahallemin dağılımını gösteriyor.
  • FD, uygunabilir mesafeyi ifade ediyor.
  • via ile belirtilen networkler ise P ile simgelenen networke giden yolları ifade ediyor.



Peki paketim hangi yolu kullandı?

192.168.1.2 ip'sine sahip PC'den 192.168.2.2 ip'sine sahip PC'ye paket yolluyorum. Şuan bunu yorumlayacak olursak; üst tarafta 2 router alt tarafta 3 router var ve herhangi bir kriter yok.(bant genişliği vs.) Mantıken paketimin üst yolu kullanmasını beklerim. Çünkü hop sayısı daha az.

Sonuç; beklentimizi karşıladı ve paket üst yolu kullandı.


Daha verimli bir yol kullanması için bazı faktörler belirleyeceğim ve sonuçlara bakalım.

Uygulama 1: İlk olarak R1 isimli routerda bant genişliği belirliyorum. Sonuç ektedir.


Uygulama 2: Daha sonra R4 isimli routerda bant genişliği belirliyorum. Sonuç ektedir.



SONUÇ : Hiçbir faktör belirlemediğimde üst yolu tercih eden paketim şimdi alt yolu tercih ediyor. Çünkü alt tarafa giden bacağa daha geniş bir bant genişliği değeri verdim. Ve bunu her routerda uyguladığımda her seferinde en iyi yolu hesapladığını görebiliyorum.

Protokoller için söyleyeceklerim bu kadar haftaya REDISTRIBUTION  ile görüşmek üzere :)



Yorumlar

Bu blogdaki popüler yayınlar

4-Cisco Router ve Switch'de Konfigürasyonu Kaydetmek

1-Cisco CLI Router ve Switch Konfigürasyonu