Warstwa druga, przełączniki i VLAN’y

0

Czy jest coś ważniejszego, niż IP i routing? Tak, to warstwa druga (łącza danych), szczególnie, gdy nastąpi w niej awarii. W wielu sieciach nie stosuje się protokołu Spanning Tree, żeby zapewnić niezawodność w warstwie drugiej. A przecież awaria przełącznika nie powinna odcinać od sieci nikogo, poza użytkownikami podłączonymi bezpośredniego do niego.

Warstwa druga to domena Ethernetu, ale nie musisz znać tajników działania tej technologii, żeby zapewnić działanie sieci produkcyjnej. W tym artykule wyjaśnimy najważniejsze procesy, jakie zachodzą w tej warstwie.

Przełączniki ethernetowe, jak je teraz nazywamy, rozpoczęły swoją karierę jako mosty. Tradycyjny most odbiera ramki Ethernet, a następnie przekazuje je do wszystkich pozostałych portów, z wyjątkiem portu, na którym zostały odebrane. Mosty zapewniały niezawodność dzięki Spanning Tree, a w pewnym momencie zostały wyposażone również w funkcje uczenia się adresów MAC, czyli przyporządkowywania ich do określonych portów.

Mówiąc inaczej, przełączniki nauczyły się przechowywać tablicę z adresami MAC i portami, do których były podłączone te urządzenia. Kiedy ramka dociera do mostu, odczytuje on docelowy adres MAC i przeszukuje tablicę adresów, żeby stwierdzić, do którego portu należy przekazać tę ramkę. Mówiąc inaczej, zamiast rozgłaszać każdą odebraną ramkę (broadcast), przełączniki zaczęły przekazywać je tylko do jednego, odczytanego z tablic adresów MAC portu (unicast).

Umiejętność przekazywania ramek tylko do jednego portu znacznie podniosła wydajność sieci i ograniczyła domenę kolizji. Jeśli docelowy adres MAC nie zostanie znaleziony w tablicy, przełącznik po prostu przekazuje go do wszystkich portów. Jest to jedyna metoda, żeby znaleźć bieżącą lokalizację urządzenia końcowego. Dlatego ten rodzaj transmisji jest ważny elementem przełączania. Co więcej, jest przydatny również w przypadku routingu.

W kontekście warstwy drugiej (warstwy łącza danych) warto poznać kilka terminów:

  • Segmentacja unicast: mosty ograniczają liczbę hostów, które mogą odbierać ramki unicast (ramki wysyłane tylko na jeden adres MAC). Koncentratory (huby) po prosty przekazują wszystkie ramki do wszystkich portów. Dlatego segmentacja unicast pozwala znacznie ograniczyć wykorzystanie łączy.
  • Domena kolizji (collision domain): segment sieci, w którym mogą występować kolizje. Kolizje nie występują we współczesnych sieciach, ponieważ przełączniki przekazują ramki w technice cut-through (ramka jest przesyłana przez przełącznik, zanim zostanie odebrana w całości), a interfejsy sieciowe działają w trybie pełnego dupleksu. Jeśli na porcie wystąpi kolizja, to oznacza, że ktoś przypadkowo ustanowił połączenie w trybie półdupleksu lub występuje jakiś inny problem.
  • Domena rozgłaszania (broadcast domain) – segment sieci, w obrębie którego przesyłane są ramki rozgłoszeniowe.


Uczenie się adresów MAC

Przełączniki uczą się adresów, odczytując źródłowe adresy MAC z każdej odebranej ramki, a następnie zapisując je w pamięci razem z informacją o porcie, na którym odebrano ramkę z danym adresem MAC. Dzięki temu przełącznik wie, które adresy należą do urządzeń podłączonych do poszczególnych portów. Przełącznik, po odebraniu ramki, odczytuje docelowy adres MAC, odszukuje go w tablicy adresów, a następnie przekazuje ramkę do odpowiedniego portu. Jeśli nie znajdzie go tablicy, ramka zostanie rozgłoszona przez wszystkie porty.

Przełącznik przechowuje tablicę adresów w pamięci CAM, która charakteryzuje się krótkim czasem dostępu. Uczenie się adresów to stały proces. Przełącznik, w miarę odczytywania nowych adresów, zapamiętuje je i zapisuje w pamięci CAM. W tablicy adresów jest również przechowywany znaczniku czasu, co pozwala przechowywać wpisy przez pożądany okres. Adresy, do których przez ten czas nie następuje odwołanie, są usuwane z listy. Za każdym razem, gdy następuje odwołanie do adresu lub jest on zapisywany w pamięci CAM, otrzymuje on nowy znacznik czasowy. W efekcie udaje się ograniczyć rozmiar tablicy i przechowywać w niej tylko aktualne wpisy.

