EIGRP

Ciscoya özgü bir protokol. 2013 yılında cisco open standart olarak bıraktığını söylüyor ama başka vendorlarda kullanılmıyor. Full cisco olan yerler bir eigpr'yi tercih etmeye biliyor çünkü başka ürün kullanmak istediğimizde firewall ya da load balancer gibi cisco kullanmadığımız için cihaz eigpr desteklemeyebiliyor. Genelde ospf tercih ediliyor. Eigpr yi eşsiz kılan özelliklerden bir tanesi unequal load balancing yapması ve 255 hopluk bir networkü destekleyebiliyor. Distance vektor algoritmasının geliştirilmiş hali olan DUAL (diffusing update algorithm) kullanıyorlar.

IGRP'nin geliştirilmiş halidir. Komşu perspektifinde çalışır yani komşusu ne diyorsa ona güveniyor. Distance vector algoritması geliştirilerek. Advance distance vector kullanılıyor. Dual (Diffusing update) algoritması kullanıyor. Eigrp protokolü IGRP (interior gateway routing protocol) geliştirilmiş halidir. IGRP eski bir protokoldür. VLSM (variable length subnet masking) desteği yoktu. VLSM desteği yani subnet maskesi bilgisini öğretmesi demek. IGRP, EİGRP oldu aynı şekilde önceden EGP vardı şimdi BGP oldu. BGP de hata yapma lüksü yok o yüzden hantal. BGP'deki yaptığınız anonslar updateler dünyadaki tüm networklere anons ediliyor. Protokoller subnet maskesi destekler hale geldiler.Günümüzde tüm routing protokolleri subnet maskesini destekliyor. Converge denilen süre çok hızlıdır. Converge, tüm routerların networkte olan değişikliği öğrenmesi için geçen süredir. Eigrp hem ipv4 hem de ipv6 destekliyor. Ospf gibi değil ipv6 desteği ospf'e ospfv3 ile gelmiştir.

Eigpr bazı durumlarda multicast değil unicast çalışır yani hedef routera doğrudan adresine bile anons yapabiliyor. Bu diğer routing protokollerinde olan bir özellik değil. Kendisine ait bir 3.katman yapısı vardır yani TCP ya da UDP kullanmaz.

Kendine ait bir reliability mekanizması var yani TCP gibi bir paket gitti mi gitmedi mi kontrol işlemlerini tümüyle kendi paketi ile hallediyor. TCP ye güvenmiyor.

Tüm routing tablosunu yollamaz sadece değişiklikleri yollar. Sadece yenilenen, değişen network olması durumunda update paketi yollayıp bunu güncelliyor. Hem eigrp hem de ospf belirli sürelerde eigprde bu 5 snde bir karşılıklı hello isimli paketi yollar. Ben yaşıyorum bir sorun yok anlamına gelir. Eigrpde 15 snde hiçbir hello paketi gelmezse komşum öldü anlamına geliyor. Routing tablosundan çıkarıyor. 2 routerı birbirine taktığınız anda takma anında gerek ospf gerek eigrp önce komşusu ile tanışıyor sonrasında komşuluk tablosuna ekliyor. Hello paketi yolladıktan sonra karşı taraf update paketi yolluyor. Sonrasında diğer taraf onay olarak ACK paketi gönderiyor. Soldaki routerda tüm routing tablosunu karşı tarafa yolluyor. Sağdaki routerda ACK (onay) paketi verip komşuluğu kuruyor. Komşuluk kurduğu anda ilk olarak her iki routerda komşusunu komşu (neigbor) tablosuna yazıyor). İkinci olarak diğer routerda öğrendiği tüm networkleri topoloji tablosuna kayıt ediyor. Üçüncü olarak topoloji tablosundan olabilecek en iyi networkleri seçip bunları routing tablosuna ekleyip süreci. Tamamlıyorlar.

EIGRP'de otonom sistem denilen numara vardır.

Autonomous sistem numarası, eigrp ve bgp de kullanılan bir kavram. BGPdeki farklı bir dünya eigrpdeki başka bir dünya sadece isimleri aynı. Eigrpdeki otonom sistemin anlamı şu. Örnek olarak bir kurumsal networkünüz var. Banka gibi. Biz istiyoruzki benim R1 R2 R3 ve R4 routerları kendileri arasında dinamik routing yapsın. R5 R6 ve R3 kendi içinde routing yapsın. Sağdaki network soldaki networke öğretilmesin. Ya da Redistribution denilen bir şey bir routing protokolünden aldığını diğerine geçirme. Ama filtreleyerek geçirme yapabiliriz şeklinde . İstersen buradaki R3 yani border router otonom sistem 200 den aldığı bilgileri 100e geçirebilir. İki networkün konuşabilmesi için otonom sistemleri aynı olması gerekiyor.

Distance vectorde En küçük metric hangi ise oradan seçilir ve gider. RIP de olsaydı rip hop sayısına bakıyor yani geçtiği router sayısı burada hepsinde eşit o yüzden load balancing yapıyor olurdu. En yukarısının metric yani cost değeri düşük olduğu için burasını tercih eder. Ama eigprde buna ek katman eklenmiş dual denilen şey bu. Bu şu demek Eigrp bir rotaya karar verdiği anda yukardan gidecek kararını verdiği anda eğer mümkünse bir de bunun backup rotasını seçiyor. Yani diyorki birinci rotam benim ana rotamdır. İkinci rota ise benim backup'ımdır.

Bu şu işe yarıyor ana rota koptuğu anda hiç beklemeden yedeğe geçiyor. Yani converge süresi çok hızlıdır. Nerdeyse 0 saniye. Networkun devamını sağlıyor. Successor şu demek hedefe giden en iyi rotaya sahip routera , successor router deniliyor. Bu topolojide benim successor routerım B routerı olmuş ve sucessor rotam ise rota 1 olmuş oluyor. A routerı için B successordur ve B routerı için ise E successordur. Distance vectorunde komşu perspektifinden bakar. Arka taraftakiler hakkında bilgi sahibi olamaz. Diğer kavram ise Feasible distance, Hedefe giden en iyi rota demek. En iyi metric demek. Buradaki feasible distance hesaplayacak olursak, 1. rotadan gidersek 7, 2. rotada 8 ve 3. rotada ise 10. Bu durumda en iyi distance 7 bizim feasible distance değerimiz successor'un feasible distance değeri 7dir. Diğeri ise Reported Distance (RD) Namı diğer Advertised Distance bu şu demek. Komşu routerımın hedefe ulaşmak için bana anons ettiği metric değeri. Yani B için 2+2 =4 tür. C rotuerın öğrettiği 2 +3 =5tir. D routerın öğrettiği 2+6 =8 dir.

Feasible Successor şu demek. Bazı şartlar sağlanırsa eigpr routerım herhangi bir ikinci routerı, muhtemel yedek router olarak seçebiliyor. Yani Feasible successor olarak seçebiliyor.

Loop oluşmasın diye kural koyulmuş yedek yani feasible succesor ancak bu dual kuralı geçerliyse feasible olarak seçiliyor aksi takdirde seçilmiyor. Kural ise eğer komşu routerım bana öğrettiği reported distance değeri benim feasible distance değerimden küçükse yedek olarak seçiliyor. Eğer büyük ve eşitse seçilmiyor.

sh ip eigpr topology all links denilen bir komut varsa FD vs seçilen seçilmeyen bütün routaları gösterir. Bu durumda biz metric hesaplarına bakıp anlamamız hangileri FD, Successor vs seçilmiş gerekecek sınavda.

Network adresi yanında subnet maskesi ile yazılıyorsa buna prefix deniliyor. 10.12.1.0/24 gibi.

Feasible distance ==>Olabilecek en iyi toplam metric değeri. Router en küçük metricli yolu tercih eder.

Repoted distance (advertise distance) (AD) ==>Rota ile ilgili beni bilgilendiren komşu routerımın öğrettiği metric değeri

A routerından E ye giderken en küçük metriğe sahip yol. Buradaki 7 Feasible distance (ABE).

Karşının bana öğrettiği ben şu kadar metric ile gidiyorum dediği değer ise Reported Distance oluyor. Yani B routerı A ya ben 4 metric ile gidiyorum diyor. Burada A nın reported distance'ı 4 oluyor. C ise ne diyor ben 2+3 ben diyor 5 ile gidiyorum. C'nin öğrettiği reported distance değeri 5 oluyor. Aynı şekilde A nın öğrettiği 6+2 =8

Diğer routing protokollerinde sadece Feasible Distance var. En küçük metriği buluyor ve oradan gidiyor. Ama EIGRP'de Dual hesabı denilen şey bu. Alternatif bir bakış açısı var o da şu. A routerı E ye 3 ayrı rotadan gidebiliyor. Herhangi bir diğer başka bir protokol söz konusu ise hat koptuğu anda tekrar bir hesap yapılıyor. Tekrar anonslar alınıyor. Belirli bir Converge süresi geçiyor. Ama eigpr de öyle değil. Adamlar demişlerki burada zaten yedek bir hat var. Ben bu yedek hattı baştan belirleyim ve ana hat koptuğu anda hiç beklemeden yedekten gideyim. Çok güzel Converge süresini çok daha kısaltıyor. Ancak Distance algoritmasının şöyle bir sorunu var. Loop riski. Paket TTL değeri kadar 2 veya daha fazla router arasında dönmesine loop deniliyor. Distance vector algoritmaları komşu perspektifi ile çalışan (neigbor ) çalışıyor. Bu şu demek komşu ne diyorsa hemen inan ve distance vector algoritmasında Loop riski var. Günümüzde Loop koruması için Split Horizon var. Loop riskine karşı da Eigpr bu şekilde koruma alınmış. Loop olmaması için Dual kuralı var. Buna aslında Feasible Condition da deniliyor. Feasible Condition sağlamıyorsa yedek olarak seçilmiyor.

Successor ise en iyi metriğe sahip rota ve routera deniliyor. Feasible Successor ise yedek şartı sağlayan feasible condition sağlayan router ve rota demektir.

10.23.1.0/24 networküne 2 tane successor seçmiş. 3072 değeri Feasible distance değer. 2816 ise Reported Distance değeri. İki alternatifin her şeyi aynı olduğu için burada load balancing yapar.

Successor seçilirken sadece Feasible distance' a bakılır.

Feasible Distance 3072'ymiş o zaman altındaki 3072 olan gig0/1 hattı successor. Aşağısında ise alternatif yedek bir hattı var. gig0/2den giden. 3072 (FD) > 2816 (DS). Feasible distance reported distancedan büyükse seçilir. (Feasible Successor)

sh ip eigpr topology komutunu yazarsak buradaki satırların hepsi ya successor ya da feasible successordur. seçilenler gözüküyor. Peki seçilmeyenleri görmek istersek ise sh ip eigpr topology all-links komutunu yazmamız gerekiyor. Successor seçilse de seçilmese de tüm link alternatiflerini gösterir.

Eigpr kendine ait bir 4.katman reliability mekanizması sahip yani bir paket gidip gitmediğini kontrol eden bir mekanizmaya sahip. Tcp/Udp gibi bir protokol kullanmıyor. 3.katman ip başlığının arkasına direk yerleşen bir protokol. O yüzden 3.katman protokolü. 3.katman başlığında protokol numarası 88 diyorsa router arkada eigpr paketi olduğunu anlıyor Komşu routera ulaşmak için multicast adres kullanıyor. 224.0.0.10 mac adresi de 01.00.5e.0.0.0a. Eigpr kendi içinde RTP denilen bir protokol barındırıyor. Bu şu bir paket yolladığında karşı taraf onay (ack) paketi yolluyor buna RTP deniliyor.

