IS-IS Yönlendirme Protokolü

IS-IS (Intermediate System to Intermediate System) genellikle büyük ölçekli ağlarda hatırı sayılır şekilde tercih edilen bir yönlendirme protokolüdür. Büyük ölçekli olup BGP kullanan (ISP back-bone’lar gibi) ağların IGP gereksinimini karşılamak için protokol aramanız gerekirse doğruca IS-IS’in kapısına gitmelisiniz. Büyük ISP ağlarında diğer protokollere göre daha efektif olduğunu tartışmak gereksiz olduğundan “de-facto” bir standart olarak adlandırılmaktadır.

Diğer protokoller ile karşılaştırmak benim düşüncem olarak mantıksızdır. Çünkü her protokol uygulandığı sistemin büyüklüğü ve işlevine göre seçilmelidir. OSPF ve EIGRP’nin dizayn limitlerinin aşılmasından dolayı performans sorunları yaşanabiliyor ancak IS-IS’de bu handikap aşılmış durumda. Bu noktada diyebiliriz ki IS-IS büyük ölçekli ağlarda daha efektif bir IGP protokolüdür. Bunu yazıyı okumaya devam ettikçe daha iyi anlayacaksınız.

IS-IS’i farklı yapan OSI referans modelini referans alarak çalışıyor olmasıdır. IS-IS ile data Connectionless Network Service (CLNS) standardı ile taşınır. Geniş domainler alt domainlere (area’lara veya sub-domain’lere) ayrılarak hiyerarşi/ölçeklendirme sağlanabilir.  Ancak her bir router sadece 1 area’ya ait olabilmektedir.

Yönlendirme bu area’lar içerisinde veya arasında gerçekleşir. Area içerisinde gerçekleşen yönlendirme L1 yönlendirme olarak adlandırılır. Aynı domain içinde bulunan area’lar arasındaki yönlendirme ise L2 yönlendirme olarak adlandırılır. Burada temel 2 tip yönlendirmeden bahsettik aynı şekilde IS-IS yönlendiricileri de Level1, Level2, Level 1/2  olarak 3 ayrı kategoride sınıflandırabiliriz.

(İlave olarak OSI yönlendirmesinde L0 ve L3 yönlendirme de bulunmaktadır. L0 end-system (ES – End Host) ile IS yönlendirici arasında gerçekleşen yönlendirme işlemidir. L3 yönlendirmeyi ise farklı domainler arasında gerçekleşen yönlendirme işlemidir. e-BGP veya farklı domain-id’li OSPF’ler gibi …

L1 Yönlendiriciler: Aynı area içerisinde bulunan yönlendiriciler L1 yönlendiricilerdir. L1 ve L1/L2 yönlendiriciler ile komşuluk kurabilirler. L1 komşuluk kurmanın şartı aynı area içinde olmaktır ve area içi OSPF LSDB’ye benzer bir L1 LSD(Link-state Database) tutarlar. Area dışına gidecek paketler için ise kendisine en yakın L1/L2 yönlendiriciyi tercih ederler.

L2 Yönlendiriciler: L2 yönlendiriciler L2 ve L1/L2 yönlendiriciler ile komşuluk kurarlar. L2 komşuluk için aynı area içinde olma şartı da bulunmaz. L2 yönlendiriciler L1 LSD’den tamamen farklı olarak bir L2 LSD oluştururlar. L2 LSD içerisinde area’lar arası yönlendirmeye ait bilgileri tutarlar. Bu sebeple area içi route bilgisine sahip olmamakla birlikte  sadece area’lar arası yönlendirme bilgilerine sahip olurlar.

L1/L2 Yönlendiriciler: Cisco yönlendiricilerde varsayılan mod olarak L1/2 modu kullanılmaktadır. Bu tip yönlendiriciler L1 ve L2 yönlendirme için 2 farklı LSD oluştururlar ve her bir LSD için ayrı SPF algoritması çalıştırırlar. Bu sebeple de daha fazla CPU ve belleğe ihtiyaç duyarlar.  L1,L2 ve L1/L2 yönlendiriciler ile komşuluk kurabildiklerinden işlevsel olarak OSPF’deki ABR rollü yönlendiricilere benzetebiliriz. Bu yönlendiriciler hem area içi hemde area’lar arası yönlendirme yaptığından omurga (backbone) olarak nitelendirilirler.

kOMSULUKLAR

Resme baktığımızda farklı area’lar arasındaki trafiğin L2 ve L1L2 yönlendiricilerin oluşturduğu bir omurga üzerinden aktığını kolayca anlayabiliriz.

Bu IS-IS domain’in omurgası mavi renk ile sınırlandırılmış mantıksal alandır. Bu omurgayı OSPF’deki backbone area (area 0)’a benzetebiliriz. İşlev aynı ancak konsept birazcık farklı.

Son olarak bu resimde yukarıda açıkladığımız üzere; aynı sub-domain (area) içerisinde bulunan L1L2 router’ların birbiri ile L2 komşuluk kurabildiğini görüyoruz.

Bu noktada IS’ler (IS-IS yönlendiriciler) arası kurulabilecek komşuluklarda ne gibi limitler olabilir kısmına bakalım?  Ufak bir tekrar edelim. Area içerisinde L1 ve L2 komşuluk , area dışına sadece L2 komşuluk kurabiliyoruz. O halde area’ları birbirinden ayıran bir değer mevcut ve biz bu değere Area ID (Identifier) diyoruz.

  • Aynı Area ID’ye sahip L1 IS’ler L1 komşuluk kurabilirler.
  • Farklı Area ID’ye sahip L2 IS’ler L2 komşuluk kurabilirken L1 komşuluk kuramazlar.
  • Aynı Area ID’ye sahip L1 ile L1/L2 IS’ler  L1 komşuluk kurabilirler.
  • Farklı Area ID’ye sahip L2 ile L1/L2 IS’ler L2 komşuluk kurabilirler.
  • L1/L2 IS’ler kendi aralarında aynı Area ID’ye sahip olmak şartı ile L1 ve L2 komşuluk kurabilirler.
  • L1/L2 IS’ler farklı Area ID2ye sahipse sadece L2 komşuluk kurabilirler.

Biraz karmaşık duruyor gibi görünse de aslında son derece basit:

Temelde Area ID aynı ise L1 veya L2 komşu olabilirsin, aynı değilse sadece L2 komşu olabilirsin..IS Level tipi L1 ise sadece L1, L2 ise sadece L2, L1/L2 ise hem L1 hem de L2 komşuluk kurabilirsin.

 

Domain, area ve komşuluk tiplerinden yeterince konuştuk. Biraz işlerin nasıl yürüdüğüne bakalım. Yazının hemen başında OSI Connectionless Network Service kavramını kullanmıştım. Bu kavram ismi üzerinde olduğu gibi “Connectionless” olarak çalışan yani bağlantı odaklı olmayan bir haberleşme mekanizmasıdır. Peki nasıl?

OSI’de her cihaz bir sistem olarak adlandırılır. Yönlendiriciler IS, uç cihazlar ise ES(End System – Host) olarak. Her bir cihaz  “hello” ile varlığını bildirir. IS’ler ISH (IS Hello), ES’ler ise ESH (ES Hello) gönderirler.  Bir Host yönlendiricilerin(IS) varlığını onlardan almış olduğu ISH’lerden anlarken, bir yönlendirici Host’u ondan aldığı ESH ile tespit eder. ES-IS’de paketler bu tespit işlemi sonrası cihazdan cihaza “redirect” edilerek iletilirler. Kullanılan bir ARP,  ICMP gibi bir protokol bulunmamaktadır .  “Connectionless” kavramı bu redirect bazlı iletişimden gelmektedir.

IS’ler arasında iletimde ise önemli bir detay daha var. IS-IS paketleri OSI L3 encapsülasyona tabi tutulmadan L2 olarak enkapsüle ediliyor.

Bildiğimiz yönlendirme protokollerindeki her arayüzde olan ip adresleme mantığı IS-IS’de arayüz bazlı değil yönlendirici bazlı olarak mevcut. Her bir yönlendiricide varsayılan 3, maksimum 234 adet olmak üzere Network Service Access Point (NSAP) adresleri kullanılıyor. NSAP bir IS’nin Area ID’sini , System-ID’sini ve NetSel(NetSelector) bilgisini içeriyor.

Örnek bir NSAP adresi : 

Area ID .System ID.Nsel

49.0003.1111.1111.1111.00

AFI  …   Area ID      ————System ID———-NSEL

 1Byte+2Byte           ———6 Byte—————-2 Byte

Area ID : 1 Byte AFI ve 2 Byte Area ID’den oluşur. Örnek için AFI (Address family) 49 private ağları temsil etmekte. Area ID’si ise 3’tür.

System ID: 6 Byte uzunluktadır. Formatı çok basittir. Örn ip adresimiz 192.168.76.4 olsun. Bunu oktetler içindeki sıfır rakamlarını atlamadan açarak tekrar yazıyoruz: 192.168.076.004 daha sonra NSAP system id formatına alıyoruz. Yani:

1921.6807.6004

System ID’nin her area’ içerisinde eşşiz olması gerekiyor . Hatta bir çok IS-IS dizayn klavuzunda domain’de eşşiz olmasının daha uygun olduğu belirtiliyor.

NSEL (NSAP Selector): NSEL bir nevi service id olarak kullanılıyor. (TCP/IP’de kullanılan port numaraları gibi .) Bu sebeple routing üzerinde bir etkisi bulunmuyor. Yönlendiriciler için bu değerin 00 olması gerekiyor.

Bu kadarlık bu yazıda yeterli olacaktır. Bir sonraki IS-IS makalesinde görüşmek ümidiyle. İyi çalışmalar.

Murat KAYAPINAR
Net. & Sys. Adm.
Electronic Eng.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir