Networklerde en sık yaşanan kesintilerin başında kontrolsüz oluşan döngüler (loop) ve broadcast storm’lar gelmektedir. Cihaz üreticileri yaşanabilecek bu loop’ların üstesinden gelmek için çeşitli döngü önleme (loopback detection) mekanizmaları geliştirmişlerdir.
Normal şartlarda spanning tree (STP) protokolü çalışan bir switch ortamında oluşabilecek döngüler otomatik olarak protokol tarafından tespit edilerek engellenmektedir. Fakat STP çalışan akıllı switchler yanında bazen kablo yetmediği durumda STP çalışmayan basit switchler de kullanılmaktadır.
Peki eğer bir loop akıllı switch üzerinde değil de STP çalışan switch’in kontrolü dışında olan akılsız switch üzerinde gerçekleşirse ne olur? Eğer özel bir engelleme mekanizması çalışmıyorsa broadcast storm nedeniyle tüm networkün kesintiye uğrayacağını üzülerek söylemek isterim.
Bir network uzmanının yaşayabileceği en kötü kabuslardan biri olan bu durumu nasıl engelleyeceğimizi ALE switchler üzerinde test ederek inceledik.
Alcatel-Lucent switchler üzerinde endüstri standardı olan Spanning tree protokolüne ek olarak kendi geliştirmiş olduğu loopback detection mekanizmaları da kullanılmaktadır.
Şimdi bu iki mekanizmaya ve nasıl çalıştıklarına göz atacağız.
Spannig Tree (STP) protokolü
Senaryo 1
Bu senaryoda switch’in bir portundan çıkan kablo, diğer portuna geri gidiyor, yani standart bir loop senaryosu.
Bu durumda, olması gerektiği gibi switch loop olduğunu farkederek portlardan birini blokluyor.
Senaryo 2
Bu senaryoda switch’ten IP telefona bağlantı yapılıyor, Ip telefon’un ikinci portundan çıkan kablo yine telefona takılıyor. Telefonlar için switch üzerinde Voice VLAN kullanılıyor.
Sadece telefonun network portu switche bağlı iken (loop yokken);
Görüldüğü gibi herşey yolunda, PC VLAN1 de telefon ise VLAN20’de çalışıyor..
Telefonun ikinci portu switche bağlandığında (loop oluştuğunda);
İkinci takılan port nedeniyle switch loop olduğunu anlıyor ve STP’den portu kapatıyor. Ayrıca portta tanımlı dinamik VLAN tanımını da otomatik olarak kaldırıyor.
Loopback Detection
STP’nin yetersiz kaldığı bu senaryoda, switch portlarında başka bir akılsız switch bağlı ve loop bu akılsız switch üzerinde gerçekleşiyor.
Küçük swtich üzerinde oluşan storm’un networke ulaşmasının engellenmesi için ALE tarafından geliştirilen loop-detection mekanizmasını kullanmak gerekiyor. ALE loop-detection uygulaması bu tarz loop’ları tespit ederek, loop’un oluştuğu akılsız switch’in akıllı switch üzerideki bağlantısını otomatik olarak kesebiliyor.
Bu uygulama STP’den bağımsız olarak portu kapattığından sadece kullanıcıların bağlı olduğu portlarda kullanılması, uplink portlarında aktive edilmemesi tavsiye ediliyor.
Birlikte aşamaları inceleyelim;
Loopback detection’u açtık ve küçük switch’i bağladık. Henüz loop yok, herşey normal, porttan VLAN geçiyor.
Küçük switch üzerindeki portları loop yapıyoruz;
Gördüğümüz gibi, 1/3 portu Loopback detection nedeniyle down hale getirildi ve küçük switch üzerinde oluşan loop’un networkü etkilemesi engellenmiş oldu. Aynı zamanda loopback detection ile ilgili bir log ve snmp trap da oluştu.
Loopback Detection İçin Yapılan Konfigürasyon
Networkte loop’u önlemek için yapılabilecekleri ana başlıklar halinde toplarsak;
pvst+ STP Protokolünü açın (STP olmadan sadece LBD ile de çalışır fakat STP ile birlikte kullanabilirsiniz).
-> bridge mode 1x1 pvst+ enable
Loopback detection’u global olarak açın.
-> loopback-detection enable
Kullanıcıların bağlı olduğu portlarda Loop detection’u açın (uplink portlar hariç tutun)
-> loopback-detection port 1/1-48 enable
Violation-recovery trap’i açın (opsiyonel)
-> interfaces violation-recovery-trap enable
Violation-recovery maksimum değeri belirleyin (opsiyonel)
(Default olarak port loop detection nedeniyle shutdown olursa cihaz 5 dakikada bir portu tekrar geri açarak loop’un devam edip etmediğine bakar. Default olarak 10 kez recover yaptıktan sonra eğer hala loop devam ediyorsa linki kalıcı olarak down hale getirir. Aşağıda biz 3 kez denedikten sonra loop düzelmezse kalıcı down yapılmasını istemiş olduk).
-> interfaces violation-recovery-maximum 3
Konfigürasyonları tek kalem altında toplarsak;
bridge mode 1x1 pvst+ enable loopback-detection enable loopback-detection port 1/1-48 enable interfaces violation-recovery-trap enable interfaces violation-recovery-maximum 3 write memory copy working certified
Loop Detection ile Kapatılan Portun Geri Kurtarılması
Loop detection ile kapatılan portun geri açılması için disable olan portlarda aşağdaki komutların uygulanması gerekiyor. Aksi halde port disable enable etmekle veya portu çıkarıp takmakla port enable duruma gelmeyecektir.
Disble olan port için;
interfaces 1/3 clear-violation-all
Eğer çok sayıda port için uygulanacak ise;
interfaces 1/1-48 clear-violation-all
Eğer maksimum recovery sayısı aşıldı ise 5 dakika bekledikten sonara bu komut ile port aktif hale getirilebilecektir.
Başta bahsettiğim gibi Loopback detection uygulamasının STP ile birlikte kullanılması durumunda sadece kullanıcı portlarında bu özelliğin aktive edilmesi uplink portlarının hariç bırakılmasını tavsiye ediyoruz.