7/12/2008 - STP - Spanning Tree Protocol - Layer 2 Switching
LAYER 2 SWITCHING
Layer 2 switching teknolojisi donanıma dayalıdır. Bu nedenle host üzerindeki
MAC adresini kullanarak networkü filtreler. Switchlerde filter tablolarını oluşturmak
için ASIC (Application Specific Integrated Circuits) yöntemini kullanırlar.cisco
switchlerde default olarak enable durumdadir.
Layer 2 switch aygıtları paketleri (frame) donanım adreslerine göre gönderdikleri
için hızlıdırlar. Layer 2 özelliklerini şu şekilde özetleyebiliriz:
Donanım temelli köprü (bridging) / Hız / Düşük maliyet.
LAYER 2 SWITCH FONKSİYONLARI
Layer 2 switching sürecinde üç işlem yerine getirilir:
Adres öğrenme (address learning)
Yönledirme / filtreleme (forward/filtering)
Döngü önleme (loop avaidance)
Adres öğrenme işlemi her paketin MAC adresinin bir MAC veritabanına tutulmasıyla
sağlanır. Yönlendirme işlemi ise alına paketin hedef adresinin bulunmasını sağlar.
Döngü önleme özelliği ise, switchler arasında birden çok bağlantının olduğu
durumlarda fazlalık (redundancy) oluşursa, bu özellik döngüyü önler. Döngü önlemede
STP (Spanning Tree Protocol) kullanılır.
STP (Spanning Tree Protocol)
STP (Spanning Tree Protocol), DEC tarafından geliştirilmiş ve IEEE tarafından
802.1 olarak kabul edilmiş bir protokoldür. STP'nin ana görevi Layer 2 networklerinde
oluşan döngüleri durdurmaktır. STP sürekli olarak networkü izler ve gereksiz
hatları kapatarak döngü oluşmamasını sağlar.
STP network üzerindeki bütün bağlantıları bulur ve fazla (gereksiz) bağlantıları
kapatır. Bu işlem network üzerinde bir root bridge seçilmesiyle olur. Bir networkte
yalnız bir root bridge vardır. Diğer swtichler ise nonroot bridge olarak adlandırılır.
SWITCH' ler hiç bir yönlendirme protokolu kullanmazlar, Her switch BPDU (
Bridge Protocol Data Unit ) mesajı yayını yaparak kendisinin root olduğunu söyler,
önceliği düşük olan root seçilir, eşittlik durumunda ise düşük ID' li (veya
düşük MAC adrese sahip olan) olan Root seçilir. Root olan switch' in tüm portları
her zaman açıktır ve yedek bağlantıları ve asıl bağlantıları belirler.
NOT: If version 12.0 is used, enter the following:
Switch(config)# spanning-tree priority 1
Switch(config)# exit
Bpdu paketleri her 2 sn de bir diğer switch' lere gönderilir .
Bridge Id ; Bridge Priority ve Mac Adress inden oluşur ve 8 Bytedir.

Bridge Priority default olarak 32768 degerindedir ve bizim tarafimizdan manuel
olarak degiştirilebilir. Root id leri aynıysa Root Bridge seçimi için Mac Adress
bilgisine bakacaklardır.Mac Adresi en küçük olan Bridge Root Bridge olacaktır.
Spanning Tree çalışma prensibi içerisinde 4 adımdan bahsedebiliriz bunlar
;
Root Bridge seçimi yapılır
Switch' lerin Root Portları belirlenir.
Switch' lerin Designated Portları belirlenir.
Diğer Portlar Block durumda olacaklardır.
Root Bridge seçimini tamamladık, şimdi Switchlerde Root Portlar nasıl seçilir
bundan bahsedelim.
Root Portlar her switch için 1 tane olabilir ! ve Root bridge e olan yakınlığına
göre bir port root port olur.Burada yakınlıktan kastettigim cost degeridir.
Cost degeri 2 switch arasındaki hattın hızıyla orantılı 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üşük olan root port olacaktır. Switch root bridge
e 2 yoldan erişiyor ve costlari eşit olduğu bir durumda ise ; switchin port
id' sine bakılır.Port numarası küçük olan port ( örnek ; Fastethernet 0/1 port
numarası Fastethernet 0/2 den küçüktür.) Root portolacaktır.Bir Birdge üzerinde
yalnızca bir tane Root port olabilir

Şekildeki yapıda Root Bridge hangisi olacaktır.3 Bridge imiz var ve Bridge
Id leri BID= 31.768.XXXX seklinde 3 bridge için de bize sunulmuş. Daha önce
belirttigimiz gibi Bridge Id' si en küçük olan Bridge Root Bridge olacaktır.Yani
Cat-A Root Bridge dir .
Şimdiye kadar Root Bridge seçimini ve Root Port seçimlerini ögrendik , Stp
nin çalışmasındaki 4 adımdan 3.sü yani Designated port seçimlerinde sıra olacaktır.
Designated port seçimine geçmeden önce bir kavramı açıklamakta yarar görürüyorum.
Segment ; 2 switch arasındaki yola segment adını veriyoruz.
Designated port seçimi yaparken her segment için yalnızca bir tane designated
port olacagını unutmamalıyız. Ayrıca Root Bridge in tüm portları Designated
Port durumundadır ve forwarding state olmalıdır.(Stp statelerinde ayrıntılı
anlatılacaktır.) . Designated port bir switch için birden fazla olabilir.(Root
Port yalnızca 1 tane olabilir).
Bu bilgiler ışıgında artık Designated portlarımızı belirleyebiliriz.

Şekilde Mac adress degerleri verilmiş Switchler den Cat-A Root Bridge olacaktır.
Bridge priority degerleri default , Mac Adress’i en küçük olan Root Bridge olacaktır.
Buna göre Cat-A için daha önce belirttigimiz gibi tüm portları Designated olacağıdan
Segment 1 ve Segment 2 için Designated portlarımızı belirlemiş olduk. Bir segmentte
yalnızca 1 tane Designated port olacagını biliyoruz.
Segment 1 ve Segment 2 ye baktıgımızda Cat-B ve Cat-C için Switch' lerinin
1/1 interfaceleri Root Port olmalıdır. Segment 3 için 1 tane Designated port
olmalıdır. Burada Root port olamaz çünkü her iki Switch içinde Root portlar
belirlendi. Bir switch üzerinde yalnızca 1 tane Root port olacağı bilgisini
hatırlayalım. Cat-B Mac adresi Cat-C swithine göre daha küçük oldugu için Cat-B
switch’inin ½ portu Segment 3 için Designated Port olacak ve Cat-C Switchinin
½ portuda Non-Designated port durumunda olacaktır.
Kontrol Komutları:
Switch# show spanning-tree
Switchler 4 farklı çalışma modunda olabilirler.Yani Spanning-Tree çalışan
switchler 4 farklı modda olabilirler.
Bunlardan ilki Blocking mod ;
Switch bu moddayken port kapalı olarak düşünebiliriz (Switching loop engellenir)
ancak unutmamalıyizki bu modda switch her 2 sn aralıklarla hello paketlerini
alacaktır ve eğer 20 sn hello paketi alamazsa bir sonraki mod olan listening
moduna gececektir.
Listening modunda switch bu moddan sonraki adımlara geçip geçemeyecegine karar
verir learning ve Forwarding modlarına geçebilir veya Blocking duruma geri dönebilir
bu mod içerisinde 15 sn bulunur ve devam ederse bir sonraki mod olan Learning
moduna geçecektir
Learning modunda switch dinleme yapar diyebiliriz (iletişim olmaz) ve Mac
address table ini oluşturur bu moddada 15 sn kaldıktan sonra Forwarding moduna
geçecektir.
Forwarding modunda switch artık diger switchlerle haberleşme halinde( frame
alımı ve gönderimi yapılır). Forwarding modu için söyleyecegimiz kritik bir
not Root Bridge in bütün portları her zaman forwarding durumda olacaktır.
özetleyecek olursak bu 4 Mod :
1.Blocking
2.Listening
3.Learning
4.Forwarding
Switch' lerde Stp ile çalışırken cok sık karşınıza çıkacak 3 kavramdan bahsedecegim.
Bunlar Stp Timers ‘ lar.
Hello Time : Bridge’ler tarafindan Bpdu paketlerinin 2 sn aralıklarla gönderileceginden
bahsetmiştik.
Forward Delay : Forwarding state’ e geçilmeden önceki Listening ve Learning
statelerinde geçen süredir.30sn dir.
Max Age Time : Bpdu paketleri default olarak 2 sn de bir gönderildigini biliyoruz.Bu
Bpdu’ lar 20 sn süreyle saklanir.20 sn içerisinde Switch Bpdu paketi alamazsa
Forwarding moddan Listening moda geçer.
Bpdu mesajları Blocking modda da alınır.Aksi takdir de forwarding durumdaki
bir port Blocak oldugunda , daha önce Block durumdaki port Bpdu alamazsa durumdan
haberi olmayacak ve haberleşme sağlanamayacaktır.
Toplamda spaning tree Blocking moddan Forwarding mod a kadar 50 sn süre içerisinde
çalışacaktır.Switch – Switch bağlantıları için bu süre kaçınılmazdır.Ancak ;
Switch' in diğer portlarına baglı bir host için hostun bu süreyi beklemesi zorunlu
değildir. Bunun için switchler de portfast komutu çalıştırılır. Bu komutu global
konfigurasyon modunda kullanabilecegimiz gibi interface altındada kullanabiliriz.Global
konfigurasyon modunda kullanılması önerilmez.
Switch(config)#interface fastethernet 0/1
Switch(config-if)#spannig-tree portfast
Bu komutla interface’e uygulanabilir ve buraya Bpdu paketleri gitmeyecektir.
PVST (Per VLAN Spanning Tree)
Switch' lerde de Vlan lar kullanılması durumunda spanning tree nasıl çalışacak
bizim bunun için neler yapmamız gerektigine bir göz atalım.
Networkumuz de vlan lar olabilir ve biz her vlan için ayrı bir root bridge
atayabiliriz. Bu durum Switchlerde PVST (Per Vlan Spanning-Tree) olarak ifade
edilir ve global konfigurasyon modunda ;
“Switch(config)#spanning-tree mode pvst “ komutuyla enable edilir.
“ Switch(config)#spanning-tree vlanid root priority “ . Bu komutu uyguladagımız
switch bu vlan id ( vlan numarası ) için root bridge olacaktir ve yine yukarıda
yazdigımiz her şey bu switch portları ve bu vlan için geçerli olacaktır.
Vlan bazında stp uygulamak yani PVST uygulamak bize bir swith üzerindeki bir
portun devamlı olarak block durumda olmasını engellemek açısından faydali olacaktır.
Ayrıca ;
“ Switch(config)#spanning-tree vlanid root secondary “ komutuyla switch belirtilen
vlan id için backup bridge olarak çalıştırılabilir.
Spaning Tree Switchlerde biz bir şey yapmasakda çalışır ama bunları Spanning-Tree’
yi bizim yönetebilmemiz için yani ona hükmetmek için bilmemiz gerektigini düşünüyorum.
|