Kategoria: STP – Spanning Tree Protocol

  • (K) Konfiguracja funkcji specjalnych protokołu STP*

    (K) Konfiguracja funkcji specjalnych protokołu STP*

    Konfiguracja protokołu STP (bezpieczeństwo, dodatkowe funkcje)

    Konfiguracja funkcji – UplinkFast

    (config)# spanning-tree uplinkfast max-update-rate 0-32000(150)

    Aktywuje funkcję UplinkFast względem wszystkich aktywnych sieci VLAN. Podkomenda „max-update-rate” określa ilość ramek Ethernetowych wysyłanych na sekundę (Wysyłane ramki są nadawane z źródłowymi adresami MAC pobranymi z tablicy „MAC address table”).

    # show spanning-tree uplinkfast

    Wyświetla informacje o konfiguracji funkcji UplinkFast.

    Konfiguracja funkcji – BackboneFast

    (config)# spanning-tree backbonefast

    Aktywuje funkcję BackboneFast dla wszystkich sieci VLAN (Funkcja ta powinna być włączona na wszystkich przełącznikach w sieci).

    # show spanning-tree backbonefast

    Wyświetla informacje o ustawieniach funkcji BackboneFast.

    Konfiguracja funkcji – PortFast

    (config)# spanning-tree portfast opcja(normal)

    * default – Aktywuje funkcje PortFast na wszystkich interfejsach, poza połączeniami Trunk-owymi (Starsza wersja).
    * edge – Aktywuje funkcje PortFast na wszystkich interfejsach, poza połączeniami Trunk-owymi (Nowsza wersja).
    * network – Aktywuje funkcje PortFast na wszystkich interfejsach przełącznika.
    * normal – Aktywuje funkcje PortFast wszystkich interfejsach przełącznika.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# spanning-tree portfast [opcja(disable)]

    * edge [trunk] – Aktywuje funkcje PortFast na danym interfejsie, opcjonalna komenda „trunk” jest konieczna, jeśli interfejs pracuje w trybie Trunk-owym (Non Access).
    * network – Aktywuje funkcje PortFast na danym interfejsie.
    * disable – Dezaktywuje funkcje PortFast na danym interfejsie.

    Konfiguracja funkcji – Loop Guard

    (config)# spanning-tree loopguard

    Aktywuje funkcję Loop Guard dla wszystkich interfejsów przełącznika).

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# [no] spanning-tree guard loop

    Dezaktywuje / Aktywuje funkcję Loop Guard na danym interfejsie.

    # show spanning-tree inconsistentports

    Wyświetla interfejsy znajdujące się w stanie „inconsistentports”.

    Konfiguracja funkcji – UDLD

    (config)# udld {enable / aggressive}

    Aktywuje protokół UDLD na wszystkich interfejsach światłowodowych (SFP), określając tryb pracy protokołu UDLD.

    (config)# udld message time 1-90(15)

    Określa odstępy czasowe w wysyłaniu wiadomości UDLD.

    (config)# udld recovery 30-86400(300)

    Określa czas po którym interfejs zostanie przywrócony.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# udld port [aggressive]

    Aktywuje / Dezaktywuje protokół UDLD na danym interfejsie.

    # udld reset

    Przywraca pracę interfejsu, po wykryciu awarii przez protokół UDLD (Działa dla trybu agresywnego).

    # show udld [interfejs]

    Wyświetla status protokołu UDLD względem konfigurowanego przełącznika.

    Konfiguracja funkcji – Root Guard

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# [no] spanning-tree guard root

    Dezaktywuje / Aktywuje funkcję Root Guard na danym interfejsie.

    # show spanning-tree inconsistentports

    Wyświetla interfejsy znajdujące się w stanie „inconsistentports”.

    Konfiguracja funkcji – BPDU Guard

    (config)# spanning-tree portfast [{edge / network / normal}] bpduguard default

    Aktywuje funkcję BPDU Guard na wszystkich interfejsach przełącznika z włączoną funkcją portfast.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# spanning-tree bpduguard {enable / disable}

    Aktywuje / Dezaktywuje funkcję BPDU Guard na danym interfejsie.

    Konfiguracja funkcji – BPDU Filter

    (config)# spanning-tree portfast [{edge / network / normal}] bpdufilter default

    Aktywuje funkcję BPDU Filter na wszystkich interfejsach przełącznika z włączoną funkcją portfast.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# spanning-tree bpdufilter {enable / disable}

    Aktywuje / Dezaktywuje funkcję BPDU Filter na danym interfejsie.

    Komendy Show

    Komendy Show protokołu STP

    # show spanning-tree interface interfejs [cost / portfast / priority / rootcost / state]

    Wyświetla informacje protokołu STP dla danego interfejsu, z szczególnym uwzględnieniem konkretnych funkcji protokołu STP.

    # show spanning-tree vlan vlan-ID root

    Wyświetla informacje o statusie i konfiguracji root-a.

    # show spanning-tree vlan vlan-ID active

    Wyświetla informacje względem aktywnych interfejsów.

    # show spanning-tree summary

    Wyświetla streszczone informacje o protokole STP (Dla wszystkich VLAN-ów).

    # show spanning-tree

    Wyświetla podstawowe informacje o protokole Spanning-tree (Dla wszystkich sieci VLAN).

    # show spanning-tree vlan vlan-ID

    Wyświetla podstawowe informacje o protokole STP (Dla jednego VLAN-u).

    # show spanning-tree summary

    Wyświetla streszczone informacje o protokole STP (Dla wszystkich VLAN-ów).

    # show spanning-tree inconsistentports

    Wyświetla interfejsy znajdujące się w stanie „inconsistentports”.

    # show spanning-tree blockedports

    Wyświetla wszystkie blokowane interfejsy danego przełącznika.

    # show spanning-tree root hello-time

    Wyświetla aktualną wartość czasu hello-time na danym przełączniku.

    # show spanning-tree root forward-time

    Wyświetla aktualną wartość czasu forward-time na danym przełączniku.

    # show spanning-tree root max-age

    Wyświetla aktualną wartość czasu max-age na danym przełączniku.

    # show spanning-tree interface interfejs detail

    Wyświetla szczegółowe informacje protokołu STP względem danego interfejsu sieciowego.

    Komendy Show protokołu MST

    (config-mst)# show pending

    Wyświetla konfiguracje instancji protokołu MST.

    # show spanning-tree mst configuration

    Wyświetla konfiguracje instancji protokołu MST.

    # show spanning-tree mst

    Wyświetla konfigurację protokołu RSTP względem wszystkich aktywnych instancji MST.

    # show spanning-tree mst ID-instancji

    Wyświetla konfigurację protokołu RSTP względem określonej instancji MST.

    # show spanning-tree mst [ID-instancji] detail

    Wyświetla szczegółowe informacje na temat protokołu MST.

    Pozostałe tematy związane z protokołem STP

  • (K) Konfiguracja protokołu MST*

    (K) Konfiguracja protokołu MST*

    Konfiguracja protokołu MST

    Wstępna konfiguracja protokołu MST

    Podstawowa konfiguracja protokołu MST

    (config)# spanning-tree mode mst

    Włącza protokół MST na konfigurowanym przełączniku.

    (config)# spanning-tree mst configuration

    Przechodzi do poziomu konfiguracji protokołu MST.

    (config-mst)# name nazwa-regionu-MST

    Definiuje nazwę lokalnego regionu MST.

    (config-mst)# revision 0-65535(ID regionu)

    Definiuje wartość Revision Number lokalnego regionu MST.

    (config-mst)# istance 0-4094(ID-instancji) vlan VLANs-ID*

    Tworzy nową instancję protokołu MST, jak i przypisuje do niej sieci VLAN (Komenda ta może być wykonywana wielokrotnie).

    Opcjonalna konfiguracja protokołu MST

    (config-mst)# private-vlan synchronize

    Włącza synchronizację sieci prywatnych (Private VLAN).

    Globalna konfiguracja protokołu MST

    Podstawowa konfiguracja

    (config)# spanning-tree mst 0-4094(ID-instancji) root {primary / secondary}

    Mianuje konfigurowany przełącznik głównym bądź zapasowym root-em, zmieniając domyślą wartość priorytetu. Przykładowa komenda [spanning-tree mst 0-4094(ID-instancji) root primary] automatycznie ustawia następujące wartości protokołu STP:
    * vlan vlan-ID bridge priority set to 24576.
    * vlan vlan-ID bridge max aging time unchanged at 20.
    * vlan vlan-ID bridge hello time unchanged at 2.
    * vlan vlan-ID bridge forward time unchanged at 15.
    Jeżeli dotychczasowy root posiadał priorytet większy niż 24576 to powyższa komenda zmieni wartość priority na 24576, jeśli jednak dotychczasowy root posiadał priorytet mniejszy niż 24576 to komenda zmieni wartość priority na 4096.

    (config)# spanning-tree mst 0-4094(ID-instancji) priority {0 / 4096 / 8192 / 12288 / 16384 / 20480 / 24576 / 28672 / 32768 / 36864 / 40960 / 45056 / 49152 / 53248 / 57344 / 61440}[32768]

    Zmienia domyślną wartość priorytetu MST.

    Konfiguracja kosztów protokołu MST

    Przełączniki wykorzystują dwie 8 bitowe liczby przypisane do interfejsu sieciowego jak i koszt „Root Port Cost”. Pierwsza wartość wyznacza priorytet w przedziale od 0 do 240 (Domyślnie 128), druga fizyczny nie podlegający zmianie numer interfejsu od 0 do 255 natomiast trzecia koszt protokołu STP wyliczony na podstawie pasma interfejsu sieciowego.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# spanning-tree mst 0-4094(ID-instancji) cost 1-200 000 000(8)

    Określa wartość „Root Port Cost”.

    (config-if)# spanning-tree mst 0-4094(ID-instancji) port-priority 1-240(128)

    Określa priorytet interfejs sieciowego, wpisana wartość „Switch Port Priority” musi być podzielna przez 16.

    Konfiguracja czasów protokołu MST

    (config)# spanning-tree mst 0-4094(ID-instancji) root {primary / secondary} [diameter 2-7(7)] [hello-time 1-10(2)]

    Określa wartość „Network Diameter Value” wraz z opcjonalną wartością czasu „Hello-Time” (Skonfigurowanie zbyt niskiej wartości „Network Diameter Value” może spowodować powstawanie pętli sieciowych).

    (config)# spanning-tree mst hello-time 1-10(2)

    Określa wartość czasu „Hello-Time”.

    (config)# spanning-tree mst forward-time 4-30(15)

    Określa wartość czasu „Forward-Time”.

    (config)# spanning-tree mst max-age 6-40(20)

    Określa wartość czasu „Max-Age”.

    Komendy Show

    Komendy Show protokołu STP

    # show spanning-tree interface interfejs [cost / portfast / priority / rootcost / state]

    Wyświetla informacje protokołu STP dla danego interfejsu, z szczególnym uwzględnieniem konkretnych funkcji protokołu STP.

    # show spanning-tree vlan vlan-ID root

    Wyświetla informacje o statusie i konfiguracji root-a.

    # show spanning-tree vlan vlan-ID active

    Wyświetla informacje względem aktywnych interfejsów.

    # show spanning-tree summary

    Wyświetla streszczone informacje o protokole STP (Dla wszystkich VLAN-ów).

    # show spanning-tree

    Wyświetla podstawowe informacje o protokole Spanning-tree (Dla wszystkich sieci VLAN).

    # show spanning-tree vlan vlan-ID

    Wyświetla podstawowe informacje o protokole STP (Dla jednego VLAN-u).

    # show spanning-tree summary

    Wyświetla streszczone informacje o protokole STP (Dla wszystkich VLAN-ów).

    # show spanning-tree inconsistentports

    Wyświetla interfejsy znajdujące się w stanie „inconsistentports”.

    # show spanning-tree blockedports

    Wyświetla wszystkie blokowane interfejsy danego przełącznika.

    # show spanning-tree root hello-time

    Wyświetla aktualną wartość czasu hello-time na danym przełączniku.

    # show spanning-tree root forward-time

    Wyświetla aktualną wartość czasu forward-time na danym przełączniku.

    # show spanning-tree root max-age

    Wyświetla aktualną wartość czasu max-age na danym przełączniku.

    # show spanning-tree interface interfejs detail

    Wyświetla szczegółowe informacje protokołu STP względem danego interfejsu sieciowego.

    Komendy Show protokołu MST

    (config-mst)# show pending

    Wyświetla konfiguracje instancji protokołu MST.

    # show spanning-tree mst configuration

    Wyświetla konfiguracje instancji protokołu MST.

    # show spanning-tree mst

    Wyświetla konfigurację protokołu RSTP względem wszystkich aktywnych instancji MST.

    # show spanning-tree mst ID-instancji

    Wyświetla konfigurację protokołu RSTP względem określonej instancji MST.

    # show spanning-tree mst [ID-instancji] detail

    Wyświetla szczegółowe informacje na temat protokołu MST.

    Pozostałe tematy związane z protokołem STP

  • (K) Konfiguracja protokołu STP*

    (K) Konfiguracja protokołu STP*

    Konfiguracja protokołu STP

    Podstawowa konfiguracja protokołu STP

    Przełączniki Cisco mogą pracować w trybie tradycyjnym STP (802.1D), w którym wartość „Bridge Priority” składa się z 16 bitów lub w trybie rozszerzonym (802.1t) zawierającym 4 bity priorytetu i 12 bitów identyfikatora sieci VLAN. 

    (config)# [no] spanning-tree extend system-ID

    Wyłącza/Włącza wersję rozszerzoną protokołu STP, umożliwiając wykorzystanie (Dynamic Extended System IDs) jak i stosowanie rozszerzonej puli sieci VLAN względem protokołu STP.

    (config)# [no] spanning-tree vlan zakres-vlan-ID

    Globalnie wyłącza/włącza STP dla danego zakresu sieci VLAN.

    (config)# interface interfejs

    Przechodzi do poziomu określonego interfejsu sieciowego.

    (config-if)# [no] spanning-tree vlan zakres-vlan-ID

    Lokalnie wyłącza/włącza STP dla danego zakresu sieci VLAN.

    Zmiana wartości BID (Wybór Root-a)

    (config)# spanning-tree vlan zakres-vlan-ID priority {0 / 4096 / 8192 / 12288 / 16384 / 20480 / 24576 / 28672 / 32768 / 36864 / 40960 / 45056 / 49152 / 53248 / 57344 / 61440}(32768)

    Zmienia domyślną wartość priorytetu STP.

    (config)# spanning-tree vlan zakres-vlan-ID root {primary / secondary}

    Mianuje konfigurowany przełącznik głównym bądź zapasowym root-em, zmieniając domyślą wartość priorytetu. Przykładowa komenda [spanning-tree vlan vlan-ID root primary] automatycznie ustawia następujące wartości protokołu STP:
    * vlan vlan-ID bridge priority set to 24576.
    * vlan vlan-ID bridge max aging time unchanged at 20.
    * vlan vlan-ID bridge hello time unchanged at 2.
    * vlan vlan-ID bridge forward time unchanged at 15.
    Jeżeli dotychczasowy root posiadał priorytet większy niż 24576 to powyższa komenda zmieni wartość priorytetu konfigurowanego urządzenia na 24576, jeśli jednak dotychczasowy root posiadał priorytet mniejszy niż 24576 to komenda zmieni wartość priorytetu na wartość niższą o 4096 od wartości priorytetu przełącznika pełniącego rolę root-a.

    Konfiguracja czasów dla protokołu STP

    Ustawienia czasów BPDU, należy konfigurować jedynie na urządzeniu pełniącym rolę root-a.

    (config)# spanning-tree vlan zakres-vlan-ID root {primary / secondary} [diameter 2-7(7)] [hello-time 1-10(2)]

    Określa wartość „Network Diameter Value” wraz z opcjonalną wartością czasu „Hello-Time” (Skonfigurowanie zbyt niskiej wartości „Network Diameter Value” może spowodować powstawanie pętli sieciowych).

    (config)# spanning-tree [vlan zakres-vlan-ID] hello-time 1-10(2)

    Określa wartość czasu „Hello-Time”.

    (config)# spanning-tree [vlan zakres-vlan-ID] forward-time 4-30(15)

    Określa wartość czasu „Forward-Time”.

    (config)# spanning-tree [vlan zakres-vlan-ID] max-age 6-40(20)

    Określa wartość czasu „Max-Age”.

    Konfiguracja kosztów protokołu STP

    Przełączniki wykorzystują dwie 8 bitowe liczby przypisane do interfejsu sieciowego jak i koszt „Root Port Cost”. Pierwsza wartość wyznacza priorytet w przedziale od 0 do 240 (Domyślnie 128), druga fizyczny nie podlegający zmianie numer interfejsu od 0 do 255 natomiast trzecia koszt protokołu STP wyliczony na podstawie pasma interfejsu sieciowego.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# spanning-tree [vlan zakres-vlan-ID] cost 1-200 000 000(8)

    Określa wartość „Root Port Cost”.

    (config-if)# spanning-tree [vlan zakres-vlan-ID] port-priority 1-240(128)

    Określa priorytet interfejs sieciowego, wpisana wartość „Switch Port Priority” musi być podzielna przez 16.

    Maco (Switchport Host)

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# switchport host

    Określa konfigurowany interfejs jako port dostępowy (Access, Edge) jak i dezaktywuje na nim  funkcje Etherchannel. Macro [switchport host] wykonuje następujące komendy CLI:
    * [switchport mode access]
    * [spanning-tree portfast]
    * [no channel-group]

    Komendy Show

    Komendy Show protokołu STP

    # show spanning-tree interface interfejs [cost / portfast / priority / rootcost / state]

    Wyświetla informacje protokołu STP dla danego interfejsu, z szczególnym uwzględnieniem konkretnych funkcji protokołu STP.

    # show spanning-tree vlan vlan-ID root

    Wyświetla informacje o statusie i konfiguracji root-a.

    # show spanning-tree vlan vlan-ID active

    Wyświetla informacje względem aktywnych interfejsów.

    # show spanning-tree summary

    Wyświetla streszczone informacje o protokole STP (Dla wszystkich VLAN-ów).

    # show spanning-tree

    Wyświetla podstawowe informacje o protokole Spanning-tree (Dla wszystkich sieci VLAN).

    # show spanning-tree vlan vlan-ID

    Wyświetla podstawowe informacje o protokole STP (Dla jednego VLAN-u).

    # show spanning-tree summary

    Wyświetla streszczone informacje o protokole STP (Dla wszystkich VLAN-ów).

    # show spanning-tree inconsistentports

    Wyświetla interfejsy znajdujące się w stanie „inconsistentports”.

    # show spanning-tree blockedports

    Wyświetla wszystkie blokowane interfejsy danego przełącznika.

    # show spanning-tree root hello-time

    Wyświetla aktualną wartość czasu hello-time na danym przełączniku.

    # show spanning-tree root forward-time

    Wyświetla aktualną wartość czasu forward-time na danym przełączniku.

    # show spanning-tree root max-age

    Wyświetla aktualną wartość czasu max-age na danym przełączniku.

    # show spanning-tree interface interfejs detail

    Wyświetla szczegółowe informacje protokołu STP względem danego interfejsu sieciowego.

    Komendy Show protokołu MST

    (config-mst)# show pending

    Wyświetla konfiguracje instancji protokołu MST.

    # show spanning-tree mst configuration

    Wyświetla konfiguracje instancji protokołu MST.

    # show spanning-tree mst

    Wyświetla konfigurację protokołu RSTP względem wszystkich aktywnych instancji MST.

    # show spanning-tree mst ID-instancji

    Wyświetla konfigurację protokołu RSTP względem określonej instancji MST.

    # show spanning-tree mst [ID-instancji] detail

    Wyświetla szczegółowe informacje na temat protokołu MST.

    Pozostałe tematy związane z protokołem STP

  • (Ts) Troubleshooting protokołu STP*

    (Ts) Troubleshooting protokołu STP*

    Wstęp do Troubleshooting-u

    Proces rozwiązywania problemów protokołu STP, RSTP, MST

    • Proces Troubleshooting-u protokołu STP należy zacząć od:
    • Określenia, które z urządzeń pełni rolę root-a [show spanning-tree].
    • Znalezienia wszystkich portów pełniących rolę RP [show spanning-tree / show spanning-tree root].
    • Znalezienia wszystkich portów pełniących rolę DP lub AP [show spanning-tree].
    • Możliwe przyczyny powstaną błędów związanych z protokołem STP:
      • Duplex mismatch – Wywołany złymi ustawieniami trybu pracy (Duplex) interfejsów łączących dwa przełączniki.
      • Unidirectional Link Failure – Wywołany ruchem sieciowym przechodzącym jedynie w jednym kierunku.
      • Frame Corruption – Wywołany błędami fizycznymi powstałymi na interfejsie łączącym dwa przełączniki.
      • Resource Errors – Wywołany zbytnim obciążeniem procesora CPU danego przełącznika.
      • PortFast Configuration Errors – Wywołany połączeniem dwóch interfejsów PortFast ze sobą.
      • STP Tuning Errors – Wywołany zbyt niską wartością czasu „Network Diameter”.

    Komendy SHOW

    • Komenda [Show spanning-tree]:
      • Wyświetla status obecnego urządzenia (root, noroot).
      • Wyświetla koszt dotarcia do root-a.
      • Wyświetla informacje o koszcie dotarcia do root-a względem każdego z interfejsów.
    • Komenda [Show spanning-tree root]:
      • Wyświetla informacje na temat przełącznika pełniącego rolę root-a

    # show spanning-tree

    Wyświetla podstawowe informacje o protokole Spanning-tree (Dla wszystkich sieci VLAN).
    # show spanning-tree
    VLAN0001
    Spanning tree enabled protocol ieee
    Root ID    Priority    32769
    Address     5e00.0004.0000
    This bridge is the root
    Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec

    Bridge ID  Priority    32769  (priority 32768 sys-id-ext 1)
    Address     5e00.0004.0000
    Hello Time   2 sec  Max Age 20 sec  Forward Delay 15 sec
    Aging Time  300 sec

    Interface          Role     Sts     Cost      Prio.Nbr    Type
    ——————- —-       —     ———   ——–      ——————————–
    Gi0/1                 Desg    FWD  4            128.2        P2p
    Gi0/2                 Desg    FWD  4            128.3        P2p
    Gi1/0                 Desg    FWD  4            128.5        P2p
    Gi1/1                 Desg    FWD  4            128.6        P2p
    • Root ID Priority – Określa priorytet BID root-a.
    • Root ID Address – Określa adres MAC root-a.
    • Root ID Cost – Określa koszt dotarcia do root-a.
    • Root ID Port – Określa interfejs z najkrótszą drogą dotarcia do root-a.
    • Root ID Hello Timer – Określa domyślne czasy dla root-a.
    • Bridge ID Priority – Określa priorytet BID lokalnego przełącznika (Sys-id
    • Sys-id-ext 1 (Extended System ID) – Określa sieć VLAN.
    • Bridge ID Address – Określa adres MAC lokalnego przełącznika.
    • Bridge ID Cost – Określa koszt dotarcia do lokalnego przełącznika.
    • Bridge ID Port – Określa interfejs z najkrótszą drogą dotarcia do lokalnego przełącznika.
    • Bridge ID Hello Timer – Określa domyślne czasy dla lokalnego przełącznika.
    • Interface – Wyświetla aktywne interfejsy wraz z ich rolą, stanem, typem i identyfikatorem.
    Zarówno w przypadku protokołów STP jak i RSTP role portów (Alternate, Root czy Designated) będą wyświetlane w komędzie show spanning-tree. Przez co zapis „spanning tree enabled protocol” jest jedyną opcją potwierdzenia jaki protokół jest obecnie wykorzystywany.
    Przełączniki Cisco nie wykorzystują nazwy „Discarding” w przypadku protokołu RSTP, w zamian za to używając nazewnictwa zaczerpniętego z protokołu STP „Blocking”.

    # show spanning-tree interface interfejs detail

    Wyświetla szczegółowe informacje protokołu STP względem danego interfejsu sieciowego.
    # show spanning-tree interface gigabitEthernet 0/1 detail
    Port 2 (GigabitEthernet0/1) of VLAN0001 is designated forwarding
    Port path cost 4, Port priority 128, Port Identifier 128.2.
    Designated root has priority 32769, address 5e00.0004.0000
    Designated bridge has priority 32769, address 5e00.0004.0000
    Designated port id is 128.2, designated path cost 0   
    Timers: message age 0, forward delay 0, hold 0
    Number of transitions to forwarding state: 1
    Link type is point-to-point by default
    BPDU: sent 40699, received 1

    Port 2 (GigabitEthernet0/1) of VLAN0002 is designated forwarding
    Port path cost 4, Port priority 128, Port Identifier 128.2.   
    Designated root has priority 32770, address 5e00.0004.0000
    Designated bridge has priority 32770, address 5e00.0004.0000
    Designated port id is 128.2, designated path cost 0   
    Timers: message age 0, forward delay 0, hold 0
    Number of transitions to forwarding state: 1
    Link type is point-to-point by default
    BPDU: sent 40699, received 1
    • Port cost – Określa koszt interfejsu.
    • Port priority – Określa priorytet interfejsu.
    • Port identifier – Określa identyfikator interfejsu.
    • Designated priority, MAC address – Określa priorytet i adres MAC root-a.
    • BPDU – Określa ilość wysłanych / odebranych wiadomości BPDU.

    Pytania i odpowiedzi

    Dodatkowe informacje

    • ? Informacja: Aby powstała nowa instancja protokołu PVST względem nowo-stworzonej sieci wirtualnej VLAN, musi istnieć przynajmniej jeden interfejs (Trunk / Access) działający w danej sieci.
    • ? Informacja: Ramki BPDU protokołu PVST+przesyłane w sieci VLAN do której się odnoszą, natomiast ramki BPDU protokołu STP zawsze poruszają się w sieci natywnej (Niezależnie od tego jaka sieć VLAN pełni tę rolę), dodatkowo ruch kontrolny STP pozostaje nie tagowany pomimo użycia komendy [vlan dot1q tag native / switchport trunk native vlan tag].
    • ? Informacja: Protokół STP w przeciwieństwie do protokołu RSTP, umożliwia skonfigurowanie funkcji PortFast na połączeniach Trunk-owych.

    Pytania i odpowiedzi

    • ? Pytanie 1: W jaki sposób można określić sąsiednie urządzenia nie wspierające protokołu RSTP.
    • + Odpowiedź 1: Dane urządzenie będzie przynależeć do interfejsu P2P Peer (STP).
    • ? Pytanie 2: Jaka komenda może być wykonana na interfejsie, tak aby nie zakłócić pracy funkcji protokołu STP „loop guard”: Trunk, Access, Root Guard czy PortFast?
    • + Odpowiedź 2: Trunk.
    • ? Pytanie 3: W jaki sposób można ograniczyć zbędny ruch sieciowy warstwy drugiej, pomiędzy dwoma lokalizacjami zdalnymi tworzącymi jedną sieć lokalną LAN, przy jednoczesnym ograniczeniu ilości instancji protokołu STP.
    • + Odpowiedź 3: Funkcja VTP Pruning ogranicza zarówno zbędny ruch sieciowy jak i ilość instancji protokołu STP.

    Pozostałe tematy związane z protokołem STP

  • (T) Teoria protokołu MST*

    (T) Teoria protokołu MST*

    Teoria protokołu MST

    Historia protokołu MST

    • Historycznie ustandaryzowana wersja protokołu MST (802.1s), wywodzi się z wstępnej wersji protokołu MISTP stworzonej przez firmę Cisco. W przeciwieństwie do protokołu MST wysyłała ona niezależne widomości BPDU dla każde ze skonfigurowanych instancji MSTI.

    Podstawowe informacje na temat protokołu MST

    • Opiera swoje działanie na protokole RSTP.
    • Jest wstecznie kompatybilny z protokołami CST, RSTP jak i PVST+.

    Budowa wiadomości BPDU protokołu MST

    • Wiadomość BPDU protokołu MST składa się z dwóch części – Podstawowej przenoszącej informacje protokołu RSTP dla domyślnej instancji IST (MSTI 0) jak i rozszerzonej (MST Extension) zawierającej informacje protokołu RSTP względem poszczególnych instancji MSTI (MST 1,2…n). Poszczególne pola BPDU MST Extension wyglądają następująco:
      • MST Config ID Format Selector (1 Byte).
      • MST Config Name (32 Bytes) – Określa nazwę danego regionu MST.
      • MST Config Revision (2 Bytes) – Określa wartość Revision Number danego regiony MST.
      • MST Config Digest (16 Bytes) – Określa wartość, identyfikującą dany region MST (Suma kontrolna).
      • CIST Internal Root Path Cost (4 Bytes).
      • CIST Bridge Identifier (8 Bytes).
      • CIST Remaining Hops (1 Byte).
      • MSTI Instance-ID (16 Bytes) – Określa konfigurację protokołu RSTP względem danej instancji MSTI.
        • MSTI Flags (1 Byte) Określa flagi protokołu RSTP względem danej instancji MSTI.
        • MSTID (2 Bytes) Określa wartość Revision Number względem danej instancji MSTI.
        • Regional Root (6 Bytes) Określa adres MAC root-a, danej instancji MSTI.
        • Internal Root (4 Bytes) Określa koszt dotarcia do root-a względem danej instancji MSTI.
        • Bridge Identifier Priority (1 Byte).
        • Port Identifier Priority (1 Byte).
        • Remaining Hops (1 Byte).
    Budowa wiadomości BPDU protokołu MST
    Wiadomości BPDU protokołu MST są oznaczone numerem „Protocol Version Identifier” 3 (STP 0, RSTP 2, MST 3).
    Wszelkie zmiany dotyczące czasów protokołu RSTP mogą być dokonane jedynie względem głównej instancji IST.
    W przypadku interfejsów dostępowych (Access) wiadomości BPDU protokołu MST, będą zawierały informację dotyczące instancji MSTI, do której należy sieć VLAN przypisana do określonego interfejsu jak i informacje dotyczące głównej instancji IST (MSTI 0).

    Regiony MST (MST Regions)

    • Protokół MST opiera swoje działanie na regionach – Aby przełącznik mógł należeć do tego samego regionu, następujące wartości muszą się zgadzać (Na podstawie poniższych atrybutów wyliczana jest wartość „MST Config Digest”):
      • MST Configuration Name (32 znaki).
      • MST Configuration Revision Number (od 0 do 65535).
      • MST Instance-to-VLAN Mapping Table (4094).
    Protokół MST w zależności od platformy sprzętowej może wspierać do 16 bądź więcej instancji protokołu MST.
    • Pojęcia dotyczące regionów protokołu MST:
      • IST (Internal Spanning Tree) – Definiuje domyślną instancję protokołu MST (MSTI 0).
      • MSTI (MST Instance)– Definiuje pojedynczą instancję protokołu MST, mapowaną do pojedynczej domyślnej instancji IST (Domyślna instancji MST 0 nie zalicza się do groma instancji MSTI).
      • M-record – Pole wiadomości BPDU instancji IST zawierające informacje dotyczące zmapowanych instancji MSTI.
      • Boundary Switch – Przełącznik graniczny pomiędzy wieloma regionami protokołu MST.
      • CIST (Common and Internal Spanning Tree)– Główna między regionalna instancja protokołu MST.
    • Zasięg regionów protokołu MST:
      • Intra Region – Wewnątrz jednego regionu protokołu MST, przełączniki mają pełen obraz topologii względem wszystkich skonfigurowanych instancji MSTI.
      • Inter Region – Poszczególne regiony MST znają jedynie swoją wewnętrzną strukturę, widząc inne regiony jako wirtualne instancje protokołu MST (Virtual Bridges). W takiej sytuacji kalkulacja sieci wolnej od pętli, wymaga elekcji Inter-regionalnego Root-a oraz określenia stanu połączeń pomiędzy regionami (Komunikacja pomiędzy regionami odbywa się jedynie za pośrednictwem Intra-regionalnego root-a).
    Poszczególne instancję MSTI, są przypisane do pojedyńczego regionu MST (Jak i głównej instancji IST), tym samym nie mają żadnego wpływu na inne instancje pochodzące z innych regionów protokołu MST.
    Struktura sieci zawierającej wiele regionów protokołu MST

    Podstawowe zasady dotyczące komunikacji między regionalnej

    • Instancja CIST łączy ze sobą wszystkie regiony protokołu MST, prowadząc własną elekcję przełącznika pełniącego rolę root-a (CIST Root) jak i określając role poszczególnych interfejsów łączących przełączniki graniczne (Boundary Switch).
    • Oprócz elekcji głównego root-a całej instancji CIST, protokół MST prowadzi niezależne, wewnętrzne elekcje dla każdego regionu z osobna. Role root-a wewnątrz regionu przejmuje lokalny root głównej instancji IST (CIST Regional Root).

    Wsteczna kompatybilność protokołu MST

    • W przypadku wykrycia wiadomości BPDU w wersji innej niż MST, interfejs sieciowy zostaje przeniesiony w tryb zgodności z wykrytym protokołem STP. W takim przypadku główna instancja IST przejmuje rolę nadrzędną podporządkowując sobie resztę skonfigurowanych instancji protokołu MST. Przykładowo jeżeli interfejs sieciowy głównej instancji IST działa w trybie Blocking Port, to użycie wskazanego trybu zastanie również wymuszone na innych instancjach MSTI względem określonego interfejsu sieciowego.
    • W przypadku łączenie topologii protokołu MST z innymi protokołami STP, może dojść do elekcji dwóch przełączników pełniących rolę root-a, bądź też rolę te będzie sprawował jeden przełącznik.
      • Main Root Bridge (Root for entire CST and IST) – Przełącznik wybrany jako root dla całej topologii sieci MST & STP.
      • CIST Regional Root (Root only for IST) – Przełącznik wybrany jako root wewnątrz głównej instancji IST.
    Obydwie rolę mogą być pełnione przez jeden przełącznik, w sytuacji w której „Main Root Bridge” znajduje się w granicach głównej instancji IST protokołu MST (Wewnątrz głównej instancji IST role interfejsów są określane na podstawie lokalizacji przełącznika „CIST Regional Root”).
    Interfejs sieciowy graniczący z innym protokołem STP, jest punktem granicznym danego regionu MST.

    Wdrażanie protokołu MST

    • Aby uniknąć problemów z wdrażaniem protokołu MST, proces ten powinien wyglądać następująco:
      1. Należy aktywować protokół VTP w wersji trzeciej, w celu automatycznej propagacji ustawień protokołu MST.
      2. Skonfigurować protokół MST na głównym serwerze (VTPv3 Primary MST Server).
      3. Aktywować protokół MST za pomocą komendy [spanning-tree mode mst].
    W celu uniknięcie problemów z protokołem MST, związanych z blokowanie sieci VLAN na połączeniach Trunk-owych (VLAN Pruning), które w topologii zostały oznaczone jako połączenia aktywne (Root Port <-> Designated Port). Należy nie używać statecznego wykluczania sieci VLAN z połączeń Trunk-owych za pomocą komendy [switchport trunk allowed vlan vlan-ID].

    Dodatkowe funkcje protokołu MST

    STP Dispute

    • Standardowa implementacja protokołu STP (802.1D), został wyposażony przez firmę Cisco w mechanizm Loopguard umożliwiający wykrycie ruchu jednostronnego „Unidirectional Link Detection”.
    • Implementacja protokołu MST w systemie Cisco IOS, posiada podobną funkcjonalność, której działanie opiera się na wartości kontrolnej „Designated bit”. Przełącznik znajdujący się wyżej w strukturze sieci wysyła wiadomość „Superior BPDU” do swoich sąsiadów, jeżeli w podpowiedzi otrzyma wiadomość BPDU z ustawionym bitem „Designated bit”, uzna że ramka „Superior BPDU” nie dotarła do odbiorcy a tym samym połączenie pomiędzy przełącznikami działa jednostronnie, tak więc należy je zablokować.
    Działanie mechanizmu STP Dispute

    Pozostałe tematy związane z protokołem STP

  • (T) RSTP Convergence*

    (T) RSTP Convergence*

    RSTP Convergence

    Domyślne odstępy czasowe protokołu RSTP

    • Czas Hello (2 sekund) – Definiuje odstępy czasowe w wysyłaniu wiadomości BPDU.
    • Czas Forward Delay (15 sekund) – Definiuje czas tranzytowy, określający odstępy czasowe pomiędzy stanami protokołu RSTP.
    • Czas Max Age (20 sekund) – Definiuje czas, po upływie którego przełącznik usuwa zawartość ostatnio otrzymanej wiadomości „Best BPDU” dla danego interfejsu. Po otrzymaniu nowszej wersji BPDU czas „Max Age Time” jest resetowany (Czas Max Age Time jest wykorzystywany w celu wstecznej kompatybilności ze starszymi wersjami protokołu STP (802.1D).
    • Czas Max Time (6 sekund) – Określa czas, po którym przełącznik wykryje utratę kontaktu ze swoim sąsiadem. W przypadku protokołu RSTP trzykrotne nieotrzymanie wiadomości BPDU od sąsiada oznacza utratę łączności.

    Zmiana domyślnych odstępów czasowych protokołu RSTP

    • Powyższe (domyślne) odstępy czasowe protokołu RSTP mogą zostać zmienione w sposób pośredni lub bezpośredni.
      • Sposób pośredni wykorzystuje wartości Network Diameter Value, określającą ilość przełączników przez jaką przechodzi wiadomość BPDU, wysłana z przełącznika pełniącego rolę root-a do najdalszego przełącznika w sieci. Zmiana wartości „Network Diameter Value” wymusza proces ponownego przeliczenia czasów protokołu RSTP.
      • Sposób bezpośredni umożliwia dowolną ingerencję w odstępy czasowe protokołu RSTP.

    Proces Synchronizacji protokołu RSTP

    Proces synchronizacji protokołu RSTP względem interfejsów Non Edge zachodzi, gdy interfejs przejdzie w stan Forwarding.
    Proces elekcji root-a w przypadku protokołu RSTP, jest prowadzony z wykorzystaniem widomości BPDU z flagą „Proposal” jak i widomości BPDU z flagą „Agreement”.
    1. Przełącznik przesyła do swojego sąsiada propozycje uznania się za root-a, przy pomocy widomości BPDU z flagą „Proposal”,jeżeli sąsiednie urządzenie wyrazi na to zgodę (Posiada większą wartość BID) odeśle widomość BPDU z flagą „Agreement” w celu potwierdzenia elekcji nowego root-a. Po elekcji root-a wszystkie interfejsy Non Edge Ports zaczynają proces synchronizacji w stanie blokowania (Discarding).
    2. Przełącznik pełniący rolę root-a rozpoczyna rozsyłania wiadomości Superior BPDU do wszystkich swoich sąsiadów.
    3. Po odebraniu wiadomości Superior BPDU od root-a, przełącznik określa interfejs pełniący rolę Root Port. Rozpoczynając tym samym proces synchronizacji zakładający, iż pozostałe interfejsy (Non-Edge Point-to-Point Port) powinny pełnić rolę Designated Port, aby upewnić się w tym przekonaniu wysyła na dane interfejsy wiadomość BPDU z flagą „Proposal”.
    4. Sąsiedni przełącznik po otrzymaniu wiadomości Configuration BPDU z flagą „Proposal” wykonuje następujące czynności:
      1. Jeśli otrzymana wiadomość konfiguracyjna stanowiła wiadomość Superior BPDU, sąsiednie urządzenie uzna, że dany interfejs powinien pełnić rolę Root Port, a jego odpowiednik po drugiej stronie rolę Designated Port.
      2. Zanim jednak przełącznik potwierdzi zdobytą wiedzę musi przejść proces wstępnej synchronizacji, podczas której blokuje wszystkie porty Non-Edge w celu uniknięcia pętli sieciowych.
      3. Po przejściu procesu synchronizacji sąsiedni przełącznik wysyła potwierdzenie dokonanych zmian (Root Port / Designated Port election) wiadomością Configuration BPDU z flagą „Agreement”.
      4. Po otrzymaniu wiadomości Configuration BPDU z flagą „Agreement” obydwa przełączniki mogą przenieść interfejsy je łączące do stanu „Forwarding State”.
    5. Po przejściu całego procesu sąsiedni przełącznik wysyła wiadomości Configuration BPDU z flagą „Proposal” do swoich sąsiadów, gdzie zachodzi analogiczny proces synchronizacji.
    W przypadku nieotrzymania odpowiedzi na wiadomość „Proposal” przełącznik uzna sąsiada za niezdolnego do współpracy z protokołem RSTP, a tym samym rozpocznie proces wymiany danych w formacie STP (802.1D).
    Widomości BPDU z flagą „Proposal” jak i widomości BPDU z flagą „Agreement” mogą być wysyłane jedynie na interfejsach typu Non-Edge Point-to-Point Ports.
    Proces Synchronizacji protokołu RSTP

    Zmiana topologii protokołu RSTP

    • Protokół
      RSTP określa mianem zmiany topologii, przejście interfejsu Non-edge do stanu „Forwarding”. Co zapoczątkuje proces
      wysyłania wiadomości BPDU z flagą TC na wszystkie interfejsy non-edge pełniące
      rolę Designated.
    • Zdarzenie
      te rozpoczyna akcję czyszczenia tablic „MAC
      address table”
      na wszystkich sąsiednich przełącznikach, które opróżniają
      zawartość swoich pamięci CAM na wszystkich interfejsach, poza tym z którego
      została odebrana wiadomość BPDU z flagą TC. Po zakończeniu procesu czyszczenia
      pamięci CAM sąsiednie przełączniki wysyłają wiadomości BPDU z flagą TC na
      wszystkich interfejsach Non-edge.
    Proces zmiany roli interfejsu Alternative Port na Root Port w przypadku protokołu RSTP wynosi około 1-4 sekundy.

    Pozostałe tematy związane z protokołem STP

  • (T) Tryby i stany pracy protokołu RSTP*

    (T) Tryby i stany pracy protokołu RSTP*

    Tryby i stany pracy protokołu RSTP

    Stany pracy interfejsów sieciowych Protokołu RSTP (Ports States)

    • Disabled State – Interfejs jest administracyjnie wyłączony (Stan ten nie należy do grona stanów protokołu RSTP).
    • Discarding State – Interfejs jest blokowany jak i nie uczestniczy w wymianie wiadomości BPDU (Stan ten zastępuje dwa pierwsze stany protokołu STP, czyli stan „Blocking” oraz „Listening”).
    • Learning State – Interfejs jest blokowany, rozpoczyna naukę adresów MAC na podstawie otrzymywanych ramek.
    • Forwarding State – Interfejs uczestniczy w normalnym ruchu sieciowym.
    Stan Może przesyłać dane? Uczy się adresów MAC? Otrzymuje wiadomości BPDU? Wysyła wiadomości BPDU? Stan pracy
    Disabled State Nie Nie Nie Nie Stabilny
    Discarding State Nie Nie Tak Nie Stabilny
    Learning State Nie Tak Tak Tak Przejściowy
    Forwarding State Tak Tak Tak Tak Stabilny

    Stany pracy protokołu RSTP

    Rodzaje interfejsów sieciowych Protokołu RSTP (Ports Types)

    • Edge Port – Interfejs stanowiący kraniec sieci, przeważnie podłączony do urządzenia końcowego. Jest identyfikowany za pomocą włączonej funkcji PortFast  (Jeśli na dany port dotrze wiadomość BPDU, traci on swój status).
    • Non-Edge Port:
      • Port Point-to-Point Port – Interfejs non-edge (Port pracujący w trybie pełnego dupleksu (Full Duplex)).
      • Port Shared Port – Interfejs non-edge (port pracujący w trybie połowicznego dupleksu (Falf Duplex)).
    Typ Status funkcji Duplex Funkcja PortFast
    Point-to-point Full No
    Point-to-point edge Full Yes
    Shared Half No
    Shared edge Half Yes

    Typy interfejsów sieciowych protokołu RSTP

    Role interfejsów sieciowych Protokołu RSTP (Ports Roles)

    • Root Port – Interfejs przechowujący wiadomości „Superior BPDU” (Z najniższym kosztem dotarcia do Root-a).
    • Designated Port – Interfejs przesyłający wiadomości BPDU, z najniższym kosztem dotarcia do Root-a.
    • Alternate Port – Zapasowe połączenie prowadzące do Root-a (Jest to interfejs otrzymujący wiadomości Superior BPDU względem lokalnego przełącznika oraz Interior BPDU względem interfejsu pełniącego rolę Root Port).
      • Proces zmiany stanu pracy interfejsu Alternative Port: Discarding -> Forwarding.
    • Backup Port – Zapasowe połączenie prowadzące do interfejsu pełniącego rolę Designated Port. Przykładowym rozwiązaniem „Backup Port” jest podwójne połączenie przełącznika do Hub-a.
      • Proces zmiany stanu pracy interfejsu Backup Port: Discarding -> Learning -> Forwarding.
    Alternative Port stanowi zapasowe połączenie prowadzące do root-a, natomiast Backup Port stanowi zapasowe połączenie prowadzące do interfejsu pełniącego rolę Designated Port.

    Określanie roli portów protokołu RSTP

    • Interfejs pełniący rolę Edge Port:
      • Osiąga status Forwarding zaraz po aktywacji interfejsu.
      • Swoim zachowaniem przypomina funkcję PortFast.
    • Interfejs pełniący rolę Point-to-Point Port (Non-root):
      • Przechodzi skrócony proces synchronizacji w celu określenia stanu pracy danego interfejsu.
      • Discarding -> Forwarding.
    • Interfejs pełniący rolę Shared Port (Non-root):
      • Przechodzi standardowy proces „convergence” w celu określenia stanu pracy danego interfejsu.
      • Discarding -> Learning -> Forwarding.
    • Interfejs pełniący rolę Root Port (Po otrzymaniu wiadomości Superior BPDU):
      • Osiąga status Forwarding zaraz po aktywacji interfejsu.

    Pozostałe tematy związane z protokołem STP

  • (T) Wprowadzenie do protokołu RSTP*

    (T) Wprowadzenie do protokołu RSTP*

    Wprowadzenie do protokołu RSTP

    Cechy protokołu RSTP

    • Wprowadza pojęcie końcówek (Edge ports), które działają w sposób zbliżony do funkcji PortFast protokołu STP.
    • Wykorzystuje podział na linki zapasowe (Backup) oraz alternatywne (Alternative).
    • Wykorzystuje mechanizm zbliżony w swoim działaniu do funkcji PortFast (Protokołu STP).
    • Automatycznie aktywuje funkcję UplinkFast (Protokołu STP).
    • Automatycznie aktywuje funkcję BackboneFast (Protokołu STP).

    BPDU protokołu RSTP (BPDU 2)

    • Wiadomości BPDU w wersji drugiej zostały zaprojektowane pod kontem protokołu RSTP. Posiadają one dodatkowe opcje w tym rozszerzony zasób flag wiadomości Configuration BPDU. Nowe flagi są następujące:
      • Topology Change (TC)
      • Topology Change Acknowledgment (TCA)
      • Proposal
      • Agreement
      • Port Role (2 bits)
      • Forwarding
      • Learning

    Podstawowe pojęcia dotyczące protokołu RSTP

    • Protokół RSTP (802.1w) wspiera wiadomości BPDU w formacie 802.1D, w celu uzyskania wstępnej kompatybilności ze starszymi wersjami protokołu STP (802.1D).
    • Zasada działania protokołu RSTP jest następująca:
      • Przełącznik przedstawia siebie jako urządzenie wspierające protokół RSTP, wysyłając informacje o stanie jak i roli jaką sprawuje (Protokół RSTP wykorzystuje wiadomości BPDU w wersji drugiej „Version 2”).
      • Wiadomości BPDU są wysyłane w odstępach czasowych „Hello Time” (Domyślnie 2 sekund), na wszystkich interfejsach sieciowych przełącznika, niezależnie od tego które z urządzeń sprawuję rolę root-a. Dzięki czemu każdy przełącznik może pełnić aktywną rolę w topologii sieciowej, szybciej reagując na zachodzące w niej zmiany.
      • Każdy przełącznik oczekuje otrzymywania regularnych odpowiedzi BPDU od swoich sąsiadów, Jeżeli po upływie trzech czasów „Hello Time” (Domyślnie 6 sekund) wiadomość ta nie zostanie dostarczona, przełącznik usunie dane dotyczące swojego sąsiada bazy z interfejsu, poprzez który był z nim złączony.
      • Protokół STP oraz RSTP wykorzystuje czas migracji umożliwiający łatwe przejście z jednego protokołu na drugi.
    Interfejsy, do których docierają wiadomości BPDU w wersji 0 (802.1D STP), pracują w domyślnym trybie 802.1D.
    Proces elekcji root-a dla protokołu RSTP jest identyczny jak dla protokołu STP 802.1D.

    Zalety protokołu RSTP

    • Posiada mechanizm szybkiej zamiany roli interfejsu z AP (Alternative Port) na RP (Root Port).
    • Posiada mechanizm szybkiej zamiany roli interfejsu na DP (Designated Port), bez dodatkowego czasu oczekiwania.
    • Zmniejsza czas konwergencji (Do trzech czasów „Hello Time”, domyślnie jest to 6 sekund).

    Cechy charakterystyczne wiadomości BPDU dla protokołu RSTP

    • Wiadomości BPDUv2 protokołu RSTP:
      • Posiadają wsteczną kompatybilność z protokołem STP.
      • Identyfikują interfejsy, z których zostały nadane, względem pełnionej roli jak i stanu.
      • Prowadzą negocjacje z sąsiednimi przełącznikami.
      • Są wysyłane przez wszystkie przełączniki niezależnie roli root-a.

    Pozostałe tematy związane z protokołem STP

  • (T) Funkcje specjalne / bezpieczeństwo protokołu STP*

    (T) Funkcje specjalne / bezpieczeństwo protokołu STP*

    Funkcje specjalne protokołu STP

    Funkcja UplinkFast

    • Funkcja UplinkFast umożliwia natychmiastowe przełączenie ruchu sieciowego z interfejsu pełniącego rolę „root port”, na zapasowe połączenie prowadzące do root-a.
    • Aktywowanie funkcji UplinkFast na przełączniku automatycznie zwiększy jego wartość Bridge Priority z 32768 do 49152 oraz wartość (Port Priority) wszystkich jego interfejsów do 3000.
    • Proces działania funkcji UplinkFast jest następujący:
    • Domyślnie przełącznik przetrzymuje w swojej pamięci kopie wiadomości superior BPDU na podstawie, której wybierany jest interfejs pełniący rolę root port. Funkcja UplinkFast umożliwia zapamiętanie dodatkowej wiadomości Inferior BPDU, wskazującej zapasowe połączenie do root-a.
    • W przypadku utraty głównego połączenia do root-a, funkcja UplinkFast umożliwia natychmiastowe przełączenie ruchu sieciowego na interfejs zapasowy, posiadający drugą najniższą wartość wiadomości BPDU. Przenosząc go od razu ze stanu „Blocking” do stanu „Forwarding”, pomijając tym samym proces nasłuchu „Listening State” oraz etap nauki adresów MAC „Learning State”.
    • Po aktywowaniu zapasowego połączenia, przełącznik przenosi zawartość tablicy „MAC address Table” z dezaktywowanego interfejsu na nowy zapasowy, dzięki czemu dany port nie musi na nowo uczyć się wszystkich adresów MAC.  Związku z tym posunięciem powstaje problem związany z brakiem synchronizacji pomiędzy tablicami adresów MAC na sąsiednich urządzeniach, które nadal posiadają adresy przypisane do starego interfejsu.
    • W celu rozwiązania problemu desynchronizacji, przełącznik zaczyna proces przekazywania informacji o adresach MAC do swoich sąsiadów. W tym celu wysyła ramki Ethernet-owe adresowane na specjalny multicast-owy adres 0100.0CCD.CDCD, wraz z docelowym adresem zawierającym adresy MAC wcześniej przypisane do dezaktywowanego interfejsu. Dzięki czemu sąsiednie urządzenie mogą zmienić zawartość swojej tablicy „MAC address Table” (Wiadomości są wysyłane z prędkością określaną poprzez wartość „max-update-rate”).
    Funkcja UplinkFast powinna być aktywna jedynie na przełącznikach warstwy dostępowej (Access Layer). 

    Funkcja BackboneFast

    • Funkcja BackboneFast umożliwia skrócenie czasu oczekiwania przy zmianie topologii sieciowej „Indirect Topology Changes”, z około 52 sekund do 30 sekund (Funkcja ta umożliwia pominięcie czasu oczekiwania „Max-Age”).
    • Funkcja BackboneFast umożliwia przyspieszenie procesu zmiany topologii sieciowej, zależnie od miejsca odebrania wiadomości Inferior BPDU. Poszczególne opcje prezentują się następująco:
      • Jeżeli wiadomość Inferior BPDU dotarła na interfejs Blocking Port, przełącznik uzna port będący w trybie Root Port jak i wszystkie inne blokowane interfejsy za połączenia alternatywne względem root-a (Alternative).
      • Jeżeli wiadomość Inferior BPDU dotarła na interfejs Root Port, przełącznik uzna wszystkie blokowane interfejsy za połączenia alternatywne (Alternative) do przełącznika pełniącego rolę root-a.
      • Jeżeli wiadomość Inferior BPDU dotarła na interfejs Root Port a przełącznik nie posiada innych portów będących w stanie blokowania uzna, że utracił on połączenie z root-em, a tym samym uzna się za nowego root-a prze upływem wartości czasu „Max-Age”.
    • Jeżeli lokalny przełącznik posiada blokowane interfejsy z włączoną funkcją BackboneFast, wykorzysta protokół RLQ (Root Link Query) do sprawdzenia czy inne przełączniki posiadają połączenie z root-em.
    • Po wysłaniu pierwszego zapytania RLQ Request przełącznik oczekuje na odpowiedź od urządzenia pełniącego rolę root-a lub mającego z nim łączność. Jeżeli sąsiadujące przełączniki nie spełniają opisanych powyżej wymagań przesyłają zapytanie RLQ Request dalej, dopóki jedno z urządzeń nie spełni wymagań odsyłając tym samym odpowiedzi RLQ Replay.
    • Jeżeli otrzymana odpowiedź RLQ Replay nadeszła z interfejsu działającego w trybie RP połączenie z root-em jest stabilne, jeżeli jednak odpowiedź nadeszła na porcie działającym w innym trybie, alternatywne połączenie musi być wybrane, a czas „Max-Age” automatycznie upływa umożliwiając szybszy proces wyboru RP.
    Funkcja BackboneFast powinna być włączona na wszystkich przełącznikach w sieci, aby zapewnić obsługę zapytań RLQ Request oraz RLQ Replay na wszystkich przełącznikach. 

    Funkcja PortFast

    • Funkcja PortFast automatycznie przenosi interfejs ze stanu „Blocking” do stanu „Forwarding State”, pomijając tym samym proces nasłuchu „Listening State” oraz etap nauki adresów MAC „Learning State”. Dzięki czemu czas oczekiwania na zmianę topologii zostaje skrócony o 30 sekund do czasu 0 sekund.
    • Pomimo przyspieszonego tempa działania funkcji PortFast, istnieje możliwość wykrywania pętli sieciowych, ponieważ każda otrzymana wiadomość BPDU na interfejsie z włączoną funkcją PortFast powoduje automatyczne zresetowanie interfejsu do zwykłego trybu pracy dla protokołu STP.
    • W przypadku wykrycia wiadomość BPDU na interfejsie z aktywną funkcją PortFast, przełącznik przeniesie określony  port przez podstawowy proces „Listening State” -> „Learning State” -> „Forwarding State”.
    • Funkcja PortFast powinna być włączona na interfejsach:
      • Dostępowych (Access, Edge) podłączonych do urządzeń końcowych.
    Funkcja BPDU Guard oraz BPDU Filter jest zależna od funkcji PortFast.

    Bezpieczeństwo protokołu STP

    Funkcja Root Guard

    • Funkcja Root Guard chroni sieć lokalną, przed niekontrolowanym podłączaniem niezaufanych urządzeń, rozgłaszających pakiety STP z większą wartość BID. Sytuacja tego typu może doprowadzić do zmiany obecnego root-a na nowego, znajdującego się na innym niekorzystnym dla sieci miejscu. Zasada działania Root Guard-a jest następująca:
    • Przełącznik zapamiętuje wartość obecnego BID root-a, podłączonego do interfejsu z wyłączoną funkcją Root Guard. Jeżeli przełącznik odbierze wiadomość BPDU z niższą wartością BID (Superior BPDU) na interfejsie z włączoną funkcją Root Guard przejdzie on w stan root-inconsistent STP state blokując zmianę obecnego root-a (Stan ten blokuje również ruch sieciowy na danym interfejsie umożliwiając przesyłanie jedynie wiadomości BPDU). Jeżeli wiadomości BPDU z lepszą wartością BID przestaną napływać na blokowanym interfejsie stan „root-inconsistent” zostanie odwołany.
    • Funkcja Root Guard powinna być włączona na interfejsach:
      • Które nigdy nie powinny być podłączone do root-a, np. interfejsach dostępowych (Access, Edge).

    Funkcja Loop Guard

    • Funkcja Loop Guard chroni sieć przed powstaniem pętli w skutek przerwania napływu wiadomości BPDU.
    • Jeżeli do interfejsu sieciowego nie docierają wiadomości BPDU lokalny urządzenie uznaje, że dany port nie jest podłączony do innego przełącznika, rozpoczynając tym samym proces aktywacji interfejsu do stanu „Forwarding” (Po upływie czasu „Max-Age”). Może jednak zaistnieć sytuacja, w której wiadomości BPDU były filtrowane bądź w inny sposób zablokowane, a tym samym do danego interfejsu sieciowego nadal podłączony inny przełącznik, który może doprowadzić do powstania pętli sieciowej.
    • Aby uniknąć takiego scenariusza, funkcja „Loop Guard” śledzi interfejsy na których przełącznik otrzymuje wiadomości BPDU, jeżeli przestaną one napływać przenosi dany interfejs do stanu blokowania Loop-inconsistent State.
    • Funkcja Loop Guard powinna być włączona na interfejsach:
      • Pełniących rolę Root Port, Alternate Port oraz Backup Port.

    Funkcja BPDU Guard

    • Funkcja BPDU przenosi interfejs sieciowy w stan Errdisable State po odebraniu pierwszej nadchodzącej ramki BPDU.
    • W przypadku przełącznika zarządzanego blokada nastąpi po wysłaniu przez niego pierwszej wiadomości BPDU, natomiast dla przełącznika niezarządzanego blokada nastąpi w przypadku wykrycia pętli, kiedy to pakiet STP wysłany z sieci lokalnej zostanie zapętlony w podłączonym przełączniku a następnie wróci z powrotem do sieci kontrolowanej.
    BPDU Guard nie posiada żadnych mechanizmów zapobiegających powstawaniu pętli, w przypadku podłączenia hub-a.
    BPDU Guard przepuszcza pakiety BPDU wychodzące ze skonfigurowanego interfejsu, dzięki czemu w przypadku powstania pętli, wysyłane pakiety powrócą na interfejs wywołując alarm bezpieczeństwa a tym samym aktywują jego blokadę.

    Funkcja Filtering STP

    • Funkcja Filtering BPDU blokuje możliwość wysyłania jak i odpierania wiadomości BPDU na określonym Interfejsie sieciowym. W przypadku otrzymania nadchodzącej ramki BPDU, interfejs przechodzi domyślny proces aktywacji protokołu STP: „Blocking State” <->  „Forwarding State”.

    UDLD (Unidirectional Link Detection)

    • Protokół UDLD umożliwia wykrycie awarii przewodu światłowodowego, w przypadku poluzowania się bądź też całkowitego przerwania Jednej z nitek światłowodu. Tym samym powodując powstanie jednostronnej komunikacji.
    • Bez skonfigurowanego protokołu UDLD uszkodzenie światłowodu może nie zostać wykryte, a tym samym wymiana danych będzie odbywać się bez przeszkód, oczywiście tylko jedynie w jednym kierunku. Takie zdarzenie może doprowadzić do powstania pętli sieciowej, ponieważ jedna ze stron komunikacji nie będzie otrzymywała wiadomość BPDU a tym samy uzna, że na danym interfejsie nie ma już innego przełącznika. Tymczasem druga strona połączenia nadal będzie otrzymywała wiadomości BPDU, nie zmieniając swojego statusu protokołu STP, dla określonego interfejsu.
    • W celu wykrycia awarii przewodu światłowodowego, protokół UDLD systematycznie wysyła wiadomości pomiędzy obydwoma przełącznikami, przetrzymując informacje o sąsiednich urządzeniach w tablicy Neighbor Database.
    • Wiadomości protokołu UDLD są systematycznie wysyłane przez obydwie strony komunikacji co 15 sekund. Jeśli przełącznik nie otrzyma na nie odpowiedzi przez potrójny okres skonfigurowanego czasu (3 x 15 sekund) uzna, że połączenie nie funkcjonuje poprawnie, a tym samym je zablokuje. Wartość czasu oczekiwania nie powinna być dłuższa niż sumowana wartość czasu „Max-Age” z podwójną wartością czasu „Delay Timers” (20 sekund + 2 x 15 sekund = 50 sekund). Ponieważ protokół STP mógłby aktywować blokowany wcześniej interfejs.
    • Protokół UDLD działa w dwóch trybach:
      • Normalny (Normal) – Po wykryciu jednokierunkowego połączenia pomiędzy przełącznikami, protokół UDLD nie wstrzymuje komunikacji pomiędzy nimi, a jedynie wysyła wiadomości Syslog.
      • Agresywny (Aggressive) – Po wykryciu jednokierunkowego połączenia pomiędzy przełącznikami, protokół UDLD wysyła 8 wiadomości w odstępach czasowych co jedną sekundę, jeśli nie otrzyma na nie odpowiedzi przenosi dany interfejs w stan blokowania warstwy drugiej modelu OSI Errdisable State.
    • W przypadku pierwszego włączenia protokołu UDLD na interfejsie, przełącznik oczekuje na otrzymanie co najmniej jednej odpowiedzi UDLD z drugiej strony połączenia (Znajdując się przy tym w stanie „Unknown”), zanim przeniesie dany port w stan „Errdisable”. Dzięki czemu nieskonfigurowany interfejs z aktywowanym protokołem UDLD nie zostanie zablokowany zaraz po włączeniu protokołu UDLD.
    • Protokół UDLD powinien być włączona na interfejsach:
      • Wykorzystujących połączenia światłowodowe, pomiędzy przełącznikami.
    Proces wykrywania jednokierunkowego połączenia jest nazywany Event Driven Detection and Echoing.
    Czas wysyłania wiadomości UDLD nie musi być taki sam na obydwóch urządzeniach.
    Jeżeli awarii ulegnie interfejs należący do grupy EthernetChanel, zablokowany zostanie jedynie wadliwy interfejs.
    Protokół UDLD musi być skonfigurowany na obydwóch stronach połączenia, ponieważ przełącznik z wyłączoną funkcją UDLD nie odpowiada na wiadomości UDLD drugiej strony.
    Protokół UDLD stanowi własność firmy CISCO.

    Podsumowanie funkcji protokołu STP

    Zastosowanie funkcji protokołu STP
    Funkcja Konfiguracja Globalna (Zalecane zastosowanie) Konfiguracja interfejsu (Zalecane zastosowanie) Stan błędu
    Root Guard ———————————————– spanning-tree guard root Root-inconsistent
    Zastosowanie: Interfejsy które nigdy nie powinny pełnić roli Root Port
    Loop Guard spanning-tree loopguard default spanning-tree guard loop Loop-inconsistent
    Zastosowanie: Interfejsy pełniące rolę Root, Alternate oraz Backup Port
      BPDU Guard spanning-tree portfast bpduguard default spanning-tree bpduguard enabled   Errdisable State
    Zastosowanie: Interfejsy podłączone do urządzeń końcowych
    BPDU Filter spanning-tree bpdufilter default spanning-tree bpdufilter enabled —————————-
    UDLD udld enable udld enable Errdisable State
    Zastosowanie: Wszystkie interfejsy światłowodowe
    UplinkFast Zastosowanie: Wszystkie przełączniki warstwy dostępowej (Access)
    BackboneFast Zastosowanie: Wszystkie przełączniki w danej sieci

    Porównanie funkcji protokołu STP

    Zalecenia związane ze stosowaniem protokołu STP

    • W celu optymalizacji konfiguracji protokołu Spanning Tree Protocol, należy
    • Statycznie skonfigurować główny oraz zapasowy przełącznik pełniący rolę root-a.
    • Określić role interfejsów w topologii protokołu STP.
    • Wykorzystywać funkcje specjalne protokołu STP.
    • Włączyć funkcję UDLD na połączeniach światłowodowych.
    • Tworzyć proste topologie protokołu STP.
    • Wykorzystywać protokół PVRST+ bądź MST.

    Pozostałe tematy związane z protokołem STP

  • (T) Zmiany zachodzące w topologii protokołu STP*

    (T) Zmiany zachodzące w topologii protokołu STP*

    Zmiany zachodzące w topologii protokołu STP

    Rodzaje wiadomości BPDU

    • Wiadomość Configuration BPDU – Jest rozgłaszana przez przełącznik pełniący rolę root-a.
      • Flaga TC (Topology Change) – Nakazuje zmianę domyślnego czasu „Aging Time” (Czas automatycznego opróżniania tablicy „MAC address table”) z domyślnych 300 sekund, do wartości czasu „Forward Delay” czyli 15 sekund (Dokonana zmiana jest przejściowa i trwa 35 sekund).
      • Flaga TCA (Topology Change Acknowledgment) – Potwierdza otrzymanie wiadomości TCN BPDU.
    • Wiadomości TCN BPDU (Topology Change Notification) – Informuje o zaistnieniu zmiany w topologii sieciowej.

    Działanie protokołu STP w przypadku braku zmian w topologii sieciowej

    1. Przełącznik pełniący rolę root-a wysyła wiadomość BPDU z zerową wartością „Root Patch Cost”.
    2. Bezpośrednio przylegające do root-a przełączniki odpierają wiadomości BPDU, zmieniają wartość BID nadawcy na swój numer BID jak i dodają do wartości „Root Patch Cost” własną wartość „Patch Cost” interfejsu, na którym została odebrana ramka BPDU.
    3. Krok pierwszy oraz drugi jest powtarzany do momentu wykrycia zmiany w topologii sieciowej (Np. zmiany wartości RID).

    Proces aktualizacji protokołu STP po zmianie topologii sieciowej (Direct Topology Changes)

    • Proces „Direct Topology Changes” zachodzi w sytuacji, w której interfejs przełącznika, przechodzi z trybu „Forwarding” do trybu „Blocking / Disabled State” bądź z innego trybu protokołu STP do trybu „Forwarding State”.
      1. Po zmianie stanu interfejsu, przełącznik automatycznie wysyła wiadomość TCN BPDU przez root port do root-a. Wiadomość ta pełni jedynie rolę informacyjną, dlatego nie zawiera żadnych danych na temat zaszłych w topologii sieciowej zmian (Wiadomości TCN BPDU są przenoszone jedynie przez interfejsy pracujące w trybie Root port).
      2. W odpowiedzi na otrzymaną wiadomość TCN BPDU, sąsiedni przełącznik odsyła do nadawcy wiadomość Configuration BPDU z flagą TCA. jednocześnie dalej propagując otrzymaną wiadomość TCN BPDU przez root port.
      3. Po otrzymaniu wiadomości TCN BPDU, przełącznik pełniący rolę root-a rozpoczyna propagowanie wiadomości Configuration BPDU z flagę TC. Nakazuje ona zmianę domyślnego czasu „Aging Time” (Czas automatycznego opróżniania tablicy „MAC address table”) z domyślnych 300 sekund do wartości czasu „Forward Delay” czyli 15 sekund (Dokonana zmiana jest przejściowa i trwa 35 sekund).
      4. Przełącznik na którym nastąpiła zmiana stanu interfejsu, cały czas wysyła wiadomości TCN BPDU zgodnie z skonfigurowanym czasem „Hello”, dopóki nie otrzyma odpowiedzi od root-a.
      5. Po otrzymaniu odpowiedzi od root-a, przełącznik zapisuje wiadomość BPDU jako „Best BPDU” a tym samym uznaje dany interfejs za root port, rozpoczynając proces przenoszenia portu ze stanu „Blocking” na stan „Forwarding”.
    Jeżeli wadliwy interfejs pełnił podczas awarii funkcje RP, wiadomość TCN BPDU nie zostanie wysłana, ponieważ bez wsparcia zawansowanych funkcji takich jak „UplinkFast”,urządzenie nie jest świadome istnienia zapasowej drogi do przełącznika pełniącego rolę root-a.
    Czas trwania całego procesu wynosi 2x15 sekund, czyli w sumie 30 sekund.
    Proces „Direct Topology Changes” aktywuje zmianę domyślnego czasu „Aging Time”, co wywołuję znaczący wzrost ramek „Unkown Unicast” oraz „broadcast” a tym samym zwalnia procesy sieciowe.
    W przypadku przejścia interfejsu ze stanu „up” do stanu „down”, przełącznik usuwa ostatnio otrzymaną ramkę BPDU „Best BPDU” uznając ją za nieaktualną.
    Direct Topology Changes

    Proces aktualizacji protokołu STP po zmianie topologii sieciowej (Indirect Topology Changes)

    • Proces „Indirect Topology Changes” zachodzi w sytuacji, w której do przełącznika sieciowego przestaną nadchodzić wiadomości „superior BPDU”, na interfejsie pełniącym rolę root port.
      1. Po utracie interfejsu pełniącego rolę root port, przełącznik przestaje otrzymywać wiadomości Configuration BPDU, ponieważ inne blokowane interfejsy sieciowe nie przenoszą wiadomości protokołu STP. Tym samym urządzenie ogłasza się root-em rozgłaszając własne wiadomości Configuration BPDU do swoich sąsiadów.
        • Blokowany interfejs (B) sąsiedniego przełącznika blokuje nadawanie wiadomości Configuration BPDU.
      2. Sąsiedni przełącznik po otrzymaniu wiadomości Configuration BPDU uzna je za mniej ważne (Inferior BPDU), ponieważ otrzymuje on jednocześnie wiadomości Superior BPDU od prawowitego root-a. W takiej sytuacji sąsiedni przełącznik będzie czekał około 20 sekund (Czas upływu Max Age Time) po czym rozpocznie proces przenoszenia blokowanego interfejsu z stanu „Blocking State” do stanu „Forwarding State”.
      3. Przełącznik, którego połączenie z root-em zostało przerwane, po upływie około 20 sekund zacznie otrzymywać wiadomości superior BPDU, z blokowanego wcześniej połączenia. Przez co uzna inny przełącznik za root-a, samemu rozpoczynając proces zmiany roli interfejsu z Designated Port do Root Port.
      4. Proces zmiany topologii sieciowej pod względem czasu wygląda następująco: 20 sekund czasu„Max Age” + oczekiwanie na wiadomość konfiguracyjną Configuration BPDU 2 sekundy + przejście z stanu „Listening State” do stanu „Learning State” oraz stanu „Learning State” do stanu „Forwarding State” 2x15 sekund co w sumie daje 52 s.
    Indirect Topology Changes

    Proces aktualizacji protokołu STP po zmianie topologii sieciowej (Insignificant Topology Changes)

    • Po
      podłączeniu do przełącznika nowego komputera PC lub po jego ponownym
      uruchomieniu, interfejs przechodzi ze stanu „down” do stanu „up”, a
      tym samym rozpoczyna proces wysyłania wiadomości TCN BPDU pomiędzy wszystkimi
      przełącznikami w sieci. Oprócz dodatkowego ruchu proces ten wywołuję zmianę
      domyślnego czasu „Aging Time” z 300
      sekund do czasu „Forward Delay” 15
      sekund.  Pomimo faktu, że w sieci nie
      doszło do żadnej istotnej zmiany.
    Włączanie i wyłączanie wielu komputerów w sieci powoduje znaczący wzrost zbędnego ruchu sieciowego, aby ograniczyć to zjawisko, należy zaimplementować funkcję „PortFast” na interfejsach podłączonych do urządzeń końcowych.

    Pozostałe tematy związane z protokołem STP

  • (T) Budowa wiadomości BPDU*

    (T) Budowa wiadomości BPDU*

    Budowa wiadomości BPDU

    Funkcje wiadomości BPDU

    • Wiadomości BPDU:
      • Są wykorzystywane w procesie elekcji root-a.
      • Zarządzają łącznością pomiędzy przełącznikami.
      • Wymieniają informację na temat czasów protokołu STP.
    • Wiadomości TCN BPDU są wysyłane w przypadku:
      • Utraty przynajmniej jednego połączenia.
      • Otrzymania wiadomości TCN od sąsiedniego przełącznika.
      • Zmiany stanu pracy interfejsu sieciowego na stan „Forwarding”, w sytuacji w której przełącznik posiada zapasowy  interfejs prowadzący do root-a (Designated Port).

    Zagadnienia związane z budową ramki BPDU

    PVST+ Bridge ID (Extended System ID)
    • SID (Sender ID) – Wartość ID przełącznika nadającego ramkę BPDU.
    • BID (Bridge ID) – Wartość ID lokalnego przełącznika.
    • RID (Root ID) – Wartość ID przełącznika pełniącego rolę root-a.
    • Powyższe wartości SID, BID oraz RID składają się z następujących elementów:
      • Priority – Wartości priorytetu danego przełącznika sieciowego.
      • MAC Address – Adresu MAC danego przełącznika sieciowego.
      • Przykładowa wartość SID/BID/RID wygląda następująco: 32768.1C1B.0D66.57AB.
    • Wiadomości BPDU są wysyłana przy pomocy multicast-owych ramek Ethernetowych:
      • Dla standardu 802.1D docelowy multicast-owy adres MAC to 0180:C200:0000.
      • Dla standardu PVST docelowy multicast-owy adres MAC to 0100:0CCC:CCCD.

    Rodzaje wiadomości BPDU

    • Wiadomość Configuration BPDU – Jest rozgłaszana przez przełącznik pełniący rolę root-a.
      • Flaga TC (Topology Change) – Nakazuje zmianę domyślnego czasu „Aging Time” (Czas automatycznego opróżniania tablicy „MAC address table”) z domyślnych 300 sekund, do wartości czasu „Forward Delay” czyli 15 sekund (Dokonana zmiana jest przejściowa i trwa 35 sekund).
      • Flaga TCA (Topology Change Acknowledgment) – Potwierdza otrzymanie wiadomości TCN BPDU.
    • Wiadomości TCN BPDU (Topology Change Notification) – Informuje o zaistnieniu zmiany w topologii sieciowej.

    Budowa ramki Configuration BPDU

    • Protocol ID (2 Bytes) – Określa standard protokołu STP (Przykładowo dla standardu 802.1D będzie to 0000).
    • Version (1 Bytes) – Określa wersją protokołu STP (STP (0) oraz RSTP (2)).
    • Message Type (1 Bytes) – Określa rodzaj wiadomości BPDU (Configuration BPDU / TCN BPDU).
    • Flags (1 Bytes) – Określa flagę wiadomości Configuration BPDU (1 = TC BPDU / 8 = TCA BPDU).
    • Root Bridge ID (8 Bytes) – Określa wartość BID root-a, składającą się z priorytetu (2 Bytes) jak i adresu MAC (6 Bytes).
    • Root Patch Cost (4 Bytes) – Określa wartość drogi dotarcia do root-a, względem przełącznika wysyłającego ramkę BPDU.
    • Sender Bridge ID (8 Bytes) – Określa wartość BID przełącznika wysyłającego ramkę BPDU (SID).
    Aby pomieścić wartość priorytetu wraz z informacją o sieci wirtualnej VLAN, przełączniki Cisco stosują wartość priorytetu podzielną przez 4096, tym samym wartość dodana do liczby podzielnej, stanowi numer ID sieci VLAN.
    • Port ID (2 Bytes) – Określa numer ID interfejsu, z którego została wysłana wiadomość BPDU.
    • Message Age (2 Bytes) – Sprawuje funkcję pola TTL (Time to Live) protokołu IP dla protokołu STP. Przełącznik pełniący rolę root-a wysyła wiadomość BPDU z wartością „Message Age” równą 0. Każdy następny przełącznik zwiększa jej wartość o jeden. W sytuacji przekroczenia wartości „Maximum Age” wiadomość BPDU zostaje porzucona.
    • Maximum Age (2 Bytes) – Określa maksymalną dopuszczalną wartość „Message Age”.
    • Hello Time (2 Bytes) – Definiuje odstępy czasowe w nadawaniu wiadomość Configuration BPDU przez root-a.
    • Forward Delay (2 Bytes) – Definiuje czas tranzytowy, określający odstępy czasowe pomiędzy przejściami ze stanu „Listening State” do stanu „Learning State” oraz ze stanu „Learning State” do stanu „Forwarding State”.

    Pozostałe tematy związane z protokołem STP

  • (T) Czasy protokołu STP*

    (T) Czasy protokołu STP*

    Czasy protokołu STP

    Domyślne odstępy czasowe protokołu STP

    Wszystkie domyślne czasy wykorzystywane na urządzeniach Cisco, spełniają zalecenia IEEE.
    • Czas Hello (2s) – Definiuje odstępy czasowe w wysyłaniu wiadomości BPDU przez przełącznik pełniący rolę root-a.
      • Czas „Hello” skonfigurowany na przełączniku pełniącym rolę root-a jest propagowany poprzez wiadomości BPDU na inne przełączniki w sieci, dzięki czemu znają one aktualne odstępy czasowe.
      • Przełączniki niepełniące roli root-a wykorzystują czas „Hello”, w celu systematycznego wysyłania wiadomości TCN BPDU w przypadku wykrycia zmian w topologii sieciowej. Wiadomości TCN BPDU są wysyłane systematycznie w odstępach „Hello” do czasu otrzymania odpowiedzi od sąsiedniego urządzenia.
    • Czas Max Age (20s) – Definiuje czas, po upływie którego przełącznik usuwa zawartość ostatnio otrzymanej wiadomości BPDU dla danego interfejsu „Best BPDU” (Po otrzymaniu wiadomości BPDU czas jest resetowany).
    • Czas Forward Delay (15s) – Definiuje czas tranzytowy, określający odstępy czasowe pomiędzy przejściami ze stanu „Listening State” do stanu „Learning State” oraz ze stanu „Learning State” do stanu „Forwarding State”.
    Trzy rodzaje odstępów czasowych
    Nazwa Czas Opis czasu
    Hello 2s Odstępy czasowe pomiędzy wiadomościami BPDU wysyłanymi przez root-a.
    Max Age 20s Czas, po którym przełącznik uzna że połączenia zostało utracone.
    Forward Delay 15s Czas pomiędzy przejściem z stanu „Listening” do „Learning” oraz „Learning” do „Forward”.

    Wartości czasów protokołu STP

    Zmiana domyślnych odstępów czasowych protokołu STP

    • Powyższe (domyślne) odstępy czasowe protokołu STP mogą zostać zmienione w sposób pośredni lub bezpośredni.
      • Sposób pośredni wykorzystuje wartości Network Diameter Value, określającą ilość przełączników przez jaką przechodzi wiadomość BPDU, wysłana z przełącznika pełniącego rolę root-a do najdalszego przełącznika w sieci. Zmiana wartości „Network Diameter Value” wymusza proces ponownego przeliczenia czasów protokołu STP.
      • Sposób bezpośredni umożliwia dowolną ingerencję w odstępy czasowe protokołu STP.

    Pozostałe tematy związane z protokołem STP

  • (T) Stany i role Interfejsów protokołu STP*

    (T) Stany i role Interfejsów protokołu STP*

    Stany i role Interfejsów

    Wybór Root Port & Designated Port

    • Wybór roli „Root Port” a „Designated Port”, zachodzi jedynie na przełączniku nie pełniącym roli root-a, ponieważ wszystkie interfejsy root-a domyślnie pełnią rolę Designated (Forwarding).
    • Aby określić rolę swoich interfejsów, przełącznik monitoruje nadchodzące wiadomości BPDU, porównując ich zawartość między sobą jak i własnymi ustawieniami protokołu STP. Zgodnie z zasadami działania protokołu STP, interfejs z najniższą wartością zostaje wybrany „Root Port-em”. Niemniejsza wartość jest określana na podstawie:
      1. Lowest Bridge ID – Najniższej otrzymanej wartość BID.
      2. Lowest Patch Cost to Root – Najniższej wartość kosztu dotarcia do root-a.
      3. Lowest Sender Bridge ID – Najniższej wartość BID urządzenia po drugiej stronie połączenia.
      4. Lowest Sender Port ID – Najniższej wartość interfejsu docelowego (Urządzenia po drugiej stronie połączenia).
    • Po wybraniu interfejsu RP (Root Port) inne interfejsy przełącznika przechodzą w tryb DP (Designated Port), jeżeli urządzenie po drugiej stronie ma większą wartość BID, w innym przypadku port przechodzi do trybu Blocking BP.
    • Podstawowe prawa dotyczące wyboru stanu pracy interfejsów sieciowych:
      • Wszystkie interfejsy przełącznika pełniącego rolę root-a pracują w trybie Designated Port.
      • Na przełączniku może być jedynie jeden interfejs działający w trybie Root Port.
      • Na jednym linku może być jedynie jeden interfejs działający w trybie Designated Port / Blocking Port.
    • Możliwe kombinacje roli na jednym linku:
      • Designated Port (Root) <—> Root Port (Non-Root).
      • Designated Port (Non-Root) <—> Blocking Port (Non-Root).
    Wiadomość BPDU która posiada niższą wartość (1 BID, 2 Cost to root, 3 SID bądź 4 Prot ID) jest nazywana „superior BPDU” natomiast ta z wyższą wartością (1 BID, 2 Cost to root, 3 SID bądź 4 Prot ID) jest nazywana „Inferior BPDU”.
    Przełącznik niepełniący roli Root-a, przetrzymuje na interfejsie pełniącym rolę „Root Port” ostatnią otrzymaną wiadomość „superior BPDU”. W przypadku wykrycia ramki BPDU z niższą wartością na innym interfejsie sieciowym, przełącznik dokona zmiany roli swoich interfejsów.

    Stany pracy Protokołu STP (States)

    Zmiana stanu pracy (STP) interfejsu
    • Punkt decyzji S – Oznacza miejsce, w którym lokalny przełącznik otrzymuje wiadomości BPDU (Na omawianym interfejsie od sąsiedniego urządzenia). W sytuacji odebrania wiadomość superior BPDU przełącznik przechodzi w tryb „Blocking State”, natomiast w przypadku otrzymania wiadomość Inferior BPDU w stan „Learning / Forwarding State”
    • Disabled State – Interfejs jest administracyjnie wyłączony (Stan ten nie należy do grona stanów protokołu STP).
    • Listening State – Interfejs jest blokowany, ma możliwość wysyłania jak i odbierania wiadomościami BPDU.
    • Learning State – Interfejs jest blokowany, rozpoczyna naukę adresów MAC na podstawie otrzymywanych ramek.
    • Forwarding State – Interfejs uczestniczy w normalnym ruchu sieciowym.
    • Blocking State – Interfejs jest blokowany, ma możliwość odbierania wiadomościami BPDU.
    Podczas przechodzenia ze stanu „Listening State” do stanu „Learning State” oraz „Learning State” do „Forwarding State” domyślnie przełącznik musi odczekać 15 sekund czasu „Forward Delay”.
    Interfejs może przejść ze stanu „Blocking State” do stanu „Listening State” jedynie w przypadku, w którym przełącznik uzna, że port ten może być wybrany jako RP bądź DP.
    Stan Otrzymuje wiadomości BPDU? Wysyła wiadomości BPDU? Uczy się adresów MAC? Może przesyłać dane? Stan pracy
    Disabled State Nie Nie Nie Nie Stabilny
    Blocking State Tak Nie Nie Nie Stabilny
    Listening State 15s Tak Tak Nie Nie Przejściowy
    Learning State 15s Tak Tak Tak Nie Przejściowy
    Forwarding State Tak Tak Tak Tak Stabilny

    Stany protokołu STP

    Role interfejsów (Roles)

    • Root Port – Interfejs sieciowy z najniższym kosztem dotarcia do Root-a.
    • Blocking Port – Blokowany interfejs sieciowy, nie morze przesyłać ani odbierać danych.
    • Alternate Port – Zapasowy interes sieciowy prowadzący do Root-a (Jest wykorzystywany zarówno przez protokół RSTP jak i funkcję UplinkFast protokołu STP).

    Słownik zagadnień

    • Wartość Root Patch Cost – Stanowi skumulowaną wartość drogi dotarcia do root-a, wyliczoną na podstawie wartości (Patch Cost) interfejsów znajdujących się na drodze do root-a.
    • Wartość Patch / Port Cost – Stanowi domyślną wartość interfejsu wyliczoną na podstawie jego obecnego pasma (FastEthernet, GigabitEthernet itd.). Wartość ta może być modyfikowana przez administratora systemu IOS.
    Bandwidth 802.1D Old Short Path Cost 802.1D New Long Path Cost 802.1t after 2004
    10 Mbps 100 100 1,000,000
    100 Mbps 10 19 200,000
    1 Gbps 1 4 20,000
    10 Gbps 1 2 2000
    100 Gbps 1 N/A 200
    1 Tbps 1 N/A 20
    10 Tbps 1 N/A 2

    Pasmo interfejsu a koszt protokołu STP

    Domyślnie protokół STP wykorzystuje koszty „Short Path Cost” natomiast protokół MST koszty „Long Path Cost”.

    Obliczanie Wartości Root Patch Cost

    1. Przełącznik pełniący rolę root-a wysyła wiadomość BPDU z zerową wartością „Root Patch Cost”.
    2. Bezpośrednio przylegające do root-a przełączniki odpierają wiadomości BPDU, a następnie dodają do wartości Root Patch Costwłasną wartość Patch Cost interfejsu, na którym została odebrana ramka BPDU.
    3. Bezpośrednio przylegający sąsiedzi root-a przesyłają przetworzoną wiadomość BPDU dalej.

    Pozostałe tematy związane z protokołem STP

  • (T) Wprowadzenie do protokołu STP*

    (T) Wprowadzenie do protokołu STP*

    Wprowadzenie do protokołu STP

    Wersje protokołu STP

    • Standard 802.1D – Określa podstawową wersję protokołu STP (Spanning-Tree Protocol), zaprojektowaną dla środowiska mostkowego „Bridged Environment” (Protokół ten nie wspiera wirtualnych sieci VLAN).
    • Standard 802.1Q – Określa poprawioną wersję protokołu STP zwaną CST (Common Spanning-Tree Protocol), wprowadzającą wsparcie dla wirtualnych sieci VLAN jak i połączeń Trunk-owych, zgodnie ze standardem 802.1Q.
    • Protokół PVST (Per-VLAN Spanning Tree Protocol) – Określa ulepszoną wersję protokołu STP, tworzącą oddzielne instancje dla każdej z aktywnych sieci VLAN. Ponadto umożliwia wysyłanie wiadomości BPDU poprzez połączenia Trunk-owe enkapsulowane metodą ISL (Nie współpracuje z protokołem CST) (Stanowi własność firmy Cisco).
    • Protokół PVST+ (Per-VLAN Spanning Tree Plus Protocol) – Określa ulepszona wersję protokołu CST, tworzącą oddzielne instancje protokołu STP, dla każdej z aktywnych sieci VLAN. Ponadto umożliwia wysyłanie wiadomości BPDU poprzez połączenia Trunk-owe enkapsulowane metodą ISL tudzież 802.1Q (Współpracuje z protokołem CST jak i PVST).
    • Standard 802.1w – Zwany protokołem RSTP (Rapid Spanning Tree Protocol) zwiększa wydajność protokołu CST, umożliwiając jego szybszą konwergencję w sytuacji zajścia zmian w topologii sieciowej (Np. w przypadku podłączenia nowego urządzenia bądź też awarii jednego z aktywnych interfejsów sieciowych).
    • Protokół PVRST (Per-VLAN Rapid Spanning Tree Protocol) – Określa ulepszona wersję protokołu PVST+, wzbogaconą o funkcjonalność bardziej wydajnego protokołu RSTP (Stanowi połączenie protokołu PVST z protokołem RSTP).
    • Standard 802.1s – Zwany protokołem MST (Multiple Spanning-Tree) umożliwia tworzenie niezależnych grup instancji protokołu RSTP.
    Rodzaj protokołu STP Enkapsulacja Trunk Ilość instancji Standard
    STP ————— 1 na urządzenie Otwarty 802.1D
    CST 802.1Q 1 na urządzenie Otwarty 802.1Q
    PVST ISL 1 na sieć VLAN Cisco Proprietary
    PVST+ ISL, 802.1Q 1 na sieć VLAN Cisco Proprietary
    RSTP 802.1Q 1 na urządzenie Otwarty 802.1w
    PVRST ISL, 802.1Q 1 na sieć VLAN Cisco Proprietary
    MST 802.1Q Od 1 do 4094 Otwarty 802.1s

    Różnice pomiędzy poszczególnymi wersjami protokołu STP

    Protokół PVST+ może pełnić rolę translatora ramek BPDU, pomiędzy protokołem CST a protokołem PVST.
    Wszelkie odwołania do protokołu STP w poniższych rozdziałach, w rzeczywistości dotyczą ulepszonej wersji CST.

    Zagrożenia związane z brakiem protokołu STP

    • Efekt Multiple Frame Transmition – Powoduje duplikację ramek Ethernet-owych przesyłanych przez przełączniki.
    • Burza rozgłoszeni-owa (Broadcast Storm) – Powstaje na skutek zapętlenia ruchu sieciowego pomiędzy przełącznikami.
    • Efekt MAC Table Instability – Powoduje zachodzenie ciągłych zmian w zawartości tablicy „MAC address Table”, wywołanych otrzymywaniem ramek Ethernet-owych z tym samym źródłowym adresem MAC z wielu interfejsów sieciowych jednocześnie (Skutek pętli rozgłoszeni-owej).

    Zagadnienia związane z protokołem STP

    • STP Convergence – Określa czas jaki protokół STP potrzebuje, aby uwzględnić zmiany zaszłe w sieci. Licząc od zajścia zmiany a kończąc na przywróceniu pełnej funkcjonalności infrastruktury sieciowej.
    • STA (Spanning-Tree Algorithm) – Algorytm protokołu STP umożliwiający określenie, które interfejsy sieciowe przełącznika winny być blokowane, aby ruch sieciowy nie uległ zapętleniu.
    • Role interfejsów (Interfaces Roles) – Określają status poszczególnych interfejsów sieciowych przełącznika, wskazując czy dany interfejs jest blokowany czy też przepuszcza ruch sieciowy. Ponadto role określają który z interfejsów urządzenia stanowi główną drogę prowadzącą do root-a (Przykładowe role interfejsów „Root port”, „Designated Port”).
    • Stany (States) – Określają stan danego interfejsu (np. „Forwarding” bądź też „Blocking”).
    • Medium Access Delay – Różnica czasowa pomiędzy momentem w którym procesor CPU zdecyduje się wysłać ramkę Ethernet-ową a czasem jej rzeczywistego wysłania (Opuszczenia przełącznika).
    • Bridge Transit Delay – Czas utracony pomiędzy otrzymaniem a wysłaniem ramki Ethernet-owej.
    • Maximum Transmission Halt Delay – Czas potrzebny do skutecznego zablokowania interfejsu sieciowego.
    Pierwszymi urządzeniami wykorzystującymi protokół STP były mostki Ethernet (Stąd też wzięła się nazwa Bridge ID).
    Przełączniki Cisco mogą pracować w trybie tradycyjnym STP (802.1D), w którym wartość „Bridge Priority” składa się z 16 bitów bądź w trybie rozszerzonym (802.1t) zawierającym 4 bity priorytetu i 12 bitów identyfikatora sieci VLAN.

    Elekcja Root-a

    Proces elekcji root-a (Root Election)

    Proces elekcji root-a jest procesem ciągły, zatem wybranie jednego przełącznika nie wyklucza możliwości przyszłej zmiany.
    1. Wszystkie przełączniki w sieci uznają się root-em, informując o tym inne urządzenia (Za pomocą wiadomości BPDU).
    2. W sytuacji w której lokalny przełącznik otrzyma wiadomość BPDU z niższą wartością Bridge Priority od innego urządzenia, uzna go za root-a (Jeśli wartość Bridge Priority jest równa brana jest pod uwagę wartość Bridge MAC).
    3. Po zakończeniu procesu elekcji, tylko przełącznik pełniący rolę root-a wysyła wiadomości Configuration BPDU do innych urządzeń w odstępach czasowych co 2 sekundy.

    Wiadomości BPDU nadawane przez root-a

    • Przełącznik po odebraniu nowej wiadomości BPDU od innego urządzenia, dodaje do niej swoją wartość BID jak i wartość BID urządzenia, które pełni według niego rolę root-a (RID), dodatkowo zwiększając koszt połączenia z root-em (Root Patch Cost), względem interfejsu, z którego nadeszła omawiana wiadomość BPDU.
    Wiadomości BPDU są wysyłane na wszystkich interfejsach przełącznika pełniącego rolę root-a co dwie sekundy.

    Pozostałe tematy związane z protokołem STP