Spanning Tree Protocol (STP), Ethernet tabanlı ağlarda döngü (loop) oluşumunu önlemek amacıyla geliştirilen bir Katman 2 (veri bağlantı katmanı) protokolüdür. 1985 yılında Dr. Radia Perlman tarafından geliştirilen STP, IEEE 802.1D standardı ile tanımlanmıştır. Bu protokol, LAN içerisindeki yedekli bağlantıları kontrol altına alarak sadece bir aktif yolun kullanılmasını sağlar ve böylece yayın fırtınası (broadcast storm), MAC adres tablosu tutarsızlıkları ve sürekli çerçeve döngüleri gibi sorunları engeller.
Çalışma Prensibi
Bir ağda birden fazla switch yedekli olarak birbirine bağlandığında, olası döngüleri önlemek için STP devreye girer. STP, bu döngüleri önlemek amacıyla geçici olarak bazı bağlantıları bloke eder. Bu süreç şu adımlardan oluşur:
- Root Bridge Seçimi: Tüm switch’ler BPDU (Bridge Protocol Data Unit) göndererek Bridge ID bilgilerini paylaşır. En düşük Bridge ID’ye sahip switch, Root Bridge olarak belirlenir.
- Yol Metriklerinin Hesaplanması: Root Bridge’e olan yolların mesafesi hesaplanır ve her switch kendi Root Port’unu seçer.
- Port Rolleri ve Durumları: Root Port (RP), Designated Port (DP), Alternate ve Blocked portlar atanır.
- Loop Engelleme: Gereksiz yollar devre dışı bırakılarak döngüsüz bir ağ topolojisi sağlanır.
Port Rolleri ve Durumları
Port Rolü | Açıklama |
Root Port | Root Bridge’e en kısa yol olan port. Sadece bir adet olabilir. |
Designated Port | Ağ segmentine veri göndermek için seçilen port. |
Blocked Port | Döngüyü engellemek amacıyla trafiğe kapatılır. |
Alternate Port | Yedek bağlantıdır. Aktif hale gelmek için bekler. |
Portlar şu durumlara sahip olabilir: Blocking, Listening, Learning, Forwarding ve Disabled.
STP Türleri
STP (IEEE 802.1D – Standart STP)
Orijinal Spanning Tree Protocol’dür. Ağ döngülerini önlemek için tüm portlar için durum geçişlerini sırasıyla uygular. Yeniden yapılandırma süresi oldukça uzundur (30-50 saniye). Küçük ağlar için uygundur ancak günümüzde yaygın olarak kullanılmaz.
Senaryo Kullanımı:
- Döngü riskinin düşük olduğu basit yapılı ağlarda.
- Modern switch’lerde nadiren kullanılır.
RSTP (IEEE 802.1w – Rapid Spanning Tree Protocol)
STP’nin daha hızlı versiyonudur. BPDU yapısını geliştirerek portlar arası geçiş sürelerini ciddi oranda azaltır. 802.1D ile geriye dönük uyumludur. Port geçiş süreleri birkaç saniyeye kadar düşürülebilir.
Senaryo Kullanımı:
- Orta ve büyük ölçekli kurumsal ağlarda.
- Daha hızlı hata toparlama gerektiren ortamlarda.
- VLAN segmentasyonu gerekmeyen durumlar.
MSTP (IEEE 802.1s – Multiple Spanning Tree Protocol)
MSTP, VLAN’ların benzer topolojilerde gruplandırılarak her grup için ayrı bir STP örneği oluşturulmasına olanak tanır. Bu sayede VLAN bazlı yük dengeleme yapılabilir. MSTP, RSTP’ye dayanır ve onun hızlı geçiş avantajlarını sunar.
Senaryo Kullanımı:
- Yüzlerce VLAN içeren büyük kurumsal kampüs ağlarında.
- VLAN’lara göre trafik dağılımının gerektiği durumlarda.
- Yük dengeleme amacıyla VLAN gruplarının topolojik olarak ayrılması gereken ağlar.
PVST+ (Per VLAN Spanning Tree Plus)
Cisco tarafından geliştirilmiştir. Her VLAN için ayrı bir STP örneği oluşturur. Böylece her VLAN için farklı Root Bridge belirlenebilir. Cisco cihazlarda varsayılan olarak etkin olabilir. Yalnızca Cisco cihazlar arasında çalışır.
Senaryo Kullanımı:
- Cisco ağı kullanan yapılarda VLAN başına ayrı trafik yönetimi isteniyorsa.
- Her VLAN için bağımsız topoloji yapılandırılması gereken ortamlarda.
Rapid PVST+
PVST+’nin RSTP ile birleştirilmiş halidir. Hem VLAN bazlı yönetim hem de hızlı yeniden yapılandırma imkanı sunar. Port geçiş süreleri oldukça düşüktür.
Senaryo Kullanımı:
- Cisco tabanlı büyük ağlar.
- VLAN’lara göre ayrıntılı trafik kontrolü gereken hızlı ağlar.
STP Yapılandırma ve Uygulama
Cisco ve Meraki gibi üreticilerde STP yapılandırmaları cihazların CLI veya GUI arayüzleri üzerinden yapılabilir. Root Bridge atamaları genellikle "bridge priority" değeri değiştirilerek gerçekleştirilir. Daha düşük priority değeri verilen switch Root Bridge olarak seçilir. Bu sayede ağ yöneticileri Root Bridge’in konumunu ve dolayısıyla veri akışını kontrol altına alabilir. Ayrıca Meraki gibi sistemlerde STP, ağda anormal port davranışları tespit edildiğinde otomatik olarak bazı portları bloklayarak müdahalede bulunabilir. Bu, özellikle Layer 2 döngülerin fiziksel olarak düğüm değişimiyle ortaya çıktığı senaryolarda önemlidir.
Kullanım Avantajları ve Dezavantajları
Avantajları
- Layer 2 döngüleri engeller.
- Broadcast storm, MAC flapping gibi sorunları önler.
- Hata durumunda yeniden yapılandırma yapar (özellikle RSTP ve MSTP’de hızlıdır).
Dezavantajları
- Klasik STP’de yavaş toparlanma süreleri.
- Gereksiz bağlantıların yedek olarak kalması (verimsizlik).
- VLAN sayısı arttıkça PVST+ gibi yapıların yönetimi karmaşıklaşabilir.