Query paketi istisnai bir durumda kullanıyor her zaman değil eğer bir hat koptuysa ve alternatif yedek bir hattımız yoksa (Feasible successor) tüm komşulara yollanan sorgu paketidir. Bu sorgu paketi gönderildiğinde karşı Cisco router reply dönmek zorundadır. Ama eğer cevap gelmez ise buna Stuck in Active deniliyor. Router cevap gelene kadar beklemek zorunda kalıyor.

Hello paketinin 2 amacı vardır. Birincisi komşuluk kurma öncesinde yollanır. Merhaba komşu olabilirmiyiz. İkincisi ise komşu ben yaşıyorum selam.

Eigrp de hiçbir şekilde periyodik bir anons yoktur. Yani networkleri öğretir ve bir değişiklik olmadığı sürece bir daha öğretmez. Ancak RIP, Ospf de vs değişiklik olmasa bile öğretir. Ospf şöyle çalışıyordu ospf başta networkü öğretiyor. Bir daha 10 sn de bir sadece hello paketi yolluyor. Bir daha network öğretmiyor 30 dkya kadar. 30 dk sonra tekrar sıfırdanmış gibi bir daha network bilgilerini çakıyor. Periyodik bir update var ama periyodu 30 dk.

Komşuluk kurulabilmesi için sağlanması gereken ön şartlar. K metric değerleri aynı olması gerekiyor. Subnet maskeleri aynı olacak. Networkleri aynı olacak. Otonom sistem numaraları eşleşmek zorundalar. Kimlik denetimi yapıyorsan parametreler de eşleşmeliler.

Burada çıktıda P yani Passive state var bu şu demek. Yani ben bu rota ile ilgili tüm bilgileri öğrendim artık hiçbir sorgu yapmıyorum. Bağlantı kopana kadar. Çözüm olarak summarization yapabiliriz. Summarization yaptığınız zaman eigrp anonsları çok küçülüyor ve kitlenme durumu çok azalıyor.

Kendimiz elimizdezle BW değerini ve delay değerini elle değiştirip metric değeri ile oynayabiliriz. K değeri tüm routerlarda aynı olmalıdır. Eğer bir tanesinde değiştirdiğimizde tüm routerlarda değiştirmemiz gerekiyor. Yoksa komşuluk kurmazlar. K değeri ya 0 ya da 1 değeri alır.

Varsayılan olarak K değerleri routerda şu şekilde ayarlanmıştır. K1 değeri 1 K2 değeri 0 K3 değeri 1 K4 değeri 0 ve K5 değeri 0. Ama kimse bu değerler ile oynamaz.

Eigrp hat eşit olmasa bile load balancing yapabiliyor. Yani normalde metricler eşitse sadece load balancing yapılabilir. Aksi takdirde load balancing yapılmaz. Ama variance diye bir komut var. Variance komutu ile 2 katına kadar müsaitim diyebiliyoruz. Ama 2 katı diyoruz ama ne olursa olsun load balance yapacağı hattı, reported distancedan daha yukarı seçtirtmiyor loop riskine karşı.

Convergence süresi, topolojideki herkesin değişikliği öğrenmesi için geçen süredir.

R2 routerın arka tarafında 4 tane network var. R2 routerı karşı tarafa biz özet anonsu yapabiliyor. Bütün 172.16'lar yani R4 ün arka tarafında 172.16.0.0/16'lık bir network yoksa böyle bir özetleme eigrp'ye yaptırabiliyor. Bütün 172.16 bendedir yani tek tek 1 bende 3 bende 23 bende vs gibi demek yerine tek update yapıyorsun bunun sağladığı şey

Summarizationun sağladığı şey, Örnek olarak 172.16 networkü çöktü. Burası summarization olduğu için bu network çökse bile R4 için değişen bir şey yok çünkü R4 172.16.0.0 tüm network zaten sol tarafta olduğunu biliyor. Sağ tarafta olma şansı yok. O yüzden hiç query bile arkaya gitmiyor. Stuck in active case'sini azaltan bir şeydir. Düzgün doğru yerde summarization anonsu yaptırmak.

Stuck in active 2 ÅŸekilde engellenebilir. Birincisi summarization ikincisi ise Stub

Stub şöyle bir özellik; Tek çıkışı olan routerlarda biz bu routera gelip diyebiliyoruzki sen bir stub routersun yani tek çıkışın var ve R5 stub olduğu anda, R5 routerı R3'e öğretiyor. Ben bir stub'ım diyor bu şu demek R3 arkasındaki networklerden çökme olursa R3 gidip de R5 e sormuyor. çünkü R5 zaten stub. R5in ikinci bir çıkış ile örnek olarak R1 routerına gitme şansı yok. Çünkü ben onun olmadığını biliyorum ve konfigurasyonda R3'e öğretmişim. R5 ben stubım boşu boşuna bana başka bir networke sorma diyor. Stuck in active ihtimali azalsın.

eigrp stub yazdığımızda routera, Router Stuba geçiyor.

//router eigrp diyip bir autonomous system numarası veriyoruz. Eigpr konuşacak
bütün routerlara aynı numarayı vermek gerekiyor.
R4(config)#no ip routing
R4(config)#router eigrp 100
%Must enable IP routing first
//Routingleri kapattım routerları bir bilgisayar gibi kullanacağım.
R4(config)#ip default-gateway 30.1.1.2
//Defautl gateway adresi verdik.

R4#sh run | inc default
ip default-gateway 30.1.1.2
mgcp profile default
R4#


R1(config)#router eigrp 100
R1(config-router)#network 10.0.0.0
//Bu şekilde yazınca tüm 10lu networkleri alır ve pek tavsiye edilmez. Yani /8 
şeklinde alıyor.
R1(config-router)#networ 30.0.1.0 ( Bu şekilde veremeyiz hangi sınıftaysa ona göre
verebiliriz bu bir A sınıfı, A sınıfı olarak verebiliriz.
Bu şekilde yazsanız bile kendisini otomatik olarak 30.0.0.0'a çevirir.
ve R1 nin R5 e ve R3'e bakan bacaklarında anonsu başlatır.
Tavsiye edilen aşağıdaki gibidir. 
R1(config-router)#network 10.0.0.0 0.0.0.255 
Karmaşık networklerde hata yapmamak adına şu şekilde de öğretebilirsiniz.
İnterfacenin bizzat ip adresini yazıyorsunuz subnet maskesi de /32 255.255.255.255
ve bu broadcastin tam tersi de 0.0.0.0 olduğu için bu şekilde de öğretebiliriz

Bu durumda subnet maskesini ne yapıyor. Router 20.0.0.1 ip adresini verdiğim 
interface'nin altına bakıyor. /24 olarak burada verilmiş onu görüyor. Sonrasında
anonslarını /24 olarak öğretiyor. 

R1(config-router)#network 20.0.0.1 0.0.0.0

Özetle Burada network adresini girmen lazım ama  subnet maskesi karışık ise
hata yapma riskin varsa bunu yani interface ip adresini yazmayı tercih edebilirsin.


R1(config-router)#network 30.0.0.0

R1#sh run | sec eigrp
router eigrp 100
 network 10.0.0.0
 network 10.0.0.0 0.0.0.255
 network 20.0.0.1 0.0.0.0
 network 30.0.0.0
R1#

10'Lu fazla oldu onu silelim
R1(config)#router eigrp 100
R1(config-router)#no network 10.0.0.0
R1#sh run | sec eigrp

*May 10 06:48:07.119: %SYS-5-CONFIG_I: Configured from console by consolerouter eigrp 100
 network 10.0.0.0 0.0.0.255
 network 20.0.0.1 0.0.0.0
 network 30.0.0.0
R1#

R2(config)#router eigrp 100
R2(config-router)#network 10.0.0.0 0.0.0.255
R2(config-router)#net
*May 10 06:53:22.511: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.0.0.1 (Serial5/0) is up: new adjacency
R2(config-router)#network 20.0.0.0 0.0.0.255
R2(config-router)#
*May 10 06:53:32.323: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 20.0.0.1 (GigabitEthernet3/0) is up: new adjacency
R2(config-router)#network 30.1.1.0 0.0.0.255

Redistribute ile biraz bahsedelim,

R1 üzerine hayali bir default rota yazalım.

R1(config)#ip route 0.0.0.0 0.0.0.0 30.0.1.5

Statik rota default olarak eklendi. Şimdi istiyorumki bu statik rotayı eigrpden bu adama öğretsin.

Artık statik rota ile öğrendiğim bilgileri al. Eigrp içinde de komşu routerlarıma 
öğret dedim. 
Yani static routing ile ne öğrenmiştim. Default rota. 
Bu default rota bilgisini R2ye R1 öğretecek.

R1(config)#router eigrp 100
R1(config-router)#redistribute static

Gördüğünüz gibi R2 de external olarak öğrenmiş yazıyor.

Harici bir protokolden hangi protokol oluyor olsun bir şey öğrenirse bunu AD değerini 170 yapar. Sebebi loop ya da yanlış karar verme durumları olabiliyor. Bunu tercih etme şeklinde ayarlıyor.

Summarization ikiye ayrılıyor. Birincisi otomatik summarization, diğeri ise manuel summarization. Otomatik summarization şu demek. A sınıfı B sınıfı C sınfı farketmez örnek olarak 30 networkü A sınıfı. 30 networkü bitip başka bir ana ip sınıfı gelirse örnek olarak burada 10 networkü 20 networkü gelmiş. Böyle bir yerde ben R1 routerına dersemki eğer 30 networküne eğer ana bir networkün bittiğini görürsen bilki tüm 30 networkü bendedir geri kalanının hepsine böyle anons çakabilirsin anlamında bir komut var. R1 routerına diyeceğimki auto-summary

Yani eğer bir ana network biterse başka network başlarsa anons yap ve bunu karşı tarafa öğret. Deki bütün 30 networkü bendedir.

Bütün 30 networkü bendedi diye anons çaktı ve diğer bilgileri sildi.

Eğer summarization yapıyorsan Loop riski vardır. Öğrettiğin summary adresinin arkasına mutlaka bir Null0 rotasını eklemek zorundasın. Eigpr bunu otomatik olarak ekliyor özet olarak öğrettiği networkü. Bu Null0 satırının AD değeri 5.

Burada mantıklı olan 30 networkü 2 ayrı lokasyonda olduğu için bunu otomatik summarization olarak yapmayın. Burada mantıklı olan interfacelerin altında manuel olarak summarization yapmaktır.


R1(config)#router eigrp 100
R1(config-router)#no auto-summary
R1(config-router)#
*May 10 07:34:48.739: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 20.0.0.2 (GigabitEthernet3/0) is resync: summary configured
*May 10 07:34:48.743: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 10.0.0.2 (Serial5/0) is resync: summary configured
R1(config-router)#

/16 şeklinde özetleme yapmak çok daha mantıklı. Çünkü 30.1 sağ tarafta 30.0.1 ve 2 sol taraftalar.

Artık bir çakışma kalmadı. Bu şekilde yapmamız daha mantıklı. İnterface bazında yaptığımız için bu özetlemeyi sadece serial interfacede yaptık. gigabit ethernette de aynı komutu yazmamız gerekiyor.

R1(config-if)#int gig3/0
R1(config-if)#ip summary-address eigrp 100 30.0.0.0/16
R1(config-if)#
*May 10 07:43:28.651: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 20.0.0.2 (GigabitEthernet3/0) is resync: summary configured
R1(config-if)#

Eigrpnin 2 modu var bunlardan ilki Classic mode ve Named mode.

VRF ==> Bir routerın içinde virtual routerlar elde edip. Aynı routerda birbirlerinden izole bir şekilde routing tabloları çıkarmasını sağlayan bir teknoloji.

Eigpr network öğretmek için birkaç yöntemi var. Örnek olarak 192.168.1.0/24 C sınfını öğretmek istersek router eigpr 1 network 192.168.1.0 yazdığımızda bunun C sınıfı olduğunu anlıyor. (classfull ise) Eğer bulunduğu sınıf ile aynı subnete sahipse bu C sınıfı bir ip adresi subnet maskesi de C sınıfı ile uygunsa bu kadarını yazmamız yeterli bunu yazdığımız zaman artık bu networkü öğretmeye başlar.

subnet maskesi belirterek de yazabiliriz. network 192.168.1.0 0.0.0.255 ÅŸeklinde.

network 10.0.0.10 0.0.0.0 ( buna implicit ip adresi ile yapılan konfigurasyon deniliyor). interface ip adresi ile. Bizzat bu ip adresinden anonsu başlat deniliyor. 10.0.0.10 yazsak bile sadece tek bir ip adresini öğretmez. Router 10.0.0.10 ip adresi bulunan networkü hangi interfacede olduğunu bulur ve onun subnet adresini öğrenir ve o networkü anons eder.

0.0.0.0 255.255.255.255 ==> Sahip olduğum bildiğim tüm networkleri anons et demek.

255.255.255.255 hiçbir şeye bakma hangi network olursa olsun anons et demek.

0.0.255.255 ise son iki okteti umursama ilk iki oktete bak demek.

Named konfiguration yeni nesil bir konfigurasyon tek bir alt yapı ile tüm ayarlar yapılıyor. Gidip bir interfaceye gidip ayrı bir ayar yapmamıza gerek kalmıyor. Gidip ipv6 için ayrı bir yere gitmemize gerek kalmıyor. 3 alt sekmesi var bu sekmelerde tanımlar yapılabiliyor ( Address family, Inteface ve Topology). Adress Family kısmı eigrp otonom sistemleri için genel ayarlar yapılıyor. K değerleri atanması ( Metric hesaplanmasını sağlayan değerler ) ile ilgili ayarlar. Eigrp ile ilgili loglama ayarları, Stub (kenar) Router ise onu stub ilan etmek.

Interface modunun altında interfacelere özgü ayarlar yapılıyor. Yani Fast ethernet 0/0 interface modu fa0/1 interface modu gibi. Tüm interfacelere özgü konfig şeklinde yapabiliyorsunuz. Dağınık olarak bir sürü interface altında yapmak yerine aynı eigpr konfig altında yapılmasını sağlıyor.

Topology özel ayarlar ise AD ayarları , redistribution ayarları gibi. Topology databasesini ilgilendiren ayarlardır.

Named konfiguration ayarları bu şekilde. İsim verdik alt satıra geçtik sonrasında bir adres family çalıştırmamız gerekiyor. çünkü hem ipv6 hem de ipv4 aynı yerde yapılıyor. Bunu o yüzden belirtmek zorundayız. Bir modun altına girdik ve ben burada şu anda ipv4 unicast eigpr için gereken konfigurasyonu yapıyorum dedim.

Adres family ile kast ettiğim şey. ipv4 unicast trafik ailesi için konfiguration yapıyorum otonom sistem numaram ise 100 dedim. Alt satırda ise network adresini belirtiyoruz.

R1(config)#int fa0/0
R1(config-if)#ip add 10.0.0.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#
*Jun  2 15:30:49.559: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up
*Jun  2 15:30:50.559: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
R1(config-if)#int fa2/0
R1(config-if)#ip add 20.0.0.1 255.255.255.0
R1(config-if)#no shut
R1(config-if)#exit
R1(config)#
*Jun  2 15:31:46.867: %LINK-3-UPDOWN: Interface FastEthernet2/0, changed state to up
*Jun  2 15:31:47.867: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet2/0, changed state to up

R2(config)#int fa2/0
R2(config-if)#ip add 20.0.0.2 255.255.255.0
R2(config-if)#no shut
R2(config-if)#int fa
*Jun  2 15:33:35.227: %LINK-3-UPDOWN: Interface FastEthernet2/0, changed state to up
*Jun  2 15:33:36.227: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet2/0, changed state to up
R2(config-if)#int fa0/0
R2(config-if)#ip add 30.0.0.1 255.255.255.0
R2(config-if)#no shut
R2(config-if)#exit
R2(config)#

R2#ping 20.0.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.0.0.1, timeout is 2 seconds:
.!!!!
R1(config)#router eigrp 100
R1(config-router)#network 10.0.0.0 0.0.0.255
R1(config-router)#network 20.0.0.1 0.0.0.0
//ya network adresini verebiliriz ya da bu ÅŸekilde ip adresini verebiliriz. 
2 şekilde tanımlama yapılabilir. 


R1#sh run | section eigrp
router eigrp 100
 network 10.0.0.0 0.0.0.255
 network 20.0.0.1 0.0.0.0


Tek satır ile hepsini öğretsin dedik burada

R2(config)#router eigrp 100

R2(config-router)#network 0.0.0.0 255.255.255.255
R2(config-router)#
*Jun  2 15:45:17.447: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 20.0.0.1 (Fast                  Ethernet2/0) is up: new adjacency
R2(config-router)#

==> 0.0.0.0 255.255.255.255  ( sahip olduğum tüm networkleri öğret demek)

// Routing tablosuna buradan bakabiliriz.
R2#sh ip route 

      10.0.0.0/24 is subnetted, 1 subnets
D        10.0.0.0 [90/30720] via 20.0.0.1, 00:01:28, FastEthernet2/0
      20.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        20.0.0.0/24 is directly connected, FastEthernet2/0
L        20.0.0.2/32 is directly connected, FastEthernet2/0
      30.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
C        30.0.0.0/24 is directly connected, FastEthernet0/0
L        30.0.0.1/32 is directly connected, FastEthernet0/0
R2#
90 ==>AD deÄŸeri
30720 ==>Metric 

R2#sh run | sec eigrp
router eigrp 100
 network 0.0.0.0
R2#conf t
Enter configuration commands, one per line.  End with CNTL/Z.
R2(config)#no router eigrp 100
R1(config)#no router eigrp 100


R1(config)#router eigrp ?
  <1-65535>  Autonomous System
  WORD       EIGRP Virtual-Instance Name

R1(config)#router eigrp

//eğer burada virtual-instance name çıkmıyorsa router eigrp name desteklemiyordur.

ipv4 için unicast olacak şekilde yani multicast networklere öğretmeyeceğim.
ve otonom sistem numarası 100 olacak şekilde. Eigrp ayağa kaldıracağım.
ve sonrasında öğretmesini istediğiniz network adres numarasını veriyoruz.

R1(config)#router eigrp ?
  <1-65535>  Autonomous System
  WORD       EIGRP Virtual-Instance Name

R1(config)#router eigrp TEST
R1(config-router)#?
Router configuration commands:
  address-family  Enter Address Family command mode
  default         Set a command to its defaults
  exit            Exit from routing protocol configuration mode
  no              Negate a command or set its defaults
  service-family  Enter Service Family command mode
  shutdown        Shutdown this instance of EIGRP

R1(config-router)#address-family ipv4 ?
  autonomous-system  Specify Address-Family Autonomous System Number
  multicast          Address Family Multicast
  unicast            Address Family Unicast
  vrf                Specify a specific virtual routing/forwarding instance

R1(config-router)#address-family ipv4 unicast ?
  autonomous-system  Specify Address-Family Autonomous System Number
  vrf                Specify a specific virtual routing/forwarding instance

R1(config-router)#address-family ipv4 unicast autonomous-system 100
R1(config-router-af)#network 10.0.0.0 0.0.0.255
R1(config-router-af)#network 20.0.0.0 0.0.0.255
R1(config-router)#^Z

R1#sh run | sec eigrp
router eigrp TEST
 !
 address-family ipv4 unicast autonomous-system 100
  !
  topology base
  exit-af-topology
  network 10.0.0.0 0.0.0.255
  network 20.0.0.0 0.0.0.255
 exit-address-family

// versiyon 15 de destekliyor. 12 de desteklemiyor.

R2(config)#router eigrp TEST
R2(config-router)#address-family ipv4 ?
  autonomous-system  Specify Address-Family Autonomous System Number
  multicast          Address Family Multicast
  unicast            Address Family Unicast
  vrf                Specify a specific virtual routing/forwarding instance

R2(config-router)#address-family ipv4 unicast ?
  autonomous-system  Specify Address-Family Autonomous System Number
  vrf                Specify a specific virtual routing/forwarding instance

R2(config-router)#address-family ipv4 unicast autonomous-system 100
R2(config-router-af)#network 20.0.0.0 0.0.0.255
R2(config-router-af)#network
*Jun  2 16:00:41.371: %DUAL-5-NBRCHANGE: EIGRP-IPv4 100: Neighbor 20.0.0.1 (FastEthernet2/0) is up: new adjacency
R2(config-router-af)#network 30.0.0.0 0.0.0.255
R2(config-router-af)#

R2#sh ip eigrp interfaces
EIGRP-IPv4 VR(TEST) Address-Family Interfaces for AS(100)
                              Xmit Queue   PeerQ        Mean   Pacing Time   Multicast    Pending
Interface              Peers  Un/Reliable  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Fa2/0                    1        0/0       0/0         133       0/0          564           0
Fa0/0                    0        0/0       0/0           0       0/0            0           0
R2#

bu komut ile hangi interfacelerden eigrp başlattım
Peers eş demek yani kaç tane eigrp komşusu var. 
yani fa2/0 altında bir tane eigpr komşusu varmış
Diğerlerinde hiçbir komşu router bulunmuyormuş. 
detail dersek bunun detayını da görebiliriz.

R2#sh ip eigrp interfaces FastEthernet 2/0
EIGRP-IPv4 VR(TEST) Address-Family Interfaces for AS(100)
                              Xmit Queue   PeerQ        Mean   Pacing Time   Multicast    Pending
Interface              Peers  Un/Reliable  Un/Reliable  SRTT   Un/Reliable   Flow Timer   Routes
Fa2/0                    1        0/0       0/0         133       0/0          564           0
R2#


Bir eigrp paketi geldiği anda bu router bunu process etmeden önce queue'suna yani tampon belleğine yerleştiriyor. Tampon bellekte bir sıraya sokuyor. Reliable ve unreliable farkı şu; Paketlerden örnek olarak hello paketi unreliable yani hello paketi yollayınca Acknowledge bilgisi beklemez. Yani gidip gitmediği ile ilgili hiçbir bilgi olmaz. Diğerleri ise (Request, update, query,reply) reliable'dır. Mutlaka bunları yolladığı anda Ack paketi alırsın.

Mean SRTT ==>Komşuya bir paket yolladığı anda. Bizden paket komşuya gidiyor . Karşı taraftan bir Ack mesajı geliyor. İşte burası RTT görüyorsanız şunu anlayacaksınız Round-trip Time. Gitme ve gelme toplam süre kaç sn anlamına geliyor. Sen bir paket yolladığı anda karşı taraftan kaç snde içinde cevap geldiğini görüyorsunuz. Bu değerin büyük olması hoş değil. Ne kadar küçük ise o kadar iyi.

Pending routes ==>Bir routing bilgisi gelmiiş ve bunu process edip routing tablosuna işleyecek. Önce kendi eigrp topoloji tablosuna sonra routing tablosuna ekleyecek. Tampon bellekte ne kadar network bilgisi bekliyor. Buranın da 0 olmasını isteriz. Bilgi geldiği anda öğrensin. Öğrenmiyorsa ya CPU'su doludur vs.

Bir routing protokolü ile çalışıyorsanız. İlk bakacağınız komut komşuluk tablosudur. Komşuluk yoksa Eigrp'nin hiçbir değeri yok.

Uptime süresi ==>Bu router ile ne kadar süredir komşunuz. Yani 12 sndir eigrp komşuluğumuz devam ediyormuş

Hold time ==>Bir router eigrp başlayınca 5 snde bir hello paketi yolluyor ben yaşıyorum sıkıntı yok paketi. Diğer routera hello paketi gitti. Sonra sana 15 sn müddet veriyor. 15 sn içinde mutlaka hello paketini yollayacaksın. Bir hello paketi yolladın. 15 sn resetleniyor baştan başlıyor. 5 sn geçince resetleniyor tekrar hello paketi yollanıyor.

SRTT ==> gidip gelme toplam milisaniye cinsinden.

RTO ==> Timeout retransmission değeri yani ACK bekliyorsun ya karşı taraftan sen bir update yaptın. Karşı taraf ise onay yollayacak ne kadar süre bekliyorsun.

Q Cnt ==>Kuyrukta bekleyen paket sayısı .

Seq Num ==> Her yollanan pakete bir sıra numarası veriliyor. Örneğin 3 nolu update'i yolladık karşı tarafa bir Ack paketi gelecek ve içinde 3 yazacak. 3 nolu paket elime geçti onaylıyorum demek.

D nin yanında EX varsa external rota demek. Yani redistribute yapılmış demek.

Bu türden protokollerden hepsi mutlaka routerlar karşılıklı komşuluk kurdukları anda, birbirlerini anacakları bir isim ararlar yani benim A routerı ile komşuluğum devam ediyor sıkıntı yok şeklinde. Router id , routerın o protokol adına adı oluyor. Ospf de router id önemlidir. Çünkü router idye bağlı olarak DR ve BDR seçimi yapıyordu.

Router id kesinlikle bir ip adresi değildir. Routerın adıdır. Eğer sen bir isim vermezsen bu durumda router loopback adrese bakıyor aynı ospdeki ile birebir aynı çalışıyor üzerinde bir loopback interface varmı diye bakıyor. Eğer loopback interfacesi varsa onun ip adresi ne ise router id o olur. Eğer üzerinde loopback adresi de yoksa o zaman üzerinde kalan fiziksel interfacelere bakıyor. Fiziksel interfacelerden en büyük ip adresi router id oluyor. Mutlaka aktif interface olmak zorunda. Yani router üzerinde 10 networkü var bir de 20 networkü var. interface up olması önceliği.

Burada 10 networkü var ve bu 10 networkünün ucunda bir router yok. Stub network olmuş oluyor. 10 ve 20 networkü olduğunu düşünelim. Network 10.0.0.0 diyip bunu da anons etmek zorundasınız karşı tarafa. Network 10.0.0.0 demenin 2 fonksiyonu vardı hem 10 networkünü öğretmek hem de 10 networkünde eigrp başlatmak. Ancak 10 networkü ucunda bir router yok yani eigpr anonsu başlatmak gereksiz. Ucunda bir router olsa da olmasa da 5 snde bir hello paketi yollar. Bunun ucunda bilgisayarlar var sadece ve aslına bakarsanız burada bir güvenlik riski var. Stub ==>Tek çıkışı olan router demek. Yani başka bir çıkışı yok.

Eğer biz burada network 10.0.0.0 dersek, network 10.0.0.0'ı diğer routera R2 routerına öğretir. Yani R2de de 10.0.0.0 networkü öğrenmeyi sağlar. Aynı zamanda bu 10 networküne hello paketi de yollamaya başlar. 5 snde bir eigpr "Merhaba benimle komşuluk kuracak var mı " diye paket yollar. Halbuki orada bir router yok oradan eigpr paketi yollamasın diye isteyebiliriz. 10 networkünü de kaldıramayız kaldırırsak da 10 networkünü komşu router öğretmez. Buna çözüm olarak passive interface komutu getirmişler. Örneğin router eigpr altında passive interface diyip interface'ini verirsek buradan hello paketi yollamayı keser. Hello paketi yollamazsan komşuluk kurulmaz.

Burada router yok. Buradan eigpr anonsu alma demek kısacası.

Birden fazla interface varsa tek tek satır satır yazabiliriz. Ya da passive-interface default diyoruz sonrasında istediğiniz interfaceyi passive dışına çıkarıyorsunuz

Named konfigurasyonuda ise ÅŸu ÅŸekilde

af= adress family

key 2 (2 nolu bir anahtar tanıtıyorum sana) ve key-string ( anahtar kelimem CISCO)

Daha sonrasında ise bu anahtarı kullanacak şekilde hashleyeceğimizi belirtiyoruz. Bunun için interface konfiguration altında

key chain kullanılmasının nedeni birden fazla anahtar kullanabiliriz key 1 key 2 key 3 şeklinde oluşturabiliriz ve şu şekilde atama yapabiliriz. Örnek olarak tarih verip anahtarların geçerli olduğu süreleri belirtip zaman içinde anahtarların değişlmesini sağlayabiliyoruz. Tek bir anahtar kullanılmasın diye

Key 1 1 Ocak ile 25 nisan arasında geçerli olsun sonrasında key 2 devreye girsin şeklinde.

Burada named ile yapmış ve tüm interfacelerde kimlik denetimi başlatmış.

Kontrol komutlarına bakmak istersek ise,

Split Horizon, Distance Vector algoritmalarında oluyor. Bir interfaceden öğrendiği network bilgisini geri yollamak.

Metric değeri dinamik routing protokollerinde yönlendiricinin gidebileceği birden fazla hat varsa , bunlardan bir tanesini tercih ediyordu ve olabilecek en iyi hat üzerinden trafiğin akmasını sağlıyordu.

Örnek olarak RIP protokolü hop sayısına bakıyordu. Üzerinden geçebileceği router sayısına bakıyor.

Karar verme mekanizmasında kullanılabilecek en iyi parametre bant genişliği olarak bakılabilir.

Ospf örnek olarak bandwitdh değerine bakıyor. Bandiwitdh'e göre sayısal bir değer hesaplıyor. Ospfde buna metric demiyorlar Cost değeri deniliyor.

Hat BW yüksek ise tercih edilmelidir. Ancak Load büyükse tercih edilmemelidir.

Delay süresi ne kadar az ise o kadar iyi. Reliability

BW ve Delay deÄŸerleri static deÄŸerler. Bunlar defaultta interfacede bulunuyor.

Reliability hattın güvenirliği, hattın drop olan paket sayısı, yani hattaki hatalı paket sayısı artarsa, hat gidip geliyorsa. Router otomatik dinamik bir hesap yapıyor. Bunun güvenirliği üzerine rotuer bir puan veriyor. Bu maksimum 255 oluyor. Eğer 255 ise bu hat çok iyi demek. Load da ise 1/255 boş bir hat demek. 255/255 ise yüzde yüz dolu demek.

Yönetici isterse BW değerini ve delay değerini manipule edebilir. Static değerler. Load ve Reliability ise yönetici buna elleyemiyor. Router kendi hesaplıyor ve dinamik değerler.

Varsayılan da bu iki değer çalışmıyor (üzeri kırmızı çizgili olan)

Load ve reliability hesaba katılmıyor sadece band genişliği ve delay değerine bakıyor. Buna göre metriği hesaplıyor. Bunlar opsiyonel eğer yönetici isityorsa yüke ve reliabiltiye bakmasını sağlayabilir. Formulde K değerleri var. Bunların değerlerini 1 yaparsanız. Örnek olarak K1 değerini 1 yaparsanız 1 çarpı Band Genişliği olur ve Band genişliği hesaba katılır. Ama K1 değerini 0 yaparsanız Band genişliğ devre dışı kalır. Bu K değerlerini 1 ve 0 yaparak metric hesabında hangi parametrelerin kullanılacağını yönetici karar veriyor. Varsayılan da K1 ve K3 değerleri 1 ve diğerleri 0 Sonuç olarak defaultta metric değeri BW ve Delay'den hesaplanıyor. Yukardaki formule göre BW değeri artıkça Metric değeri artıyor ama normal şartlarda BW değeri büyük olanın metric değeri düşük olması gerekiyor burada ters bir orantı var. Formulün K1 hasabı aşağıda verilmiştir.

Eigrp de 2 tip konfigurasyon modu var. Birincisi klasik diğeri ise named . Eğer eigpr named olarak kullanırsanız. Artık eigrp daha büyük ölçeklendirilmiş halde bu işi yapıyor. Artık band genişliğini farklı hesaplıyor. Eğer 10 gigabitten daha yüksek bir alt yapınız varsa classic kullanmayıp named eigrp konfigurasyonu kullanmanız yeterlidir. Burada fazladan K6 değeri yerleştirilmiş şuanda K6 değeri kullanılmıyor.

K değerleri karşılıklı olarak aynı olmak zorunda. Yani örneğin K2 değerini değiştirdiğimizde tüm routerlarda bu K2 değerini değiştirmemiz gerekiyor. K2 değerleri komşuluk kuracak 2 router arasında farklıysa komşuluk kurmuyor.

Eski tip IOS'lar Named konfigurasyonu desteklemiyebiliyor. Bir router classic diğeri named olursa sıkıntı olur mu hayır olmaz. Hello paketlerin içinde K değerleri yazıyor. K6 değerinin olmadığını görürse ( K6 değeri sadece named de var classic de yok). classic konuştuğunu anlıyor ve kendi cost değerini scale edip gerekli işlemleri yapıp öğretiyor.

Zaten eigpr sadece benim metric değerim bu diye vermez. Eigrp, tek tek delay değeri bu band genişliği değeri bu reliability değeri bu hepsini ayrı ayrı veriyor. Ayrı ayrı verdiği için named ve classic birbiriyle scale ediliyor.

Eigprde gecikme toplanıyor. Ancak BW değeri toplanmıyor. Resimdeki gibi. Minimum BW değeri hesapta kullanılıyor ve o iletiliyor.

Delay değerini bu şekilde belirtebiliriz. Delay değeri varsayılanda kendisi bir değer seçiyor. show interfaces komutu ile bir interfacenin kullandığı BW ve delay değerini görebilirsiniz.

Mutlaka K değerlerini değiştiriyorsanız tüm routerlarda aynı olmak zorunda komşuluklar için.

K değerlerini değiştirmek istiyorsanız bu şekilde bir komut var. Eigpr altında metric-weight diyoruz sonrasında Klasik modda 5 tane K değeri vardır .Named modda 6 tane K değeri vardır. En baştaki 0 değeri Tos ( Type of Service) değeridir. QoS yapmak için kullanılır. Cisco bu şekilde bir yer bırakmış ancak kullanmıyor.

Soldan saÄŸa doÄŸru K1 K2 K3 K4 ve K5 ÅŸeklinde gidiyor. Burada K3 deÄŸeri 1 diÄŸerleri 0.

interface altında delay yazıp micro saniye cinsinden gecikmeyi verebilirsin ve aynı zamanda bandwitdh diyip kilobit cinsinden bw değerini değiştirebilirsiniz.

Özellikle bir ISPden metro ethernet aldınız ve interface hızından farklı bir değere sahipse bunu mutlaka atayınki eigrp doğru hesaplasın metriği. BW 500 yazdığımızda sanki internetin hızını artırmışız gibi düşünebilrisiniz ama interfacenin fiziksel hızı ile ilgili hiçbir şey yapamazsanız. ISP sana 50 megabit veriyorsa orası 50 megabittir. BW komutu eigpr ve ospf için metriğini hesaplarken hangi değeri kullanacak. Onun için var.

