EIGRP (Enhanced Interior Gateway Routing Protocol – Artırılmış Dahili Ağ Geçidi Yönlendirme Protokolü) : Cisco tarafından geliştirilen ve uzun bir süre Cisco tarafından kullanıldıktan sonra diğer firmaların da kullanımına sunulan; bandwidth (bant genişliği), delay (gecikme), yük ve güvenirlik gibi metrik hesaplarını yaparak yönlendirme yapan dinamik yönlendirme protokolüdür.
Protokol çalıştığında, yönlendiriciler arayüzlerinden (interface) “Hello” paketi göndererek komşuluk kurarlar ve komşuluk tabloları oluştururlar. 5 saniyede bir komşu routera hello paketi gönderilir ve 15 saniye içerisinde cevap alınamazsa komşuluk silinir. Yapılan komşuluklar “Acknowledgement” paketi ile onaylanır. Query(sorgu) paketi ile ağda herhangi bir değişiklik olup olmadığı kontrol edilir ve gelen Reply(yanıt) paketine göre yeni tablolar oluşturulur. Tüm bu işlemler RTP (Reliable Transport Protocol – Güvenilir Taşıma Protokolü) ile gerçekleştirilir.
Yönlendirme tablosu yapılırken bir tane ana rota, bir tane de yedek rota yazılır. Böylece ana rotada herhangi bir problem olduğunda hızlıca yedek rotaya geçilir. Ayrıca yedek rotaya geçildiğinde de ayrıca yeni bir yedek rota daha hesaplanır.
Protokolün genel yapısını inceledikten sonra Cisco EIGRP yapılandırmasını aşağıdaki basit örnek üzerinden yapalım.
EIGRP yapılandırmasına geçmeden önce Router interface ve VPC için gerekli ayarlamaları yapalım.
R1 için yapılandırma
R1(config)#interface gigabitEthernet 0/0 R1(config-if)#no shutdown R1(config-if)#ip address 192.168.1.1 255.255.255.0 R1(config-if)#exit R1(config)#interface gigabitEthernet 0/1 R1(config-if)#no shutdown R1(config-if)#ip address 1.1.1.1 255.255.255.252 R1(config-if)#exit R1(config)#interface gigabitEthernet 0/2 R1(config-if)#no shutdown R1(config-if)#ip address 2.2.2.1 255.255.255.252 R1(config-if)#do write
R2 için yapılandırma
R2(config)#interface gigabitEthernet 0/0 R2(config-if)#no shutdown R2(config-if)#ip address 1.1.1.2 255.255.255.252 R2(config-if)#exit R2(config)#interface gigabitEthernet 0/1 R2(config-if)#no shutdown R2(config-if)#ip address 3.3.3.1 255.255.255.252 R2(config-if)#do write
R3 için yapılandırma
R3(config)#interface gigabitEthernet 0/0 R3(config-if)#no shutdown R3(config-if)#ip address 2.2.2.2 255.255.255.252 R3(config-if)#exit R3(config)#interface gigabitEthernet 0/1 R3(config-if)#no shutdown R3(config-if)#ip address 4.4.4.1 255.255.255.252 R3(config-if)#do write
R4 için yapılandırma
R4(config)#interface gigabitEthernet 0/0 R4(config-if)#no shutdown R4(config-if)#ip address 192.168.2.1 255.255.255.0 R4(config-if)#exit R4(config)#interface gigabitEthernet 0/1 R4(config-if)#no shutdown R4(config-if)#ip address 3.3.3.2 255.255.255.252 R4(config-if)#exit R4(config)#interface gigabitEthernet 0/2 R4(config-if)#no shutdown R4(config-if)#ip address 4.4.4.2 255.255.255.252 R4(config-if)#do write
VPC1 için yapılandırma
VPCS> ip 192.168.1.10/192.168.1.1 Checking for duplicate address... PC1 : 192.168.1.10 255.255.255.0 gateway 192.168.1.1
VPC2 için yapılandırma
VPCS> ip 192.168.2.10/192.168.2.1 Checking for duplicate address... PC1 : 192.168.2.10 255.255.255.0 gateway 192.168.2.1
Gelelim EIGRP yapılandırmasına. Configure terminaldeyken router eigrp komutunu gireceğiz ve ardından 1 ila 65535 arasında bir numarayı otonom sistem numarası olarak verilecek. Verilen numara tüm yönlendiricilerde aynı kullanılmalı. Ayrıca routerları tanımlamak için bir ID’de tanımlanabilir. ID tanımlamak için IP adresi isteyecektir. Bu adres sisteme etki edecek bir adres olmadığı için ne verildiğinin önemi yok. Ama kolay hatırlanması açısından router hostname’ye uygun bir isim olması daha iyi olur. Örnek; R1 routerı için 1.1.1.1 gibi.
R1(config)#router eigrp ?
<1-65535> Autonomous System
WORD EIGRP Virtual-Instance Name
R1(config)#router eigrp
Öncelikle AS (Autonomous System) numarası verilir. Ben örnekte AS numarası olarak 100 vereceğim. AS numarası verildikten sonra ? ile kullanabileceğimiz parametrelere bir bakalım:
Kullanılabilecek çok fazla parametre var. Biz basit bir EIGRP konfigürasyonu yapacağımız için öncelikle Router’ın bildiği ağları (network) tanımlayacağız. Böylece EIGRP komşuluğu kuran Router’lar birbirleri arasında network paylaşımları yapacak ve metrik değerlerine göre yönlendirme tablolarını otomatik olarak oluşturacaktır.
Networkler tanımlarken, 3 şekilde tanımlama yapılabilir:
1- Direkt Network ID yazılarak : R1’deki 192.168.1.0 network için network 192.168.1.0
yazılarak tanımlama yapılabilir.
2- Wildcard Mask tanımlaması yapılarak: Network ID girildikten sonra wildcard maskesi yazılarak da network tanımlaması yapılabilir. network 192.168.1.0 0.0.0.255
3- Interface IP’si belirtilerek : Bu tanımlamada Interface IP’leri yazılarak tanımlama yapılır. Interface EIGRP mesajlarına açılmış olur. network 192.168.1.1 0.0.0.0
Network tanımlaması yapılırken bu 3 yöntemi deneyebilirsiniz. Ben wildcard masklı olanı tercih edeceğim.
R1(config)#router eigrp 100 R1(config-router)#network 192.168.1.0 0.0.0.255 R1(config-router)#network 1.1.1.0 0.0.0.3 R1(config-router)#network 2.2.2.0 0.0.0.3
Son olarak Router-ID tanımlaması yapacağım. Bu ID’nin topolojiye herhangi bir etkisi bulunmamaktadır. Show parametresiyle komşuluklara bakıldığında, topolojinin daha anlaşılabilir olmasını sağlamaktadır. Router-ID girilirken IP formatında girilmektedir.
R1(config-router)#eigrp router-id ? A.B.C.D EIGRP Router-ID in IP address format R1(config-router)#eigrp router-id 1.1.1.1
R1 için yapılandırmamız şimdilik tamam. Diğer router’lar için de yapılandırmayı yapalım. (Diğer router’larda yapılandırmayı yaparken komşuluk mesajları CLI ekranına düşmeye başlayacaktır.)
R2 için EIGRP yapılandırması
R2(config)#router eigrp 100 R2(config-router)#network 1.1.1.0 0.0.0.3 R2(config-router)#network 3.3.3.0 0.0.0.3 R2(config-router)#eigrp router-id 2.2.2.2
R3 için EIGRP yapılandırması
R3(config)#router eigrp 100 R3(config-router)#network 2.2.2.0 0.0.0.3 R3(config-router)#network 4.4.4.0 0.0.0.3 R3(config-router)#eigrp router-id 3.3.3.3
R4 için EIGRP yapılandırması
R4(config)#router eigrp 100 R4(config-router)#network 3.3.3.0 0.0.0.3 R4(config-router)#network 4.4.4.0 0.0.0.3 R4(config-router)#network 192.168.2.0 0.0.0.255 R4(config-router)#eigrp router-id 4.4.4.4
Üstteki görselde de görüldüğü üzere network tanımlamaları yapıldıkça komşuluklar kuruldu.
show ip route
parametresi ile yönlendirme tablomuza bakalım.
R1’in yönlendirme tablosun baktığımızda; 3.3.3.0, 4.4.4.0 ve 192.168.2.0 networklerini komşu router’lardan öğrenmiş olduğunu görüyoruz. Ayrıca 192.168.2.0 networkü için aynı metrik değerine sahip iki rotanın olduğu da görünmekte.
Networkler anons edildiğine göre, 192.168.1.0 ile 192.16.2.0 networkleri arasında erişim sağlayabilmem gerekiyor. 192.168.1.10 IP adresine sahip PC’den 192.168.2.10 IP adresine sahip PC’ye ping atalım ve kontrolü sağlayalım.
Yönlendirme tablosunda sadece EIGRP rotalarının görünmesi isteniyorsa, show ip route eigrp
komutu kullanılabilir.
EIGRP Passive Interface
EIGRP Hello mesajları 5 saniyede bir atılmaktadır. Router komşuluğu kurulmayacak interface’lerde bu mesajların atılması gereksiz trafik oluşturacağı için iç ağa bakan interface’lerin Passive Interface yapılması faydalı olacaktır. Örneğimizde bu tanıma uyan iki ağ bulunmaktadır. (192.168.1.0 ve 192.168.2.0 ağı)
R1 için yapılandırma
R1(config)#router eigrp 100 R1(config-router)#passive-interface gigabitEthernet 0/0
R4 için yapılandırma
R4(config)#router eigrp 100 R4(config-router)#passive-interface gigabitEthernet 0/0
EIGRP komşuluklarını görmek
EIGRP komşuluklarını görmek için show ip eigrp neighbors
parametresi kullanılır.
Kısaca bu çıktıyı yorumlamak gerekirse;
H sütunu komşu sayısını belirtmektedir. Sayım işlemi sıfırdan başlar.
Adress sütununda bulunan IP adresi, komşuluk kurulan Router’ın interface IP’sini belirtmektedir.
Interface sütununda bulunan bilgi ise, komşuluğun hangi interface ile yapıldığını göstermektedir.
Hold sütunu, kaç saniye içinde Hello paketi gelmezse komşuluğun bitirileceği süreyi göstermektedir.
Uptime sütunu, kurulan komşuluğun ne kadar süredir olduğunu göstermektedir.
EIGRP Topolojisini görmek
EIGRP topolojisini görmek için show ip eigrp topology
parametresi kullanılır. Bu parametre ile tüm EIGRP rotaları ve metrik değerleri görülür.
Eğer tüm networkler değil de belirli bir network için arama yapılmak isteniyorsa show ip eigrp topology
parametresinden sonra hedef network bilgisi girilmesi gerekmektedir. Örnek; show ip eigrp topology 192.168.2.0/24 gibi.
EIGRP metrik hesabı nasıl yapılır?
Metrik hesabında normalde 5 tane parametre bulunur (K1 : bandwidth ,K2 : load, K3 : delay, K4 :reliability, K5 : MTU (Maximum Transmission Unit)) fakat genellikle K1 (Bandwidth) ve K3 (delay) parametreleri kullanılır. Bu parametreler ön tanımlı olarak metrik hesabında tanımlanmıştır. Çok gerekli olmadıkça diğer parametrelerin aktifleştirilmesi tavsiye edilmez. Çünkü metrik değerlerin aynı olmaması durumunda yönlendiriciler arasında komşuluk kurulamayabilir.
Router’da kullanılan metrik değerlerini görmek için show ip protocols
ya da show eigrp protocols
parametresi kullanılabilir.
Örneğimizde kullandığımız Router’da K1 ve K3 yani Bandwidth( Bant Genişliği) ve Delay (Gecikme) parametrelerinin kullanıldığını görüyoruz. Bu durumda metrik hesabı aşağıdaki gibi olacaktır.
Metrik = [(10 000 000 / Min Bandwidth) + (Toplam Gecikme/10)] * 256
Min Bandwidth : Hedef ağa ulaşıncaya kadar geçilen interface’ler arasındaki en düşük bandwidth.
Delay (Gecikme) : Hedef ağa ulaşıncaya kadar geçilen tüm çıkış interface’lerdeki gecikmelerin toplamı.
Formülü örneğimiz üzerinden işleyelim;
R1 router’ının routing tablosuna ya da EIGRP topolojine baktığımızda, 192.168.2.0/24 ağı için 3328 metrik değerini oluşturduğunu görebiliriz. Peki ya bu değer nasıl bulundu?
Tüm hesaplamalar route’ların ilgili ağa ulaşmak için kullandığı çıkış interface’lerinde bulunan BW ve delay değerlerine bakılarak hesaplanmakta. Bu durumda R1’den 192.168.2.0 ağına gitmek için öncelikle R1’in çıkış interface’si olan Gi0/1, sonra R2’nin çıkış interface’si olan Gi0/1 ve son olarak da R4’ün çıkış interface’si olan Gi0/0 interface’sinin BW ve delay değerlerine bakmamız gerekecek.
R1 Gi0/1 – BW: 1 000 000 , Delay: 10
R2 Gi0/1 – BW: 1 000 000 , Delay: 10
R4 Gi0/0 – BW: 1 000 000 , Delay: 10
Değerler tüm interface’ler için aynı. Formülde bize en düşük BW değeri gerekiyordu, tüm interface’lerde değer 1 000 000 olduğu için bu değeri hesaplamaya alıyoruz. Ayrıca hesaplamalarda toplam gecikme süresi de yer almaktaydı. Tüm gecikme sürelerini topladığımızda 10+10+10 = 30 değerini elde ediyoruz.
Son olarak elde ettiğimiz değerleri formülde kullanalım :
[( 10 000 000 / 1 000 000) + ( 30 / 10)] * 256
[ (10) + (3) ] * 256
13 * 256 = 3328
Kısaca Cisco EIGRP konusuna değinmiş olduk. Bir sonraki yazıda görüşmek üzere.