Teraz Jesteś w Home Page > Akademia Cisco CCNA > Protokół STP

1.Wprowadzenie
2.Nadmiarowość
3.Topologie nadmiarowe
4.Przełączane topologie nadmiarowe
5.Burze rozgłoszeń
6.Wielokrotna transmisja ramek
7.Niestablność bazy danych o położeniu hostów
8.Topologia nadmiarowa i STP
9.Spanning Tree Protocol
10.Działanie STP
11.Wybór mostu głównego
12.Kolejne stany portów protokołu STP
13.Ponowne obliczanie drzewa opinającego
14.Szybki protokół STP - (ang. Rapid Spanning-Tree Protocol)

Protokół STP

Spanning Tree Protocol

Wprowadzenie

Nadmiarowość jest bardzo ważną i pożądaną cechą sieci. Dzięki niej sieci uzyskują odporność na awarie. Nadmiarowość topologii zapobiega przestojom lub utracie dostępu do zasobów. Przestoje mogą być spowodowane awarią pojedynczego łącza, portu lub urządzenia sieciowego. Inżynierowie sieci komputerowych często muszą szukać kompromisu pomiędzy kosztem wprowadzenia nadmiarowości a potrzebą utrzymania dostępności sieci.

Topologie nadmiarowe oparte na przełącznikach i mostach są narażone na burze rozgłoszeń, wielokrotną transmisję ramek i niestabilność baz danych adresów MAC. Problemy te mogą sprawić, że sieć nie będzie się nadawała do użytku. Z tego powodu nadmiarowość powinna być dokładnie zaplanowana i monitorowana.

Zaletami sieci przełączanych są mniejsze rozmiary domen kolizyjnych, mikrosegmentacja i działanie w trybie pełnego dupleksu. Sieci przełączane zapewniają większą wydajność.

Nadmiarowość jest wymagana w celu ochrony przed utratą łączności w sieci w przypadku awarii pojedynczego podzespołu. Jednak spełnienie tego warunku może oznaczać powstanie topologii fizycznej zawierającej pętle. Istnienie pętli w warstwie fizycznej sieci przełączanych może być przyczyną poważnych problemów.

Protokół STP (ang. Spanning-Tree Protocol) jest używany w sieciach przełączanych w celu utworzenia topologii logicznej bez pętli na bazie topologii fizycznej z pętlami. Łącza, porty i przełączniki, które nie staną się częścią aktywnej topologii, nie mogą przekazywać ramek. Protokół STP stanowi potężne narzędzie, dzięki któremu administrator może zapewnić poziom bezpieczeństwa topologii nadmiarowej, unikając jednocześnie problemów z pętlami w sieci przełączanej.

Nadmiarowość

Działanie wielu firm i organizacji jest coraz bardziej uzależnione od sieci komputerowych. Dostęp do serwerów plików, baz danych, Internetu oraz do sieci intranet i extranet jest niezbędnym warunkiem pomyślnego funkcjonowania firm. Przestoje w działaniu sieci oznaczają spadek wydajności pracowników i niezadowolenie klientów.

Coraz częściej firmy wymagają nieprzerwanego dostępu do sieci, czyli jej bezawaryjnej pracy. Zapewnienie 100% bezawaryjnego czasu pracy może okazać się niemożliwe, ale wiele organizacji próbuje osiągnąć czas bezawaryjnej pracy na poziomie 99,999%, określany jako "pięć dziewiątek". Do osiągnięcia tego celu wymagane są niezwykle niezawodne sieci. Oznacza to, że godzina przestoju przypada średnio na każde 4000 dni pracy, a w ciągu roku występuje średnio 5,25 minut przestoju.

Niezawodność sieci uzyskuje się dzięki zastosowaniu niezawodnego sprzętu oraz dzięki projektom sieci, które są odporne na awarie i błędy. Sieci powinny być zaprojektowane tak, aby zapewniały szybką zbieżność, co pozwala na ominięcie ognisk awarii.

Załóżmy, że dotarcie do pracy wymaga skorzystania z samochodu. Jeśli samochód ulegnie awarii i nie nadaje się do użycia, nie można nim pojechać do pracy, dopóki nie zostanie naprawiony.

Jeśli na każde 10 dni samochód jest przez jeden dzień w naprawie, jego czas działania wynosi średnio 90%. Niezawodność również wynosi 90%.

Sytuację może poprawić użycie drugiego samochodu. Aby dojechać do pracy, nie są potrzebne oba samochody. Jednak drugi samochód zapewnia nadmiarowość, czyli jest samochodem zapasowym na wypadek, gdyby pierwszy uległ awarii. Możliwość dojechania do pracy nie zależy już od jednego samochodu.

Oba samochody mogą być jednocześnie w naprawie średnio przez jeden dzień na 100. Drugi samochód zwiększa więc niezawodność do 99%.

Topologie nadmiarowe

Celem stosowania topologii nadmiarowych jest eliminacja wyłączeń sieci wywoływanych przez pojedyncze punkty awarii. Wszystkie sieci wymagają nadmiarowości, jeśli mają być bardziej niezawodne.

Typowym przykładem topologii nadmiarowej jest sieć dróg. Jeśli jedna droga zostanie zamknięta do remontu, prawdopodobnie można znaleźć inną drogę prowadzącą do celu.

Przeanalizujmy sytuację mieszkańców oddzielonych rzeką od centrum miasta. Jeśli na rzece jest tylko jeden most, istnieje tylko jedna droga do miasta. W tej topologii nie ma nadmiarowości.

Jeśli most zostanie zalany lub uszkodzony w wyniku wypadku, nie będzie można się dostać przez ten most do centrum miasta.

Dodanie drugiego mostu przez rzekę powoduje utworzenie topologii nadmiarowej. Przedmieścia nie będą już odcięte od centrum, kiedy jeden z mostów stanie się nieprzejezdny.

Przełączane topologie nadmiarowe

Sieci o nadmiarowych ścieżkach i urządzeniach pozwalają uzyskać większy czas bezawaryjnej pracy. Topologie nadmiarowe eliminują pojedyncze punkty awarii. W przypadku awarii ścieżki lub urządzenia ich funkcje mogą być przejęte przez nadmiarową ścieżkę lub urządzenie.

eśli awarii ulegnie przełącznik A, ruch może nadal przepływać z segmentu 1 do segmentu 2 i do routera za pośrednictwem przełącznika B.

Przełączniki zapamiętują adresy MAC urządzeń podłączonych do ich portów, aby zapewnić odpowiednie przekazywanie danych do miejsca przeznaczenia. Przełączniki przekazują rozpływowo ramki zawierające nieznany adres docelowy, dopóki nie poznają adresów MAC urządzeń docelowych. Ramki rozgłoszeniowe i rozsyłane grupowo są również przesyłane rozpływowo.

W przełączanych topologiach nadmiarowych mogą występować burze rozgłoszeń, wielokrotne kopie ramek i problemy związane z niestabilnością tablic adresów MAC.

Burze rozgłoszeń

Poniżej zostały opisane skutki używania rozgłaszania i multiemisji w sieci przełączanej. Przełączniki traktują multiemisję tak, jak rozgłaszanie. Ramki rozgłoszeniowe i multiemisji są wysyłane ze wszystkich portów z wyjątkiem portu, z którego dana ramka została odebrana.

Jeśli host X wyśle ramkę rozgłaszania, np. żądanie ARP dotyczące adresu routera w warstwie 2, przełącznik A przekaże tę ramkę na wszystkich portach. Przełącznik B znajduje się w tym samym segmencie i również przekazuje wszystkie ramki rozgłoszeniowe. Przełącznik B odbiera wszystkie ramki rozgłoszeniowe nadawane przez przełącznik A, zaś przełącznik A odbiera wszystkie ramki rozgłoszeniowe nadawane przez przełącznik B. Przełącznik A przekazuje ramki rozgłoszeniowe odebrane od przełącznika B. Przełącznik B przekazuje ramki rozgłoszeniowe odebrane od przełącznika A.

Przełączniki mogą kontynuować przekazywanie ramek rozgłaszania w nieskończoność. Sytuacja taka jest nazywana burzą rozgłoszeń. Burza rozgłoszeń trwa dopóty, dopóki jeden z przełączników nie zostanie odłączony. Obsługa rozgłaszania wymaga czasu i zasobów sieciowych, więc ogranicza ono przepustowość dostępną dla użytkowników. Sieć działa bardzo wolno lub nie działa wcale.

Wielokrotna transmisja ramek

Załóżmy, że na obu przełącznikach upłynął czas ważności adresu MAC routera Y. Załóżmy też, że host X nadal przechowuje adres MAC routera Y w swojej pamięci podręcznej ARP i wysyła do routera Y ramkę transmisji pojedynczej unicast. Router odbierze tę ramkę, ponieważ znajduje się on w tym samym segmencie co host X.

Przełącznik A nie zna adresu MAC routera Y, więc przekazuje tę ramkę rozpływowo na wszystkich portach. Przełącznik B również nie ma informacji, na którym porcie znajduje się router Y. Przełącznik B także przekazuje rozpływowo odebraną ramkę na wszystkich portach. Powoduje to, że router Y odbiera wiele kopii tej samej ramki. Efektem tego jest niepotrzebne zajmowanie zasobów sieciowych.

Niestablność bazy danych o położeniu hostów

W tym przykładzie adres MAC routera Y nie jest zapisany w tablicy adresów MAC żadnego z przełączników.

Host X wysyła ramkę do routera Y. Przełączniki A i B zapamiętują, że adres MAC hosta X znajduje się na porcie 0.

Ramka przeznaczona dla routera Y jest przekazywana rozpływowo przez oba przełączniki na porcie 1. Przełączniki A i B odbierają tę informację na porcie 1 i błędnie przyjmują, że host X o danym adresie MAC jest połączony z portem 1. Kiedy router Y wysyła ramkę do hosta X, przełączniki A i B również odbierają tę ramkę i przekazują ją dalej na porcie 1. Jest to niepotrzebne, ale przełączniki błędnie zapamiętały, że host X znajduje się na porcie 1.

W tym przykładzie ramka transmisji pojedynczej unicast przesyłana z routera Y do hosta X będzie krążyła w pętli.

Topologia nadmiarowa i STP

Nadmiarowe topologie sieci projektuje się w celu zapewnienia dalszego działania sieci po wystąpieniu punktowych awarii. Praca użytkowników jest rzadziej przerywana, ponieważ sieć nadal funkcjonuje. Wszelkie zaburzenia powodowane przez awarie powinny trwać jak najkrócej.

Niezawodność poprawia się dzięki nadmiarowości. Do sieci zbudowanej w oparciu o przełączniki lub mosty wprowadzane są nadmiarowe połączenia pomiędzy tymi urządzeniami neutralizujące skutki awarii pojedynczego łącza. Połączenia te tworzą w sieci pętle fizyczne. Pętle te są tworzone po to, aby w razie awarii jednego połączenia inne mogło przejąć jego funkcje przekazywania ruchu w sieci.

Kiedy przełącznik nie zna adresu docelowego przekazywanych danych, przekazuje ten ruch rozpływowo na wszystkie porty oprócz portu, z którego on nadchodzi. Ruch związany z rozgłaszaniem i multiemisją jest również przekazywany na wszystkie porty oprócz portu, z którego nadchodzi. Ten ruch może być uwięziony w pętli.

W nagłówku warstwy 2 nie ma wartości TTL (ang. Time To Live, czas życia). Jeśli ramka trafi do pętli złożonej z przełączników w warstwie 2, może w niej krążyć w nieskończoność. Taki zbędny ruch pochłania pasmo i powoduje, że sieć staje się niezdatna do użytku. Na poziomie warstwy 3 zawartość pola TTL jest zmniejszana i, gdy osiągnie wartość 0, pakiet zostaje odrzucony. Tu pojawia się dylemat. Topologia fizyczna zawierająca pętle z przełącznikami i mostami jest niezbędna do zapewnienia niezawodności, ale z drugiej strony sieci przełączane nie mogą zawierać pętli.

Utworzona topologia logiczna bez pętli jest nazywana drzewem. Jest to logiczna topologia gwiazdy lub gwiazdy rozszerzonej. Ta topologia jest nazywana drzewem opinającym sieci (ang. spanning-tree). Nazwa pochodzi stąd, że topologia ta obejmuje (opina) wszystkie urządzenia w sieci.

Algorytm tworzenia takiej pozbawionej pętli topologii nazywany jest algorytmem drzewa opinającego (ang. spanning-tree algorithm). Algorytm ten jest stosunkowo wolno zbieżny. Stworzony został nowy algorytm, nazywany szybkim algorytmem drzewa opinającego (ang. rapid spanning-tree algorithm), który redukuje czas potrzebny do obliczenia pozbawionej pętli topologii logicznej sieci.

Spanning Tree Protocol

Mosty i przełączniki Ethernet mogą stosować Spanning Tree Protocol IEEE 802.1d i używać algorytmu STP do budowy pozbawionej pętli sieci o najkrótszych ścieżkach.

Najkrótsza ścieżka jest wybierana w oparciu o skumulowane koszty łączy. Koszty łączy zależą od ich szybkości.

Szybkość łącza Koszt (poprawiona specyfikacja IEEE) Koszt (poprzednia specyfikacja IEEE)
10Gbps 2 1
1Gbps 4 1
100Mbps 19 10
10Mbps 100 100

Protokół STP ustanawia węzeł główny, który jest nazywany mostem głównym. Protokół STP konstruuje topologię, w której do każdego węzła w sieci prowadzi dokładnie jedna ścieżka. Korzeniem drzewa jest most główny. Połączenia nadmiarowe, które nie są częścią drzewa o najkrótszych ścieżkach, są blokowane.

Dzieje się tak, ponieważ zablokowanie pewnych ścieżek jest konieczne do uzyskania topologii pozbawionej pętli. Ramki danych odebrane na zablokowanych łączach są odrzucane.

Protokół STP wymaga, aby urządzenia w sieci wymieniały komunikaty umożliwiające wykrycie pętli mostowania. Połączenia, które powodują powstanie pętli, przechodzą do stanu blokowania.

Przełączniki wysyłają komunikaty nazywane jednostkami BPDU (ang. Bridge Protocol Data Unit) umożliwiające utworzenie topologii logicznej bez pętli. Jednostki BPDU są odbierane nawet na zablokowanych portach. Zapewnia to możliwość wyliczenia nowego drzewa opinającego w przypadku awarii urządzenia lub ścieżki aktywnej.

Jednostki BPDU zawierają informacje, dzięki którym przełączniki mogą wykonywać określone zadania:

Działanie STP

Po ustabilizowaniu pracy sieci osiąga ona zbieżność i w każdej sieci istnieje jedno drzewo opinające.

W wyniku tego we wszystkich sieciach przełączanych występują następujące elementy:

Porty główne i porty wyznaczone służą do przekazywania ruchu danych (są oznaczane skrótem F od ang. Forwarding Port).

Porty inne niż wyznaczone odrzucają ruch danych. Porty te są nazywane portami blokującymi lub portami odrzucającymi (są oznaczane skrótem B od ang. Blocking Port).

Wybór mostu głównego

Pierwszą decyzją, którą muszą podjąć wszystkie przełączniki w sieci, jest identyfikacja mostu głównego. Od lokalizacji mostu głównego w sieci zależy przepływ danych w tej sieci.

Po włączeniu przełącznika korzysta on z algorytmu STP, aby znaleźć most główny. Wysyłane są jednostki BPDU z identyfikatorem mostu BID. Na identyfikator BID składają się priorytet (domyślnie 32768) i adres MAC przełącznika. Domyślnie jednostki BPDU są wysyłane co dwie sekundy.

Kiedy przełącznik jest uruchamiany po raz pierwszy, zakłada on, że jest przełącznikiem głównym, i wysyła jednostki BPDU zawierające adres MAC tego przełącznika w identyfikatorach BID nadawcy i przełącznika głównego. Te jednostki BPDU są traktowane jako podrzędne, ponieważ są generowane przez wyznaczony przełącznik, który utracił połączenie z mostem głównym. Taki przełącznik wyznaczony wysyła jednostki BPDU zawierające informacje, że jest on jednocześnie mostem głównym i mostem wyznaczonym. Te jednostki BPDU zawierają adres MAC przełącznika zarówno w identyfikatorze BID mostu głównego, jak i w identyfikatorze BID nadawcy. Identyfikatory BID są odbierane przez wszystkie przełączniki. Każdy przełącznik zastępuje w wysyłanych jednostkach BPDU wyższy identyfikator BID przełącznika głównego niższym identyfikatorem BID. Wszystkie przełączniki odbierają jednostki BPDU i ustalają, że przełącznik o najmniejszej wartości BID mostu głównego zostaje mostem głównym.

Administrator sieci może ustawić dla priorytetu przełącznika wartość mniejszą niż domyślna, aby jego identyfikator BID był niższy. Metodę tę można stosować tylko w przypadkach, gdy przepływ ruchu w sieci jest dobrze znany.

Kolejne stany portów protokołu STP

Rozprowadzanie informacji o protokole w całej sieci przełączanej wymaga czasu. Zmiany topologii w jednej części sieci nie są od razu znane w pozostałych częściach sieci. Istnieje opóźnienie propagacji. Przełącznik nie powinien od razu zmieniać stanu portu z nieaktywnego na aktywny, ponieważ może to być przyczyną utworzenia pętli danych.

Każdy port w przełączniku używającym protokołu STP może się znajdować w jednym z pięciu stanów, pokazanych na rysunku

W stanie blokowania (ang. blocking) porty mogą jedynie odbierać jednostki BPDU. Odrzucane są ramki danych i nie są zapamiętywane żadne adresy. Wychodzenie z tego stanu może trwać do 20 sekund.

Ze stanu blokowania porty przechodzą do stanu nasłuchiwania (ang. listening). W tym stanie przełączniki ustalają, czy istnieją inne ścieżki do mostu głównego. Ścieżka, która nie jest ścieżką o najniższym koszcie prowadzącą do mostu głównego, przechodzi z powrotem do stanu blokowania. Okres nasłuchiwania jest nazywany opóźnieniem przesyłania i może trwać do 15 sekund. W stanie nasłuchiwania nie są przesyłane dane i nie są zapamiętywane adresy MAC. Jednostki BPDU są nadal przetwarzane.

Ze stanu nasłuchiwania porty przechodzą do stanu zapamiętywania (ang. learning). W tym stanie dane nie są przekazywane, ale adresy MAC są odbierane i zapamiętywane. Stan zapamiętywania może trwać do 15 sekund i jest również nazywany opóźnieniem przesyłania. Jednostki BPDU są nadal przetwarzane.

Ze stanu zapamiętywania porty przechodzą do stanu przekazywania (ang. forwarding). W tym stanie dane użytkowe są przekazywane, a adresy MAC są w dalszym ciągu zapamiętywane. Jednostki BPDU są nadal przetwarzane.

Port może się znajdować w stanie wyłączenia (ang. disabled). Stan wyłączenia może wystąpić, gdy port zostanie wyłączony przez administratora lub ulegnie awarii.

Czasy podane dla każdego stanu są wartościami domyślnymi. Wartości te zostały obliczone przy założeniu, że w każdej gałęzi drzewa opinającego występuje najwyżej siedem przełączników, licząc od mostu głównego.

Ponowne obliczanie drzewa opinającego

Intersieć przełączana osiąga zbieżność, gdy wszystkie porty przełączników i mostów są albo w stanie przekazywania, albo w stanie blokowania. Porty w stanie przekazywania wysyłają i odbierają ruch danych oraz jednostki BPDU. Porty zablokowane odbierają tylko jednostki BPDU.

Kiedy topologia sieci ulega zmianie, przełączniki i mosty przeprowadzają ponowne obliczenie drzewa opinającego, zakłócając ruch w sieci.

Osiągnięcie zbieżności nowej topologii drzewa opinającego zgodnej ze standardem IEEE 802.1d może zająć do 50 sekund. Na czas osiągnięcia zbieżności składa się czas przebywania w stanie blokowania (do 20 sekund), opóźnienie przesyłania w stanie nasłuchiwania (15 sekund) i opóźnienie przesyłania w stanie zapamiętywania (15 sekund).

Szybki protokół STP - (ang. Rapid Spanning-Tree Protocol)

Szybki protokół STP jest zdefiniowany przez standard IEEE 802.1w sieci LAN. W standardzie i w protokole zostały wprowadzone nowe funkcje:

Określenie stanu portu jako "blokujący" zostało zmienione na "odrzucający" (ang. discarding). Porty odrzucające pełnią rolę portów alternatywnych. Port odrzucający może stać się portem wyznaczonym, gdy port wyznaczony w tym segmencie ulegnie awarii.

Nowo zdefiniowane typy łączy to łącze punkt-punkt (ang. point-to-point), łącze brzegowe (ang. edge-type) i łącze współdzielone (ang. shared). Te zmiany umożliwiają szybkie wykrycie awarii łączy w sieciach przełączanych.

Łącza typu punkt-punkt i brzegowe mogą natychmiast przejść do stanu przekazywania.

Dzięki tym zmianom czas osiągania zbieżności sieci powinien wynosić najwyżej 15 sekund.

Szybki protokół STP (IEEE 802.1w) wyprze w końcu protokół drzewa opinającego (IEEE 802.1d).

Powrót na poczętek