STP (Spanning Tree Protocol) Nedir?

STP (Spanning Tree Protocol) Nedir?

Bu blog yazısında Bilgisayar Ağlarında en sevdiğim konulardan biri olan STP konusundan bahsedeceğim.

Bir ağda birden fazla switch kullanıldığında, performansı ve sürekliliği artırmak için genellikle yedekli bağlantılar kurulur. Ancak bu yedeklilik, doğru şekilde yönetilmezse ağın tamamen kilitlenmesine neden olabilecek loop (döngü) problemlerini ortaya çıkarır. İşte tam bu noktada STP (Spanning Tree Protocol) devreye girer.

STP, ağ topolojisini analiz ederek döngü oluşturabilecek bağlantıları mantıklı bir şekilde pasif hâle getiren, bağlantı koptuğunda ise yedek yolları otomatik olarak devreye alan hayati bir protokoldür. Bu yazıda STP’nin ne olduğunu, neden gerekli olduğunu, nasıl çalıştığını ve port atamalarını herkesin anlayabileceği şekilde detaylıca ele alacağız.

Bir ağda birden fazla switch varsa ve bu switch’ler birden fazla kabloyla birbirine bağlıysa, çok ciddi bir problem ortaya çıkar:

Bir veri paketi, Switch A’dan çıkar, Switch B’ye gider, Oradan tekrar Switch A’ya döner, ve bu sonsuza kadar devam eder

Sonuç olarak, ağ trafiği kilitlenir, broadcast storm oluşur, CPU ve bant genişliği tükenir, ağ çökebilir. İşte STP, bu döngüleri otomatik olarak tespit edip engellemek için vardır.

STP, ağdaki en mantıklı ve döngüsüz yolu hesaplar, gereksiz bağlantıları geçici olarak kapatır, bir kablo koparsa yedek yolu otomatik açar. STP 3 ana adımda çalışır:

1. Root Bridge (Kök Köprü) Seçimi

    Ağdaki tüm switch’ler kendi aralarında konuşur ve şunu sorar. “Bu ağın lideri kim olacak?” Bu aşamada seçim kriteri: Bridge ID’dir. Bridge ID, bir switch’in STP’deki kimlik kartıdır. En küçük Bridge ID’ye sahip switch , Root Bridge olur. Bridge ID iki ana bileşenden oluşur:

    Bunlardan birisi, Priority (Öncelik Değeri)’dir. Varsayılan değer: 32768’dir. Küçük değer, daha yüksek önceliklidir. 4096’nın katları şeklinde ayarlanır (0, 4096, 8192, …). Diğeri MAC Adresidir. Yani Switch’in fiziksel donanım adresi. Priority değerleri eşitse, MAC adresi küçük olan kazanır. Yani Bridge ID = Priority + MAC Adresi şekinde formülize edilir. 32768.00:1A:2B:3C:4D:5E şeklinde bir ID olabilir.

    Root Bridge, ağın merkezi referans noktasıdır ve tüm portları otomatik olarak aktif (designated) olur

    2. Root Port (Kök Port) Seçimi

    Root Bridge dışındaki her switch, Root Bridge’e en kısa yolu bulmaya çalışır. Bu en iyi yolun bulunduğu porta Root Port denir. STP, Path Cost (Yol Maliyeti) kullanır. En düşük maliyeti hesaplarken aşağıdaki tablo kullanılır.

    HızMaliyet
    10 Mbps100
    100 Mbps19
    1 Gbps4
    10 Gbps2

    Her switch’te, sadece 1 Root Port olabilir. Root Bridge’te Root Port yoktur

    3. Designated Port (Atanmış Port) ve Blocked (Alternatif) Port Seçimi

    Her network segmentinde (iki switch arası bağlantı) şu soru sorulur: “Bu segmentten Root Bridge’e kim daha yakın?” Cevap: En düşük root path cost’a sahip port yani Designated Port. Trafiği segmentten root’a doğru iletir.  Aktif durumdadır (Forwarding)

    Eğer bir port, Root Port değilse ve Designated Port değilse Blocked (Engellenmiş) Port olur. Döngüyü önlemek için bu port engellenir.  Trafik iletmez.  Sadece STP mesajlarını dinler (Listening). Bu port yedektir. Aktif bağlantı koparsa otomatik açılır. Yani kısaca:

    Port TürüGöreviDurumu
    Root PortRoot Bridge’e en kısa yolForwarding
    Designated PortSegmentten root’a çıkışForwarding
    Blocked PortDöngüyü önlerBlocking

    Bir port şu aşamalardan geçer.

    • Blocking: Trafik iletmez, Döngü kontrolü yapar
    • Listening: STP hesapları yapılır
    • Learning: MAC tablosu öğrenilir
    • Forwarding: Veri iletimi başlar
    • Disabled: Manuel kapalı

    Tüm bu işlemler yaklaşık ~30–50 saniye sürebilir.

    Sonuç olarak; STP, modern ağların gizli kahramanıdır. STP, ağlarda sessizce çalışan bir sigorta gibidir; varlığı fark edilmez ama yokluğu, saniyeler içinde tüm sistemi felç eder.

    Comments

    No comments yet. Why don’t you start the discussion?

    Bir yanıt yazın

    E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir