ERETEK
BİLGİ SİSTEMLERİ

STP, RSTP ve MSTP: Kampüs Ağında Döngü Önleme Tasarımı

STP, RSTP, MSTP ve Rapid PVST+ farkı; root bridge yerleşimi, PortFast, BPDU Guard, Root Guard, Loop Guard için Cisco IOS örnekleri ve sahada teşhis sırası.

Bu makalede8 bölüm
Teknik özet
Teknoloji
IEEE 802.1D, 802.1w, 802.1s, IEEE 802.1Q, Cisco PVST+, Rapid PVST+
Konu
Katman 2 döngü önleme protokollerinin karşılaştırılması ve tasarımı
Seviye
Orta–ileri
Ön koşullar
  • VLAN ve trunk kavramlarına hakimiyet
  • Cisco IOS/IOS XE komut satırı deneyimi
  • Kampüs topolojisinin güncel çizimi

Uplink’lerin önünde yanıp sönen ışıklar, CPU’su tavan yapmış switch’ler, telefonları kopan bir kat: kampüs ağında Katman 2 döngüsü böyle görünür. Yedekli bağlantı kurmak kolaydır; zor olan, o yedekliliğin döngüye dönüşmesini engellemektir. Aşağıda STP ailesini (802.1D, 802.1w, 802.1s ve Cisco’nun PVST+/Rapid PVST+ uygulamaları) yakınsama ve ölçek açısından karşılaştırıyor, root bridge yerleşimini ve kenar port korumalarını Cisco IOS örnekleriyle veriyor, topoloji değişikliği sorunlarında konsolda hangi sırayla ilerleyeceğinizi gösteriyoruz.

Katman 2 döngüsü ağı neden çökertir?

Ethernet çerçevesinde IP paketindeki TTL gibi bir alan yoktur. Döngüye giren broadcast, multicast veya hedefi bilinmeyen unicast çerçeve her switch tarafından tüm portlara yeniden basılır ve hiç ölmez. Etkisi saniyeler içinde görülür:

  • Broadcast fırtınası: Uplink’ler kapasiteye dayanır, switch CPU’su kontrol düzlemi trafiğini işleyemez; çoğu zaman SSH oturumunuz da düşer.
  • MAC tablosu kararsızlığı: Aynı kaynak MAC sürekli farklı portlardan öğrenilir. Cisco’da bunun izi %SW_MATM-4-MACFLAP_NOTIF loglarıdır.
  • Çoğaltılmış çerçeveler: Uç cihaz aynı çerçeveyi defalarca alır; ARP ve DHCP tutarsız davranmaya başlar.

Döngülerin çoğu tasarım hatasından gelmez. Toplantı odasına getirilen masaüstü switch’e takılan iki kablo, IP telefonun PC portunun duvar prizine geri bağlanması, yarım bırakılmış bir port kanalı yapılandırması: sahada en sık gördüğümüz tetikleyiciler bunlardır. Bu yüzden STP, yedekli topolojisi olmayan ağda bile açık kalır.

Fırtına başladığında switch’e erişmek bile zordur. Önleme, müdahaleden ucuzdur.

STP, RSTP, MSTP ve PVST+ karşılaştırması

Klasik 802.1D STP, port durumları arasında zamanlayıcılarla geçer: varsayılanlarda Max Age 20 saniye, Forward Delay 15 saniyedir. Dolaylı bir arızada yakınsama 30–50 saniye sürebilir. 802.1w RSTP ise noktadan noktaya bağlantılarda proposal/agreement el sıkışmasıyla portu zamanlayıcı beklemeden forwarding’e alır; alternate port rolü sayesinde root port kaybında yedek yola hemen geçer. RSTP sonradan 802.1D-2004’e, MSTP ise 802.1Q-2005 ile 802.1Q standardına dahil edildi.

Protokol Ağaç sayısı Yakınsama Not
802.1D STP Tek ağaç (CST) 30–50 sn Yalnız eski cihaz uyumluluğu için
PVST+ (Cisco) VLAN başına bir 30–50 sn 802.1D mantığı, VLAN başına
802.1w RSTP Tek ağaç Genellikle saniye altı–birkaç sn VLAN bazlı yük paylaşımı yok
Rapid PVST+ (Cisco) VLAN başına bir RSTP ile aynı VLAN sayısı arttıkça CPU ve BPDU yükü artar
802.1s MSTP Instance başına bir RSTP ile aynı Standart, çok üreticili ortama uygun

