Spanning Tree Protocole Neden ihtiyaç duyuyoruz ?
Switchlere gelen broadcast paketleri bilindiği üzere gelen interface dışında tüm portlardan gönderilir. Aşağıdaki şekilde de görüldüğü üzere switchlerin her bir portu kendine gelen broadcast paketini yayın yaptığı zaman oluşan duruma broadcst storms(broadcast fırtınası) denilmektedir.
Ethernet framelerinde bilindiği gibi TTL(time to live) yok. Bu yüzden paketler sürekli bir döngü içerisine girmektedir.
Bu broadcest storms olduğu bir yerde iki interface den gönderilen aynı broadcast packet in aynı portlardan tekrar gelmesi durumuna multible frame transmission (en altttaki iki switch)deniliyor.
Multible Frame Transmission olayında mac adresi tablosuda sapıtıyor.Broadcast paketinde source mac kayıtlı ve bir switch iki portundan broadcast yaptığında karşıdaki switch aynı paketi bir a portundan bir b portundan aldığı zaman sürekli ben bu switchle a portundan konuşcam diye mac adresi tablosuna yazacak. sonra b portundan bir paket geldiğinde b portundan konuşcam diye yazacak ve sanki switchin portunu biri sürekli söküp takıyor gibi yapacaklar ve switch sapıtacak.
İşte STP tüm bu problemlerin önüne geçilmek için kullanıyoruz. STP nin yaptığı olay mantıksal olarak bir portun devre dışı bırakılması olayıdır. Böylece tüm yukarda saydığımız olumsuzlukların önüne geçmiş olacağız.
STP nin Standardı ise IEEE802.1D dır.
Peki bu switchlerin hangi portunun kapatılacağına switch nasıl karar veriyor ?
Bu seçimleri yaparken switchler 2 sn de bir BPDU mesajı gönderirler birbirlerine bu paketin içerisinde kendi mac adres bridge id gibi veriler vardır. Bu veriler sayesinde aşağıdaki seçim işlemleri gerçekleştirilir.
1. Önce root bridge seçiyorlar.(Mahallenin muhtarı gibi her portu açık rootu ben yapacağım diyor)
2. Diğer switchler root bridge en yakın portunu seçiyorlar.
3.Destigneted port belirleniyor.Yani bir segmentteki açık port belirleniyor. diğer port ise ya root port yada bloking port oluyor.
4.Diğer segmentler(iki switch arasındaki baglantı yolu) ise bridge priority sine göre bir portunu bloke ediyor
Bloke edereken Bridge id si küçük olan porta göre bloke ediliyor ancak defaultta bridge id ler 32768 geliyor. Böyle bir durumda ise mac adresi küçük olanı seçiyorlar.
Şimdi bir örnek üzerinde STP nin nasıl çalıştığını inceleyelim.
1. İnterfacelerin hızları ile ilgili bir hesap yapılmaktadır. Bu hesaplama biçimine cost hesabı deniliyor. Rout Bridge olan switche giden en kısa yola bağlı port rout porttur. Öncelikle rout portları belirliyoruz.
segmentlerin arasındaki port hızlarına göre cosh değerleri yukardaki resimdeki gibidir.
2. İkinci belirleyeceğimiz şey destignated port(açık port forwarding yapabiliyor) bu port her segmentin bir portudur. Bu portu da priorty değeri büyük olan porttur. Eğer aynı ise bu kez de mac adresi küçük olan porttur.
3. Diğer portlar ise blocking portlardır.
Her segmentte bir adet destignated port bulunmaktadır. Diğer port ya rout porttur yada blocking porttur.
Şimdi STP protokolünün cisco tarafından geliştirmiş olduğu bir STP protokolü var. Per Vlan Spening Tree (PVST+) bunu inceleyelim
Cisco performansı artırmak ve switchleri daha verimli kullanmak adına her bir vlan için STP protokolünü farklı root bridge switchlere yönlendirerek çalıştırmayı başarmış ve bu olaya PVSTP demiştir.
Aşağıda ki şekilde daha net görülmektedir.
Yukarda şekilde de görüldüğü gibi her bir vlan farklı switch üzerinden route ediliyor. Bu olaya da PVST deniliyor.
Show komutları:
#Show spanning-tree vlan1 ile vlan 1 spanning treesini görebiliriz.
sw
Bir switchi root switch yapmak için girilmesi gerekn komut
Aşağıda ise hangi switchte hangi vlanı root yapmak istiyorsak girmemiz gereken komut
config# spanning-tree vlan 1 root primary => bu switchte vlan 1 i root switch yaptık
Secondery switch de belirlemek gerekir çünkü primary öldüğü zaman secondery üzerinden akacaktır trafik
Şimdi switchlerde İki özellik var PortFast ve BPDU Guard bunları inceleyelim.
PortFast=Switchin Portun sadece erişim portu olduğunu belirtiyoruz. Böylece sadece bu porttan pc bağlayacağım demek oluyor. Böyle demediğim zaman porta bir pc de bağlasak Switch önce BPDU paketleri ile onun switch mi pc mi olduğunu anlamak için 30 sn bekler. Bunu engellemek için yani 30 sn beklememek için port fast yapıyoruz.
PBDU Guard ise: Port fast dediğimiz porttan eğer swich bağlanırsa bu BPDU Guard bekçisi hemen devreye girerek loop u engeller.
configuration:
config#interfasce fastethernet 0/1
spanning-tree portfast
spanning-tree bpduguard enable
Tek tek interfacelerin altında değilde trunk olmayan tüm access portlarında portfast ve bpdu guard ı açmak için aşagıdaki komutu giriyoruz.
config#spanning-tree portfast bpduguard
spenning -tree portfast default
dememiz gerekiyor.
Show komutları ise
show running-config interface fastethernet 0/1
show spanning tree interface fastethernet 0/1 portfast