Spanning Tree Protocol (IEEE 802.1D)

0
1575
views
Ethernet ağları, herhangi iki cihaz arasında tek bir yola sahip, döngüsüz bir topoloji gerektirir. Ancak kesintileri azaltmak ve erişilebilirliği iyileştirmek için yedekli yapılar kurulur. Yedekli bir ağ doğru kurgulanmazsa döngüye sebep olabilir. Bundan kurtulmanın yolu cihazlardan birinin kapanması veya bağlantılardan birinin kopmasıdır.  

Şekil 1: Ağda meydana gelen döngü

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

 

Şekil 1’de yedekli bir network yapısı gözükmektedir. Böyle bir yapıda switchler arasındaki kablolardan birinde veya switchlerden birinde sorun olsa bile iletişim diğer kablo ve switch üzerinden devam edecek ve kesintiye uğramayacaktır. Ancak burada çözülmesi geren bazı sorunlar vardır. Kesinti yokken veri iletişimi hangi kanallardan gerçekleşecek? Paketlerin döngüye girmemesi nasıl sağlanacaktır?

Şimdi biraz detaya inelim.

  • Örneğin PC1, Switch 1 in MAC adresi tablosunda bulunmayan bir adresle iletişim kurmak istediğinde Switch 1 yapısı gereği bu MAC adresini kendisine bağlı olan Switch 2 ve Switch 3 cihazlarına sorar.
  • Switch 2 cihazı üzerinden gidersek; Switch 2 kendisine gelen sorguyu kendi MAC adresi tablosunda arar, eğer yoksa bu sorguyu kendisine bağlı olan Switch 4’ e gönderir.
  • Switch 4 kendisine gelen sorguyu kendi MAC adresi tablosunda arar, eğer yoksa bu sorguyu kendisine bağlı olan Switch 3’ e gönderir.
  • Switch 3 kendisine gelen sorguyu kendi MAC adresi tablosunda arar, eğer yoksa bu sorguyu sorgunun ilk yapıldığı ve kendisine bağlı olan Switch 3’ e gönderir.
  • Switch 1 MAC adresini öğrenemediğinden dolayı sorguyu tekrar kendisine bağlı olan Switch 2 ve Switch 3 cihazlarına sorar.

 

ARP ve DHCP gibi broadcast framelerinin yaşam süresi (TTL) olmadığı için ağ üzerinde sonsuz bir döngü (broadcast storm) oluşur. Bundan kurtulmanın yolu cihazlardan birinin kapatılması veya bağlantılardan birinin kopmasıdır.

Bu ve benzeri sorunları ortadan kaldırmak için 1985 yılında Radia Perlman tarafından Spanning Tree Protocol (STP) geliştirilmiştir ve daha sonra IEEE tarafından standardize (802.1D) edilmiştir.

STP çalıştıran switchler, BPDU (Bridge Protocol Data Units) frameleri ile kendileri ve bağlantıları hakkında bilgi paylaşırlar. Spanning Tree Algoritması (STA), switchler tarafından iki saniyede bir gönderilen BPDU çerçeveleri ile, Root brigde’i, Root portları, Designated portları ve Alternated portları seçerek Spanning Tree’yi oluşturur. STA, herhangi bir döngü olup olmadığını belirledikten sonra topolojideki tüm döngüleri ortadan kaldırmak için gerektiği kadar çok bağlantı noktasını sadece BPDU paketleri geçecek şekilde devre dışı bırakır veya engeller.

Ağdaki aktif yollardan birinde bir sorun oluşursa BPDU paketleri bunu hızlı bir şekilde tespit ederek daha önce STP tarafından engellenen bağlantı noktası yeniden etkinleştirecektir. Bu, STP’nin yedeklilik ve hata toleransını korumasını sağlamaktadır.

 

A) Döngüsüz bir topoloji nasıl oluşturulur?

STP öncelikle Root Bridge olarak adlandırılan cihazı belirler. Ardından diğer cihazlardan bu cihaza giden yolların maliyetini (cost) hesaplar. Yapılan maliyet hesabına göre portların rolleri belirlenir.