Karar pratiktir. Yalnız Cisco switch’lerden oluşan, onlarca VLAN taşıyan bir kampüste Rapid PVST+ yönetimi kolaydır. Farklı üreticilerin switch’leri aynı L2 alanındaysa veya trunk’larda yüzlerce VLAN varsa MSTP’ye geçin. Klasik 802.1D ve PVST+ yeni tasarıma girmez. Hangi modun çalıştığını tahmin etmeyin, show spanning-tree summary ile bakın; varsayılan mod platforma ve yazılım sürümüne göre değişir.

Root bridge yerleşimi ve priority planı

Root, Bridge ID’ye göre seçilir: en düşük priority, eşitlikte en düşük MAC adresi kazanır. Priority 4096’nın katlarıyla ayarlanır, çünkü alt 12 bit extended system ID (VLAN numarası) için ayrılmıştır. Varsayılan 32768 olduğundan switch kurulumu sırasında kimse priority yazmazsa root, MAC’i en düşük cihaza düşer. Bu da çoğu zaman kampüsün en eski erişim switch’idir; bütün trafik o zayıf kutunun üzerinden döner.

Root’u L2 alanının merkezine, yani dağıtım veya collapsed core katmanına sabitleyin. Ağ geçidi yedekliliği (HSRP/VRRP) kullanıyorsanız her VLAN’ın STP root’u ile aktif ağ geçidi aynı cihazda olmalı. Aksi halde trafik iki dağıtım switch’i arasındaki bağlantıyı boşuna dolaşır.

! DIST-SW1: VLAN 10,30,50 için root, VLAN 20,40,60 için yedek root
spanning-tree mode rapid-pvst
spanning-tree vlan 10,30,50 priority 4096
spanning-tree vlan 20,40,60 priority 8192

! DIST-SW2: tersi (VLAN 20,40,60 root, VLAN 10,30,50 yedek)
spanning-tree mode rapid-pvst
spanning-tree vlan 20,40,60 priority 4096
spanning-tree vlan 10,30,50 priority 8192

spanning-tree vlan X root primary makrosu da iş görür; ancak o anki root’a göre bir değer hesaplayıp yapılandırmaya sabit sayı yazar. Değeri açıkça yazmak standart yapılandırma ve denetim için daha öngörülebilirdir. Altı ay sonra konfigürasyona bakan kişi neyin neden root olduğunu ilk satırda görür.

Kenar port korumaları: PortFast ve BPDU Guard

Kullanıcı, yazıcı, IP telefon ve kamera bağlanan erişim portları kenar port olarak işaretlenir. PortFast iki iş yapar: port açılınca listening/learning aşamalarını atlayıp hemen forwarding’e geçer ve durum değişikliğinde topoloji değişikliği (TC) bildirimi üretmez. İkinci etkiyi çoğu kişi bilmez. PortFast’sız bir kampüste her PC açılıp kapandığında MAC tabloları hızlı yaşlandırılır ve gereksiz flooding oluşur.

BPDU Guard, PortFast’ın tamamlayıcısıdır: kenar porttan BPDU gelirse port err-disabled olur. Kullanıcının taktığı switch topolojiye katılamaz, root adayı olamaz.

! Global: tüm PortFast portlarda BPDU Guard
spanning-tree portfast bpduguard default
! Yeni IOS XE sürümlerindeki eşdeğeri:
! spanning-tree portfast edge bpduguard default

interface range GigabitEthernet1/0/1 - 44
 switchport mode access
 switchport access vlan 10
 spanning-tree portfast

! İsteğe bağlı otomatik kurtarma (5 dakika)
errdisable recovery cause bpduguard
errdisable recovery interval 300

Root Guard ve Loop Guard ne zaman kullanılır?

İkisi sık karıştırılır. Farklı arızalara karşı korurlar ve aynı portta birlikte kullanılamazlar.

Root Guard

