Spanning Tree Protocol (STP)

Posted: 11 Mayıs 2011 in Switch

Spanning-Tree switchlerin haberlesmesi sirasinda olusabilecek döngüleri (loop) önleyen bir protokoldür.Spanning-Tree genel olarak switchler üzerinde loop u dynamic olarak önler, ve cisco switchlerde default olarak enable durumdadir. Protocol networklerde loop’a neden olabilecek portlari block duruma alarak çalisir. Her hedefe sadece bir yolun aktif olarak çalismasini saglar.

Sekildeki yapida switchler kendilerine gelen ve hedef adresi bilinmeyen paketleri diger tüm portlarindan flood edeceklerdir.Cat 1 ve Cat 2 swtichleri 1/1 portlarina gelen frameleri flood edecek ve ayni frameleri ½ portlarindan alacaklardir , ½ portundan aldigi bu frame’leri 1/1 portlarindan flood edecek, yine diger portlardan alacak bu böyle durmadan devam edecek.

Durmadan devam etmekten kasit , Switchler’in cpu degerleri zamanla artacak ve bir süre sonra hizmet veremeyecek duruma geleceklerdir.Peki neden belirli bir süre sonra durmuyor ?

Bu sorunun cevabi çok açik ; Ethernet frameleri TTL (Time to live) alanina sahip degiller. Diyelimki siz internette bir yere icmp ping paketi gönderdiniz.Bu paket her geçtigi next-hop ta ttl degerini 1 azaltacaktir.

Ancak  switchler de bu gecerli degildir, hizmet veremeyene kadar yada siz loop’a neden olan durumu ortadan kaldirmadikca problem devam edecektir.“ Switchler broadcast geçirirler “. Bu söz stp den konusurken hiç unutulmamasi gereken bir söz olmalidir.O halde bunu biraz açmakta yarar var.

Broadcast , Multicast, Unicast ve çok sik duymadigimiz Anycast bu kavramlari bir çogumuz biliyoruz ancak bilmeyen okuyucularimizinda olabilecegini düsünürek bu kavramlari izah edecegim. 

Broadcast genel anlamiyla yayin yapmak olarak kullanilir.Broadcast adresi switchler için : FFFF:FFFF:FFFF:FFFF dir Switchler broadcast geçirirler ve kendilerine gelen broadcastleri bütün portlarina gönderirler.

  Sekilde Host A’nin bir Arp requestte bulundugunu varsayalim , Host B ye veri gönderecek ama Mac Adress-Table ‘ inda Mac adresi yok bu yüzden arp request gönderiyor.Arp request frameleri broadcast çalisirlar.Dolayisiyla bu frame leri alan her 2 switch de bu frame ‘ leri bütün portlarindan ileteceklerdir.1 numarali portlar ortadaki Hub vasitasiyla birbirlerine bagli yani burada bir yol var, ayni zamanda Switch ler bu yapida A diye isimlendirilmis portlardanda bagli yani buradada bir yol var toplam 2 yol var .Switchler “1” portlarindan ve “A “ isimli portlardan broadcastleri yayinlayacaklar ve farkli portlarindan yeniden alacaklar e döngü (loop ) baslayacak.Bu durum Broadcast Storm olarak bilinir.

Stp network de bir referans noktasi olusturur ve bu referans noktasindan hareketle eger yukaridaki yapidaki gibi birden fazla yol varsa , en iyi yol seçimini yapar.Bu referans noktasina Root Bridge denir.

Spanning-Tree içerisinde Root Bridge ( Root Switch ) sistemi yöneten bridge dir.Bütün switchler networke ilk dahil olduklarinda kendilerini root bridge olarak görürler .Switchler haberlesme için birbirlerine Bpdu adi verilen paketler gönderirler.Networke ilk dahil olduklarinda da Bpdu ( Bridge Protocol Data Unit ) paketi içerisindeki Root Id kismina kendi Bridge id lerini yazarlar.

Ortamdaki en küçük Bridge id’ ye sahip bridge Root Bridge dir.

Bpdu paketi içerisinde bizim için önemli olan 2 paketten bahsedelim.Bunlardan biri bridge priority , bir digeride birdge’in  Mac Addresidir.

Bpdu paketleri her 2 sn de bir diger switchlere gönderilir .
Bridge Id ; Bridge Priority ve Mac Adress inden olusur ve 8 Bytedir.

Bridge Priority  default olarak 32768 degerindedir ve bizim tarafimizdan manuel olarak degistirilebilir.Root id leri ayniysa Root Bridge seçimi için Mac Adress bilgisine bakacaklardir.Mac Adresi en küçük olan Bridge  Root Bridge olacaktir.

Spanning Tree Çalisma Prensibi

1) Root Bridge seçimi yapilir
2) Switchlerin Root Portlari belirlenir.
3) Switchlerin Designated Portlari belirlenir
4) Diger Portlar Block durumda olacaklardir.

Root Bridge seçimini tamamladik , simdi Switchlerde Root Portlar nasil seçilir bundan bahsedelim.

Root Portlar her switch için 1 tane olabilir ve Root bridge e olan yakinligina göre bir port root port olur.Burada yakinliktan kastettigim cost degeridir.Cost degeri 2 switch arasindaki hattin hiziyla orantili olup sabit degerlerle ifade edilir.

1000/Bandwith olarak hesaplanir ancak, IEEE nin çok kullanilan bant genislikleri için yayinladigi cost degerleri asagidaki tablodaki gibidir.


Root bridge
’e cost u en düsük olan root port olacaktir.Switch root bridge e 2 yoldan erisiyor ve costlari esit oldugu bir durumda ise ; switchin port id sine bakilir.Port numarasi küçük olan port ( örnek ; Fastethernet 0/1 port numarasi Fastethernet 0/2 den küçüktür.) Root port olacaktir.Bir Birdge üzerinde yalnizca bir tane Root port olabilir.

Sekildeki yapida Root Bridge hangisi olacaktir.3 Bridge imiz var ve Bridge Id leri BID= 31.768.XXXX seklinde 3 bridge için de bize sunulmus.Daha önce belirttigimiz gibi Bridge Id si en küçük olan Bridge Root Bridge olacaktir.Yani Cat-A Root Bridge dir .Simdiye kadar Root Bridge seçimini ve Root Port seçimlerini ögrendik , Stp nin çalismasindaki 4 adimdan 3.sü yani  Designated port seçimlerinde sira. olacaktir.Designated port seçimine geçmeden önce bir kavrami açiklamakta yarar görürüyorum.

Segment ; 2 switch arasindaki yola segment adini veriyoruz.

Designated port seçimi yaparken   her segment için  yalnizca bir tane designated port olacagini unutmamaliyiz.Ayrica Root Bridge in tüm portlari Designated Port durumundadir ve forwarding state olmalidir.(Stp statelerinde ayrintili anlatilacaktir.) . Designated port bir switch için birden fazla olabilir.(Root Port yalnizca 1 tane olabiliyordu ) Bu bilgiler isiginda artik Designated portlarimizi belirleyebiliriz.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s