Router delay değerini 10 ile çarparak yazıyor.

Txload == veri yollamadaki yükünüz (Transmit)

Rxload ==veri almadaki yükünüz (Receive)

Örnek olarak 128/255 txload yazıyorsa hattın yarısı dolu demek. Bu değerlere bakarak hattın dolu mu vs bakabiliriz. İnternet yavaş olduğunda bu değerlere bakıp yorumlama yapabiliriz.

SNMP prototokolü ile bir grafiksel arayüzü olan yazılım ile hattın dolu olup olmadığı kontrol edebiliriz. Oradan bakılır.

Hattımızdaki tüm interfaceler 10 megabit olsun. Buradan paket yukardan da gitse aşağıdan da gitse aynı metriğe sahip oldukları için load balancing yapacaktır. Eğer iki güzergahın metrikleri birebir aynı ise Feasible distance dediğimiz değer. Bu 2 hat aynı kalitededir ve yük paylaşımı yapabilirim anlamına geliyor. Varsayılanda cisco cihazlar 4 tane rota için load balancing yapabiliyor.

Maximum-paths komutu ile artırabiliriz. Eğer meticler eşitse yük paylaşımı yapılır bunu tüm routing protokolleri yapar. Rip,ospf ,is is vs bgp hariç.

Metricler birebir eşit olacak. (Equal cost multipathing). Benim yedek hattımda çok az bir fark var. Onu da yük paylaşımda kullansın diyebiliriz Yani metricler eşit olmamasına rağmen yük paylaşımı yapmasını isterseniz. Bunu becerebilen bir protokol var o da eigrp. defaultta yapmıyor mutlaka aynı olmak zorunda ancak isterseni variance komutu ile yapabiliriz.

5376 olan yedek seçilen hattın metriği 3328 ise seçilen hattın metriği bu 1.6 katıymış. variance 2 yaparsanız 2 katına kadar olan hattı eşit kabul ediyor. Yani 2 katı yaparsan 6656 ya kadar olan tüm altenatif rotaları eşit olarak kabul ettirebiliyorsun.

İki router birbiriyle 5 sn de bir hello paketi yolluyor. Buna hello timer deniliyor. Toplam 15 sn içinde karşı taraf cevap vermezse bu komşuluğun öldüğüne karar verip komşuluğu uçuruyor. Hold time süresi deniliyor. Bu süre Ospf'de 40sn RIP'de 280sn. Diğerlerine göre hızlı bir protokol. Timerları interface bazlı değiştirebiliyorsunuz. Timerların karşılıklı aynı olmasına de gerek yok. Bir taraf 3snde bir yollayabilir diğeri ise 5 sn de bir yollayabilir. Aynı şeyi Ospf'de yapamazsınız Timerlar kontrol edilir.

Karşılıklı 2 routerın timerları aynı olması gerekir. Ospfde.

Convergence == değişikliğin tüm routerlar tarafından öğrenilmesi için geçen süreye deniliyor ve herkesin son değişikliğe göre routing tablosunu oturtma işlemine de converge network deniliyor. Örnek olarak buraya 10 networkü ekledik bu 10 networkünün herkes tarafında öğrenilmesine 10 networkünün converge olması deniliyor.

Burada bir case vermiş ortadaki hat kopmuş denilmiş. Klasik anlamda metrikleri toplayalım. Aslında metricler bu şekilde toplanmıyor çünkü band genişliği minimum alınıyor. Ama farzedinki toplanıyor şekilde hesap yapalım. 19 metric ile yukardan gidiyor. Aşağıdan gidecekse de 35 metric ile gidiyor. Bu durumda FD değerimiz 10. Diğer hatları yedek olarak tercih ediyormu için ise Reported Distance kontrol ediyorduk. Yukarıdan bakacak olursak report edilen distance (Komşu routerımın kullandığı metric değeriydi). 9 olarak anons etmiş. R5 den gelen ise 20+5 =25 olarak anons eder. Bunun Reported Distance değeridir.

Bu durumda bunu karşılaştırıyordu. Reported Distance değeri Feasible Distance değerinden küçükse yedek hat olarak seçiyor değilse seçmiyordu. Ortadaki hat ana hattımız en üsteki hattı ise yedek hat olarak seçti. En aşağıdaki hattı ise seçmedi. Burada 10 metriğe sahip olan ortadaki Successor hat koptu. Successor hat koptuğu anda hiç gecikme olmadan anında yedek hatta döner ve yukarıdan akmaya devam eder.

Routerlar kendi reported distance değerlerini komşu routerlara söylüyorlar. Bir update paketi yolluyor.

Kim nereden gidiyor kontrol etmek istiyorsanız. sh ip eigpr topology komutu ile daha detaylı bir şekilde hangi hat successordur. hangi hat successor değildir. Gözlemleyebiliriz.

Örnekteki R5 routerı bir taraftan 25 ile gidiyor diğer taraftan ise 29 ile gidiyor şeklinde.

Eigrp tüm networkleri öğrenip karar verdiği anda buradaki 10.1.1.0 networkünü artık buradan gideceğine karar verdiği anda database tablosuna bu networkü biliyorum. Karar verdim artık üzerinde hiçbir işlem yapmıyorum. Passive state'e geçiriyor. Passive state, stabil bir şekilde oturmuş hat demek.

Eğer yedek hattı olmasaydı.(Feasible succesor yoksa) O zaman active state'e geçiyor. Arayış içerisine giriyor.

Hat çöktüğü anda active state'e geçer ve komşu routerlarına query paketi yollar.

R2 routerı komşu routerlara query paketi yolluyor. R3 routerın R1 routerına hattı olmadığı için Delay değerini İnfinite olarak ayarlıyor. (Sonsuz sürede ulaşabilirsin yani son)

Ya bu query mesajına cevap gelmezse, mutlaka query mesajına cevap gelmek zorunda ve router ona karar verecek. Ne kadar bekleyecek cevap vermeyebilir. Paket kayıp olabilir. Bu ihtimal var. Buna da Stuck in Active deniliyor. Yani active modda kilitli kalmak

Aktif modda yeni bir rota arıyorsun. Sorgu yaptığın routerlardan birisinden cevap gelmiyor. Beklemek zorunda kalıyorsun yeni bir alternatife geçemiyorsun. Bütün cevaplar gelmediği sürece.

Sonsuza kadar kilitli kalmasın diye buna bir sınır koymuşlar. Buna active timer da diyorlar. 3 dk.

Eğer 180 sn cevap gelmezse burası öldü diyip bu routerın bütün öğrettiği networkler uçuyor. 90snde Stuck in active sorgusu eklenmiş mekanizmaya.

Kısaca sorguda bulunuyor. 180 sn cevap gelmezse komşuluğu uçuruyor. 90snde SIA Query diye ekstra bir sorgu eklemişler Eigrp'ye 90. snde tekrar soruyor. Eğer sorguya cevap gelirse süreç oturmuş oluyor.

180 snyeyi kısaltabiliriz. Dakika cinsinden burada süreyi verebiliriz. (2 dk verdik)

Stuck in active olmasını önlemek amacıyla Cisco 2 tane çözüm öneriyor. Route Summarization kullanmak. Diğeri ise Stub router kullanmak Routing summarization, routing tablolarının küçülmesini sağlayan bir özellik. Konfigurasyon yaparken Loop riski vardır.

Örnek olarak sol tarafta 172.16 networkü olsun. Sağ tarafta ise 172.16 ile ilgili bir network olmasın 10 networkü olsun. Biz R4 routerında yani R2 routerı burada sınır olarak şunu diyebiliriz. 172.16.0.0/16'lı tüm networkler bendedir diye anons yapabiliriz. Eğer özetleme yapmasaydın R4 routerında 5 tane 172.16 satırı oluşacaktı. Ama biz bu R2 routerında bir özetleme yaparak diyebilirizki 172.16.0.0/16 hepsi bendedir. Sen 172.16'ya gitmek istiyorsan sen paketleri bana yolla diyebilirsiniz. Özetleme yaptığın anda R4 routerı routing tablosunda şu şekilde çıkar. Şöyle bir satır gelir. 172.16.0.0/16 rotası sol taraftadır. Bir sürü network yerine tek bir satır yazdık.

Peki bunun stuck in active ile bağlantısı ne ? Örneğin bu network (172.16.1.0/24) R1 routerının bağlı olduğu network çökmüş olsun. Bu networkün R4 router ile bağlantısı var mıdır ? Çökse ne olur çökmese ne olur ? Çünkü R4 routerı ne diyebiliyor. 172.16nın hepsi buradadır diyebiliyor. R4 hiçbir şekilde bundan etkilenmedi.

Summarization routing yönetimini küçültüyor ve yönetimi kolaylaştırıyor.

Loop sebebi; Router üzerinde tüm 10 networkleri bu şekilde, ve /8 ile ISP'ye özetleniyor. ISP'nin routing tablosunda şöyle bir satır oluşuyor. 10.0.0.0/8'e gideceksen sola doğru paketi yolla. (eth0dan yolla)

Ne yaptık özetledik. Tüm 10 networkü ben de diyip yolladık. Router üzerinde tanımadığın tüm networkleri ISP'ye yolla diyip bu routerın, routing tablosuna default bir satır ekledik.

0.0.0.0/0 (eth0 dan yolla)

Eğer internet tarafından bir paket 10.0.8.0 ' a gelirse ISP ne biliyor bütün 10 networkü burada paket routera gider. Routing tablosuna bakar. 10.0.8.0 routing tablosunda var mı yok mu ? Yok o zaman ben bunu tanımadığım network default routadan geri yollayım der. ISP'ye geri yollar. ISP bakar nereeye gitmek istiyor 10.0.8.0, ISP bakar 10 networkü nerede router üzerinde oraya tekrar yollar. Routerda bakar routing tablosunda yok. Default rotadan tekrar ISP ye yollar. Bu şekilde Loop oluşur.

Summarization varsa loop riski vardır. Bazı protokoller otomatik ekler.

Eigpr diyorki D 10.0.0.0/8 NULL0 interfacesine gitsin diyor. Bu Null0 interfacesi çöp demek. Yani 10 networküne bir paket gidiyorsa, paket çöpe gitsin. Ama ben de 10.0.1.0 var 10.0.2.0 var 10.0.3.0 var eğer bir paket 10.0.1.0'a gidiyor olsaydı. Routerım benim bunu çöpe mi atacaktı,hayır bunu atmıyor router best match'e bakar. Eğer bir paket buradan gelip 10.0.1.0 a gidiyorsa routing tablosuna bakar. Hem 10.0.1.0/24' eşleşiyor hem de 10.0.0.0/8 eşleşiyor ama best match 10.0.1.0/24 olduğu için bu satır ne diyorsa onu yapar. Ama paket 10.0.8.0'a gidiyor olsun router 8.0'ı tanıyor mu hayır tanımıyor. Directy Connected olarak tanımıyor. O zaman Null0'a gönderiyor yani çöpe atıyor.

Bu yüzden bizde mevcut olmayan özetlediğin aralıkta bir networke paket giderse paket bana gelir ben de bunu çöpe atarım.

Paket sonsuz döngüye girmez. Bu hata static routing yapanlarda çok kritik.

ip summary-address eigrp 100 172.16.0.0/16

172.16'nın hepsi bendedir. Diye bir özetleme yapmış R2 routerında. Özetleme bir interface bazında yapılır. Arkadakiler özetleme yapmıyor. Özetlemeyi borderda yapıyor.

Summarization konfigrasyonu interface altında yapılır. Burada da adam R2 üzerinde R4 e bakan bacağına bakan tarafta yapıldı.

Komut bu kadar basit ip summary adress diyorsun ve sonra özetlediğin aralığı yazıyorsun. Burada R2 içerisinde ip summary-address eigrp 100 172.16.0.0/16. Buradan sonra artık diğer 172.16 lı networkerlin hiçbirini anons etmiyor. Tek bir satır olarak 172.16.0.0/16 yı yolluyor.

Gördüğünüz gibi /16 olarak tek bir satırda gözüküyor.

Normada bu şekilde 4 satır gözükürken artık tek satır olarak gözüküyor.

R2 routerı summarization yapıyor. R2 routerı R4'e öğretiyor ve R4 ün routing tablosunda şu şekilde bir satır çıkıyor. D 172.16.0.0 'ı sol tarafa yolla diye bir satır oluşuyor. Yani paketleri buraya yolluyor. Ancak summarization uyguladığımız routerda (R2) aynı satır burada da yazılıyor. D 172.16.0.0/16 ve null0 a gitsin diye yazılıyor. Yani komutu nerde uyguladıysanız koruma satırı o routerda devreye giriyor.

Eigpr de AD değerleri birden fazla. AD değeri 90 ama harici bir rota varsa EX o zaman AD değeri 170 oluyor. Null0 özetleme satırı için AD değeri 5'tir. Loop kesin istenmiyor yani. Eğer biz özetleme varsa loop riskine karşı AD değerini 5 yapıyor. ve bunu Null0'a yolluyor.

4 satır için tek bir network var peki metric değeri ne olacak. Herbir network için farklı farklı metric değerleri var ve hangisini yazmamız gerekiyor.

Metric şu şekilde oluyor. Burada öğretilen en düşük metric ne ise R2 routerı özeti yollarken o şekilde yolluyor ve yeni bir yer mi ekledi. Daha düşük metricli hemen onu değiştiriyor ve onun metriği ile anons ediyor. En düşük ile anons ediyor.

Auto summarization özelliği hem rip de hem eigpr de hatta hem de bgp de eskiden defaultta açıktı. Günümüzde IOS'e bağlı olarak bazılarında açık bazılarında ise varsayılan olarak kapalı geliyor. Auto summarization şu demek; Örnek olarak 10 networkü A sınıfı bir network A sınıfının asıl networkü 10.0.0.0/8 dir. Yani 10.0.0.0/8 i küçük küçük parçalara bölünmüş halidir. Aşağıdaki network. Bir ip adresinin bulunduğu sınıf adresine Major network deniliyor. Eğer bir noktada bu major network değişip başka bir network olursa. Örnek olarak 192.168.1.0 networkü oldu. Sol tarafına 1.1. ve sağ tarafına 1.2 verdim sayalım. Bakın ne oldu 10 networkü bitti. Eskiden sınıflı mimari günlerinde şu yapılamazdı. Bir A sınıfı parçalara bölünüp dünyada başka başka yerlere verilemezdi. Bir A sınfı 10 networkü bittiyse başka bir networke gittiyse kesin bir şey vardı ki bütün 10 networkü bendedir diyordu. çünkü subnet maskesi diye bir şey yoktu. o yüzden bölünüp dağıtılma şansı yoktu. Routing protokollerinde classfull terkedilerek classless'a geçildi. Bir 10 networkü bitip başka bir major networke geçtiyse ve auto summary özelliği açıksa eigrp şöyle yapıyor. Diyorki bütün 10 networkü bendedir.

Ancak şöyle bir sıkıntı da var 10 networkü aşağıdaki gibi başka bir yerde de olabilir. O yüzden auto summary yapmaman lazım auto summarization gerçekten sınırsa Oradan sonra 10 networkü bir daha yoksa yapabileceğin bir iş. R2 ve R4 de aynı şekilde bütün 10 networkü bende diye anons yapıyorlar. R3 e 2 defa update gidiyor. 10.0.0.0/8. Hatta metricleri de eşitse R3 routerı routing tablosunda diyorki 10 networküne gitmek istiyorsan, soldan da gidebiliyorsun sağdan da gidebiliyorsun diyor.

Eğer ping attığımızda şu şekidle bir çıktı varsa !.!.!.! diye muhtemelen auto summarizationdan kaynaklı bir hatadır. Bir ulaşıyor bir ulaşmıyor.

Örnek olarak burada diyorki R1 ve R2 taraflarıda datacenter var ve bu iki ağ arasında VPN tünel yapılmış arada yüksek bir hat var 10GBit gibi. R3 ise 2mblik 2 ayrı yerden yedek bağlı şubem olsun.

Eğer R1 ile R2 arası koparsa bu durumda eigrp şube üzerinden 2 datacenter üzerinden bağlantıyı konuşturmaya çalışır. yani 2Mblitlik hatta düşer.

2Mblitlik hat devreye girerse, Bu 2 Mblitlik hat sature olur. haberleşemez hale gelirsiniz, tüm bağlanntı kopar. Eğer bu bağlantı kopuyorsa datacenterlardan birisi devre dışı kalıp, diğerinin hizmet vermesi daha uygun olur. Bizim buradaki amacımız R3 in eigpr ve ospfde bir transit area olmasını engellemek. Transit area ( başka bir bölgenin haberleşmesi arasında kalan router) demek. R3'ün bağlantısı bir transitlik yapacak bir bağlantı değil. 2mbps çünkü. Saturation olur. Doğru düzgün hizmet alamayız. R3, R2 ile R1 arasında transitlik yapmamalı işte burada stub özelliği devreye giriyor.

Stub aslında tek çıkışı olan rota demek. Ancak burada 2 çıkışı olmasına rağmen şunu demek istiyoruz. Senin arkanda bir tane network var ve sen transit area olarak kullanılma. R3 ü stub yaparsak şöyle oluyor. Ancak kendi üzerindeki Connected networkler ve summarization yapılmış rotalar öğretiliyor. R3 routerı R2 den 10.2.2.0 networkünü öğrendi. Ama gidip bunu R1 e öğretmiyor. Sadece kendisi öğreniyor. R1'e ise sadece varsayılan connected networkleri öğretiyor. Yani R1 routerı R3 üzerinden R2 networkünü öğrenmiyor. Transit area artık olamaz hale geliyor.

Tek bir komutu var. Eigrp stub diyorsunuz. Named'da ise adress-family altında, eigrp stub komutunu çalıştırmanız yeterlidir.

R3ü stub yaparsak. Buradan R4 den öğrendiği networkü R1 ve R2 ye öğretmez. R3de aynı şekilde R1 den ve R2 den öğrendiği networkü R4'e öğretmez. Stub router sadece connected networkler ve summary rotalar öğretir.

R3 routerı R4'e sadece connected networkleri öğretir. O zaman R4'ün networkü kimseye öğretilmediği için ve remote networklerin hiçbirini öğrenemediği için R4 routerı eigpr dışı kalır. Cisco bir çözüm getirmiş. Stub Site feature diye. Bunu açarsanız bu case'de sıkıntı olmuyor. R4de eigprye katılıyor.

R3 burada , R2 den aldığını R1 e öğretmiyor veya R2 den aldığını R1'e öğretmiyor. Ama R4den öğrendiğini R2 ve R1'e öğretiyor.

İdentifier olmasının nedeni, farzedinki başka bir stub site olabilir.

Distance Vektor routing protokollerinde loop riski vardır ve loop oluşmasın diye çeşitli kontrol mekanizmaları vardır. Bunlardan bir tanesi split horizon, Bu topolojide RIP var RIP, hop sayısına göre metric belirliyordu.

Split horizon tüm distance vector protokollerinde açık RIP de ve EIGRP'de. Loop engellmesi için vardır. Şu şekilde çalışıyor. 10.1.1.0 networkünü R1, 2 tarafa öğretiyor. R2 routerı bunu öğrendi. Routing tablosuna işledi. RIP'den öğrendim diyor. Split horizon sayesinde geldiği yere geri öğretme yapmıyor. Bir interfaceden öğrendiğin network bilgisini, aynı interfaceden geri öğretme.

Route manipulation; Yani komşudan bir network bilgisi öğreniyorsunuz. Ama o network bilgisini yeri geliyor filtreleme yapıyorsun, yeri geliyor değiştirerek routing tablosuna işletiyorsun. Yani siz müdahale ediyorsunuz. Routing tablosuna.

Route Filtering, adı üstünde filtreleme yapıyor. O networkü öğrenmenizi ya da o networkü öğretmenizi engelliyor. Komşudan bir update geliyor. Bizim routing tablosuna girişte de bunu uygulayabiliriz, çıkışta da bunu uygulayabiliriz. Hangi networkler filterelenecek, bunu aslında 3 farklı teknik ile tarif edebiliyorsunuz. Bunlardan ilki Access Control List ile şu networke bu networke öğretme diyebiliyoruz. Ya da ip prefix list kullanarak, daha esnek bir network tarifi yapabilirsiniz. Ip prefix list daha çok BGP de kullanılıyor. ACL'nin yapamadığı şeyleri yapmada kullanıyorsunuz. Bir diğeri de Route Map.

distribute-list denilen bir liste yazıyorsunuz. Daha önce bir access list ile ya da bir prefix list ile ya da bir route map ile yazılmış, network tariflerini filterelemeyi devreye almak için. Yani Access List ile bir network tarifi yaptın. Distribute List ile bu filterelemeyi devreye alıyorsun. Nasıl access list leri ip access-group diyip access listeleri devreye alıyorduk. Distribute list komutu da bu access listten routing filtrelemesini devreye almak için kullanılıyor.

R2 routerınde in ve out yönünde filtereleme uygulanmış. Burada interface belirtmemize gerek yok. Şöyle bir şey var. Örnek olarak 10.1.100.0 networkününün öğrendiği yer zaten belli sol taraftan yani interfaceye gerek yok. Öğrendiğin yer belli. In ile kastettiği, kendi routing tablosuna eklerken filtereyi uygulamak. Out ise kendi routing tablosundan herhangi bir başka routera yollarken yapılan filterelemedir. Burada şu oluşuyor. Out yönünde filtreleme yaptığınız zaman. Örnek olarak R4'e bağlı 20 network olsun. 20 networkünü biz R4'den öğrendik. ve R2 üzerinde out yönünde filtreleme yapacağız. Out yönünde 20 networkünü öğretmendiği filtereleme yaparsan, hem R1 routerında filterler hem de R3 routerda filtreler ama ben R1'e öğretsin, R3 e öğretmesin istiyorum. Standartta yapamazsın sen buna out yönünde dediğin anda anons ettiği herkese uygular. Bunun istisnası bu gateway parametresi. Bu gateway parametresi ile biz. Şunu diyebiliyoruz. Bu filtrelemeyi bu ip adresine sahip routera uygula ama buna uygulama.

Permit any'i asla unutmayacaksınız. Aşağıda gözükmeyen bir deny any satırı var. Kalan her şeyi uçurur. Standart access list yazarken kaynak adres kullanılır ve burada yazdığınız networkler filtrelenir. Zaten extended da yapılmaz bu iş. Çünkü routing tablosunda hem kaynak hem de hedef ip adresi yoktur. Routing tablosunda bir tane ip adresi vardır.

İlk distribute-list de şunu demiş. Benim tabloma 10.1.100.0 ekleme demiş. Gördüğünüz gibi aşağıda 10.1.100.0 yok.