Dağıtım switch’inin erişim katmanına bakan designated portlarına yazılır. Bu porttan mevcut root’tan daha iyi (superior) bir BPDU gelirse port root-inconsistent durumuna alınır ve superior BPDU kesilene kadar trafik taşımaz. Amaç, erişim katmanına eklenen düşük priority’li bir cihazın root rolünü çalmasını engellemektir. Root Guard’ı root port olması gereken uplink’e yazarsanız normal topolojiyi kendi elinizle bozarsınız.

Loop Guard

BPDU alması beklenen portlara, yani root ve alternate portlara yazılır. Tek yönlü bir fiber arızasında karşı taraftan BPDU gelmez; korumasız alternate port bunu “yol temiz” diye yorumlar, designated’a geçer ve döngü kurulur. Loop Guard bu durumda portu loop-inconsistent durumunda tutar. Fiber uplink’lerde UDLD (Cisco) ile birlikte kullanılması yaygındır.

Tek yönlü fiber nadir değildir. Kirli bir konnektör yeter.

! DIST-SW1: erişim switch'lerine bakan portlar
interface range TenGigabitEthernet1/1/1 - 8
 spanning-tree guard root

! ACCESS-SW: dağıtıma giden uplink'ler (root/alternate portlar)
spanning-tree loopguard default
! veya port bazında:
interface TenGigabitEthernet1/1/1
 spanning-tree guard loop

MSTP bölge ve instance tasarımı

MSTP’de switch’ler bir bölge (region) içinde aynı ağaçları paylaşır. İki switch’in aynı bölgede sayılması için üç parametre birebir aynı olmalıdır: bölge adı, revizyon numarası ve VLAN–instance eşlemesi. Tek bir VLAN farkı switch’i ayrı bölgeye düşürür. Bölge sınırında yalnız IST (instance 0) bilgisi taşınır ve planladığınız yük paylaşımı çalışmaz.

Tasarımda dikkat edilecekler:

  • Instance sayısını gerçekten farklı topoloji gereken yol sayısı kadar tutun. İki dağıtım switch’li bir kampüste genellikle iki instance yeter: biri DIST-SW1, diğeri DIST-SW2 root olacak şekilde.
  • Henüz oluşturulmamış VLAN’ları da baştan bir instance’a eşleyin. Eşleme sonradan değişirse tüm switch’lerde aynı anda değiştirmeniz gerekir ve geçiş anında bölge bölünür.
  • Instance 0’ın (IST) root’unu da açıkça belirleyin; instance 0’a eşlenen VLAN’lar ve bölge dışı iletişim onun üzerinden yürür.
  • Standart bir bölgede en fazla 64 MSTI tanımlanmasına izin verir; platformların desteklediği instance sayısı ve kullanılabilen instance numarası aralığı model ve yazılım sürümüne göre değişir. Çok üreticili bölgede en kısıtlı cihazın sınırını esas alın ve platformun yapılandırma kılavuzundan doğrulayın.
spanning-tree mode mst
spanning-tree mst configuration
 name KAMPUS-A
 revision 3
 instance 1 vlan 10,30,50,100-199
 instance 2 vlan 20,40,60,200-299
!
spanning-tree mst 0 priority 4096
spanning-tree mst 1 priority 4096
spanning-tree mst 2 priority 8192

show spanning-tree mst configuration digest

show spanning-tree mst configuration digest çıktısındaki digest değeri bölgedeki tüm switch’lerde aynı olmalıdır. Çok üreticili ortamda ilk karşılaştırılacak değer budur. Digest farklıysa bölge de farklıdır.

Topoloji değişikliklerinin teşhisi

“Ağ birkaç saniyede bir takılıyor” şikayeti geldiğinde ilk şüphelilerden biri sürekli tekrarlanan topoloji değişiklikleridir. Her TC, MAC tablosunun boşaltılmasına ve kısa süreli flooding’e yol açar. Kaynağı bulmak için TC sayacını ve son değişikliğin geldiği portu izleyip zinciri root’a doğru takip edin. Konsolda bakılacak sıra:

show spanning-tree summary
show spanning-tree root
show spanning-tree detail | include ieee|occurr|from|is exec
show spanning-tree inconsistentports
show interfaces status err-disabled
show errdisable recovery
show logging | include SPANTREE|MACFLAP

