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ść BPDUprotokoł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 Extensionwyglądają następująco:
MST Config ID Format Selector(1Byte).
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 (4Bytes).
CIST Bridge Identifier(8Bytes).
CIST Remaining Hops(1Byte).
MSTI Instance-ID(16 Bytes) – Określa konfigurację protokołu RSTP względem danej instancji MSTI.
MSTI Flags(1Byte)–Określa flagi protokołu RSTP względem danej instancji MSTI.
MSTID(2Bytes)–Określa wartość Revision Number względem danej instancji MSTI.
Regional Root (6Bytes)–Określa adres MAC root-a, danej instancji MSTI.
Internal Root (4Bytes)–Określa koszt dotarcia do root-a względem danej instancji MSTI.
Bridge Identifier Priority(1Byte).
Port Identifier Priority(1Byte).
Remaining Hops(1Byte).
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 (32znaki).
MST Configuration Revision Number(od 0do65535).
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.
MSTI (MST Instance)– Definiuje pojedynczą instancję protokołu MST, mapowaną do pojedynczej domyślnej instancji IST (Domyślna instancji MST 0nie 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:
Należy aktywować protokół VTP w wersji trzeciej, w celu automatycznej propagacji ustawień protokołu MST.
Skonfigurować protokół MST na głównym serwerze (VTPv3 Primary MST Server).
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ć.
Czas Hello(2sekund) – Definiuje odstępy czasowe w wysyłaniu wiadomości BPDU.
Czas Forward Delay (15sekund) – Definiuje czas tranzytowy, określający odstępy czasowe pomiędzy stanami protokołu RSTP.
Czas Max Age(20sekund) – 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(6sekund) – 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”.
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).
Przełącznik pełniący rolę root-a rozpoczyna rozsyłania wiadomości Superior BPDU do wszystkich swoich sąsiadów.
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”.
Sąsiedni przełącznik po otrzymaniu wiadomości Configuration BPDU z flagą „Proposal” wykonuje następujące czynności:
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.
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.
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”.
Po otrzymaniu wiadomości Configuration BPDU z flagą „Agreement” obydwa przełączniki mogą przenieść interfejsy je łączące do stanu „Forwarding State”.
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.
Stany pracy interfejsów sieciowych Protokołu RSTP (Ports States)
DisabledState – Interfejs jest administracyjnie wyłączony (Stan tennie należy do grona stanów protokołu RSTP).
DiscardingState – 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.
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.
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 (2bits)
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.
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 49152oraz 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 52sekunddo 30sekund (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 30sekunddo czasu 0sekund.
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 15sekund. Jeśli przełącznik nie otrzyma na nie odpowiedzi przez potrójny okres skonfigurowanego czasu (3 x 15sekund) 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.
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).
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
Przełącznik pełniący rolę root-a wysyła wiadomość BPDU z zerową wartością „Root Patch Cost”.
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.
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”.
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 jedynieprzez interfejsy pracujące w trybie Root port).
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.
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).
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.
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.
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.
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”.
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.
Proces zmiany topologii sieciowej pod względem czasu wygląda następująco: 20 sekund czasu„Max Age” + oczekiwanie na wiadomość konfiguracyjną Configuration BPDU 2sekundy+ przejście z stanu „Listening State” do stanu „Learning State” oraz stanu „Learning State” do stanu „Forwarding State”2x15sekund co w sumie daje 52s.
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.
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(SenderID) – 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, BIDoraz RIDskł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).
Root Bridge ID (8Bytes) – Określa wartość BID root-a, składającą się z priorytetu (2Bytes) jak i adresu MAC (6Bytes).
Root Patch Cost (4Bytes) – Określa wartość drogi dotarcia do root-a, względem przełącznika wysyłającego ramkę BPDU.
Sender Bridge ID (8Bytes) – 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 (2Bytes) – Określa numer ID interfejsu, z którego została wysłana wiadomość BPDU.
Message Age (2Bytes) – 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 (2Bytes) – Określa maksymalną dopuszczalną wartość „Message Age”.
Hello Time (2Bytes) – Definiuje odstępy czasowe w nadawaniu wiadomość Configuration BPDU przez root-a.
Forward Delay (2Bytes) – 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”.
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.
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:
Lowest Bridge ID– Najniższej otrzymanej wartość BID.
Lowest Patch Cost to Root – Najniższej wartość kosztu dotarcia do root-a.
Lowest Sender Bridge ID – Najniższej wartość BID urządzenia po drugiej stronie połączenia.
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 BlockingBP.
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.
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 decyzjiS– 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”
DisabledState – 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 State15s
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 OldShort Path Cost
802.1D NewLong 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
Przełącznik pełniący rolę root-a wysyła wiadomość BPDU z zerowąwartością „Root Patch Cost”.
Bezpośrednio przylegające do root-a przełączniki odpierają wiadomości BPDU, a następnie dodają do wartości „Root Patch Cost” własną wartość „Patch Cost” interfejsu, na którym została odebrana ramka BPDU.
Bezpośrednio przylegający sąsiedzi root-a przesyłają przetworzoną wiadomość BPDU dalej.
Standard802.1D– Określa podstawową wersję protokołu STP(Spanning-Tree Protocol), zaprojektowaną dla środowiska mostkowego „Bridged Environment” (Protokół ten nie wspiera wirtualnych sieci VLAN).
Standard802.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-VLANSpanning 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ółpracujez protokołem CST) (Stanowi własność firmy Cisco).
ProtokółPVST+(Per-VLANSpanning 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ą ISLtudzież 802.1Q (Współpracujez protokołem CSTjak i PVST).
Standard802.1w– Zwany protokołemRSTP (RapidSpanning 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 RapidSpanning 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).
Standard802.1s– Zwany protokołemMST (MultipleSpanning-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
CiscoProprietary
PVST+
ISL,
802.1Q
1 na sieć VLAN
CiscoProprietary
RSTP
802.1Q
1 na urządzenie
Otwarty 802.1w
PVRST
ISL,
802.1Q
1 na sieć VLAN
CiscoProprietary
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
STPConvergence– 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 (InterfacesRoles) – 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.
Wszystkie przełączniki w sieci uznają się root-em, informując o tym inne urządzenia (Za pomocą wiadomości BPDU).
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).
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 2sekundy.
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ść BIDurzą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.
Podczas rozwiązywania problemów związanych z protokołem VTP należy:
Sprawdzić które interfejsy są połączone do innych przełączników.
Określić rolę jaką będą pełniły poszczególne przełączniki.
Sprawdzić czy zawartość lokalnej bazy VLAN została zaktualizowana z serwerem [show vlan brief]. Jeżeli zawartość lokalnej baza VLAN na konfigurowanym przełączniku jest inna, należy:
Sprawdzić czy linki pomiędzy przełącznikami stanowi połączenia Trunk-owe [show interfaces interfejs {switchport / trunk}/show cdp neighbor].
Sprawdzić czy nazwa domeny jest taka sama (Wielkość liter ma znaczenie) [show vtp status].
Sprawdzić czy hasło jest takie same (Wielkość liter ma znaczenie) [show vtp password].
Sprawdzić czy wartość MD5 jest taka sama [show vtp status].
Sprawdzić czy ustawienia funkcji „VTP Pruning” są takie same na wszystkich serwerach VTP.
Sieć VLAN może być dezaktywowana [shutdown vlan vlan-ID] na jednym z przełączników, nie powodując tym samym jej dezaktywacji na innych przełącznikach w domenie, ponieważ protokół VTP nie przesyła informacji o stanie sieci VLAN.
Weryfikacja aktualizacji protokołu VTP
Protokół
VTP może nie otrzymać aktualizacji dotyczących sieci VLA, jeżeli:
W
domenie nie ma ani jednego przełącznika, który działałby w trybie „server”.
Przełączniki
nie są połączone linkami Trunk-owymi.
Nazwy
domeny są różne, na obydwóch urządzeniach.
Hasła
są różne, na obydwóch urządzeniach.
Przełącznik
działa w trybie „transparent”.
Pytania i odpowiedzi
Dodatkowe informacje
? Informacja: Jeżeli do domeny VTP dołączymy przełącznik, który już wcześniej pracował z tym protokołem, to może się okazać, że wartość jego numeru „Revision number” będzie większa niż lokalnego serwera, a tym samym wszystkie przełączniki z domeny zaktualizują się z jego bazą lokalną (Sytuacje taką nazywa się „VTP synchronization Problem” a dotyczy nowo zainstalowanych przełączników pracujących zarówno w trybie serwera (Server) jak i klienta (Client)).
? Informacja: Przełącznik działający w trybie „Client” bądź „Server”, przechowuje rozszerzony zakres sieci VLAN od 1006 do 4094 w pliku konfiguracyjnym vlan.dat. Tymczasem przełącznik działający w trybie „Transparent”,przechowuje rozszerzony zakres sieci VLAN w bieżącej konfiguracji „Running Configuration”.
? Informacja: Jeżeli przełącznik jest skonfigurowany w trybie serwera „Server” bądź nazwa domeny jak i tryb pracy protokołu VTP nie zgadza się z danymi zapisanymi w basie sieci VLAN, przełącznik załaduje pierwsze 1005 sieci z bazy vlan.dat natomiast sieci większe niż 1005 zostaną wczytane z konfiguracji startowej (startup-config).
? Informacja: W przypadku dołączenie do domeny VTPv3, nowego przełącznika sieciowego pełniącego rolę głównego serwera (Z większą wartością „Revision number”), doczasowe ustawienia sieci VLAN zostaną nadpisane.
Przykładowe problemy
! Problem 1: Wartość „MD5 Digest” na dwóch przełącznikach należących do tej samej domeny (Bez hasła) nie jest taka sama. Komenda „show vtp status” wskazuje tę samą wartość „Revision Number” oraz ilość stworzonych sieci VLAN, jednak istniejące sieci nie są takie same na obydwóch urządzeniach.
! Rozpoznanie problemu 1: Z powodu występujących różnic pomiędzy bazami danych VTP, przełączniki generują inne wartości „MD5 Digest”. Przypadkowo urządzenia te posiadają taką samą wartość „Revision Number” co uniemożliwia proces synchronizacji, ponieważ nie są one w stanie wynegocjować wspólnej bazy danych VTP.
$ Rozwiązanie problemu 1: Na jednym z przełączników należy utworzyć nową sieć VLAN, co zwiększy jego wartość „Revision Number”, wymuszając tym samym aktualizację bazy danych VTP na sąsiednim urządzeniu.
Pytania i odpowiedzi
? Pytanie: Jakie parametry nadchodzącej wiadomości VTP są sprawdzane, zanim przełącznik je zaakceptuje a następnie rozpocznie ich przetwarzanie?
$ Odpowiedź: Przełącznik sprawdzi nazwę domeny, hasło oraz wartość numeru „Revision number”.
(config)#vtp {client / server / transparent}(server)
Określa tryb pracy protokołu VTP na konfigurowanym przełączniku.
(config)#vtp domain nazwa-domeny(NULL)
Definiuje nową nazwę domeny dla protokołu VTP (Raz zmienionej nazwy domeny, nie można cofnąć do pierwotnej postaci „NULL”).
(config)#vtp version 1-3(1)
Określa wersje protokołu VTP.
(config)#vtp password hasło [hidden / secret]
Definiuje hasło autentykacji dla komunikatów protokołu VTP: * hidden(VTPv3)– Ukrywa wpisane hasło pod postacią 32-bitowej haszowanej wartości. * secret (VTPv3)– Umożliwia wpisanie 32-bitowej wartości haszowanej, zamiast hasła pisanego zwykłym tekstem.
Przyznaje konfigurowanemu przełącznikowi status głównego serwera „Primary server” (Przełącznik musi pracować w trybie „Server”). Powyższa konfiguracja jest prowadzona względem bazy sieci VLAN tudzież protokołu MST. Opcjonalna komenda „force” pomija proces sprawdzania czy w domenie istnieje już serwer główny.
Dezaktywacja protokołu VTPv3
(config)#vtp mode off
Wyłącza protokół VTP na konfigurowanym urządzeniu.
(config)#interface interfejs
Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.
(config-if)#[no] vtp
Wyłącza / Włącza protokół VTP na konfigurowanym interfejsie.
Dezaktywacja trybu VTP „Primary Server”
(config)#vtp mode client
Zmienia rolę serwera protokołu VTP na klienta.
(config)#vtp mode server
Przywraca rolę serwera protokołu VTP, z pominięciem ustawień „Primary Server”.
Rozszerzona konfiguracja protokołu VTP
Konfiguracja dodatkowych funkcji protokołu VTP
VTP Pruning
(config)#vtp pruning(no vtp pruning)
Aktywuje funkcję VTP pruning.
(config)#interface interfejs
Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.
Redukuje bądź zwiększa zakres sieci VLAN objętych funkcją VTP pruning na określonym interfejsie (Trunk).
VTP SNMP Trap
(config)#snmp-server enable traps vtp
Rozpoczyna wysyłanie notyfikacji Trap protokołu SNMP, przy każdorazowym wysłaniu wiadomości VTP przez konfigurowane urządzenie.
Czyszczenie ustawień bazy VTP i VLAN
#erase startup-config
Usuwa informacje o sieciach VLAN przypisanych do interfejsów przełącznika.
#delete flash:vlan.dat
Usuwa informacje o sieciach VLAN jak i ustawieniach VTP.
Komendy Show & Debug
Komendy SHOW
#show vtp status
Wyświetla podstawowe informacje o konfiguracji protokołu VTP (Subset advertisements).
# show vtp status VTP Version capable : 1 to 3 VTP version running : 1 VTP Domain Name : virl.lab VTP Pruning Mode : Disabled VTP Traps Generation : Disabled Device ID : 5e00.0004.8000 Configuration last modified by 0.0.0.0 at 0-0-00 00:00:00
Funkcja VTP Pruning – Redukuje zbędny ruchu sieciowy względem sieci VLAN, blokując połączenia Trunk-owe dla wiadomości rozgłoszeni-owych, jeśli na docelowym przełączniku nie ma żadnych aktywnych interfejsów należących do sieci VLAN z której dany ruch pochodzi (Opcja ta jest domyślnie wyłączona).
Po aktywacji funkcji VTP Pruning, protokół VTP będzie rozgłaszał informację względem każdej skonfigurowanej sieci VLAN niezależnie, informując o tym czy posiada ona aktywne interfejsy na lokalnym przełączniku.
Funkcja VTP Pruning powinna być włączona na wszystkich przełącznikach w domenie.
Funkcja VTP Pruning nie wyręcza protokołu STP (Nie blokuje wszystkich sieci VLAN np. VLAN 1).
Funkcja VTP Pruning nie może blokować ruchu sieciowego z VLAN-u1, ponieważ korzysta z niego protokół STP.
Funkcja VTP Pruning działa w zakresie sieci VLAN od 2do 1001.
Funkcja VTP Pruning jest propagowana automatycznie przez przełącznik pełniący rolę „Server”.
Funkcja VTP Pruning nie jest wspierana przez przełączniki pełniące rolę „Transparent”, Jednak nadchodzące do niego wiadomości VTP Pruning będą przepuszczane.
Proces działania funkcji VTP Pruning
Domyślnie wszystkie sieci VLAN (Bez aktywnych interfejsów) na wszystkich interfejsach typu Trunk są blokowane.
Po aktywowaniu funkcji VTP Pruning na danym przełączniku, lokalne urządzenie rozgłasza wiadomość „Triggered Join” względem wszystkich sieci VLAN posiadających przynajmniej jeden aktywny interfejs sieciowy.
Jeżeli lokalne urządzenie pełni role root-a (Dla protokołu STP), to wiadomość „Triggered Join” będzie rozgłaszana na wszystkich interfejsach będących w stanie „Designated”.
Jeżeli lokalne urządzenie nie pełni roli root-a (Dla danej instancji protokołu STP), to wiadomość „Triggered Join” będzie rozgłaszana na interfejsie Root Port Bridge.
Wiadomości „Triggered Join” dochodzą na sąsiednie urządzenia.
Jeżeli interfejs, na którym została odebrana wiadomość „Triggered Join” pełni rolę „Forwarding”, zostanie on odblokowany dla określonej sieci VLAN.
Problemy związane z funkcją VTP Pruning
W sytuacji, w której przynajmniej jeden z interfejsów przełącznika działający w trybie „Trunk”, jest podłączony do innego urządzenia niewspierającego protokołu VTP, bądź znajdującego się w innej domenie VTP. Funkcja VTP Pruning nie będzie działać prawidłowo, co przejawiać się będzie faktem, że lokalne urządzenie wyśle żądanie „Triggered Join” dla wszystkich sieci VLAN, nawet tych nie wykorzystywanych na lokalnym przełączniku.
Powyżej opisany problem można rozwiązać za pomocą komendy [switchport trunk allowed vlan VLANs-ID/ no vtp (Dla protokołu VTPv3)] wydanej w trybie konfiguracji interfejsu sieciowego podłączonego do innego urządzenia niewspierającego protokołu VTP, bądź znajdującego się w innej domenie VTP.
W przypadku zastosowania funkcji VTP Pruning w sieci, w której znajduję się przełącznik pełniący rolę „Transparent”, pomiędzy innymi przełącznikami pełniącymi rolę „Server” bądź „Client”. Funkcja VTP Pruning może nie działać prawidłowo, blokując ruch sieciowy dla części VLAN-ów po stronie przełącznika pełniącego rolę „Server” bądź „Client” a przepuszczając ruch po stronie przełącznika pełniącego rolę „Transparent”.
Powyżej opisany problem można rozwiązać poprzez niewykorzystywanie przełączników pełniących rolę „Transparent”, w domenie korzystającej z funkcji VTP Pruning.
Działanie funkcji VTP Pruning
Konfiguracja funkcji VTP Pruning
(config)#vtp pruning(no vtp pruning)
Aktywuje funkcję VTP pruning.
(config)#interface interfejs
Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.
Wiadomości VTP są rozsyłane w ramkach multicast-owych do wszystkich urządzeń znajdujących się w taj samej domenie. W przypadku zajścia zmian w bazie VLAN lub w ramach systematycznych aktualizacji (Co 5 minut).
WiadomośćSummary Advertisements – Pełni podobną funkcję dla protokołu VTP jaką pełni wiadomość Hello dla protokołów routingu. Jest rozgłaszana przez serwer domeny do wszystkich sąsiadów, poprzez połączenia trunk-owe w odstępach czasowych co 300 sekundlub w przypadku zajścia zmian w bazie VTP. Jej zawartość stanowią podstawowe informacje dotyczące lokalnego urządzenia. A są one następujące:
Numer wersji protokołu TVP.
Nazwa domeny.
Wartość „Revision number”.
Haszowanie MD5.
Number of subset advertisements to follow.
Wiadomość Summary Advertisements
Version
(1 byte)
Type
(Summary
Advertisement)
(1 byte)
Number of subset
advertisements to follow
(1 byte)
Domain name
length
(1 byte)
Management Domain Name
(zero-padded to 32 bytes)
Configuration Revision Number (4
bytes)
Update Identity (Orginating IP
address; 4 bytes)
Update Time Stamp (12 bytes)
MD5 Digest hash
code (16 bytes)
Wiadomość Summary Advertisements
WiadomośćSubset Advertisements – Umożliwia serwerowi domeny, przekazywanie informacji na temat istniejących sieci VLAN jak i innych danych protokołu VTP. Wiadomości są rozgłaszane w przypadku zajścia zmian w konfiguracji sieci VLAN bądź w odpowiedzi na wiadomość „Advertisement Request”, z prośbą o przesłanie dodatkowych danych. Wiadomość „Subset Advertisements”zawiera następujące informacje:
Usunięte jak i nowo utworzone sieci VLAN.
Zmiany w nazewnictwie sieci VLAN.
Wartość MTU sieci VLAN.
Status oraz typ (Token Ring, Ethernet).
Index protokołu IEEE 802.10.
Wiadomość Subset Advertisements
Version
(1 byte)
Type
(Subset
Advertisement)
(1 byte)
Subset Sequence
number
(1 byte)
Domain name
length
(1 byte)
Management Domain Name
(zero-padded to 32 bytes)
Configuration Revision Number (4
bytes)
VLAN Info Filed 1 (see below)
VLAN Info Filed …
VLAN Info
Filed n
Wiadomość Subset Advertisements
VTP VLAN Info Filed
Info Length
VLAN Status
VLAN Type
VLAN Name Length
VLAN ID
MTU Size
802.10 SAID
VLAN Name
(Padded with zeros to multiple of 4 bytes)
Zawartość pola “VLAN info” Wiadomości Subset Advertisements
WiadomośćAdvertisements Requests – Jest nadawana przez klienta protokołu VTP w kierunku lokalnego serwera domeny, z prośbą o przesłanie dodatkowych informacji na temat bazy VTP. Wiadomość jest wysyłana w przypadku zrestartowania bazy VLAN bądź po wykryciu wiadomości „Summary advertisements” z większą wartością „Revision number”. W odpowiedzi na zapytanie „Advertisements Requests” serwer wyślę aktualizację bazy VTP za pomocą wiadomości „Subset advertisements”.
Jest zorganizowany w strukturze zarządzalnej
domeny.
Wysyła wiadomości pomiędzy członkami jednej
domeny, poprzez połącznia Trunk-owe.
Przechowuje ustawienia protokołu VTP oraz sieci
VLAN w pliku „vlan.dat” bądź w
konfiguracji bieżącej.
VTP a model sieci hierarchicznej
Zgodnie zaleceniami budowy
sieci hierarchicznej Cisco, sieci VLAN nie powinny być współdzielone pomiędzy
wieloma przełącznikami jednego bloku (Switch Block), aby wykluczyć potrzebę
stosowania protokołu STP. Dlatego Cisco rekomenduje wyłączenie protokołu VTP na
przełącznikach należących do tego typu topologii.
Proces synchronizacji protokołu VTP
Przełącznik z włączonym protokołem VTP aktualizuje swoją bazę sieci VLAN z innym urządzeniami posiadającym większą wartość „Revision number” (Zasada ta nie dotyczy urządzeń pracujących w trybie „transparent”). Wartość „Revision number” jest przechowywana w pamięci NVRAM a jej stan zostaje zachowywany nawet po restarcie przełącznika.
Jeżeli przełącznik współpracujący z protokołem VTP w wersji pierwszejbądź drugiej, otrzyma wiadomość VTP z innej domeny (Chodź sam do żadnej nie należy (NULL)),automatycznie do niej dołączy.
Przełącznik skonfigurowany w domyślnej wersją protokołu VTP (VTPv1), po wykryciu innego urządzenia działającego w wersji drugiej (VTPv2). Może automatycznie zwiększyć wykorzystywaną wersję protokołu, w celu osiągnięcia kompatybilności ze swoim sąsiadem. (VTPv1->VTPv2/VTPv1bądź VTPv2->X ->VTPv3)
Należy pamiętać, aby każdy nowo podłączony do sieci przełącznik, miał zresetowaną wartość „Revision number” na 0.
Wersje protokołu VTP
VTP w wersji pierwszej(VTP 1):
Przełącznik działający w trybie „transparent” może rozgłaszać otrzymane wiadomości VTP jedynie w przypadku, w którym zostały one wysłane z urządzenia należącego do tej samej domeny jak i wykorzystują tą samą wersją VTP.
VTP w wersji drugiej(VTP 2):
Przełącznik działający w trybie „transparent” może rozgłaszać otrzymane wiadomości VTP do sąsiednich urządzeń (VTP Relay), nawet jeśli korzystają one z innych wersji protokołu VTP (1 bądź 3).
Unrecognized type support– Wiadomości VTP mogą propagować nieznane aktualizacje TLV(Type, Length, Value).
Consistency check feature – Przełączniki prowadzą kontrolę spójności danych, wprowadzanych poprzez linie poleceń CLI bądź protokół SNMP, w celu uniknięcia propagacji błędnych informacji związanych z nazwami sieci VLAN.
Token Ring support – Zapewnia wsparcie dla sieci Token Ring.
VTP w wersji trzeciej(VTP 3):
Ma zablokowaną funkcję automatycznego uczenia się nazwy domeny od sąsiednich przełączników.
Może wymieniać zawartość baz innych protokołów (np. MST(Multiple Spanning Tree)).
Może być dezaktywowany względem konfigurowanego przełącznika [vtp mode off {vlan / mst}].
Wspiera autentykację za pomocą ukrytegohasła.
Wspiera rozszerzoną pule sieci VLAN (1006-4094).
Wspiera propagację prywatnych sieci VLAN (Private VLAN).
Wspiera propagację sieci Remote-span VLAN.
Musi być skonfigurowana manualnie (Przełącznik nigdy sam nie zostanie zaktualizowany do wersji trzeciej protokołu VTP ani sam nie dołączy do domeny, po wykryciu innego już skonfigurowanego urządzenia).
Domyślnie każdy przełącznik pracujący w wersji trzeciej protokołu VTP, działa jako serwer zapasowy (Tylko serwer główny „Primary” może zarządzać domeną VTP (tworzyć usuwać sieci VLAN)).
Wersja trzecia protokołu VTP nie jest kompatybilna z wersją 1 (VTPv1), natomiast z wersją 2 (VTPv2) współpracuje do momentu propagacji prywatnych sieci VLAN (Private VLAN) bądź sieci należących do puli rozszerzonej (1006-4094).
Tryby pracy protokołu VTPv1/2
Funkcja VTP-1,2
Serwer
Klient
Transparent
Wysyła wiadomości VTP poprzez połączenie 802.1Q lub
ISL
Tak
Tak
Tak
Umożliwia dodawanie sieci VLAN poprzez konsolę CLI
Tak
Nie
Tak
Wspiera podstawową pule sieci VLAN (1-1005)
Tak
Tak
Tak
Wspiera rozszerzoną pule sieci VLAN (1006-4094)
Nie
Nie
Tak
Aktualizuje lokalną bazę sieci VLAN, wiadomościami VTP posiadającymi
większą wartość „Revision number”
Tak
Tak
Nie
Systematycznie wysyła wiadomości VTP (Domyślnie co 5 minut)
Tak
Tak
Nie
Przesyła dalej otrzymane wiadomości VTP bez aktualizacji lokalnej bazy
VLAN
Nie
Nie
Tak
Tryby pracy protokołu VTP
Kompatybilność poszczególnych wersji protokołu VTP
VTP1 <-> VTP2 = Brak wstecznej kompatybilności.
VTP2 <-> VTP3= Częściowa kompatybilność (VTPv2 nie wspiera sieci prywatnych ani rozszerzonej puli sieci VLAN).
VTP1 <-> VTP3 = Brakwstecznej kompatybilności.
Ważne informacje
Rozszerzona pula sieci VLAN (1006–4094) jest wspinana przez każdą wersję protokołu VTP w trybie „Transparent” jak i przez protokół VTP w wersji trzeciej (VTPv3).
Aby przełączniki mogły wymieniać między sobą dane VTP, muszą spełniać następujące warunki:
Nazwa domeny musi być taka sama na obydwóch urządzeniach (Wielkość liter ma znaczenie).
Hasło musi być takie same na obydwóch urządzeniach (Wielkość liter ma znaczenie).
Muszą być połączone pomiędzy sobą poprzez połączenie typu Trunk.
Zasady działania protokołu VTP
Zasady działania protokołu VTP
Wszystkie przełączniki z włączonym protokołem VTP, działającym w trybie klienta(Client) bądź serwera(Server), rozpoczynają systematyczne wysyłanie wiadomości „Summary Advertisements” w odstępach czasowych co 5minut. Korzystając przy tym zdomyślnej sieci VLANjako medium transportowego.
Wiadomości protokołu VTP są wysyłane multicast-owo na adres MAC 01–00–0C–CC–CCCC.
Wiadomości protokołu VTP zawierają numer „Revision number”, którego wartość ulega zwiększeniu po każdorazowej zmianie dokonanej w bazie sieci VLAN.
Po otrzymaniu nowej wiadomości VTP, przełącznik porównuje lokalną wartość „Revision number” z tą otrzymaną w wiadomości „Summary Advertisements”. Jeżeli lokalna wartość jest:
Mniejsza– Przełącznik nadpisuje zawartość lokalnej bazy VLAN, otrzymanymi danymi.
Większa– Przełącznik ignoruje otrzymaną wiadomość protokołu VTP, w zamian odsyłając własną zawartość lokalnej bazy VLAN (Większa wartość „Revision number” wskazuje na bardziej aktualne dane).
Posiada pełną kontrolę nad procesem tworzenia i zarządzania sieciami VLAN, w obrębie swojej domeny.
Rozgłasza informacje o skonfigurowanych sieciach VLAN, do innych urządzeń z tej samej domeny.
Stanowi domyślny tryb pracy przełączników sieciowy z systemem Cisco IOS.
W domenie musi istnieć co najmniej jeden przełącznik działający w trybie Server.
Client mode
Nie posiadakontroli nad procesem tworzenia oraz zarządzania sieciami VLAN, w obrębie swojej domeny.
Uzyskuje informacje o istniejących sieciach VLAN, od przełącznika działającego w trybie „Server” bądź „Client”.
Przekazuje otrzymane wiadomości VTP do innych urządzeń z tej samej domeny (VTP Relay).
Transparent mode
Posiadapełną kontrolę nad lokalnym procesem tworzenia oraz zarządzania sieciami VLAN.
Nie uczestniczy w aktywnej wymianie wiadomości pomiędzy przełącznikami z tej samej domeny.
W wersji pierwszej (VTPv1): Przekazuje otrzymane wiadomości do innych przełączników z tej samej domeny (Wersja protokołu VTP otrzymanej wiadomości, musi być taka samajak na lokalnym przełączniku).
W wersji drugiej (VTPv2): przekazuje otrzymane wiadomości do innych przełączników, niezależnie do jakiej domenynależą. (Wersja protokołu VTPotrzymanej wiadomości, nie musibyć taka sama jak ta na lokalnym przełączniku).
Off mode
Protokół VTP jest wyłączony na konfigurowanym przełączniku.
Revision number
NumerRevision number – Jest przetrzymywany na każdym przełączniku (Cisco) w pamięci NVRAM. Dzięki czemu jego wartość nie ulega resetowi podczas procesu ponownego uruchomienia urządzenia sieciowego.
Przełącznik zawsze zaczyna liczenie wartości „Revision number” od zera (0).
Przełącznik zwiększa wartość „Revision number” po wprowadzeniu zmian w bezie sieci VLAN.
Jeżeli przełącznik otrzyma wiadomość VTP z większą wartością „Revision number” uzna, że zawarte w niej informacje są bardziej aktualne a tym samym nadpisze je nad lokalne ustawienia.
Wartość „Revision number” może byś zresetowana do wartości domyślnej (0) w przypadku:
Zmiany wersji protokołu VTP.
Zmiany trybu pracy protokołu VTP na „Transparent”.
Zmiany nazwy domeny.
VTP (Best Practices)
Przed dodaniem nowego przełącznika do sieci produkcyjnej, należy:
Zmienić tryb jego pracy na „transparent” jak i usunąć lokalną bazę sieci VLAN (Plik vlan.dat).
Zmienić nazwę domeny VTP na inną niż obecna.
Przeładować przełącznik.
Skonfigurować poprawne ustawienia protokołu VTP (Domeną, hasło oraz wersję).
Połączenie Trunk-owe umożliwia przenoszenie łączonego ruchu sieciowego, zawierającego wiele sieci wirtualnych VLAN. Dlatego jest stosowane pomiędzy przełącznikami, bądź w łączności przełączników z ruterami.
Aby dane z poszczególnych sieci VLAN nie uległy wymieszaniu, połączenia Trunk-owe stosują metodę oznaczania (Tagowania) nadchodzących do interfejsu sieciowego ramek Ethernet-owych, za pomocą jednego z dwóch standardów. Ogólnie dostępnego 802.1Q bądź stanowiącego własność firmy Cisco standardu ISL.
Na połączeniu Trunk-owym enkapsulowanym w standardzie 802.1Q, istnieje możliwość określenia natywnej nie tag-owanej sieci VLAN (Domyślnie w przypadku urządzeń firmy Cisco jest to VLAN 1). Dzięki takiemu zabiegowi nie tagowany ruch sieciowy nie zostanie porzucony.
Protokoły enkapsulacji połączenia Trunk-owego
ISL(Inter Switch Link) – Metoda Tagowania ramek Ethernet-owych stanowiąca własność firmy Cisco. ISL:
Dodaje do oryginalnej ramki 26–bitowy nagłówek oraz 4–bajtowe zakończenie CRC.
Wspiera sieci VLAN od 1 do 4094.
Niewspiera natywnej sieci VLAN (Native VLAN).
O-tagowuje również domyślny VLAN 1 (Default VLAN).
Poglądowa enkapsulacja ramki Ethernet-owej za pomocą protokołu ISL
IEEE 802.1Q(dot1q) – Metoda Tagowania ramek Ethernet-owych stanowiąca ogólnie dostępny Standart. 802.1Q:
Wprowadza koncepcje sieci natywnej (Native VLAN) domyślnie w postaci sieci VLAN 1.
Domyślnie nie tagujeramek Ethernet-owych nadanych w sieci VLAN 1.
Wykorzystuje dwa pierwsze bajty nagłówka jako TPID(Tag Protocol Identifier) z wartością 0x8100.
W przeciwieństwie do enkapsulacji ISL nie dodaje nagłówka jak i zakończenia CRC do ramki Ethernet-owej, a jedynie rozszerza istniejący nagłówek o dodatkowe dane. Proces ten nazywa się „single tagging” bądź „Internal tagging”.
Zaprezentowana poniżej ramka Ethernet-owa enkapsulowana za pomocą standardu 802.1Q, posiada następujące pola:
Priority– Pole przeznaczone dla funkcji QoS.
VLAN Identifier– 12 bitowepole zawierające wartość VLAN ID.
Poglądowa enkapsulacja ramki Ethernet-owej za pomocą protokołu 802.1Q
Jeżeli w systemie Cisco IOS dostępne są obydwa standardy tagujące, domyślnie wybierany jest tryb ISL.
Zarówno enkapsulacja ISL jak i 802.1Q zwiększają wielkość przesyłanej ramki Ethernet-owej o dodatkowe bajty, co może doprowadzić do przekroczenia maksymalnej wartości MTU (Powstała w wyniku tego ramka Ethernet-owa nazywana jest „baby giant frames”). Aby pomimo przekroczenia wartości MTU ruch sieciowy mógł być tagowany, przełączniki ignorują domyślne limity MTU na połączeniach Trunk-owych.
Poprawna ramka Ethernet-owa enkapsulowana za pomocą 802.1Q ma od 68 do 1522 bajtów.
Protokoły negocjujące połączenie Trunk-owe
DTP(Dynamic Trunk Protocol) (Własność firmy Cisco) – Umożliwia automatyczną negocjację połączenia Trunk-owego 802.1Q bądź ISL, pomiędzy dwoma przełącznikami sieciowymi. Protokół DTP:
Powinien być włączony jedynie pomiędzy dwoma przełącznikami należącymi do tej samej domeny VTP.
Automatycznie wysyła wiadomości do sąsiednich urządzeń co 30sekund.
Wykorzystuje adres multicast 01:00:0C:CC:CC:CC.
Cisco nie zaleca stosowania protokołu DTP, a jedynie statyczną konfigurację połączeń Trunk-owych.
Metody nawiązywania dynamicznego połączenia Trunk-owego
Access– Statycznie konfiguruje określony port jako interfejs dostępowy „access port”.
Trunk– Statycznie konfiguruje określony interfejs jako połączenie Trunk-owe.
Dynamic desirable – Inicjuje negocjacje połączenia Trunk-owego.
Dynamic auto – Biernie oczekuje na nawiązanie połączenia Trunk-owego.
Nonegotiate – Wyłącza protokół DTP na konfigurowanym interfejsie, blokując zarówno wysyłanie jak i odbieranie wiadomości DTP, tym samym uniemożliwiając dynamiczne wynegocjowanie połączenia trunk-owego.
Tryb Pracy
Access
Dynamic auto
Trunk
Dynamic desirable
Access
Access
Access
———
Access
Dynamic auto
Access
Access
Trunk
Trunk
Trunk
———
Trunk
Trunk
Trunk
Dynamic desirable
Access
Trunk
Trunk
Trunk
Tryby pracy interfejsu sieciowego (switchport)
Trunk Best Practices
Przy konfiguracji polaczenia Trunk-owego należy:
Zmienić natywną sieć VLAN na inną nie używaną sieć wirtualną.
Wyłączyć auto negocjację, konfigurując statyczne połączenia Trunk-owe.
Statycznie określić protokół enkapsulacji połączenia Trunk-owego.
Ograniczyć ilość sieci VLAN przenoszonych przez polaczenie Trunk-owe, do niezbędnego minimum (VLAN Pruning).
Zablokować auto negocjację oraz statycznie skonfigurować tryb pracy interfejsu dostępowego na „Access”.
Zablokować auto negocjację funkcji EtherChannel na interfejsach dostępowych.
Skonfigurować funkcję PortFast na interfejsach dostępowych.