Route Redistribution

Route distribution biliçsiz bir şekilde yapıldığında suboptimal route denilen yani kötü bir hattın seçilmesine hatta routing looplara bile sebep olabiliyor.

Redistribution ne zaman gerekir. ? Bir topolojide kurum içi ağda birden fazla dinamik routing teknolojisi ya da birden birden fazla routing tekniği varsa bunları birbirine öğretmek durumunda kalabiliriz. Burda bir eigpr topolojisi var yanda ise bir ospf topolojisi var. Burada bu iki routing protokololü arasında border routerımız var. Siz burada eigprden öğrendiklerinizi ospf'e, ospf'den öğrendiklerinizi de eigpr'ye geçirmezmeniz gerekiyor.

Ancak redistribution yapmazsanız yani R3 ün bunu bilmesinin önemi yok. Hani bilir ve bunu eigprde öğretir. Öyle bir dünya yok. Sen bunu öğret demediğin sürece bu gidip de bunu R2ye öğretmez. Gördüğünüz gibi 5.5 networkü R2 de yok ama R3 de var.

Yani R1 routerındaki vatandaş, R5 e gidemez anlamına geliyor. O networke.

Böyle bir durumda redistribution yapman lazım.

Ospfden öğrendiğini Eigprye geçirmen lazım. Eigprden öğrendiğini de Ospfe geçeceksin. Ama mecbur değilsin tek yönlü redistrbiution da yapılır. Yani sadece burada ospfden aldığını eigrpye öğretip. O zaman çift yönlü haberleşme olmaz diyebilirsiniz Şöyle bir beyin fırtınası yapalım

Ospf area 0dan öğrendikleri Eigprye geçti. Eigprye oraya gitmek için gereken networkü öğrendi. Tam tersi yönünde redistribution yapmazsan bu R5 routerı geri paket yollayamaz.

Ne yapılabiliyor mesala örnek verecek olursam ospf networklerini eigprye öğretiyorsun. R1 ,R2 ve R3 artık ospf'e gidecek şekilde rotaları biliyor. Ospf'den de bir defualt rota çakıyorsun R3 e doğru. Tanımadıklarını R3 e at. Yani bir yönde static rota diğer yönde ise redistribution ile çözdüm. Tek yönlü redistribution yaptım.

Mutual dediği eigpryi ospfe,ospfi de eigprye redistribution yapmış.

R5 üzerindeki 5.5 networkü R1 de çıkmış. EX yazmış yani external olduğunu belirtmek adına.

Connected olarak öğrendiklerini ospf'e öğret vs. diyebiliriz. Bu bir kaynak oluyor. Connected tekniğini öğrendiğim kaynağı connected olarak öğrenilmiş networkleri al ve ospfe geçir. Redistributed connected diyebiliyoruz. Üzerindeki tüm networkleri alıp, dinamik routinge öğretsin istiyorsunuz.

Redistributed connected diyip hepsini alıp çat diye öğretebilirsiniz. Ancak bunu çok yapmayın. Çünkü redistributed connected ile öğrettiğiniz zaman Redistribution hep metric kaybı, hassasiyet kaybı anlamına gelir. Çünkü sen onu ospf ile öğrenirsen ospfin cost değeri vardır. Band genişliği hesaplanır vs değerlerini bilir. Ama redistribution ile ospf'e sokarsan o bant genişliğinden cost değeri vs hesaplamaz.

Ospf de bahsetmiştik E1 ve E2 olduğunu ve default metric olarak 20yi kullandığını.20 cost ile öğrettiğini bahsetmiştik. Yani ne oluyor. senin aslında burada 10 gigabit bir hattın var. Referans bant genişliğini 10 gigabit seçtin 10/10 dan buranın cost değeri 1 oluyor. Ama sen bunu redistribution ile öğretirsen 20 diye kabul edip yollar. ne oldu hassasiyeti kaybetti. Bant genişliğine göre hesaplanmış bir cost değeri yok artık. O yüzden redistributed connected'ı gerekmediği sürece kullanmayın. Öğretmesi için linklerin Up olması gerekiyor.

İnternal Bgp rotaları normal şartlarda diğer routerlara öğretilmiyor. Çünkü loop riski deniliyor. Zaten bgpden ospf'e geçmek zaten çok da mantıklı değil. Hele IBGP hiç değil.

Yani aynı router içerisinde başka yerden aldığı networkü öğretmiyor.

Redistribution ile öğreteceksen, o öğreteceğin networkün senin routing tablonda olması gerekiyor. Yani sen bir static rota yazdın. Ama hedef hiçbir yere gitmiyor. O yüzden routing tablosuna eklemedi cihaz. Onu öğretmez. Routing tablosunda olucak ve routing tablosuna ne işlendiyse onu öğretir.

Seed metric, çekirdek metric ilk öğretmede hangi metric ile öğreteceğim. Sonuçta içeri öğretiyorsun metriğini 0 olarak girersem çok iyi bir rota olur değil mi ? Metriği küçük yapmak. Metriği belirli bir temel metric değeri ile içeri enjecte ediyorsunuz. Buna seed metric deniliyor. Seed metric yani mesala eigpr kendisine bir network öğretilirse başka bir seed metric kullanıyor. Ospf kendisine öğretirse başka bir seed metric kullanıyor. Her dinamik routing protokolünün kendisine ait bir seed metric kararı var. Sayısal değeri kaç olacak. Yukarda yazmış .Eigrp'ye dışardan bir şey enjekte etmeye kalkıyorsanız. Metric değeri infinity yani pert demek ölü yani erişilemez. Yani bu şu demek eğer eigprden ospf'e bir şey enjekte edecekseniz. Kardeşim ben defaultta bir metric değeri seçmedim.

Sen yönetici olarak sen karar verip yazacaksın aksi takdirde ben bunu ulaşılamaz metric ile ulaştırırım yani öğretmem. Yöneticiyi mecbur tutuyorum mutlaka bir seed metriği sen belirleyeceksin diyor mesala ospf öyle değil. Ospf seed metriği 20 olarak enjecte ediyor. Direk 20 olarak tak diye içeri sokuyor. Ospf'de Bgp ile öğrenirseniz Seed metric 1, Diğer protokollerden enjekte ediyorsanız seed metric 20 oluyor.

Ospf,eğer bgp'den enjekte ediyorsanız Seed metric 1, diğer herhangi bir şeyden nerden öğretirseniz öğretin 20 olarak içeri dahil ediyor ve type 2 external olarak dahil ediyor.

BGP'ye enjekte ediyorsanız şayet, bgpde biliyorsunuz bizim bildiğimiz anlamda metric değeri yok. Bir sürü attribute değeri var. Bu attibutelerdan bir tanesi MED (namı diğer metric). değeri bunun dışında origin değeri bunun dışında Weight değeri. Bir sürü değer var. Tek bir metric yok. eğer bgp'ye dışardan bir şey enjekte ediyorsanız. 1) Origin değeri incomplete olarak set ediliyor. Origin değerleri hatırlayın ne olabiliyordu. Internal (Bgpden öğrendim, External(Eski protokolden) ya da soru işareti. (Redistributen öğrendim).

Origin değeri incomplete olarak set edilmesi onun daha az seçilecek bir rota olmasını sağlıyordu. Bu karar mekanizmasındaki kritik şeylerden bir tanesiydi. İlk olarak dışardan öğretiyorsanız origin attribute'ı incomplete olarak seçilir. İkinci olarak MED attribute'ı Ospf'den mi enjekte ettin. Ospf'de o network için kullanılan cost değeri kaç ise örnek olarak 20 ise MED değeri 20 olarak enjekte edilir. 3. olarak weigt değeri 32.768 olarak set edilir. Localden öğrendiği tüm networkleri zaten cisco defaultta weight değerleri 32.768 olarak bgp tablosuna işliyordu. Aynı şey redistribution için de geçerlidir.

redistribute dedikten sonra herhangi bir routing protokolü altında ospf altında eigrp altında farketmez. Hedef protokolün altına girip zaten redistribution yapıyorsun yani ospf'e öğreteceksen, hedef ospf'in öğrenmesi ise , router ospf'in altında konfig yapıyorsun. Hedef eigpr ise eigpr'nin altında konfigurasyon yapıyorsun ve yapmak için kullanacağınız komut ise redistribution komutu.

reditributed connected ==>kendi üzerinde direk bağlı networkleri al. Redistributed et. redistributed static ==>üzerindeki geçerli static rotaları al, enjecte et. eigrp 100 ==>Otonom sistem numarası 100 olan eigpr networklerini enjecte et.

ospf process-id match external 1 ==>ospf process id'si şu olup external 1 ile eşleşenleri enjekte et.

Bgp'yi enjekte edebilirsiniz. Redistribution ile.

aynı zamanda redistributed connected veya static dedikten sonra route map yazabilirsin, Route map cisco ,redistributed connected route-map cisco ne yapıyor. Connected networkleri öğretiyor ama önce gidip route map'e bakıyor. Route map hangilerine izin verdiyse, onlara enjete ediyor. Amacımız şu ospf'den eigpye rotalar inşa edeceğiz ama hepsini etmeyeceğiz. Ya da enjecte ederken belki metric değerlerini manipule edeceğiz. Ya da bgp'ye enjecte ediyorsanız. Path attribute değerlerini manipule edeceğiz gibi işlemleri route map'e yaptırabiliyorsunuz.

Route map'de önce match ettiriyorsunuz daha sonrasında ise Set ettiriyorsunuz. Örneğin ospf'den bgp'ye enjekte etmek istiyorsunuz. Bgpnin altına geldiniz redistribute ospf dediniz. Route Map Cisco dediniz. Ne yapacağız, Ospf rotaları bgp'ye enjecte edeceğiz. Ama bazılarını değiştireceğiz.Bazılarını öğretmeyeceğiz gibi işleri yaptırtabiliyoruz. Bunun için bir route map yazıp, match ve set komutlarını yazıyoruz. Match eşleştirmek için (bunlar bunlar bunlar eşleşiyorsa) set ise şunları enjekte et demek.

As path prepend ile ne yapıyorduk ? AS 10 olsun. Kendi AS'imizi millete öğretirken prepend edip sadece As path 10 olarak gözülmesin 10 10 10 olarak gözüksün.Sanki bana ulaşırken 3 tane otonom istem geçiyormuş gibi göstersin. Daha kötü metric olarak görsünki bana ordan değil başka ISP'den gelsin için yaptığımız teknikti.

Bunu biz outbounda kullanıyorduk. Kendimize öğretirken böyle öğretiyorduk.

Bir kaynaktan alıyoruz. Bir hedef routing protokolün içerisine enjekte ediyoruz. İlk olarak Connected networkleri kaynak olarak kullanma durumu, zaten connected networkleri hedef olarak kullanamazsınız. Yani ospfden öğrenip,connected network olarak routing tablosuna enjecte edemezsiniz. Connected sadece kaynak olabilir. Connected olarak öğrendiklerini şuraya sok diyebiliriz.

Yukarda ne yapmış BGP'ye enjekte etmiş rotaları, redistributed connected ile enjecte etmiş. Sadece redistributed connected yazıp entere bassaydı. Bgp üzerindeki tüm connected networkleri alıp routera tüm bağlı networkler, loopbacklerde dahil olmak üzere bgp'nin içerisine enjecte ederdi. Ancak burada ne yapmış connectedları sadece route map'de belirttiklerini enjecte et. Diyip bir filtreleme yerleştirmiş. İsmi de RM-Loopback demiş.

Sonrasında bir route map yazmış. Permit etmiş. Ne demiş match interface loopback 0 Yani sadece loopback 0'ın networkünü al. BGP'ye enjecte et. Unutmayın altına başka bir route map eklemediği sürece geri kalan implicit deny yani geçmiyor.

Kaynak olarak bgp 'yi kullanıyorsanız. Bgpden alıp başka bir şeye sokacağız.

Hedef hangi protokol ise onun konfiginin altında yapacağız. Eigrp'ye dahil edeceksek router eigpr'nin altında redistribution yapacağız. Hangi protokole sokacaksak onun konfinginin altında yapılıyor.

Örnek olarak R2 routerında ospf'den geleni, eigrp'ye sokmaya çalışmış. Ne yapmış router eigpr 100'ün altına girmiş. Sonra redistribute ospf 1 demiş.

Eigrpden eigpr'ye olması için otonom sistem numaraları farklı olması gerekiyor.

Bir otonom sistemden diğer otonom sisteme enjekte edebilirsiniz. R2 ve R3 routerları burada border routerlar. Bu iki routerda hem AS 10 ve 20'yi ve R3 ise hem AS 20 ve AS 30 ile konuşuyor ve ordan networkleri öğreniyor. Sen redistribute demediğin sürece otonom sistem 10'dan öğrendiğini 20'ye öğretmiyor.

subnet kelimesi yazmazsak ne anlama gelir ? subnet kelimesi yazmamış hali ile günümüzde pek bir halta yaramaz. Redistrbituon yapmamış olursun. Neden subnet kelimesi eklenmediği anda, örnek olarak 10.0.0.0 networkünü öğretiyorsun redistribution ile ospf'e sokacaksın. 10 networkü A sınıf ve default subneti /8.

eğer sen 10 networkünü /8 kullandıysan bunu öğretiyor subnet yazmazsan, Classful olduğu için.

Ama günümüzde ne yapıp edip,subneting yapıyoruz. Bu durumda o networkleri öğretmez. Sen bunu 10.0.0.0/24 yazdıysan ve bu subnets keywordunu kullanmazsan ospf'e enjekte edemezsin. Defaultta yazıyorsun gibi düşünebilirsin. Eğer ospf'de redistribution yapıyorsan subnet yazacaksın gibi düşünebilirsin.

Bunun dışında metric belirtebilirsiniz. Belirtmezseniz Seed metriği 20 olarak alıyor ve sonrasında metric type belirtebilirsiniz Type1-2 şeklinde. Belirtmezseniz Type 2 olarak enjekte eder. Ayrıca isterseniz etiket numarası da yapıştırabilirsiniz diyor. Eigprden ospf'e sokarken etiket çakıyorsun.

Haricen öğrendikleri ospf'de type 5idi. Networkler içeri dahil edildiğini görebilirsiniz.

Last updated