show spanning-tree detail çıktısındaki “Number of topology changes … last change occurred … ago from GigabitEthernet1/0/14” satırı, değişikliğin hangi porttan geldiğini söyler. O porta bağlı switch’e geçip aynı komutu tekrarlayın. Zincirin sonunda genellikle PortFast tanımlanmamış ve sürekli açılıp kapanan bir uç cihaz portu ya da fiziksel olarak hatalı bir uplink çıkar.

Sahada en sık karşılaştığımız hatalar:

  • Root’un planlanmamış olması ve bir erişim switch’ine düşmesi.
  • Kenar portlarda PortFast olmadığı için sürekli TC üretilmesi.
  • MSTP bölgesinde tek bir switch’te VLAN eşlemesinin farklı olması.
  • Root Guard’ın uplink root portuna uygulanması.
  • BPDU Guard’ın kapattığı portun sebebi bulunmadan açılması.
  • Çok üreticili ortamda Rapid PVST+ ile MSTP sınırının nasıl davrandığının test edilmemesi.

Döngü önleme, segment planından ayrı düşünülemez. VLAN yapısı için kurumsal ağda VLAN tasarımı rehberine, STP’ye bağımlılığı azaltan yaklaşımlar için switch stack, MLAG ve vPC karşılaştırmasına, uplink’leri port kanalında birleştirmek için LACP ve EtherChannel yapılandırma yazısına bakın. Root yerleşimi ve L2 alanının boyutu katman mimarisine bağlıdır; bu kararı üç katmanlı ve collapsed core karşılaştırması ele alıyor. MSTP ve RSTP davranışının normatif tanımı IEEE 802.1Q standardındadır; çalışma grubunun sayfası IEEE 802.1 adresindedir.

Mevcut kampüste root yerleşimini, guard özelliklerini ve MSTP bölge tutarlılığını denetletmek isterseniz VLAN, routing ve ağ segmentasyonu hizmetimiz bu kontrolü kapsar.

Sık sorulan sorular

Rapid PVST+ ile MSTP arasında nasıl seçim yapmalıyım?

Tek üreticili, VLAN sayısı makul ve her VLAN için ayrı topoloji kontrolü isteyen kampüste Rapid PVST+ yönetimi daha basittir. Çok üreticili ortamda veya trunk’larda yüzlerce VLAN taşınıyorsa MSTP doğru seçimdir: standarttır ve VLAN’ları az sayıda instance’a toplar.

Erişim switch’lerinde priority değerini değiştirmeli miyim?

Gerek yok; varsayılan 32768 kalsın. Asıl iş çekirdek veya dağıtım switch’lerine açıkça düşük priority yazmak ve root’un tesadüfen bir erişim switch’ine düşmesini engellemektir.

BPDU Guard bir portu kapattı, ne yapmalıyım?

Önce porta bağlı cihazı bulun; çoğu zaman masaya getirilmiş küçük bir switch veya yanlış kablolanmış bir cihazdır. Sebep ortadan kalkmadan portu açmayın. Port shutdown ve no shutdown ile ya da errdisable recovery süresi dolunca yeniden açılır.

STP’yi tamamen kapatmak mümkün mü?

Teknik olarak mümkün, önerilmez. Stack, MLAG veya vPC ile tüm uplink’ler aktif-aktif çalışsa bile STP güvenlik ağı olarak açık kalmalıdır. Yanlış bir kablo veya hatalı port kanalı tek başına döngü kurar; storm control fırtınanın etkisini sınırlar ama döngüyü kendiliğinden kesen temel mekanizma STP’dir.

Teknik özet
Teknoloji
IEEE 802.1D, 802.1w, 802.1s, IEEE 802.1Q, Cisco PVST+, Rapid PVST+
Konu
Katman 2 döngü önleme protokollerinin karşılaştırılması ve tasarımı
Seviye
Orta–ileri
Ön koşullar
  • VLAN ve trunk kavramlarına hakimiyet
  • Cisco IOS/IOS XE komut satırı deneyimi
  • Kampüs topolojisinin güncel çizimi
Eretek uzman desteği

Bu konuyu kendi altyapınızda birlikte ele alalım.

Önce mevcut yapıyı inceliyoruz; ardından riskleri ve uygulanabilir adımları içeren yazılı bir plan çıkarıyoruz.