Techniki przekazywania pakietów
Stara metoda przekazywania pakietów, polegająca na ich odbieraniu, a następnie wysyłaniu określonym portem (Store-and-Forward), została zmodyfikowana, żeby zwiększyć wydajność przełączników. Przełącznik rozpoczyna nadawanie ramki od razu, gdy tylko odczyta adres docelowy, nie czekając na odebranie całej ramki. To właśnie tę technikę nazywa się Cut-Through, ponieważ pakiety przechodzą przez przełączniki znacznie szybciej, a proces ten zużywa mniej zasobów przełącznika. Skraca ona czas opóźnienia przełącznika (czas od dotarcia ramki do przełącznika do opuszczenia go przez nią), ale pociąga za sobą kilka następstw. Przełącznik nie jest w stanie sprawdzać sum kontrolnych CRC, żeby wykryć uszkodzenia ramek, ale jednocześnie wyklucza to powstawanie kolizji. Aby uzyskać szybsze przesyłanie ramek, przełącznik skraca czas kontroli błędów, co może prowadzić do większej liczby ponownych transmisji.

Są dwa rodzaje przełączania Cut-Through: Fast-Forward oraz Fragment-Free. W pierwszym przypadku występują najmniejsze opóźnienia, ponieważ pakiet jest przesyłany natychmiast po odczytaniu adresu docelowego. Jednak jest to okupione sporadycznym przesyłaniem pakietów zawierających błędy.

W przypadku przełączania Fragment-Free przed wysłaniem pakietu urządzenie czeka, aż stwierdzi, czy występują w nim kolidujące fragmenty, które stanowią większość błędów pakietów. Jeśli wykryje takie fragmenty, usuwa je. W prawidłowo działającej sieci kolidujące fragmenty muszą są mniejsze niż 64 bajty, a każdy element mający więcej niż 64 bajty jest poprawnym pakietem i zazwyczaj odbierany jest bez błędów.

Segmentacja sieci

Żeby rozwiązać kwestię segmentacji domen rozgłaszania, wprowadzono VLAN’y. Jeśli do jakiegoś komputera nie da się wysłać pakietu rozgłoszeniowego, to znaczy, że jest on w innym segmencie sieci i dane muszą być przesłane przez router. Segmentacja znacznie zmniejsza przeciążenie sieci w ramach poszczególnych segmentów.

VLAN’y konfiguruje się na przełączniku, a następnie przypisuje do VLAN’u wybrane porty. Jeśli host znajduje się w VLAN’ie 1, nie ma on możliwości komunikowania się z urządzeniami w VLAN’ie 2. Za wyjątkiem przypadku, kiedy tablica adresów MAC przełącznika zostanie przepełniona i wszystkie ramki będą przekazywane do wszystkich portów. Jest to konieczne, żeby komunikacja mogła się nadal odbywać. Należy zwrócić na to uwagę, ponieważ wiele osób traktuje VLAN’y jako mechanizm bezpieczeństwa, a niestety tak nie jest. Włamywacz dysponujący odpowiednim narzędziem może szybko obejść tego typu zabezpieczenie. W rzeczywistości, gdy dojdzie do ataku polegającego na zalaniu jego tablic adresów MAC, przełącznik zamieni się w zwykły koncentrator (hub).

Jeśli przełącznik nie umożliwia komunikacji z drugim urządzeniem, do pracy zostaje zaprzęgnięty router. Ale czy to oznacza, że trzeba fizycznie połączyć router z każdym VLAN’em? Nie, ponieważ przełączniki mogą pracować również w warstwie trzeciej. Przykładowo, weźmy przełącznik wyposażony w 48 portów. Porty 1-24 są przyporządkowane do VLAN’u 1, natomiast porty 25-48 należą do VLAN’u 2. Są trzy możliwości routowania pakietów pomiędzy tymi VLAN’ami. Po pierwsze, można podłączyć do routera po jednym porcie w każdym VLAN’ie i skonfigurować odpowiednie ścieżki, Po drugie, można skonfigurować wirtualne interfejsy w każdym VLAN’ie. Interfejsy te mają własne adresy IP i urządzenia końcowe mogą ich używać, jak interfejsu routera.

Jest jeszcze trzeci sposób. Jeśli w sieci działa wiele przełączników obsługujących dany VLAN, to możesz je połączyć ze sobą w taki sposób, że VLAN 1 na przełączniku A będzie tym samym, co VLAN 1 na przełączniku B. Jest to możliwe dzięki standardowi 802.1q, który opisuje schemat znakowania ramek identyfikatorami VLAN w momencie, gdy opuszczają one przełącznik. W terminologii Cisco są to tzw. porty trunk i można na nich skonfigurować dowolną liczbę VLAN’ów, limitowaną tylko możliwościami sprzętu (z reguły jest to 4096). Tak więc trzecią możliwością routingu jest podłączenie portu trunk do routera i skonfigurowanie odpowiednich interfejsów dla każdego VLAN’u. Host w VLAN’ie 1 będzie miał dostęp na obu przełącznikach A i B do interfejsu routera (który z reguły jest oddzielnym urządzeniem), ponieważ wszystkie one korzystają z łącza trunk i współdzieloną domenę rozgłaszania.

BRAK KOMENTARZY

ZOSTAW ODPOWIEDŹ