prefix list uygularken ise bir tane prefix list ismi veriyorsunuz. Sonra permit ya da deny sonra da network adresi. Burada 10.3.100.0 networkü deny et demiş. Yani öğretme.

10.1.100.0'ı filtrelemişti. 10.1.100.0'ı R2'ye öğretmediği için , R2 de R4'e öğretmeyecek. 10.1.100.0 zaten R4'de yok. R2'de de yok zaten. 10.3.100.0 ise , R2 de var ama anons ederken filtreleyecek. 10.3.100.0, R4'ten kalkmış.

Direk yazarsak bunu ACL list olarak algılıyor ama başına prefix yazarsak bunu prefix list olarak algılıyor.

ACL'de olduğu gibi Prefix list'te de aşağı da bir implicit deny var. Eğer izin vermezseniz geri kalan her şeyi bloklar. Bu işte ise aslında prefix list ile any yazmak. Kalan her şeye izin ver demek.

0.0.0.0/0 ==> tüm netwokler demek. Default rota demek. Burada le 32 yazmasaydı ne olurdu ? Sadece default rotayı öğretirdi. Burası diyorki 0.0.0.0/0 olacak. Subnet maskesi 32 ya da daha düşük olacak. Yani 31 de olur 30 da olur sıfıra kadar hepsi olur. Subnet maskesi ne olursa olsun. Networkü ne olursa olsun. İzin ver demek. Sonra bunu distribute-list prefix diyerek bunu uyguluyor.

Named modda ise acl ve prefix list yazımı aynı. Sadece uygulama kısmı adress family altında topology base'e giriyorsunuz. Çünkü bu komutlar, routera tüm diğer routerlardan gelen ve bu adamın tüm diğer routerlara öğrettiği networklere uygulandığı için tüm topolojiye uygulanmış anlamına geliyor.

Doğrudan ACL numarasını giriyorsanız, ya da ACL adını da girebilirsiniz. Uygulanabiliyor. Bu demektirki prefix list değil ACL list.

/8 den büyük anons ve /24 de küçük anons pek dünyada yapılmaz. Yani BGPde ben /25 yaptım küçük networklere böldüm dünyaya anons edeyim vs. İzin vermiyorlar. /24 den büyük. BGP de zaten routing satırı çok fazla daha küçük networklerde eklenseydi çok daha fazla olurdu.

permit 0.0.0.0/0 ge 8 le 24 ==> Burada demişki, tüm networkleri geçir. Ama subnet maskesi 8 den büyük olsun. /24 den küçük olsun şeklinde. Yani subnmet maskesi 8 ile 24 arasında ise bu networkü geçir. Kalanları uçur.

Offset-list, metriği manipule ediyor. yani bu filtreleme yapmıyor. Metriği manipule etmemizi sağlıyor. Yani ordan gelen metriği 100 değil de 200'e çevir. 200 olarak öğret ya da 200 olarak öğren yine in ve out yönünde uygulanabiliyor ve bir interfaceden gelen network şeklinde uygulanabiliyor. Biz burada sayısal bir değer belirliyoruz ve o kadar artırarak öğreniyor ya da öğretiyor.

Network 0.0.0.0 yaptığımızda; tüm üzerindeki networkleri anons et. Directed Connected networkleri anons et. Static networkleri vs. öğretmez.

Offset list sonrasında access numarası ile aynı numara verdim. Sonra out yani dışarı doğru öğretirken sonrasında metriği kaç artıracaksın. (offset delay). Fast ethernet 0/0'dan out yönünde anons ederken bunu 100 artır dedim.

Çeşitli ön şartlar var eğer bu ön şartlar sağlanmıyorsa komşuluk kurulmaz. Komşuluk kurulup kurulmadığını kontrol etmek istiyorsanız sh ip eigpr neigbors komutu ile görebilirsiniz. Eigpr multicast kullanıyor. Multicast pakette hello paketleri kullanıyorlar ve bu hello paketlerinden karşı taraftan bu komşuluk sürecini başlatıyorlar. Bu hello paketlerinin içerisinde çeşitli ekstra parametreler yer alıyor. Bu parametrelerden bazılarını karşı taraf beğenmezse, komşuluğu kurmuyor. Sırasıyla komşunun ip adresi, hangi interfaceden öğrendiği, hold time süresi ,ne kadar süredir ayakta, SRTT (ne kadar sürede paket gidiyor ve ondan geri dönüyor.) Q değeri (burada sayı birikmeyecek ) yani Burası process de bir anons yollamış. Almış bunu process edememiş. Bekliyor demek. Yani bekleyen bir işi var demek ama beklememesi lazım. Kuyrukta bir şey bekliyorsa hiç hoş değil. çünkü milisaniyelerde hallediyorlar bu işlemi.

İnterface up olacak, otonom sistem numaraların aynı olacak. Network ifaden doğru olacak. K değerlerin karşılıklı aynı olacak. Passive interface olmayacak. Aynı subnette olacaklar. kimlik denetimi yapıyorsa, kimlik denetimin detayları aynı olacak. Timerları da değiştirebilirsin

sh ip protocols yerine sh run | sec eigrp ile de yapabiliriz. Eigprnin tüm komutlarını satır satır gösteriyor.

debug eigrp packets komutu, debug çıktılarını gösterir. eigrp ile alakalı bir paket sana gelirse ya da sen yolluyorsan o anda log atar. Yani sen bir eigpr paketi yolladın. Oraya log atar.

sh ip eigrp interfaces ==> Bu komut eigrp'nin hangi interfaceden başladığını gösterir. Örneğin sen interfacende yanlış bir network komutu uyguladıysan bu interfacede eigrp başlamaz ve bu tabloda interface'yi görmezsin. Peer ise bu interfaceden kaç komşum var. Gig0/0 'da 0 peer var. Bu interfacede ya benim tarafımda ya da karşı tarafta komşuluk problemi yaratacak sorun çıkmış olabilir gösteriyor. Ama bunun yerine neigbor komutum var.

En baba komutlardan birisi. sh run | sec eigrp de yazabiliriz. Router yazmaya da gerek yok.

Varsayılanda bandwith ve delay'a bakılıyor. Diğerlerini koyarsanız, dinamik hesaplanan diğer parametreler devreye giriyor. Reliability ve Load gibi. Default olarak bırakılıyor genelde.

terminal monitor açabilirsiniz. Logları daha iyi gözlemlemek için. Defaultta kapalıdır.

sh logging komutu ile de daha önce neler loglanmış onları görebilirsiniz. Defaultta kapalıdır.

Passive interface, bizim bir routerımız var. Komşu bir router var. Bunun arkasında bir switch var ve bu switchte sadece bilgisayarlar var. Burası yine 10 networkü olsun. Sen burada sadece PC'ler var diyip 10 networkünü belirtmezsen. 10 networkü anons edilmez. Yani diğer routera öğretilmez. network 10 diyip bunu da açarsan burası da hello paketi yollamaya başlar. Hello paketi yollamaya başlar ve buradaki kötü niyetli birisi, eigpr sessionu başlatıp ortalığı karıştırabilir. Hem güvenlik açısıyla hem de gereksiz hello paketi yollanmasın diye. Ucunda router olmayan interfaceleri passive interfaceye çekme şansımız var.

Karşılıklı farklı networkler verdiyseniz. Ya da ip adreslerini yanlış yazdıysanız.

Bir anahtar zinciri oluşturuyorsunuz ve bu anahtar zinciri aktif ediyorsunuz. (key chain). Burada 1 numaralı anahtarın (key 1), ENARSI olduğunu göstermiş ve bir Timer vermemiş. Hep geçerli anahtar diye bir anahtar belirtmiş. Gidip bunu da uygulamış. İsmine de EİGRP_AUTH olarak uygulamış.

debug all ==>Routerda olabilecek tüm debugları açmak demektir. Çok büyük bir yük getirir. Cihaza. Bunu açmayacaksınız. Bu şunun için var. Kapatmak için var. no debug all ile bir anda hepsini kapatabilirsiniz. ya da undebug all ile de kapatabilirsiniz. En kısa hali ise u all. Örnek olarak 2-3 tane debug birden açtınız hepsini birden kapatmak istiyorsunuz.

Normal şartlarda deny ip deriz tüm ip trafiği için tcp deriz tüm tcp trafiği için udp deriz tüm udp trafiği için tarifler yapabiliriz. Eigrp, Ip başlığının arkasına gelen doğrudan bir üçüncü katman protokolü yani tcp ya da udp hiçbir işe yaramıyor. Eğer ip derseniz tüm ip trafiği ölür.

deny eigpr dersek, arkasında eigrp payloadı olan bir layer 3 trafiğini filtreleme şansınız var ya da geçir deme şansınız var.

sh run | inc access-group | eigpr

dediğimiz anda o routerda uygulanan tüm access grouplar hem de tüm eigpr parametrelerini görebilirsiniz.

Burada subnet maskesini de yazmaya gerek yok. Bu şekilde bir network adresi varsa zaten gösterir. 172.16.33.16 networkü connected olarak bağlı diyor. Yani eigrp bunu öğretemez. Connected bağlantı AD değeri en düşük rotadır ve bundan öncelikli hiçbir rota oluşturamazsın.

Eigrp'nin AD değeri 90 ve Ospf'nin AD değeri 110 olduğu için düşük olan Eigrp yolunu seçecektir. Supoptimal rota şu demek ==> Oraya gidiyorum ama vasat rotadan gidiyorum demek.

Distribution-list uygulayıp uygulanmadığını görmek için şu komutu yazabilirsiniz. sh run | sec eigrp

distribute-list 10 in ( Bu şekilde tüm routing tablosuna uygular) distribute-list 10 in gig1/0 ( interface bazlı uygulaması )

Tek çıkışı olan yerlerde sen stub'sın deniliyordu. Stub olması durumunda, bir network down olması durumunda gidip query mesajı sorgulanmıyordu. Yani sen de bu networke alternatif var mı diye sorulmuyor da çünkü o adamın çıkışı yok zaten. Networkü var o kadar. R3'ü stub yaptığımızda, R2 routerı gidip R3'e sormuyordu. Bunun yapmamızın nedeni bu arkadaşı yormamak. Asıl yapma sebebimiz ise SIA kavramı. Stuck in active. Eigrp de network çöktüğü anda query mesajları ile alternatif var mı diye sorulur ve alternatif varsa biran önce öğrenilir ve routing tablosuna işlenir. Ancak bu sorguya mutlaka cevap gelmesi lazım. Cevap gelmezse o network active state de bekler (192.168.1.0 ) ve altenatif bir şey sunamaz. Örneğin başka bir yerden alternatif öğretti. Ama hala R2 den query mesajına cevap gelmedi. Hala kitli kalır. İşte bu süreyi kısaltmak , kitlenme riskini azaltmak adına. Zaten sorgudan düzgün bir cevap alamayacağım vatandaşı stub yapıyorsunki. Active state sürecine bu arkadaş dahil olmasın

Stub'da şu vardır. Stub ise başka bir router öğretebilir ancak ben bunu öğretmem. Anlamına geliyor. Bu arkadaş dışarıdan bu networkleri öğrenir; ama bu networkleri geri yollamaz arkadaki routera yollamaz. Kendisi sadece üzerindeki Connected networkleri (direk bağlı) networkleri bir de summarization uyguladıysanız. Onları öğretir.

Connected ve summary rotaları öğrettiğini görebiliyoruz.Komşuların stub süreçleri hakkında bilgileri de öğrenmek istersek ise sonuna detail komutnu ekleyebiliriz.

Burada tunnel yerine sh ip interface gig0/0 da desen burada split horizon açık olup olmadığını görebilirsin. Bu tunnel'a özel bir durum değil. Eigpr çalışan tüm interfacelerde defaultta split horizon açıktır. Çok gerekli olduğunda split horizon'u kaldırmak gerekebilir. Örnek olarak buradaki DMVPN uygulamasındaki gibi.

Eigrp, successor yani en iyi rotayı seçiyor. Alternatif bir rotası da var. Normalde diğer protokoller en iyiyi seçer ve oradan yollarlar. Bunu kopması ihtimaline karşı yedeğini seçmez. Yedeğini eğer burası koparsa seçer. Yani olay gerçekleştikten sonra seçer. Ama burası ne yapıyor precalculate yani baştan yedeğini hesaplıyor. Tabi her zaman seçmiyor Reported Distance diye bir kavram var. Bir diğeri ise Feasible Distance, RD(Komşunun yani bu alternatif yedek olacak vatandaşın bana anons ettiği reported distance) değeri mutlaka FD değerinden küçük olması gerekiyordu. Bunun kontrolünü sh ip eigrp topology komutu ile baktığınız zaman. Feasible ve Reported Distance değerleri gözüküyor. Yedek rota seçilip seçilmediği gözüküyor.

topology komutu ile sadece seçilenler gözüküyor. Eğer seçilen seçilmeyen hepsini görmek istersek all-links komutunu yazmamız gerekiyor.

Burada sh ip eigrp topology tablosunda, redistributed özelliği ile eigrp'ye dahil edilmiş networkleri de görebilirsiniz diyor.

15.0'dan sonra otomatik summarization kapalıdır. 15.den daha düşük varsa otomatik olarak açıktır. ve no auto-summary komutu ile kapatılabilir. Hatta kapatılması tavsiye bile edilir.

Discontiguous network ==>Devam etmeyen network.

Otomatik summarization kapatılmış ama elle summarization yapılmış.

Eğer bir summarization yaparsanız, Loop riski var. Eigrp otomatik Null0 rotası ekliyor. Burada 10.1.0.0 diye bir özetleme yapmış. Eğer böyle bir summarization komutu uygularsanız. Eigrp, bu summarization komutunu uyguladığınız routerda Null0 diye bir routing satırı ekliyor. Normalde D (Dual) yazıyorsa Ad değeri 90'dır. Ama bu summarization sürecinde AD değeri 5 ve null0 yani burasını çöpe atıyor.

Load balancing, metric'ler eşitse routerlar hedef networke giderken, paketin bir kısmını aşağıdan bir kısmını yukardan hedefe ulaştırıyordu. Bu sayede 2 hattı da efektif kullanabiliyorduk. Bunun bir kuralı vardı. Metrikler eşit olacaktı. Buna da equal metric ya da equal path deniliyor. Bunu varsayılan olarak 4 tane eşit rotada yapıyordu. Aynı yere giden 4 ten fazla rota varsa, 5incisini load balancing mekanizmasına sokmuyordu defaultta. Ama sen istiyorsan maksimum path diye bir komut vardı. Maksimum-path 5 diyip, 5 tanesini de devreye alabiliyordun. İkinci olarak metricler aynı olmak zorundalar. Variance komutu ile yaptırabiliyordun. Variance komutu ile metric değerlerinin belli bir katına kadar eşit olarak kabul et diyebiliyorsun. Örnek olarak birisinin metriği 100 diğerinin metriği ise 150 olsun ama biz variance 2 komutunu çalıştırırsak, 2 katına kadar olanları eşit olarak kabul edip load balancing yaptırıyordu.

Destination host unreachable demek buradaki networke erişemiyorum demek. Normalde erişemiyorsa timeout gözükür. Buradaki network erişilebilir bir network değil anlamında ve bilgiyi bana router söyler. Yani buradaki 10.1.3.10'a ping atmak istediğim anda, routerlardan bir tanesi R1 ya da R2 bana reply dönüyor. Böyle bir network bilmiyorum diye. Bir kere biz buradan şunu anlıyoruz. Bizim buradaki bilgisayar gatewayine ulaşıyor. Kısaca routera erişebiliyor ama router bu networke gidemiyormuş. Demekki bir routing eksikliği var.

Burada Routerdan da ping attım diyor o da erişemiyor diyor ve routing tablosuna baktım diyor. R1'in burada eigpr satırının hiçbiri yok.

Otonom sistem 100 diye bir eigrp konfigurasyonu yapmışım ve öğrettiği networkler gözüküyor. Ama komşulara bakıyorum diyor. R1'in hiçbir komşusu olmadığı gözüküyor. R1'de komşu yok. sh ip eigpr interfaces diyorum diyor. Hiçbir interfacede peer da oluşmamış.

O zaman sh cdp neigbor ile bakayım diyor. Komşuda bir router var mı diye. Cdp (cisco discovery protocol) komşu bir cisco cihaz varsa bunu gösterir.

R1 routerına R2 router bağlıymış.

R2 routerının R1 ile R2 arasındaki networkünün 10.1.12.X olması gerekiyor. Yanlış yazılmış. Network satırını yanlış yazdığı için komşuluk kurulmamış.

Networklerde her şey tamam ama filtre varsa bunu kontrol etmek için şunu yapabiliriz.

Bir prefix-list ile bir network tarif edilmiÅŸ. Running configden de bakabilirsiniz veya sh ip prefix-list komutu ile de bakabilirsiniz.

O networkü filterelemiş ve kalan her şeye de izin vermiş. Burada diyor eğer bu filtreyi kaldırırsam Bu rota öğrenilir ve sistem çağrılır.

Eigrp, hem ipv4'de hem de ipv6'da şöyle bir özelliğe sahiptir. Bazı paketleri multicast iken bazı paketleri unicast'tır. Unicast demek yani doğrudan o paketi routera yollar.

Routerlar birbirlerine anons yollarken hedef multicast iken kaynak unicast'tır. Yani kendi ip adresi olur. İpv6 burada kendi adresini kullanırken, ipv6 da bir cihazın,bir bilgisayarın,bir routerın en az 2 tane ip adresine ihtiyacı var. Bunlardan bir tanesi link local adres olarak geçer. Diğeri de global ip adresidir. İpv6 link local adresi ile haberleşiyor. Yani kaynak adresi olarak link local yazıp kaynak adresi yazıyor.Link local adresi de router kendisi hesaplıyor zaten.

Kaynak adresi link local iken, hedef ip adresi multicast adresi FF02. Zaten multicast adresleri, FF02 ile başlar. FF02::A ( A decimal olarak 10 demektir.) ipv4de de multicast adres olarak 224.0.0.10'du. Hello paketi multicastır. Query paketi multicasttır. Update paketi multicasttır. Herkese yollamak adına ama bazı paketler unicasttır. Acknowledgement paketi gibi. Bize bir paket geldiğinde, paketinizi aldım onaylıyorum anlamında. Unicasttir. Reply paketi, bize bir sorgu query geldiyse, query ( Bir network çökünce ve yedek alternatif hat yoksa query ile sorgulama yapıyordu). Query yapan kişiye sorgu yine unicasttır. Komşuluk kurarken birbirlerine update paketleri ile üzerlerindeki networkleri öğretirler. O da unicast olarak haberleşir.

Klasik modda, en büyük farkı başına ipv6 takısı almasıdır. Mutlaka İnterface altında enable ediliyor. İnterface altına giriyorsunuz. ipv6 eigpr as-number yazıp interface altında devreye alıyoruz

Named modda ise şu şekilde, Örnek olarak bir tane process ismi veriyorsunuz Test diye hep bu Test altında işlem yapıyorsunuz.

Mutlaka bir router id belirtmemiz gerekiyor. Sadece ipv6 kullan bir router ise. af-interface default ile tüm interfacelere özel ayarları ya da af-interface gig0/1 diyip . Sadece gig0/1'e konfig yapabiliyorsunuz.

Doğrudan interface altında bunları devreye almış.

Defaultta birçok routerda ipv6 açık değil. Bunu açmak için ipv6 unicast-routing komutu ile açılıyor.

Link-local adresi burada belliki elle vermiÅŸ. FE80::2 bu ÅŸekilde link local adresi cihaz vermez.

ipv6 da sınıf yapısı yok. Bundan dolayı otomatik summarization diye bir olay da mümkün değil. Büyük bir organizasyonsanız size genelde 48 bitlik bir ip adres blogu verilir. 2001:A98:8000::/48 gibi. Biz bu ip adresi şemasında bir sonraki 16 biti subneting yapmak için kullanırsınız. 2001:A98:8000:1::1/64 gibi. Bizim routera atadığımız ip adresleri bu şekildedir.Connected olarak .

Routerın directed connectedlara baktığınız zaman hep /64 'leri görürsünüz. Halbuki tüm /48 bize aittir. Routerların interfacelerinde /64 vardır bu connected networkleri anons eder. Summarization yaparak /48 ile özetleme yapabiliriz.

Named modda af-interface altında. Sadece ipv6 takısı olmadan yapabilirsiniz.

Default rota, çoğu zaman bir static routing ile bir routera eklenir. Yani biz ne yaparız burada bir internet bağlantısı varsa, bir ISP bulutu varsa buraya bir static rota ile default rota yazarsın. ip route 0.0.0.0 0.0.0.0 gibi buradan gidebilirsin dersin bu bir static rota olduğu için bunu eigpr ile ben default rotayım kardeşim. Millete öğreteyim yani siz öğrenin internete gidiyorsanız bana gelin demek istiyorsanız. Ospf de bu default-information originate komutu ile yapılıyordu. Bunu dediğiniz zaman default bilginin, kaynağı benim kardeşim demiş oluyorduk. eigrp de bu komut yok. Bu komut ile default rota anonsu yapamazsın. Çoğu zaman default rotayı nasıl yaparız o zaman, eigrp bir router internete çıkıyorsa, arkadakilere bunu öğretemezmi ? Bunu redistribution ile yapabiliriz. Redistribute static komutu ile yapılabilir. Bir routing teknolojisinden öğrendiğin bilgiyi başka routing teknolojisine anons etmede kullanıldığı bir teknikti. Redistribute static dediğimiz zaman ne oluyor. Sen static rotayı öğrettiğin default rotayı, git eigrp den öğret diyoruz.

ipv6 prefix-list BLOCK-DEFAULT seq 5 deny ::/10 ==>Bu satırda sadece default rotayı filtrele diyor. Yani komşu router sana bir default rota anonsu yapıyorsa, onu filtrele çöpe at kalan her şeyi geçir demek. ::/0 ==> dünyadaki tüm networkler demek. 0-128e kadar tüm subnet maskelere sahip olan dünyadaki tüm rotaları izin ver demek. Permit any ile aynı şey demek.

Eigpr protokol numarası 88. Eigrp için bu protokol numarasına göre filtreleme yapmamız gerekir.r

Pasif interface uyguladığınız zaman, bu network bilgisi karşı tarafa öğretilir. Sadece bu network üzerinden eigrp konuşmaz.

Fiiltreleme yapmış olabilirsiniz

Routerlardan birisinin tek bir çıkışı varsa,arkasında başka bir router yoksa bunu stub router haline getirebilirsiniz. Bunu stub router haline getirdiğiniz anda, sadece kendisine bağlı connected networkleri ve summarization yapılmışsa özetleme rotalarını öğretir.

sh ip protocols komutunu yazdığımızda, Stub olduğunu ve connected ve summary rotaları öğrettiğini görebiliyoruz.

show eigrp protocols diyerek hem ipv4 hem de ipv6 için yapılmış eigrp konfigurasyonunu tek seferde görebilirsin.

Last updated