STP dört aşamalı bir süreç işleterek döngüsüz bir topoloji oluşturur.

  • Root bridge (Kök köprü) seçme
  • Root portları (Kök bağlantı noktaları) seçme
  • Designated portları (Belirlenmiş bağlantı noktaları) seçme
  • Alternated (blocked) portları ((Alternatif (engellenen) bağlantı noktaları) seçme

 

A.1) Root Bridge Seçme

BPDU çerçevesi, Bridge ID ve Root ID değerlerini içerir. İlk başta, tüm switchler Root ID olarak kendilerini seçer. Daha sonra switchler arasındaki BPDU değişimi ile en düşük Bridge ID değerine sahip olan cihaz Root Bridge olarak seçilir.

Bridge ID (BID) içinde Bridge Priority ve MAC adresi bulunur. Cisco cihazlarda Bridge priority değeri varsayılan olarak 32768 olarak gelir, ancak bu değer istenirse değiştirilebilir. Bridge Priority değeri sadece 0 ile 61440 arasında verilebilir ve verilecek değer 4096’nın katları (0, 4096 8192, …, 61440) olabilir. Priority değeri en düşük olan switch Root Bridge olarak seçilir. Eğer hiçbir switch üzerinde priority değeri değiştirilmemişse MAC adresi en küçük olan switch Root Bridge olarak seçilir.

Cisco cihazlarda Bridge Priority değeri varsayılan olarak 32768 olmasına rağmen sorgu yapıldığında VLAN1 için 32769 değeri gözükür. Bunun sebebi priority değerinin her VLAN için ayrı ayrı hesaplanmasıdır. Örneğin VLAN10 için bu değer 32868 olacaktır.

 

A.2) Root Port, Designated Port ve Alternated Port Seçme

Root Bridge belirlendikten sonra her Switch Root Bridge’e giden en kısa yolu bulmaya çalışır. En kısa yolu bulmak için switchler arasındaki yol maliyeti dikkate alınır. Yol maliyeti hattın hızına bağlıdır.

Hız Maliyet
10 Mbps 100
100 Mbps 19
1 Gbps 4
10 Gbps 2

Tablo 1: Bağlantı Maliyeti

 

Şekil 2: Root Bridge, Root Port, Designated Port ve Blocked Port

 

Şekil 2′ de Priority değeri 100 olan iki switch olmasına rağmen SwitchA’nın MAC adresi daha küçük olduğu için Root Bridge olarak SwitchA seçilmiştir.

Root Bridge’e en düşük maliyetle giden port Root Port olarak seçilir. Şekilde tüm portlar aynı hızda olduğu için port başına maliyet 4’tür.

  • SwitchB Root Bridge’e 4 veya 16 maliyetle gidebilir. 4 maliyetli port Root Port seçilir. Diğer port ise Designated Port olarak seçilir.
  • SwitchC Root Bridge’e 4 veya 16 maliyetle gidebilir. 4 maliyetli port Root Port seçilir. Diğer port ise Designated Port olarak seçilir.
  • SwitchD Root Bridge’e 8 veya 12 maliyetle gidebili0r. 8 maliyetli port Root Port seçilir.
  • SwitchE Root Bridge’e 8 veya 12 maliyetle gidebili0r. 8 maliyetli port Root Port seçilir.

 

Designated Port, BPDU’ları iletmekten sorumludur. İki port designated Port olmaya uygunsa, bir döngü oluşacağından döngüyü ortadan kaldırmak için portlardan biri engelleme durumuna alınır. Root Bridge’a bağlı bütün portlar designated porttur ve hiçbir zaman engellenmez. Designated Port seçimi Root Port seçimine benzer şekilde maliyete göre seçilir. Root port veya designated port olarak seçilmeyen herhangi bir bağlantı noktası, engelleme durumuna alınacaktır.

Bu nedenle, Root Bridge’e direk bağlı SwitchB ve SwitchC bağlantı noktaları Designated Port olarak seçilir. SwitchB ve SwitchD arasındaki ve SwitchC ve SwitchE arasındaki ağ bölümleri de Designated Port olarak seçilir. SwitchD ve SwitchE arasındaki iki bağlantı noktasıda Designated Port olmaya aday olduğundan dolayı STA bir döngü olduğunu kabul eder ve portlardan birini Designated olarak seçecek ve diğerini engelleyecektir.

