M08.Przełączenia w sieciach.pdf

(528 KB) Pobierz
6
Moduł 8. Przełączanie w sieciach Ethernet
Współdzielona sieć Ethernet w idealnych warunkach sprawuje się doskonale. Kiedy liczba urządzeń próbujących
uzyskać dostęp do sieci jest niewielka, liczba kolizji utrzymuje się w akceptowalnych granicach. Jednakże gdy w
sieci przybywa użytkowników, zwiększona liczba kolizji może doprowadzić do nadmiernego spadku wydajności.
Aby pomóc ograniczyć skalę problemów wydajnościowych wynikających ze zwiększonej liczby kolizji,
opracowano mechanizmy mostowania. Rozwój mechanizmów mostowania doprowadził do powstania techniki
przełączania, która stała się kluczową technologią w nowoczesnych lokalnych sieciach Ethernet.
Zjawiska kolizji i rozgłaszania są naturalnymi elementami współczesnych sieci komputerowych. W
rzeczywistości są one częścią sieci Ethernet oraz technologii wyższych warstw. Jednak gdy ilość tych zjawisk
przekracza wartość optymalną, wydajność sieci spada. Idea domen kolizyjnych i rozgłoszeniowych dotyczy
określenia takich sposobów projektowania sieci, które pozwalają na ograniczenie negatywnych efektów kolizji i
rozgłaszania. W tym module zajmujemy się wpływem kolizji i rozgłaszania na ruch w sieci, a także opiszemy
sposoby wykorzystania mostów i routerów do segmentowania sieci w celu uzyskania lepszej wydajności.
8.1 Przełączanie w sieciach Ethernet
8.1.1 Mostowanie w warstwie 2
Gdy do fizycznego segmentu sieci Ethernet zostaje dodana większa liczba węzłów, wzrasta rywalizacja o dostęp
do medium. Sieć Ethernet jest medium współdzielonym, co oznacza, że w danym momencie może nadawać tylko
jeden węzeł. Dodawanie kolejnych węzłów zwiększa wymagania dotyczące dostępnego pasma oraz dodatkowo
obciąża medium. Wzrost liczby węzłów w pojedynczym segmencie zwiększa prawdopodobieństwo wystąpienia
kolizji, co prowadzi do częstszych retransmisji. Problem ten można rozwiązać przez podzielenie jednego dużego
segmentu na części stanowiące odosobnione domeny kolizyjne.
Aby było to możliwe, most przechowuje tablicę adresów MAC oraz przypisanych im portów. Most przekazuje lub
odrzuca ramki w oparciu o wpisy w tabeli.
4890687.004.png
Poniższa procedura ilustruje działanie mostu:
· Po uruchomieniu mostu jego tablica jest pusta. Most oczekuje na pojawienie się ruchu w segmencie.
Wykryty ruch jest obsługiwany przez most.
· Host A wysyła pakiety ping do hosta B. Ponieważ dane transmitowane są w całym segmencie domeny
kolizyjnej, zarówno host B, jak i most przetwarzają pakiety.
· Adres nadawcy ramki zostaje dodany do tablicy mostu. Ponieważ adres znajduje się w polu adresu
nadawcy, a ramka została odebrana na porcie nr 1, musi być ona skojarzona w tablicy z portem nr 1.
· W tablicy mostu poszukiwany jest adres odbiorcy. Ponieważ adresu nie ma w tablicy, mimo że znajduje się
on w tej samej domenie kolizyjnej, ramka jest przekazywana do innego segmentu. Adres hosta B nie został
jeszcze zapisany, ponieważ zapamiętywany jest jedynie adres nadawcy.
· Host B przetwarza żądanie ping i wysyła odpowiedź ping do hosta A. Dane są przesyłane przez całą
domenę kolizyjną. Zarówno host A, jak i most odbierają i przetwarzają ramkę.
· Adres nadawcy ramki zostaje dodany do tablicy mostu. Ponieważ tablica mostu nie zawiera adresu
nadawcy, a został on odebrany na porcie 1, adres nadawcy ramki musi być skojarzony z portem 1 w tablicy.
W celu odnalezienia pozycji zawierającej adres odbiorcy ramki przeszukiwana jest tablica mostu. Ponieważ
adres znajduje się w tablicy, odszukany zostaje odpowiadający mu port. Adres hosta A zostaje skojarzony z
portem, na który została wysłana ramka, więc nie jest ona dalej przekazywana.
· Host A wysyła teraz pakiety ping do hosta C. Ponieważ dane są transmitowane w całej domenie kolizyjnej,
zarówno most, jak i host B przetwarzają ramkę. Ramka zostaje odrzucona przez hosta B, ponieważ nie była
do niego kierowana.
· Adres nadawcy ramki zostaje dodany do tablicy mostu. Ponieważ adres jest już zapisany w tablicy mostu,
pozycja jest jedynie odświeżana.
· Tablica mostu jest przeszukiwana w celu odnalezienia pozycji zawierającej adres odbiorcy ramki.
Ponieważ adresu nie ma w tablicy, ramka jest przekazywana do innego segmentu. Adres hosta C nie został
jeszcze zapisany, gdyż zapamiętywany jest jedynie adres nadawcy.
· Host C przetwarza żądanie ping i wysyła odpowiedź ping do hosta A. Dane są przesyłane przez całą
domenę kolizyjną. Zarówno host D, jak i most otrzymują i przetwarzają ramkę. Ramka zostaje odrzucona
przez hosta D, ponieważ nie była do niego kierowana.
· Adres nadawcy ramki zostaje dodany do tablicy mostu. Ponieważ adres znajduje się w polu adresu
nadawcy, a ramka zostaje odebrana na porcie nr 2, musi być ona skojarzona w tablicy z portem nr 2.
· Tablica mostu jest przeszukiwana w celu odnalezienia pozycji zawierającej adres odbiorcy ramki. Adres
znajduje się w tablicy, lecz jest on skojarzony z portem 1, więc ramka jest przekazywana do innego
segmentu.
· Gdy host D transmituje dane, jego adres MAC zostaje również zapisany w tablicy mostu. W ten sposób
most kontroluje ruch pomiędzy domenami kolizyjnymi.
Są to operacje, jakie podejmuje most w celu przekazywania i odrzucania ramek, które są odbierane na dowolnym
z jego portów.
8.1.2 Przełączanie w warstwie 2
Zasadniczo most zawiera tylko dwa porty i rozdziela domenę kolizyjną na dwie części. Wszystkie wybory
dokonywane przez most opierają się na adresach MAC lub inaczej adresowaniu w warstwie 2 i nie wpływają na
adresowanie logiczne zwane także adresowaniem w warstwie 3. Tak więc most dzieli domenę kolizyjną, nie
wpływając przy tym na domenę logiczną lub rozgłoszeniową. Niezależnie od liczby mostów w sieci cała sieć
będzie współdzieliła tę samą logiczną przestrzeń adresową (o ile nie ma w niej urządzenia korzystającego z
procesu adresowania w warstwie 3, takiego jak router). Most utworzy dodatkowe domeny kolizyjne, nie
zwiększając jednak liczby domen rozgłoszeniowych.
W istocie przełącznik jest szybkim, wieloportowym mostem mogącym zawierać dziesiątki portów. W
przeciwieństwie do mostu, który powoduje powstanie dwóch domen kolizyjnych, w tym przypadku osobna
domena kolizyjna jest tworzona w obrębie każdego z portów. W sieci składającej się z dwudziestu węzłów
istnieje dwadzieścia domen kolizyjnych, jeśli każdy węzeł jest podłączony do innego portu przełącznika. Przy
uwzględnieniu portu połączenia nadrzędnego (uplink) pojedynczy przełącznik tworzy dwadzieścia jeden domen
kolizyjnych, z których każda zawiera jeden węzeł. Przełącznik dynamicznie tworzy i utrzymuje tablicę pamięci
asocjacyjnej (CAM, ang. Content-Addressable Memory ), przechowując dla każdego portu wszystkie niezbędne
informacje dotyczące adresów MAC.
8.1.3 Działanie przełącznika
Przełącznik jest po prostu mostem z wieloma portami. Gdy do portu przełącznika jest podłączony tylko jeden
host, domena kolizyjna na medium współdzielonym składa się jedynie z dwóch elementów: portu przełącznika i
dołączonego do niego hosta. Każdy z dwóch węzłów w tym małym segmencie (domenie kolizyjnej) składa się z
portu przełącznika oraz hosta podłączonego do niego. Takie małe segmenty fizyczne zwane są mikrosegmentami.
W sytuacji, gdy podłączone są tylko dwa węzły, pojawia się dodatkowa możliwość. W sieci wykorzystującej
skrętkę jedna para przewodów używana jest do przenoszenia transmitowanego sygnału z jednego węzła do
drugiego. Oddzielna para jest wykorzystywana do odbioru lub przekazywania sygnału zwrotnego. Możliwe jest
przesyłanie sygnałów w obydwu kierunkach równocześnie. Zdolność komunikowania się w obydwu kierunkach
równocześnie określana jest jako pełny dupleks. Większość przełączników i kart sieciowych obsługuje
komunikację w trybie pełnego dupleksu. W trybie tym nie występuje rywalizacja o dostęp do medium. W związku
z tym pojęcie domeny kolizyjnej przestaje istnieć. Teoretycznie w trybie pełnego dupleksu szerokość pasma
zostaje podwojona.
Oprócz szybszych mikroprocesorów i pamięci, opracowanie przełączników umożliwiły dwie inne innowacje
technologiczne. Pamięć asocjacyjna (CAM) działa odwrotnie niż pamięć tradycyjna. Wprowadzenie danych do
pamięci spowoduje zwrot skojarzonego z nimi adresu. Wykorzystanie pamięci asocjacyjnych (CAM) pozwala
przełącznikowi na bezpośrednie odnalezienie portu skojarzonego z adresem MAC bez konieczności
wykorzystywania algorytmów wyszukiwania. Układ ASIC (ang. Application-Specific Integrated Circuit ) jest
urządzeniem składającym się z bramek logicznych o nieprzypisanych funkcjach, które mogą zostać
zaprogramowane tak, aby realizować operacje z prędkością układów logicznych. Działania, które wcześniej
mogły być realizowane programowo, teraz mogą być wykonywane sprzętowo z wykorzystaniem układów ASIC.
Wykorzystanie tych technologii w znaczący sposób zredukowało opóźnienia wprowadzane przez oprogramowanie
oraz pozwoliło dotrzymać kroku zapotrzebowaniu wielu mikrosegmentów na dane oraz sprostać dużym
szybkościom bitowym.
4890687.005.png 4890687.006.png
8.1.4 Opóźnienie
Opóźnienie to różnica pomiędzy czasem, kiedy urządzenie nadawcze rozpoczyna wysyłanie ramki, a czasem, gdy
jej początkowa część osiągnie swój cel. Opóźnienie ramki przesyłanej pomiędzy źródłem i miejscem docelowym
może być spowodowane przez wiele różnych czynników:
· Opóźnienia medium spowodowane skończoną prędkością, z jaką może poruszać się sygnał w medium
fizycznym.
· Opóźnienia obwodów wnoszone przez układy elektroniczne przetwarzające sygnał na jego drodze.
· Opóźnienia programowe powodowane przez procesy decyzyjne realizowane przez oprogramowanie w celu
implementacji funkcji przełączania i obsługi protokołów.
· Opóźnienia powodowane przez zawartość ramki oraz miejsce w obrębie ramki objęte procesami decyzyjnymi
dotyczącymi przełączania. Na przykład urządzenie nie może skierować ramki do portu docelowego, dopóki
nie zostanie odczytany adres MAC odbiorcy.
8.1.5 Tryby przełączania
Sposób przełączania ramki do portu
docelowego stanowi rozwiązanie
kompromisowe między wartością
opóźnienia i niezawodnością. Przełącznik
może zacząć przesyłać ramkę zaraz po
otrzymaniu adresu MAC odbiorcy. Taki
sposób przełączania nazywany jest
przełączaniem „cut-through ".
Charakteryzuje się on najmniejszym
opóźnieniem. Jednak w tym przypadku
wykrywanie błędów nie jest możliwe. Z
drugiej strony, przełącznik może odebrać
całą ramkę przed przesłaniem jej dalej
przez port docelowy. W tej sytuacji przed
wysłaniem ramki do punktu docelowego
istnieje możliwość sprawdzenia kodu
kontrolnego ramki (FCS) przez
oprogramowanie przełącznika. Można w
ten sposób upewnić się, że ramka została
poprawnie odebrana. W przypadku wykrycia błędu odrzucenie ramki jest realizowane przez przełącznik, a nie
przez komputer docelowy. Ponieważ przed przekazaniem cała zawartość ramki jest przechowywana w pamięci,
ten tryb określa się mianem „store-and-forward" (zachowaj i przekaż). Tryb „fragment-free" stanowi
kompromis pomiędzy metodami „cut-through" i „store-and-forward". W przypadku metody „fragment-free"
odbierane są pierwsze 64 bajty zawierające nagłówek ramki, przełączanie rozpoczyna się zanim zostanie odebrane
pole danych i suma kontrolna. W trybie tym weryfikowana jest poprawność adresowania oraz informacji
4890687.007.png 4890687.001.png
protokołu LLC (Logical
Link Control) w celu
zapewnienia, że
przetwarzanie danych
oraz informacje
określające punkt
docelowy będą
prawidłowe.
Gdy do przełączania
używana jest metoda
„cut-through”, zarówno
port źródłowy, jak i port
docelowy muszą
pracować z tą samą
szybkością bitową, aby
nie uszkodzić ramki.
Przełączanie takie
określa się mianem
symetrycznego. Jeżeli
szybkości bitowe są
różne, ramka musi być zapisana z jedną szybkością, a następnie wysłana z inną. Ten typ przełączania określa się
mianem asymetrycznego. Do przełączania asymetrycznego musi być wykorzystywany tryb „store-and-forward”.
Przełączanie asymetryczne zapewnia połączenia komutowane pomiędzy portami o różnych szerokościach pasma,
na przykład 100 Mb/s i 1000 Mb/s. Przełączanie asymetryczne jest zoptymalizowane pod kątem ruchu
generowanego przez połączenia typu klient/serwer, gdzie wiele klientów jednocześnie komunikuje się z
serwerem, co wymaga zapewnienia szerszego pasma po stronie portu serwera w celu ograniczenia możliwości
powstania wąskiego gardła w tym punkcie.
8.1.6 Protokół drzewa opinającego
Gdy wiele przełączników połączonych jest w ramach jednej struktury drzewiastej, wystąpienie pętli przełączania
jest mało prawdopodobne. Jednak sieci komutowane są zwykle zaprojektowane tak, aby zapewnić ścieżki
nadmiarowe, co ma gwarantować niezawodność i odporność na błędy. Występowanie ścieżek nadmiarowych jest
pomocne, jednak zastosowanie ich może nieść za sobą niepożądane efekty uboczne. Pętla przełączania jest
jednym z takich efektów. Pętla przełączania może wystąpić przez przypadek lub być konsekwencją świadomego
działania. Może ona doprowadzić do burzy rozgłoszeń, która gwałtownie obejmie całą sieć. Aby zapobiec
możliwości powstania pętli, przełączniki wyposażone są w oparty na standardach protokół drzewa opinającego
(STP). Każdy przełącznik w sieci LAN, który wykorzystuje protokół drzewa opinającego (STP), wysyła przez
każdy swój port specjalne komunikaty zwane jednostkami BPDU (ang. Bridge Protocol Data Unit), aby
zakomunikować innym przełącznikom swoją obecność i umożliwić wybór mostu głównego sieci. Następnie
przełączniki wykorzystują algorytm drzewa opinającego w celu identyfikacji i zamknięcia ścieżek nadmiarowych.
Każdy port przełącznika używającego algorytmu drzewa opinającego znajduje się w jednym z pięciu
stanów: Blokowanie Nasłuch Zapamiętywanie Przesyłanie Wyłączony
Port może przechodzić z jednego stanu do innego w następujących cyklach:
* od inicjacji do blokowania
* od blokowania do nasłuchu lub zablokowania
* od nasłuchu do zapamiętywania lub zablokowania
* od zapamiętywania do przesyłania lub zablokowania
* od przesyłania do zablokowania
Wynikiem zidentyfikowania i wyeliminowania pętli z wykorzystaniem protokołu STP jest powstanie
hierarchicznej struktury drzewiastej wolnej od zapętleń. Alternatywne ścieżki są jednak w dalszym ciągu dostępne
i mogą być wykorzystane w razie potrzeby.
4890687.002.png 4890687.003.png
Zgłoś jeśli naruszono regulamin