Portfast'ın ne olduğunu ve modern ağlarda ne zaman kullandığımızı gördük. Bu derste, Uplinkfast adı verilen başka bir yayılma ağacı özelliğini ele alacağız. Başlamadan önce, açık olanı inceleyelim:
Portfast, bir uç portunu, normal bir STP portundan daha hızlı bir şekilde İletme durumuna getirir (bu nedenle adı PortFast'tır).
Uplinkfast, bir yukarı bağlantı portunu normal bir STP portundan daha hızlı bir şekilde İletme durumuna getirir (bu nedenle adı UplinkFast'tır).
Peki, STP bağlamında bir yukarı bağlantı nedir ve bu özelliği hangi senaryolarda kullanırız? Yakından bakalım.
Neden UplinkFast'a ihtiyacımız var?
Aşağıdaki şemada gösterildiği gibi, yedeklilik için iki ayrı dağıtım anahtarına (DS1 ve DS2) bağlı bir erişim katmanı anahtarını düşünün. DS1 kök köprü, DS2 ise ikincil köktür. Erişim anahtarının DS1'e doğru bir kök portu (RP) ve DS2'ye doğru bir bloke edilmiş portu vardır. Bunlar erişim anahtarının iki yukarı bağlantısıdır.
Şimdi, erişim anahtarının kök köprüye olan bağlantısının doğrudan bir arıza (kablo bağlantısının kesilmesi veya bağlantının kopması) nedeniyle kesilmesi durumunda ne olduğunu inceleyelim.
Bir arızayı simüle etmek için, erişim anahtarının kök portunu (Ethernet 0/0) kapattık ve neler olduğunu gözlemlemek için hata ayıklama amaçlı yayılma ağacı olaylarını etkinleştirdik.
SW3# conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW3(config)# interface Ethernet0/0
SW3(config-if)# shutdown
SW3(config-if)# end
SW3#
*May 5 04:03:55.561: STP: VLAN0001 new root port Et0/1, cost 200
*May 5 04:03:55.561: STP: VLAN0001 Et0/1 -> listening
*May 5 04:04:10.563: STP: VLAN0001 Et0/1 -> learning
*May 5 04:04:25.564: STP: VLAN0001 Et0/1 -> forwarding
Dikkat ederseniz, kök port (eth0/0) devre dışı kaldığında, anahtar hemen diğer uplink'i (eth0/1) yeni kök port olarak seçer (yeşil renkle vurgulanmıştır). Ancak, yeni kök portun trafiği iletmeye başlaması 30 saniye sürer çünkü önce Dinleme ve Öğrenme durumlarından geçer (kırmızı renkle vurgulanmıştır). Bu 30 saniye boyunca, erişim anahtarına bağlı tüm son kullanıcı cihazları ağ bağlantısını kaybeder.
Otuz saniye, ağ erişimi bağlamında çok uzun bir süredir. Cisco kısa süre sonra önemli bir şeyi fark etti: mevcut kök port doğrudan arıza yaşadığında ve devre dışı kaldığında, aşağıdaki şemada gösterildiği gibi artık bir döngü topolojisi olmadığı için döngü riski kalmaz.
Cisco bunu fark eder etmez, bu gerçekten yararlanan UplinkFast adlı yayılma ağacı özelliğini tanıttı.
UplinkFast nedir?
UplinkFast özelliği, yayılma ağacının uç noktalarındaki erişim katmanı anahtarları için tasarlanmıştır. Aşağıdaki şemada gösterildiği gibi, ana (kök port) bağlantı kesildiğinde bu anahtarların yedek bir bağlantıya hızlıca geçmesine olanak tanır.
Normalde, bir bağlantı aktif (İletme) durumdadır ve diğerleri Engelleme durumunda kalır. Ana bağlantı arızalanırsa, UplinkFast hemen yedek bağlantılardan birini etkinleştirir. Bu, normal spanning-tree zamanlayıcılarını beklemeden bağlantıyı geri yüklemeye yardımcı olur.
Yukarıdaki örneğin aynısını, erişim anahtarında yapılandırılmış Uplinkfast ile inceleyelim. Eth0/0 ana kök bağlantı noktasıdır. Bunu kapatalım ve ne olduğunu görelim.
SW3(config)# interface e0/0
SW3(config-if)# shutdown
SW3(config-if)# end
SW3#
*May 5 04:08:23.735: STP: VLAN0001 new root port Et0/1, cost 3200
*May 5 04:08:23.735: %SPANTREE_FAST-7-PORT_FWD_UPLINK:
VLAN0001 Ethernet0/1 moved to Forwarding (UplinkFast).
Dikkat edin, anahtar, Dinleme ve Öğrenme durumlarından geçmeden yeni kök port Eth0/1'i hemen İletme durumuna geçiriyor.
UplinkFast nasıl çalışır?
Şimdi, özelliğin nasıl çalıştığını görelim. Süreci aşağıdaki gibi beş adıma ayırabiliriz:
Özelliği global olarak etkinleştirme
Normal çalışma
Hata tespiti
Hızlı kurtarma
MAC tablosu güncellemesi
Adım 1. Özelliği global olarak etkinleştirme
Erişim anahtarında Uplinkfast özelliğini nasıl etkinleştireceğimizi görmeden önce, öncelikle yayılma protokolünün mevcut durumunu kontrol edelim. Erişim anahtarının varsayılan önceliğe (32768) sahip olduğunu fark edin. Eth0/0 ana kök porttur ve diğer uplink olan Eth0/1 engelleme durumundadır. Ayrıca, port maliyetlerine dikkat edin. Tüm arayüzler, 100 STP maliyetine sahip 10 Mbps Ethernet bağlantılarıdır.
AccessSwitch# show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 24577
Address aabb.cc00.1000
Cost 100
Port 1 (Ethernet0/0)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 32769 (priority 32768 sys-id-ext 1)
Address aabb.cc00.3000
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 15 sec
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0 Root FWD 100 128.1 P2p
Et0/1 Altn BLK 100 128.2 P2p
Et0/2 Desg FWD 100 128.3 P2p
Et0/3 Desg FWD 100 128.4 P2p
Ayrıca bu özelliğin şu anda devre dışı bırakıldığını da doğruluyoruz.
AccessSwitch# show spanning-tree uplinkfast
UplinkFast is disabled
Genel yapılandırma modunda aşağıdaki komutu kullanarak UplinkFast özelliğini etkinleştiriyoruz. Hepsi bu, başka bir şeye gerek yok.
AccessSwitch(config)# spanning-tree uplinkfast
Etkinleştirildikten sonra, UplinkFast tüm anahtar ve tüm VLAN'lar genelinde çalışır. Bu, arayüz bazında çalışan Portfast'tan farklıdır.
Adım 2. Normal Çalışma
Bir erişim anahtarında Uplinkfast'ı etkinleştirdiğimizde, anahtar köprü önceliğini 49.152'ye yükseltir ve bu da kök olma olasılığını azaltır. Ayrıca, her yerel portun maliyeti 3000 artırılır, böylece diğer anahtarlar onu köke giden bir yol olarak tercih etmez.
AccessSwitch# show spanning-tree
VLAN0001
Spanning tree enabled protocol ieee
Root ID Priority 24577
Address aabb.cc00.1000
Cost 3100
Port 1 (Ethernet0/0)
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Bridge ID Priority 49153 (priority 49152 sys-id-ext 1)
Address aabb.cc00.3000
Hello Time 2 sec Max Age 20 sec Forward Delay 15 sec
Aging Time 15 sec
Uplinkfast enabled
Interface Role Sts Cost Prio.Nbr Type
------------------- ---- --- --------- -------- --------------------------------
Et0/0 Root FWD 3100 128.1 P2p
Et0/1 Altn BLK 3100 128.2 P2p
Et0/2 Desg FWD 3100 128.3 P2p
Et0/3 Desg FWD 3100 128.4 P2p
Çünkü bu özellik, yayılma ağacı topolojisinin kenarındaki erişim anahtarlarında çalışacak şekilde tasarlanmıştır. Kök köprüde etkinleştirilemez ve omurga anahtarlarında çalışacak şekilde tasarlanmamıştır.
Normal çalışma sırasında, birincil yukarı bağlantı aktiftir (İletme), diğeri ise Engelleme durumunda kalır. Aşağıdaki komut, özelliğin etkinleştirildiğini doğrular ve anahtarın yukarı bağlantılarını listeler. Yukarı bağlantı, aktif olarak BPDU'ları alan bir porttur.
AccessSwitch# show spanning-tree uplinkfast
UplinkFast is enabled
Station update rate set to 150 packets/sec.
UplinkFast statistics
-----------------------
Number of transitions via uplinkFast (all VLANs) : 0
Number of proxy multicast addresses transmitted (all VLANs) : 0
Name Interface List
-------------------- ------------------------------------
VLAN0001 Et0/0(fwd), Et0/1
Bizim durumumuzda, Eth0/0 erişim anahtarının birincil uplink'i, Eth0/1 portu ise şu anda engelleme durumunda olan yedek uplink'tir.
Adım 3. Arıza Tespiti
UplinkFast yalnızca doğrudan arızalarda çalışır; yani anahtarın kendisindeki kök portun devre dışı kalması (örneğin, kablonun çıkarılması veya bağlantı kaybı). UplinkFast bunu hemen algılar ve yedek uplink'i etkinleştirir.
Dolaylı bir arıza durumunda (doğrudan bağlı anahtarlarda çok nadirdir), UplinkFast fiziksel bağlantı kaybına dayandığı için tepki vermez. STP zamanlayıcıları yine de uygulanır ve protokolün arızayı algılaması ve yeniden yakınsaması 30-50 saniye sürer.
Adım 4. Hızlı Kurtarma
Birincil kök port fiziksel olarak devre dışı kaldığında (örneğin, kablonun çıkarılması veya bağlantı kaybı), UplinkFast hemen en iyi yedek uplink'i etkinleştirir - kök köprüye olan maliyeti en düşük olan ikinci uplink. Bunu hemen İletme durumuna geçirir.
Adım 5. MAC Tablosu Güncellemesi
Anahtar yeni bir yukarı bağlantıyı etkinleştirip onu yeni bir kök port haline getirdiğinde, ağın geri kalanına MAC adres tablolarını yeni yukarı bağlantıyı kullanacak şekilde hızlıca güncellemelerini bildirmesi gerekir.
Bunu yapmak için anahtar, 0100.0ccd.cdcd adresine sahte çoklu yayın çerçeveleri gönderir. Bu çerçeveler, cihazların kendileri trafiği göndermiş gibi, anahtarın MAC tablosundaki adresleri kaynak adresleri olarak kullanır. Bu, yukarı akış anahtarlarının bu cihazlara ulaşmak için yeni yolu öğrenmelerine yardımcı olur.
Çoklu yayın çerçeveleri, saniyede paket cinsinden ölçülen max-update-rate parametresiyle belirlenen bir hızda gönderilir. Bu, özellikle MAC tablosunda çok sayıda giriş varsa, kullanılan bant genişliğinin kontrol edilmesine yardımcı olur. Varsayılan olarak, hız saniyede 150 pakettir, ancak 0 ile 65.535 arasında herhangi bir değere ayarlanabilir. Değer 0 ise, hiçbir sahte çoklu yayın çerçevesi gönderilmez.
AccessSwitch# show spanning-tree uplinkfast
UplinkFast is enabled
Station update rate set to 150 packets/sec.
UplinkFast statistics
-----------------------
Number of transitions via uplinkFast (all VLANs) : 5
Number of proxy multicast addresses transmitted (all VLANs) : 0
Name Interface List
-------------------- ------------------------------------
VLAN0001 Et0/0(fwd), Et0/1
Aşağıda gösterilen komutu kullanarak max-update-rate parametresini değiştirebiliriz.
AccessSwitch(config)# spanning-tree uplinkfast max-update-rate ?
<0-32000> Maximum number of update packets per second
AccessSwitch(config)# spanning-tree uplinkfast max-update-rate 500
Kısıtlamalar
UplinkFast'in kök köprüde kullanılamayacağını unutmayın. Yalnızca yayılma ağacı topolojisinin kenarında bulunan anahtarlar (örneğin erişim anahtarları) için tasarlanmıştır. Bu anahtarlar, özelliğin sağladığı hızlı arıza durumunda devralmadan yararlanabilirler.