Maliyeti düşük olan port Designated diğeri Blocked olarak seçilecektir. Hem SwitchD hem de SwitchE, o segmentteki Root Bridge’e ulaşmak için 12 yol maliyetine sahiptir. En düşük priority değeri eşitlik bozucu olarak kullanılır. SwitchD’nin önceliği 100’dür ve SwitchE’nin varsayılan önceliği 32768’dir. Bu yüzden SwitchD üzerindeki port, Designated port olacaktır. SwitchE üzerindeki port ise engelleme durumuna alınacaktır.

Root Bridge seçiminde olduğu gibi, öncelikte bir eşitlik varsa, eşitlik bozucu olarak en düşük MAC adresi kullanılır.  

 

B) Diğer IEEE STP Çözümleri ve Farkları

Protokol IEE Standart Kaynak İhtiyacı Yakınsama Ağaç Sayısı
STP 802.1D Düşük Yavaş 1 tane
RSTP 8021.W Orta Hızlı 1 tane
MSTP 802.1S Orta Hızlı Her çoklu VLAN için 1 tane

Tablo 2: IEEE Spanning Tree Protokolleri

 

STP topolojisinin stabil duruma kavuşup bütün portların rollerine uygun olarak çalışmaya başlama durumuna Yakınsama (Convergence) denir. Yakınsama işlemi tamamlanana kadar network üzerinde veri iletimi tamamen durur. STP’de bir topoloji veya konfigürasyon değişikliğinden sonra haritanın yeniden çıkarılması (yakınsama) işlemi 30sn-50sn arasında gerçekleşir. Günümüzde bu kadar uzun bir gecikme süresi kabul edilemez.

IEEE 802.1D standardında geliştirmeler yapılması sonucu IEEE 802.1W (RSTP- Rapid Spanning Tree Protocol) ortaya çıkmıştır. STP’ye göre daha fazla kaynak tüketmesine rağmen çok daha hızlı bir yakınsama yapar. RSTP, STP’de olmayan Backup port (Yedek port) kullanımına izin verir. Backup port aynı cihazda daha az maliyetli BPDU paketi alınması ile engellenmiş şekilde seçilen porttur.

VLAN’ların gruplandırılmasının yapıldığı ve her bir grup için RSTP’nin çalıştırıldığı 802.1S (MSTP- Multiple Spanning Tree Protocol) IEEE tarafından geliştirilmiştir. MSTP ile yüksek yedeklilik ve yük dengeleme sağlanabilir. Daha fazla yapılandırma gereklidir ve uygulanması kolay değildir.  

 

C) STP ile Aradaki Adam Atağı Yapılabilir mi?

Saldırganlar Spanning Tree Protocol’ünü manipüle ederek kendi bilgisayarlarını Root Bridge olarak gösterebilirler. STP manipülasyon saldırısı gerçekleştirmek isteyen bir saldırgan STP hesaplamasını zorlayacak konfigürasyon ve topoloji değişiklikleri içeren BPDU’lar yayınlar. Saldırgan Root Bridge olmak için daha düşük bir Priority değeri yayınlar.

Şekil 3: STP ile Ortadaki Adam Saldırısı

 

Başarılı olursa, Şekil 3’ te gösterildiği gibi Root Bridge olur ve araya girerek trafiği dinler.  

 

Kaynaklar:

https://www.routeralley.com/guides/stp.pdf https://www.geeksforgeeks.org/introduction-of-spanning-tree-protocol-stp/ https://www.netacad.com/courses/networking/ccna-bridging https://www.youtube.com/watch?v=FujW-nrzRI0

 

Pentist: Sızma Testleri ve Bilgi Güvenliği Danışmanlık Hizmetleri

CEVAP VER

Yorumunuzu giriniz
İsminizi giriniz

Bu site, istenmeyenleri azaltmak için Akismet kullanıyor. Yorum verilerinizin nasıl işlendiği hakkında daha fazla bilgi edinin.