eNSP - Spanning Tree Protokolü (STP) ve LACP
- melihcelenk
- Site Admin
- Mesajlar: 212
- Kayıt: 05 Eki 2021, 03:23
eNSP - Spanning Tree Protokolü (STP) ve LACP
Switch'ler birbirlerine birden fazla kabloyla bağlanabilir. Örneğin iki switch'i 3 kabloyla bağlayıp yedek yollar oluşturabiliriz. Bu 3 kablonun 2'sini tek bir kabloymuş gibi sanal olarak birleştirerek bant genişliğini artırabilir, diğer kabloyu da yedek olarak kullanabiliriz.
Birden fazla switch cihazının olduğu bir yerel alan ağı düşünelim. Bunlar birbirlerine şekildeki gibi yedek yollarla bağlı olsun. Herhangi bir bilgisayar, bir diğerine birçok farklı yoldan gidebilir ve bir switch arızalandığında diğer yolu kullanabilir. Ancak tıpkı bir döner kavşakta sürekli döner gibi döngüye de girebilir. STP tek bir aktif bağlantı kalması amacıyla bazı portları engeller. Hedeften kaynağa giden en iyi yolu seçer.
STP olmadığında şekildeki gibi bir ağda özellikle broadcast yapıldığında yüklü bir trafik oluşur ve iletişim oldukça yavaşlar. Yönlendiricilerde TTL değeri olduğundan bir sınır vardır ve sonsuz bir döngüye giremez. Ancak switch'lerde böyle bir yapı yoktur.
Örneğin şekildeki gibi PC1'den PC3'e bir paket gönderilecek olsun. STP'nin olmadığını düşünürsek şöyle bir döngü olabilir:
PC1 ➜ LSW2: LSW2'de hedef MAC adresi yok. Kaynak port haricindeki tüm portlara yönlendir. (Aktif olan port GE 0/0/20 ile LSW3)
LSW2 ➜ LSW3: LSW3'te hedef MAC adresi yok. Kaynak port (GE 0/0/20) hariç bütün portlara yönlendir. LSW1'e ve LSW4'e yönlendirme yapılır.
LSW3 ➜ LSW1: LSW1'de hedef MAC adresi yok. Kaynak port (GE 0/0/24) hariç bütün portlara yönlendir. LSW4'e yönlendir. [LSW1 -> LSW4]
LSW3 ➜ LSW4: LSW4'te hedef MAC adresi yok. Kaynak port (örneğin GE 0/0/1) hariç bütün portlara yönlendir. Burada diğer portlar üzerinden tekrar LSW3'e ve LSW1'e yönlendirme yapılır.
[LSW4➜LSW3], [LSW4➜LSW3], [LSW4➜LSW1] gibi yönlendirmelerle geriye dönmeye başlar ve bu bir kısır döngü hâlinde devam edebilir.
STP bunu engeller ve PC1'den PC3'e giderken izlenecek yolun hangisi olacağına karar verir.
STP bunu şu şekilde yapar:
Yedek olan portları bloklayarak tek bir yol belirler. Örneğin LSW3 ile LSW4 arasındaki 3 yoldan biri aktifken aktif olan yol bozulduğunda switch yedek portlardan birini devreye sokar.
Huawei ve Cisco switchlerde STP varsayılan olarak açıktır. Yani doğrudan şekildeki topolojiyi kurduğumuzda ve konfigürasyon yapmadığımızda yukarıda bahsedilen sorunlarla karşılaşmayız.
Şekildeki topolojiyi kurup PC1 (192.168.1.11/24) ve PC3'e(192.168.1.13) IP atayalım. Henüz hiçbir cihaz diğerinin mac adresini bilmiyorken PC1'den PC3'e ping attığımızda switch'lerin mac adres tablosunu tek tek inceleyelim.
LSW2, LSW3, LSW4 ve LSW5'in hem PC1, hem PC2'nin mac adreslerini öğrendiğini görüyoruz.
LSW1'e baktığımızda ise sadece LSW3 üzerinden broadcast mesajıyla PC1'in mac adresini öğrendiğini, ancak PC3'ün mac adresini bilmediğini görüyoruz.
Kök Köprü(Root Bridge): STP'nin aktif olduğu ağda bir tane kök köprü (root bridge) vardır. Bunlar BDPU (Bridge Protocol Data Unit) çerçeveleri ile yapılır.
Port Rolleri
Root port(Kök port): Kök köprüye en yakın bağlantı noktasıdır. Kök köprülerde doğal olarak böyle bir port bulunmaz.
Alternate port (Alternatif port): Kök köprüye alternatif bir yol sağlar. Bu, root port'tan farklı bir yoldur.
Designated port(Belirlenmiş Port): Bir switch cihazındaki designated port, BDPU'ları kök köprüye kendisinden daha uzakta bulunan switch'lere iletir.
CIST (Common and Internal Spanning Tree) bütün switchleri birbirine bağlar.
Kök Switch Seçme
Şekildeki topolojiyi kuralım. Bilgisayarlarımıza 192.168.0.x 255.255.255.0 IP adreslerini ve 192.168.0.1 varsayılan ağ geçidini verelim. Cihazları Start butonu ile başlatalım.
İlk amacımız kök switch'i bulmak. Daha sonra başka bir switch'i kök switch olarak ayarlamayı göreceğiz.
Herhangi bir switch'e çift tıklayalım. Örneğin LSW4'ün terminaline girelim.
Görüldüğü üzere GE 0/0/1 portu root portu, yani root switch'e giden en kısa yol bu porttan geçiyor.
GE 0/0/11 ise alternatif olarak tanımlanmış, yani root switch'e gidilebilecek alternatif bir yol olarak seçilmiş. Diğerlerinin ise Designated Port olduğunu görmekteyiz.
Şimdi kök switch'i bulmak için LSW4'ün GE 0/0/1 portunun diğer ucuna bağlı LSW1 switch'inin terminaline girip aynı şekilde display stp brief yazalım.
Görüldüğü üzere Gigabit Ethernet 0/0/3 portu root switch'e götüren yol olarak tanımlı ve diğerlerinin rolü Designated olarak seçilmiş.
Şimdi de LSW1'in GE 0/0/3 portunun diğer ucuna bağlı LSW3 switch'inin terminaline girip aynı şekilde display stp brief yazalım.
Görüldüğü üzere bütün portların rolü DESI şeklinde. Buradan root switch'in bu olduğunu anlıyoruz.
Şimdi LSW1 ve LSW3'ün terminaline
LSW1'de CIST Root ve CIST Bridge kısımlarının farklı olduğunu görmekteyiz. LSW3'te CIST Bridge ve CIST Root/ERPC kısımlarının aynı olduğuna dikkat edelim. Buradan root switch'in LSW3 olduğunu anlamaktayız.
Şimdi kök switch'i değiştirmeden önce LSW5'in terminalinde yine display stp brief yazalım ve inceleyelim.
Görüldüğü üzere GE 0/0/1 portu root'a götüren port olarak tanımlanmış. GE 0/0/4 ve GE 0/0/14 portları ise root'a gidilebilecek alternatif yollar olarak seçilmiş ve GE 0/0/24 de designated olarak seçilmiş.
Kök switch'i değiştirmeden önce görünüş olarak simetrik olan topolojinin her iki tarafından ping gönderelim.
PC3'ten PC2'ye, PC5'ten PC4'e ping gönderdiğimizde neler olduğuna bakalım.
Görüldüğü üzere kök switch'e yakın olan tarafta gecikme daha düşükken daha uzak olan tarafta neredeyse iki katı bir gecikme var.
Şimdi
Biraz bekleyelim ve aynı ping işlemini tekrar yapalım.
Artık benzer gecikmeler olduğunu görmekteyiz.
------------------
LACP
Şimdi yukarıda bahsettiğimiz gibi iki bağlantıyı tek bir bağlantı gibi çalışacak şekilde birleştirelim. Fiziksel bağlantı noktalarını mantıksal kanala dönüştürmek için LACP (Link Aggregation Control Protocol-Bağlantı Noktası Birleştirme Kontrol Protokolü) kullanılır.
Eth-Trunk: Bir diğer adıyla Ethernet link aggregation (Ethernet bağlantı toplama), bant genişliğini cihazı yükselterek artırmak yerine birden fazla fiziksel bağlantıyı tek bir bağlantıymış gibi mantıksal olarak birleştirir.
Şimdi LSW4 ile LSW5 arasındaki iki kablonun tek bir kanal gibi çalışmasını sağlayalım.
LSW4 için konfigürasyon
Önce
Şimdi system-view ile sistem moduna geçtikten sonra
LSW5 için konfigürasyon
Aynı komutları sadece portları değiştirerek ekran üzerinde görelim.
şimdi tekrar
Her iki switch'te de görüntüdeki gibi portlar doğru ve Eth-Trunk23 içinde ise artık bu iki kanal, tek kanal gibi hareket edecektir. LSW5 ve LSW6 arasına daha sonra yeni bir kablo daha ekleyip bunun da yedek olmasını sağlayabiliriz. Böylece oluşturduğumuz kanalda bir arıza meydana geldiğinde sistem çalışmaya devam edecektir. Diğer kanallar da aynı şekilde birleştirilip yeni bir kablo eklenebilir.
Örneğin LSW5'in GE 0/0/20 portundan LSW4'e bir kablo bağlayalım. Trunk yaptığımız portlar artık Eth-Trunk23 olarak görülecektir.
Görüldüğü üzere daha önceki iki port Eth-Trunk23 olarak birleşti ve onunla birlikte yeni eklediğimiz GE 0/0/20 portu root'a giden alternatif bir yol olarak tanımlanmış oldu.
Artık konfigürasyon yaptığımız bütün cihazlara dönüp save komutunu kullanabiliriz. Aksi takdirde yaptıklarımız cihazlar kapanıp açıldığında silinmiş olacaktır.
LSW1, LSW4 ve LSW5 için konfigürasyon dosyaları aşağıdadır. Diğerleri üzerinde bir konfigürasyon yapmadık. Switch'ler yönlendiriciler gibi konfigürasyonun zorunlu olduğu cihazlar olmadığı için direkt kullanılabilir. Konfigürasyon yapılan switch'lere ait .cfg dosyalarını sağ tıklayıp Import Config butonuna tıklayarak kullanabilirsiniz.
Huawei cihazlarda Eth-Trunk hakkında daha fazla bilgi için:
https://support.huawei.com/enterprise/e ... 1100090434
Bu bölümde bahsedilmeyen MSTP için:
https://support.huawei.com/enterprise/e ... ts-of-mstp
https://www.tp-link.com/us/configuratio ... onId=18218
STP hakkında daha detaylı bilgi için:
https://bidb.itu.edu.tr/seyir-defteri/b ... kolü-(stp)
Birden fazla switch cihazının olduğu bir yerel alan ağı düşünelim. Bunlar birbirlerine şekildeki gibi yedek yollarla bağlı olsun. Herhangi bir bilgisayar, bir diğerine birçok farklı yoldan gidebilir ve bir switch arızalandığında diğer yolu kullanabilir. Ancak tıpkı bir döner kavşakta sürekli döner gibi döngüye de girebilir. STP tek bir aktif bağlantı kalması amacıyla bazı portları engeller. Hedeften kaynağa giden en iyi yolu seçer.
STP olmadığında şekildeki gibi bir ağda özellikle broadcast yapıldığında yüklü bir trafik oluşur ve iletişim oldukça yavaşlar. Yönlendiricilerde TTL değeri olduğundan bir sınır vardır ve sonsuz bir döngüye giremez. Ancak switch'lerde böyle bir yapı yoktur.
Örneğin şekildeki gibi PC1'den PC3'e bir paket gönderilecek olsun. STP'nin olmadığını düşünürsek şöyle bir döngü olabilir:
PC1 ➜ LSW2: LSW2'de hedef MAC adresi yok. Kaynak port haricindeki tüm portlara yönlendir. (Aktif olan port GE 0/0/20 ile LSW3)
LSW2 ➜ LSW3: LSW3'te hedef MAC adresi yok. Kaynak port (GE 0/0/20) hariç bütün portlara yönlendir. LSW1'e ve LSW4'e yönlendirme yapılır.
LSW3 ➜ LSW1: LSW1'de hedef MAC adresi yok. Kaynak port (GE 0/0/24) hariç bütün portlara yönlendir. LSW4'e yönlendir. [LSW1 -> LSW4]
LSW3 ➜ LSW4: LSW4'te hedef MAC adresi yok. Kaynak port (örneğin GE 0/0/1) hariç bütün portlara yönlendir. Burada diğer portlar üzerinden tekrar LSW3'e ve LSW1'e yönlendirme yapılır.
[LSW4➜LSW3], [LSW4➜LSW3], [LSW4➜LSW1] gibi yönlendirmelerle geriye dönmeye başlar ve bu bir kısır döngü hâlinde devam edebilir.
STP bunu engeller ve PC1'den PC3'e giderken izlenecek yolun hangisi olacağına karar verir.
STP bunu şu şekilde yapar:
Yedek olan portları bloklayarak tek bir yol belirler. Örneğin LSW3 ile LSW4 arasındaki 3 yoldan biri aktifken aktif olan yol bozulduğunda switch yedek portlardan birini devreye sokar.
Huawei ve Cisco switchlerde STP varsayılan olarak açıktır. Yani doğrudan şekildeki topolojiyi kurduğumuzda ve konfigürasyon yapmadığımızda yukarıda bahsedilen sorunlarla karşılaşmayız.
Şekildeki topolojiyi kurup PC1 (192.168.1.11/24) ve PC3'e(192.168.1.13) IP atayalım. Henüz hiçbir cihaz diğerinin mac adresini bilmiyorken PC1'den PC3'e ping attığımızda switch'lerin mac adres tablosunu tek tek inceleyelim.
LSW2, LSW3, LSW4 ve LSW5'in hem PC1, hem PC2'nin mac adreslerini öğrendiğini görüyoruz.
LSW1'e baktığımızda ise sadece LSW3 üzerinden broadcast mesajıyla PC1'in mac adresini öğrendiğini, ancak PC3'ün mac adresini bilmediğini görüyoruz.
Kök Köprü(Root Bridge): STP'nin aktif olduğu ağda bir tane kök köprü (root bridge) vardır. Bunlar BDPU (Bridge Protocol Data Unit) çerçeveleri ile yapılır.
Port Rolleri
Root port(Kök port): Kök köprüye en yakın bağlantı noktasıdır. Kök köprülerde doğal olarak böyle bir port bulunmaz.
Alternate port (Alternatif port): Kök köprüye alternatif bir yol sağlar. Bu, root port'tan farklı bir yoldur.
Designated port(Belirlenmiş Port): Bir switch cihazındaki designated port, BDPU'ları kök köprüye kendisinden daha uzakta bulunan switch'lere iletir.
CIST (Common and Internal Spanning Tree) bütün switchleri birbirine bağlar.
Kök Switch Seçme
Şekildeki topolojiyi kuralım. Bilgisayarlarımıza 192.168.0.x 255.255.255.0 IP adreslerini ve 192.168.0.1 varsayılan ağ geçidini verelim. Cihazları Start butonu ile başlatalım.
İlk amacımız kök switch'i bulmak. Daha sonra başka bir switch'i kök switch olarak ayarlamayı göreceğiz.
Herhangi bir switch'e çift tıklayalım. Örneğin LSW4'ün terminaline girelim.
komutunu girelim. Yukarıda gördüğümüz port rollerini birazdan ROOT, DESI, ALTE şeklinde göreceğiz.display stp brief
Görüldüğü üzere GE 0/0/1 portu root portu, yani root switch'e giden en kısa yol bu porttan geçiyor.
GE 0/0/11 ise alternatif olarak tanımlanmış, yani root switch'e gidilebilecek alternatif bir yol olarak seçilmiş. Diğerlerinin ise Designated Port olduğunu görmekteyiz.
Şimdi kök switch'i bulmak için LSW4'ün GE 0/0/1 portunun diğer ucuna bağlı LSW1 switch'inin terminaline girip aynı şekilde display stp brief yazalım.
Görüldüğü üzere Gigabit Ethernet 0/0/3 portu root switch'e götüren yol olarak tanımlı ve diğerlerinin rolü Designated olarak seçilmiş.
Şimdi de LSW1'in GE 0/0/3 portunun diğer ucuna bağlı LSW3 switch'inin terminaline girip aynı şekilde display stp brief yazalım.
Görüldüğü üzere bütün portların rolü DESI şeklinde. Buradan root switch'in bu olduğunu anlıyoruz.
Şimdi LSW1 ve LSW3'ün terminaline
yazalım.display stp
LSW1'de CIST Root ve CIST Bridge kısımlarının farklı olduğunu görmekteyiz. LSW3'te CIST Bridge ve CIST Root/ERPC kısımlarının aynı olduğuna dikkat edelim. Buradan root switch'in LSW3 olduğunu anlamaktayız.
Şimdi kök switch'i değiştirmeden önce LSW5'in terminalinde yine display stp brief yazalım ve inceleyelim.
Görüldüğü üzere GE 0/0/1 portu root'a götüren port olarak tanımlanmış. GE 0/0/4 ve GE 0/0/14 portları ise root'a gidilebilecek alternatif yollar olarak seçilmiş ve GE 0/0/24 de designated olarak seçilmiş.
Kök switch'i değiştirmeden önce görünüş olarak simetrik olan topolojinin her iki tarafından ping gönderelim.
PC3'ten PC2'ye, PC5'ten PC4'e ping gönderdiğimizde neler olduğuna bakalım.
Görüldüğü üzere kök switch'e yakın olan tarafta gecikme daha düşükken daha uzak olan tarafta neredeyse iki katı bir gecikme var.
Şimdi
komutu ile LSW1'i kök switch yapalım.stp root primary
Biraz bekleyelim ve aynı ping işlemini tekrar yapalım.
Artık benzer gecikmeler olduğunu görmekteyiz.
------------------
LACP
Şimdi yukarıda bahsettiğimiz gibi iki bağlantıyı tek bir bağlantı gibi çalışacak şekilde birleştirelim. Fiziksel bağlantı noktalarını mantıksal kanala dönüştürmek için LACP (Link Aggregation Control Protocol-Bağlantı Noktası Birleştirme Kontrol Protokolü) kullanılır.
Eth-Trunk: Bir diğer adıyla Ethernet link aggregation (Ethernet bağlantı toplama), bant genişliğini cihazı yükselterek artırmak yerine birden fazla fiziksel bağlantıyı tek bir bağlantıymış gibi mantıksal olarak birleştirir.
Şimdi LSW4 ile LSW5 arasındaki iki kablonun tek bir kanal gibi çalışmasını sağlayalım.
LSW4 için konfigürasyon
Önce
ile portlarımızın şimdiki durumunu inceleyelim.display interface brief
Şimdi system-view ile sistem moduna geçtikten sonra
ile bir eth-trunk tanımlayalım.interface eth-trunk 23
ile eth-trunk'ın LACP modunda çalışmasını sağlayalım.mode lacp
ile geri dönelim.quit
ile LSW5'e giden portlarımızdan birine girelim.interface gigabitethernet 0/0/5
ile portu oluşturduğumuz eth-trunk'a ekleyelim.eth-trunk 23
ile diğer portumuza girelim.interface gigabitethernet0/0/15
ile aynı şekilde bu portu da eth-trunk'a ekleyelim.eth-trunk 23
LSW5 için konfigürasyon
Aynı komutları sadece portları değiştirerek ekran üzerinde görelim.
ile kontrol edelim.display eth-trunk 23
şimdi tekrar
komutuyla inceleyelim.display interface brief
Her iki switch'te de görüntüdeki gibi portlar doğru ve Eth-Trunk23 içinde ise artık bu iki kanal, tek kanal gibi hareket edecektir. LSW5 ve LSW6 arasına daha sonra yeni bir kablo daha ekleyip bunun da yedek olmasını sağlayabiliriz. Böylece oluşturduğumuz kanalda bir arıza meydana geldiğinde sistem çalışmaya devam edecektir. Diğer kanallar da aynı şekilde birleştirilip yeni bir kablo eklenebilir.
Örneğin LSW5'in GE 0/0/20 portundan LSW4'e bir kablo bağlayalım. Trunk yaptığımız portlar artık Eth-Trunk23 olarak görülecektir.
Görüldüğü üzere daha önceki iki port Eth-Trunk23 olarak birleşti ve onunla birlikte yeni eklediğimiz GE 0/0/20 portu root'a giden alternatif bir yol olarak tanımlanmış oldu.
Artık konfigürasyon yaptığımız bütün cihazlara dönüp save komutunu kullanabiliriz. Aksi takdirde yaptıklarımız cihazlar kapanıp açıldığında silinmiş olacaktır.
LSW1, LSW4 ve LSW5 için konfigürasyon dosyaları aşağıdadır. Diğerleri üzerinde bir konfigürasyon yapmadık. Switch'ler yönlendiriciler gibi konfigürasyonun zorunlu olduğu cihazlar olmadığı için direkt kullanılabilir. Konfigürasyon yapılan switch'lere ait .cfg dosyalarını sağ tıklayıp Import Config butonuna tıklayarak kullanabilirsiniz.
Huawei cihazlarda Eth-Trunk hakkında daha fazla bilgi için:
https://support.huawei.com/enterprise/e ... 1100090434
Bu bölümde bahsedilmeyen MSTP için:
https://support.huawei.com/enterprise/e ... ts-of-mstp
https://www.tp-link.com/us/configuratio ... onId=18218
STP hakkında daha detaylı bilgi için:
https://bidb.itu.edu.tr/seyir-defteri/b ... kolü-(stp)