STP Implementation

Transkrypt

STP Implementation
STP (Spanning Tree Protocol) – IEEE 802.1D – jest protokołem służącym do zarządzania łączami sieci
Ethernet. Autorką omawianego rozwiązania jest Radia Perlman, która zaproponowała je w 1985 roku.
W 1990 roku został opisany standardem IEEE 802.1D. Protokół ten został projektowany dla urządzeń
typu bridge, jednakże Switch to wieloportowy bridge także jego działanie odnosi się również Switchy.
INFORMACJE OGÓLNE
Protokół STP używa algorytmu STA (spanning-tree algorithm) do ustalenia, które porty przełącznika
w sieci muszą być zablokowane w celu zapobieżenia powstawania pętli routingu w warstwie drugiej
modelu OSI. Protokół wymaga od switchy realizacji określonego algorytmu, którego końcowym
efektem jest powstanie logicznej topologii pozbawionej pętli. Jest to możliwe dzięki zastosowaniu
rozwiązania polegającego na tym, że w każdej pętli jeden z portów zostaje logicznie zablokowany,
dzięki czemu pętla zostaje rozcięta. Gdy jedno urządzeń lub połączeń ulegnie uszkodzeniu,
dotychczas zablokowany port zostaje automatycznie włączony i przesyłanie danych jest
kontynuowane. Warunkiem prawidłowego funkcjonowanie sieci jest istnienie tylko jednej ścieżki
pomiędzy dwoma stacjami. Algorytm STP ustawia każdy z portów przełączników w sieci w stan
aktywny lub w stan blokady. Ramki mogą być przesyłane tylko portami aktywnymi.
ALGORYTM DZIAŁANIA
RAMKI BPDU:
Ramka BPDU zawiera:
a) identyfikator switcha głównego (Root BID), na który składa się:
- wartość określającą priorytet mostu (domyślnie przyjmuje wartość 32768),
- adres MAC przełącznika wysyłającego,
- rozszerzony identyfikator systemowy (dotyczy IEEE 802.1Q-2003)
b) odległość do switcha głównego podawana jako wartość kosztu (patch cost).
Domyślny koszt portu jest określony przez szybkość działania portu.
c) identyfikator nadawcy ramki BPDU (Sender Bridge ID) .
d) identyfikator portu z którego ramka BPDU została nadana (Port ID). Składa się on z dwóch pól:
- priorytet portu (domyślna wartość to 8)
- numer portu
Proces porównywania dwóch ramek BPDU polega na kolejnym porównywaniu wartości parametrów
zapisanych w obu ramkach.
1. ROOT BID
2. PATCH COST
3. SENDER BRIDGE ID
4. PORT ID
PRZEBIEG DZIAŁANIA ALGORYTMU:
(1) Wybór Switcha głównego
Algorytm STA wyznacza jeden switch jako główny i wykorzystuje jako punkt odniesienia we
wszystkich kolejnych obliczeniach. Wszystkie switche uczestniczące w procesie STP wymieniają się
ramkami BPDU w celu ustalenia switcha z najmniejszą wartością BID w sieci. Switch o najmniejszej
wartości
ramki
BPDU
staje
się
switchem
głównym
(Rootem).
Przebieg procesu wyboru:
- ramki BPDU wysyłane są co 2 sekundy na adres multicastowy 01:80:c2:00:00:00.
- w miarę przekazywania przez przełączniki ramek BPDU wszystkie sąsiadującego w domenie
rozgłoszeniowej przełączniki odczytują z tychże ramek informacje o identyfikatorze mostu głównego.
- jeśli w ramce, którą switch otrzymał, wartość identyfikatora switcha głównego jest mniejsza niż jego
własna to switch uaktualni przechowywany w swojej pamięci identyfikator switcha głównego. (Na
początku każdy switch myśli, że jest głównym i taka informacja jest zawarta początkowo w jego BID).
W tym momencie switch zaprzestaje wysyłania własnych ramek, a tylko nasłuchuje ramek o lepszych
parametrach. Jeżeli przez pewien czas ramki lepsze przestają nadchodzić, to switch wznawia
wysyłanie własnych ramek uznając siebie ponownie jako switch główny.
(2) Wybór portu głównego (root port) na każdym switchu, który nie jest głównym.
Po wyborze switcha, który będzie głównym, każdy pozostały musi wybrać jeden port główny. Zostaje
on wybrany na podstawie takiego samego 4-stopniowego procesu wyboru jak Switch główny co
oznacza, że analizowane są ponownie ramki BPDU.
1. ROOT BID
2. PATCH COST
3. SENDER BRIDGE ID
4. PORT ID
Ze względu na to, że każdy z portów porównywanych będzie miał taką samą wartość Root BID, czyli
ID switcha głównego, to pod uwagę brane są dalsze parametry zgodnie z kolejnością.
(3) Wybór portu desygnowanego (designated port) dla każdego segmentu sieci.
Do każdego segmentu w sieci jest wybierany jeden designated port, który jako jedyny będzie wysłał i
odbierał ramki z tego segmentu.
Każdy port, który nie został wybrany jako główny lub desygnowany zostanie ustawiony w tryb
BLOCKING.
STANY PORTÓW STP:
Disabled (stan wyłączenia) – port jest wyłączony administracyjnie (shutdown), dlatego też nie
uczestniczy w procesie STP i nie przekazuje ani nie przetwarza ramek.
Blocking (stan blokowania) - port jest niedesygnowany i nie uczestniczy w przekazywaniu ramek.
Nadal przetwarza ramki BPDU w celu ustalenia lokalizacji i identyfikatora mostu głównego oraz tego,
jaką role powinien przyjąć w ostatecznej aktywnej topologii STP.
Listening (stan nasłuchiwania) – protokół STP na podstawie dotychczas odebranych ramek BPDU
ustalił, że port ten może zostać wybrany jako port główny lub port desygnowany. W tym momencie
port przełącznika nie tylko odbiera ramki BPDU, ale także transmituje własne i informuje sąsiednie
przełączniki, że przygotowuje się do uczestnictwa w aktywnej topologii. Port powróci do stanu
blokowanie, jeśli zostanie stwierdzone, że nie zapewnia ścieżki o najmniejszym koszcie do mostu
głównego.
Learning (stan uczenia się) – port przygotowuje się do uczestnictwa w przekazywaniu ramek i zaczyna
wypełniać wpisami tablicę adresów MAC.
Forwarding (stan przekazywania) – port stanowi część aktywnej topologii i przekazuje ramki oraz
wysyła i odbiera ramki BPDU
ZEGARY BPDU
Czas pozostawania portu w rożnych stanach zależy od zegarów BPDU. Tylko Switch pełniący rolę
Switcha głównego może wysyłać w obrębie drzewa informacje dostrajające zegary. Podane niżej
zegary określają czasy działania protokołu STP i zmiany stanu:
Hello time (czas powitania) – czas między wysyłaniem poszczególnych ramek BPDU przez port.
Domyślnie wynosi dwie sekundy, lecz może zostać ustawiony na wartość z przedziału od jednej do 10
sekund.
Forward delay (opóźnienie przekazywania) – jest to czas pozostawania w stanach learning
(nasłuchiwania) i listening (uczenia się). Domyślnie wynosi 15 sekund, lecz może zostać ustawiony na
wartość z przedziału od czterech do 30 sekund.
Maximum age (wiek maksymalny) - zegar wieku maksymalnego kontroluje maksymalny czas w
wieku którego port przełącznika zapisuje informacje konfiguracyjne BPDU. Domyślnie wynosi 20
sekund, lecz może zostać ustawiony na wartość z przedziału do 40 sekund.
SPANNING TREE W PRAKTYCE
Taki jest algorytm, ale to wciąż nie wyjaśnia, jak w rzeczywistości działa Spanning Tree. Wykonywanie
algorytmu Spanning Tree zaburza pracę sieci – aby wykonać obliczenia, przełączniki muszą wstrzymać
cały ruch sieciowy. Następnie przebiega seria faz nasłuchiwania i uczenia, a ruch w sieci zostaje
wznowiony dopiero, gdy przełączniki zbudują topologię. Na szczęście proces ten ma miejsce tylko,
gdy wystąpią zmiany w topologii sieci lub przełączniki odbiorą pakiet konfiguracyjny BPDU. Niestety,
zdarza się to częściej, niż mogłoby się wydawać.
Koncepcja Spanning Tree zakłada, że w sieci może nastąpić awaria połączenia, ponieważ para
przełączników jest połączona przynajmniej dwoma ścieżkami. STP będzie utrzymywać zapasowy port
w statusie zablokowany, dopóki nie będzie on potrzebny. Wydaje się więc, że zapasowe łącza można
odłączyć i podłączyć nowe bez przerywania działania sieci. Niestety, Spanning Tree nie działa w ten
sposób.
Gdy pojawia się nowe fizyczne połączenie, przyłączone do niego przełączniki wyślą pakiet
konfiguracyjny BPDU, a pozostałe urządzenia odpowiedzą na ten pakiet. Cały ruch sieciowy zostanie
wstrzymany na czas potrzebny do przeliczenia Spanning Tree (około 30-60 sekund). Jest to bardzo
wygodne w praktyce, ponieważ w przypadku awarii przełącznika czas przestoju jest stosunkowo
krótki, jednak w przypadku planowanych prac serwisowych czas przestoju jest daleki od
optymalnego.
Żeby skrócić czas przestoju, opracowano protokół RSTP (Rapid Spanning Tree Protocol), który jest
dostępny w obecnych przełącznikach i znacznie skraca czas przestoju. Dlatego powinno się używać
wyłącznie protokołu RSTP. Jest on w pełni kompatybilny ze starszymi urządzeniami, a jednocześnie
skraca czas przestoju do około 3 sekund.
Jak widać, wykorzystanie STP lub RSTP pozwala połączyć ze sobą dwa przełączniki z wykorzystaniem
wielu łączy bez tworzenia pętli. Jeśli aktywne połączenie pomiędzy nimi ulegnie awarii,
automatycznie zostanie wykorzystane jedno z pozostałych połączeń. Mechanizm ten działa, ponieważ
przełącznik blokuje łącza zapasowe, ale nasłuchuje również pakietów BPDU zawierających
aktualizację konfiguracji i wie, które łącze prowadzi do głównego przełącznika. Mechanizm ten działa
pod warunkiem prawidłowej konfiguracji.
ROZSZERZENIA SIECIOWE STP
Rozwój protokołu STP, podobnie jak wielu innych standardów sieciowych, był stymulowany
koniecznością tworzenia ogólnie dostępnych specyfikacji, gdy protokoły będące własnością różnych
firm stawały się de facto standardami. Protokół STP przeszedł tę samą drogę.
Odmiany protokołu STP:
PVST (Per-VLAN Spanning-Tree) - utrzymuje po jednej instancji drzewa rozpinającego dla każdej ze
skonfigurowanych sieci VLAN. Instancja ta nazywa się Single Spanning Tree / Common Spanning
Tree). Oznacza to, że jeden switch główny pełni swoją rolę dla wszystkich istniejących w sieci
VLANów. Rolę poszczególnych portów (Port Główny, Port Desygnowany) jak i ich stany (Forwarding,
Blocking) są takie same dla każdego z VLANów.
PVST+ (Per-VLAN Spanning-Tree Plus) – firma Cisco opracowała protokoł PVST+, aby dla każdej sieci
VLAN mogła być uruchamiana osobna instancja drzewa rozpinającego (protokołu STP). Dzięki tak
pomyślanej modyfikacji protokołu w sieci może istnieć kilka switchy głównych, a jeśli dany port jest
typu trunk, to może być w tym samym czasie w stanie Forwarding dla jednego VLANu i w stanie
Blocking dla innego VLANu. Konfigurując różne switche główne dla poszczególnych sieci VLAN,
tworzy się sieć o większej nadmiarowości. W celu zapewnienia obsługi magistral zgodnych ze
standardem
IEEE
802.1Q
PVST+
oferuję
tę
samą
funkcjonalność
co
PVST.
W celu umożliwienia działania protokołu PVST+ ośmiobajtowe pole identyfikatora BID zostało
zmodyfikowane, tak aby zawierało także identyfikator sieci VLAN (VID)
BID, który zawiera rozszerzony identyfikator systemowy posiada inną wartość dla każdego z VLANów.
Jest to spowodowane tym, iż do domyślnej wartości BID dodaje się dodatkowo numer VLANu.
Przykład:
(VLAN 8: Bridge Priority = 32768 + 8 + Adres Mac)
(VLAN 1: Bridge Priority = 32768 + 1 + Adres Mac)
Protokół RSTP:
Protokół RSTP jest zdefiniowany w standardzie IEE 802.1w. Stanowi rozwiniętą wersje protokołu STP
802.1D. Terminologia protokołu RSTP 802.1w praktycznie się nie różni od obowiązującej dla
protokołu STP 802.1D. Większość parametrów pozostała niezmieniona, tak aby użytkownicy znający
protokół STP mogli się szybko nauczyć konfiguracji nowego protokołu.
RSTP zapewnia konwergencję na poziomie pojedyńczych sekund, a nawet poniżej jednej sekundy. W
RSTP nie istnieją żadne porty zablokowane. RSTP nie przewiduję znajdowania się portu w stanie
zablokowania. Definiuje natomiast następujące stany portów:
- odrzucania (discarding),
- uczenie się (learning),
- przekazywanie (forwarding).
W RTP rozróżnia się typy łączy:
- point-to-point (P2P), full duplex
- shared, half duplex
W przeciwieństwie do STP, w którym to tylko switch główny generował ramki BPDU, to w RSTP każdy
switch przez cały czas generuje ramki BPDU. Pełnią one rolę kontroli połączenia pomiędzy
sąsiednimi switchami. Dzięki temu czas maximum age został skrócony z 20 na 6 sekund.
Informacje związane z protokołem mogą od razu utracić na porcie ważność, jeśli w ciągu trzech
kolejnych czasów powitania (hello time – domyślnie sześć sekund) nie zostaną odebrane żadne
sygnały „hello” lub jeśli upłynie czas maximum age. Ponieważ jednostki BPDU są używane jako
mechanizm sygnalizowania aktywności, brak trzech kolejnych jednostek BPDU sygnalizuje utratę
zdolności połączeniowej między mostem i jego sąsiednim mostem głównym lub mostem
desygnowanym. Wskutek szybkiego starzenia się informacji jest możliwe szybkie wykrywanie awarii.
PODSUMOWANIE
Protokół Spanning Tree zapobiega powstawaniu pętli w sieci, w której przełączniki są połączone ze
sobą wieloma ścieżkami. Spanning Tree jest implementacją algorytmu 802.1D IEEE, a jego działanie
polega na wymianie wiadomości BPDU pomiędzy przełącznikami w celu wykrycia pętli i ich usunięcia
poprzez zablokowanie wybranych interfejsów przełącznika. Ten algorytm gwarantuje, że jest tylko
jedna ścieżka pomiędzy dwoma urządzeniami sieciowymi. Jednocześnie gwarantuje nadmiarowość
na wypadek awarii aktywnych ścieżek.
Główny przełącznik w Spanning Tree jest logicznym centrum, przez które przechodzi cały ruch
sieciowy. Zaleca się ręczne wybieranie przełącznika, który będzie pełnić tę funkcję. Wadą STP są
rekalkulacje, dlatego należy prawidłowo skonfigurować porty służące do podłączania urządzeń
końcowych oraz używać protokołu RSTP.
ŹRÓDŁA:
http://itfocus.pl/raporty/przelaczniki/jak-dziala-spanning-tree
http://cisco.sadzer.pl/rip/stp/
http://www.computerworld.pl/artykuly/299137/Protokol.RSTP.zwieksza.dostepnosc.sieci.LAN.html

Podobne dokumenty