Przełączanie i Routing w Sieciach IP
Wykład 1: Podstawy Ethernet i Warstwa 2

Wprowadzenie do przełączania i routingu

1/35

Ten wykład ma na celu przedstawienie podstawowych pojęć związanych z przełączaniem i routingiem w sieciach komputerowych. Skupimy się na technologiach i protokołach działających w warstwie drugiej i trzeciej modelu OSI, co jest kluczowe dla zrozumienia budowy i zarządzania nowoczesnymi sieciami. Podczas spotkania omówimy ewolucję technologii Ethernet, zasady działania przełączników, podstawy adresowania oraz strukturę ramki Ethernet, a na koniec wprowadzimy koncepcję wirtualnych sieci lokalnych (VLAN).

Zdefiniujemy kluczowe pojęcia: przełączanie (switching), czyli proces przekazywania danych w sieci lokalnej na podstawie adresów MAC, oraz routing, czyli wyznaczanie ścieżek dla danych pomiędzy różnymi sieciami przy użyciu adresów IP. Po ukończeniu wykładu będziesz w stanie wyjaśnić działanie tych mechanizmów, co stanowi solidną podstawę do dalszego rozwoju w dziedzinie administracji sieciami. Wiedza ta ma bezpośrednie zastosowanie praktyczne, ponieważ omawiane technologie są powszechne w każdej sieci, od domowych po globalne centra danych, i są niezbędne do rozwiązywania codziennych problemów z łącznością.

Wprowadzenie do przełączania i routingu

Przypomnienie: Model OSI i Model TCP/IP

2/35

Model OSI (Open Systems Interconnection) to teoretyczny schemat standaryzujący funkcje systemów sieciowych w siedmiu warstwach, od fizycznej (L1) po aplikację (L7), gdzie każda warstwa pełni określone zadania. Z kolei model TCP/IP, będący praktycznym fundamentem internetu, jest prostszy i składa się z czterech warstw, które częściowo pokrywają się z funkcjami modelu OSI. Mimo różnic, oba modele są kluczowe dla zrozumienia procesów komunikacji sieciowej.

W tym wykładzie skupimy się na warstwie łącza danych (L2), odpowiedzialnej za transmisję danych w sieci lokalnej przy użyciu adresów MAC, oraz warstwie sieci (L3), która zarządza adresowaniem logicznym i routingiem pakietów za pomocą adresów IP. Zrozumienie procesu enkapsulacji, czyli „opakowywania” danych w nagłówki przez kolejne warstwy, jest niezbędne do prześledzenia drogi danych przez sieć. Przełączniki działają głównie w warstwie drugiej, podejmując decyzje na podstawie adresów MAC, podczas gdy routery operują w warstwie trzeciej, analizując adresy IP do przesyłania pakietów między sieciami.

Przypomnienie: Model OSI i Model TCP/IP

Warstwa łącza danych (L2) i fizyczna (L1)

3/35

Warstwa fizyczna (L1) odpowiada za transmisję surowych bitów przez medium transmisyjne, definiując charakterystyki elektryczne i mechaniczne, takie jak napięcia, typy złączy i kabli. Z kolei warstwa łącza danych (L2) organizuje te bity w jednostki zwane ramkami (frames), dodając do nich fizyczne adresy MAC w celu identyfikacji urządzeń w sieci lokalnej. Ethernet, jako dominujący standard w sieciach LAN, definiuje zasady działania obu tych warstw, od formatu ramki po specyfikację okablowania.

Istnieje ścisła zależność między tymi warstwami: warstwa łącza danych przekazuje ramki do warstwy fizycznej, która tłumaczy je na odpowiednie sygnały, umożliwiając ich przesłanie przez medium. Standard IEEE 802 dodatkowo dzieli warstwę łącza danych na dwie podwarstwy: MAC (Media Access Control), która zarządza dostępem do medium i adresowaniem, oraz LLC (Logical Link Control), która stanowi interfejs do warstwy sieciowej. Ten podział pozwala na elastyczne działanie różnych protokołów sieciowych na tej samej infrastrukturze fizycznej.

Warstwa łącza danych (L2) i fizyczna (L1)

Ewolucja technologii Ethernet

4/35

Historia technologii Ethernet to ewolucja od prostych sieci opartych na współdzielonej magistrali do zaawansowanych sieci przełączanych. W początkowych rozwiązaniach wszystkie urządzenia były podłączone do jednego medium, a do rozszerzenia sieci używano koncentratorów (hubów), które jedynie regenerowały i retransmitowały sygnał do wszystkich portów. Taka architektura tworzyła jedną, dużą domenę kolizyjną, w której jednoczesna transmisja przez dwa urządzenia prowadziła do zderzenia sygnałów i konieczności ponownego przesłania danych, co drastycznie obniżało wydajność.

Wprowadzenie przełączników było rewolucją, ponieważ zaczęły one inteligentnie zarządzać ruchem w warstwie drugiej. Przełącznik analizuje adresy MAC w ramkach i przesyła je tylko do portu docelowego, tworząc dla każdego portu osobną domenę kolizyjną, co praktycznie eliminuje problem kolizji. Motywacją do tej zmiany była rosnąca potrzeba większej przepustowości i niezawodności, której nie mogły zapewnić starsze technologie, co umożliwiło budowę wydajnych i skalowalnych sieci lokalnych.

Ewolucja technologii Ethernet

Adresowanie MAC: Cel i struktura

5/35

Adres MAC (Media Access Control) to unikalny, 48-bitowy identyfikator przypisany na stałe do karty sieciowej przez producenta, często nazywany adresem fizycznym lub sprzętowym. Jego głównym celem jest jednoznaczna identyfikacja urządzeń w sieci lokalnej (LAN), co umożliwia przełącznikom precyzyjne dostarczanie ramek danych do konkretnego odbiorcy. Dla czytelności, adres ten jest zazwyczaj przedstawiany w formacie szesnastkowym (heksadecymalnym), składającym się z dwunastu cyfr (np. 00:1A:2B:3C:4D:5E).

Należy odróżnić adres MAC od adresu IP, który jest adresem logicznym używanym do komunikacji między różnymi sieciami w internecie. Adres MAC identyfikuje konkretne urządzenie (jego interfejs sieciowy) w lokalnym segmencie sieci, podczas gdy adres IP określa jego lokalizację w globalnej strukturze sieci. Oba adresy są niezbędne do pełnej komunikacji: adres IP prowadzi dane do właściwej sieci, a adres MAC dostarcza je do odpowiedniego urządzenia w tej sieci.

Adresowanie MAC: Cel i struktura

Format adresu MAC: OUI i numer seryjny

6/35

Każdy 48-bitowy adres MAC jest podzielony na dwie równe części, z których każda ma określone znaczenie. Pierwsze 24 bity tworzą tak zwany OUI (Organizationally Unique Identifier), czyli unikalny identyfikator organizacji, który jest przydzielany producentom sprzętu sieciowego przez międzynarodową organizację IEEE. Dzięki temu, patrząc na początek adresu MAC, można zidentyfikować firmę, która wyprodukowała daną kartę sieciową.

Pozostałe 24 bity są unikalnym numerem seryjnym, nadawanym przez samego producenta w ramach przydzielonego mu OUI. Taka struktura gwarantuje, że każdy adres MAC na świecie jest niepowtarzalny, co jest fundamentem niezawodnej komunikacji w warstwie drugiej. Analizując przykładowe adresy, można łatwo sprawdzić w publicznych bazach danych, który producent jest odpowiedzialny za dany sprzęt, co bywa pomocne w diagnostyce sieci.

Format adresu MAC: OUI i numer seryjny

Adresy specjalne L2: Unicast, Multicast, Broadcast

7/35

W warstwie drugiej wyróżniamy trzy podstawowe typy komunikacji, które definiują sposób dostarczania ramek. Adres unicast (emisja pojedyncza) identyfikuje jeden, konkretny interfejs sieciowy, a ramki z takim adresem docelowym są dostarczane tylko do jednego odbiorcy. Z kolei adres broadcast (rozgłoszeniowy), mający postać FF:FF:FF:FF:FF:FF, jest adresem specjalnym, który powoduje, że ramka trafia do wszystkich urządzeń w danej sieci lokalnej, co jest wykorzystywane m.in. przez protokół ARP.

Adres multicast (emisja grupowa) jest przeznaczony dla określonej grupy odbiorców, co pozwala na efektywne wysyłanie danych do wielu urządzeń jednocześnie, bez obciążania całej sieci, jak ma to miejsce przy broadcastach. Typ adresu można rozpoznać po jego budowie – adresy unicast mają określony bit ustawiony na 0, podczas gdy adresy multicast mają ten sam bit ustawiony na 1. Zrozumienie tych typów jest kluczowe do analizy ruchu i projektowania wydajnych sieci.

Adresy specjalne L2: Unicast, Multicast, Broadcast

Ramka Ethernet II: Ogólna struktura

8/35

Ramka jest podstawową jednostką danych (PDU — Protocol Data Unit) w warstwie łącza danych, która „opakowuje” dane pochodzące z wyższych warstw, takich jak pakiet IP. Najczęściej spotykanym formatem ramki w sieciach lokalnych jest Ethernet II, znany również jako standard DIX. Jej budowa jest precyzyjnie zdefiniowana i składa się z kilku kluczowych pól, które zapewniają prawidłowe dostarczenie danych w segmencie sieci.

Do najważniejszych pól ramki należą adresy MAC odbiorcy i nadawcy, pole typu (EtherType) określające protokół warstwy wyższej, właściwe dane oraz suma kontrolna do weryfikacji integralności. Wizualizacja ramki jako sekwencji tych pól pomaga zrozumieć, jak informacje sterujące są dodawane do danych w procesie enkapsulacji. Ramka jest więc nośnikiem, który umożliwia transport pakietów przez infrastrukturę warstwy drugiej, zanim zostaną one przekazane dalej w procesie komunikacji.

Ramka Ethernet II: Ogólna struktura

Pola ramki: Preambuła i SFD

9/35

Transmisja ramki Ethernet rozpoczyna się od dwóch pól, które technicznie należą do warstwy fizycznej i służą do przygotowania odbiornika na nadchodzące dane. Preambuła, składająca się z siedmiu bajtów naprzemiennych zer i jedynek, pozwala urządzeniu odbiorczemu zsynchronizować swój zegar z zegarem nadajnika. Jest to kluczowe dla poprawnej interpretacji strumienia bitów, który zaraz nadejdzie.

Bezpośrednio po preambule następuje jednobajtowe pole SFD (Start of Frame Delimiter), które ma określony wzorzec bitowy (10101011). Jego zadaniem jest jednoznaczne zasygnalizowanie końca sekwencji synchronizacyjnej i poinformowanie odbiornika, że następny bit jest już pierwszym bitem właściwej ramki Ethernet. Chociaż te pola są niezbędne dla prawidłowej transmisji, są one zazwyczaj obsługiwane na poziomie sprzętowym i pomijane podczas analizy ruchu w warstwie drugiej.

Pola ramki: Preambuła i SFD

Pola ramki: Adresy MAC

10/35

Kluczowymi elementami nagłówka ramki Ethernet są dwa sześciobajtowe pola zawierające adresy MAC. Pierwszym z nich jest adres docelowy (Destination MAC), który informuje sieć, do którego urządzenia ramka jest skierowana. Może to być adres unicastowy, broadcastowy lub multicastowy, w zależności od celu transmisji.

Drugim polem jest adres źródłowy (Source MAC), który jednoznacznie identyfikuje nadawcę ramki. Kolejność tych pól jest stała: zawsze najpierw podawany jest adres docelowy, a następnie źródłowy. Informacje zawarte w tych polach są absolutnie fundamentalne dla działania przełączników sieciowych, które na ich podstawie uczą się topologii sieci i podejmują decyzje o przekazywaniu ramek do odpowiednich portów.

Pola ramki: Adresy MAC

Pole ramki: Typ/Długość (EtherType)

11/35

Pole Typ/Długość, znane również jako EtherType, to dwubajtowe pole w ramce Ethernet, które pełni dwojaką funkcję w zależności od swojej wartości. W dominującym standardzie Ethernet II, jeśli wartość tego pola jest większa niż 1536 (0x0600), identyfikuje ono protokół warstwy wyższej, którego dane są przenoszone w ramce. Na przykład, wartość 0x0800 jednoznacznie wskazuje, że ramka zawiera pakiet IPv4, a 0x0806 sygnalizuje protokół ARP.

Z kolei w starszym standardzie IEEE 802.3, jeśli wartość tego pola jest mniejsza lub równa 1500, określa ono długość pola danych w bajtach. Ta informacja jest kluczowa dla hosta odbiorcy, ponieważ pozwala mu prawidłowo zinterpretować zawartość ramki i przekazać dane do odpowiedniego procesu lub protokołu w stosie sieciowym. Mechanizm ten, nazywany demultipleksacją, zapewnia, że dane trafiają do właściwej aplikacji lub usługi, takiej jak przeglądarka internetowa czy klient poczty.

Pole ramki: Typ/Długość (EtherType)

Pole ramki: Dane i Wypełnienie (Padding)

12/35

Pole danych jest centralną częścią ramki Ethernet, ponieważ to właśnie w nim przenoszony jest ładunek (payload) z warstwy wyższej, najczęściej pakiet IP. Standard Ethernet precyzyjnie określa minimalny i maksymalny rozmiar ramki, aby zapewnić niezawodną komunikację. Minimalna długość całej ramki (bez preambuły) wynosi 64 bajty, co jest wymogiem historycznym związanym z mechanizmem wykrywania kolizji.

Jeśli pakiet z warstwy trzeciej jest zbyt mały, aby ramka osiągnęła wymagane minimum, do pola danych automatycznie dodawane jest wypełnienie (padding), czyli dodatkowe, puste bajty. Z drugiej strony, maksymalna standardowa wielkość pola danych wynosi 1500 bajtów, co jest znane jako MTU (Maximum Transmission Unit). W nowoczesnych sieciach, w celu zwiększenia wydajności, stosuje się czasem tzw. Jumbo Frames, czyli ramki o znacznie większym MTU, co pozwala na przesyłanie większej ilości danych przy mniejszej liczbie nagłówków.

Pole ramki: Dane i Wypełnienie (Padding)

Pole ramki: FCS (Frame Check Sequence)

13/35

Na samym końcu ramki Ethernet znajduje się czterobajtowe pole FCS (Frame Check Sequence), którego jedynym zadaniem jest zapewnienie integralności przesyłanych danych. Przed wysłaniem ramki, nadawca oblicza na podstawie jej zawartości (od adresu docelowego do pola danych) wartość sumy kontrolnej, używając do tego algorytmu CRC (Cyclic Redundancy Check). Wynik tych obliczeń jest umieszczany właśnie w polu FCS.

Gdy ramka dotrze do odbiorcy, ten wykonuje dokładnie te same obliczenia na otrzymanych danych i porównuje swój wynik z wartością zapisaną w polu FCS. Jeśli obie wartości są identyczne, oznacza to, że ramka dotarła bez przekłamań i może być dalej przetwarzana. W przeciwnym razie, jeśli suma kontrolna się nie zgadza, ramka jest uznawana za uszkodzoną i cicho odrzucana, a mechanizmy warstw wyższych, takie jak TCP, muszą zadbać o jej ponowne przesłanie.

Pole ramki: FCS (Frame Check Sequence)

Koncentrator (HUB): Zasada działania

14/35

Koncentrator, znany również jako hub, jest prostym urządzeniem sieciowym działającym w warstwie pierwszej (fizycznej) modelu OSI. Jego zasada działania przypomina wieloportowy wzmacniak (repeater): każdy sygnał elektryczny (reprezentujący bity) otrzymany na jednym z portów jest regenerowany i natychmiast kopiowany na wszystkie pozostałe porty. Hub nie posiada żadnej inteligencji, nie analizuje adresów MAC ani struktury ramki, traktując dane jako zwykły strumień bitów.

Taki mechanizm sprawia, że w sieci opartej na koncentratorach obowiązuje zasada „wszyscy słyszą wszystko”, co oznacza, że każde urządzenie otrzymuje każdą ramkę, niezależnie od tego, czy jest jej docelowym odbiorcą. W rezultacie cała sieć podłączona do koncentratora tworzy jedną, dużą domenę kolizyjną, co prowadzi do częstych zderzeń sygnałów i znacznego spadku wydajności. Z tego powodu koncentratory są obecnie urządzeniami historycznymi, całkowicie wypartymi przez znacznie bardziej wydajne przełączniki.

Koncentrator (HUB): Zasada działania

Koncentrator: Problem domen kolizyjnych

15/35

Domena kolizyjna to logiczny obszar sieci, w którym sygnały wysyłane przez różne urządzenia mogą się na siebie nałożyć, prowadząc do kolizji. Dochodzi do niej, gdy co najmniej dwa urządzenia próbują nadawać dane w tym samym momencie w ramach tego samego medium współdzielonego. W efekcie obie transmisje ulegają zniszczeniu i muszą zostać powtórzone po losowym czasie oczekiwania (algorytm CSMA/CD).

W sieciach zbudowanych w oparciu o koncentratory, cała sieć stanowi jedną, wspólną domenę kolizyjną, ponieważ koncentrator rozsyła każdy sygnał do wszystkich podłączonych urządzeń. Wraz ze wzrostem liczby komputerów w takiej sieci, prawdopodobieństwo wystąpienia kolizji rośnie lawinowo, co powoduje liczne retransmisje i drastycznie obniża ogólną wydajność. Problem ten był głównym motorem rozwoju przełączników, które skutecznie eliminują to zjawisko.

Koncentrator: Problem domen kolizyjnych

Przełącznik (Switch): Wprowadzenie

16/35

Przełącznik (switch) to inteligentne urządzenie sieciowe, które w odróżnieniu od koncentratora działa w warstwie drugiej modelu OSI (warstwie łącza danych). Jego podstawowym zadaniem jest analiza adresów MAC zawartych w nagłówkach przychodzących ramek. Na podstawie tych informacji przełącznik podejmuje świadome decyzje o tym, dokąd przekazać daną ramkę, zamiast rozsyłać ją niepotrzebnie na wszystkie porty.

Najważniejszą zaletą przełączników jest tworzenie osobnej domeny kolizyjnej dla każdego portu. Oznacza to, że urządzenie podłączone do jednego portu może nadawać i odbierać dane jednocześnie z innym urządzeniem na innym porcie, bez ryzyka kolizji (praca w trybie pełnodupleksowym). Dzięki tej mikro-segmentacji przełączniki drastycznie redukują liczbę kolizji i znacząco zwiększają ogólną wydajność oraz przepustowość sieci lokalnej.

Przełącznik (Switch): Wprowadzenie

Tablica CAM (Content Addressable Memory)

17/35

Sercem każdego przełącznika jest specjalny rodzaj bardzo szybkiej pamięci, zwany tablicą CAM (Content Addressable Memory — pamięć adresowana zawartością), często określaną również jako tablica adresów MAC. Jej zadaniem jest przechowywanie dynamicznie tworzonej mapy, która kojarzy adresy MAC urządzeń sieciowych z konkretnymi portami przełącznika, do których te urządzenia są podłączone. Dzięki tej tablicy przełącznik wie, gdzie znajduje się każdy host w sieci.

Pamięć CAM umożliwia błyskawiczne wyszukiwanie portu docelowego dla przychodzącej ramki na podstawie jej docelowego adresu MAC. Tablica jest budowana automatycznie w procesie „uczenia się” poprzez analizę ruchu sieciowego. Każdy wpis w tablicy ma określony czas życia (aging time) i jeśli przez ten czas z danego adresu MAC nie nadejdzie żadna ramka, wpis jest usuwany, co pozwala na dynamiczne dostosowywanie się do zmian w topologii sieci.

Tablica CAM (Content Addressable Memory)

Proces przełączania 1: Uczenie się (Learning)

18/35

Jednym z podstawowych procesów realizowanych przez przełącznik jest dynamiczne uczenie się topologii sieci. Proces ten rozpoczyna się w momencie, gdy na dowolny port przełącznika dociera ramka Ethernet. Przełącznik natychmiast analizuje jej nagłówek i odczytuje źródłowy adres MAC, czyli adres urządzenia, które tę ramkę wysłało.

Następnie przełącznik tworzy wpis w swojej tablicy CAM, kojarząc odczytany adres MAC z numerem portu, na który ramka wpłynęła. Dzięki temu mechanizmowi przełącznik krok po kroku buduje mapę sieci, „ucząc się”, które urządzenia są osiągalne przez które porty. Proces ten jest w pełni automatyczny i odbywa się nieustannie, co pozwala na bieżąco aktualizować tablicę CAM w odpowiedzi na podłączanie, odłączanie lub przenoszenie urządzeń w sieci.

Proces przełączania 1: Uczenie się (Learning)

Proces przełączania 2: Przekazywanie (Forwarding)

19/35

Gdy proces uczenia się dostarczy już informacji do tablicy CAM, przełącznik może efektywnie przekazywać ruch. Po otrzymaniu ramki urządzenie odczytuje jej docelowy adres MAC i natychmiast przeszukuje swoją tablicę w poszukiwaniu pasującego wpisu. Jeśli adres zostanie znaleziony, oznacza to, że przełącznik wie, do którego portu podłączony jest odbiorca.

W takiej sytuacji ramka jest przekazywana (forwardowana) wyłącznie do tego jednego, konkretnego portu, który jest skojarzony ze znalezionym adresem MAC. Jest to istota mikro-segmentacji — ruch jest izolowany i kierowany tylko tam, gdzie jest to konieczne. Dzięki temu komunikacja między dwoma urządzeniami nie zakłóca pracy i nie zużywa pasma w pozostałych częściach sieci, co jest podstawą wydajności nowoczesnych sieci LAN.

Proces przełączania 2: Przekazywanie (Forwarding)

Proces przełączania 3: Filtrowanie (Filtering)

20/35

Filtrowanie jest specyficzną decyzją podejmowaną przez przełącznik, która polega na świadomym odrzuceniu (nieprzekazaniu) ramki. Taka sytuacja ma miejsce, gdy przełącznik odbiera ramkę na porcie, a po sprawdzeniu w tablicy CAM okazuje się, że docelowy adres MAC jest również skojarzony z tym samym portem. Oznacza to, że zarówno nadawca, jak i odbiorca znajdują się w tym samym fizycznym segmencie sieci podłączonym do tego portu.

Taki scenariusz jest typowy, gdy do jednego portu przełącznika podłączony jest koncentrator z kilkoma urządzeniami. Wówczas komunikacja między tymi urządzeniami nie musi opuszczać ich segmentu. Filtrowanie zapobiega niepotrzebnemu propagowaniu ramek z powrotem do tego samego segmentu, co stanowi ważny element optymalizacji i utrzymania porządku w ruchu sieciowym.

Proces przełączania 3: Filtrowanie (Filtering)

Proces przełączania 4: Zalewanie (Flooding)

21/35

Zalewanie (flooding) to mechanizm, w którym przełącznik rozsyła ramkę na wszystkie swoje porty, z wyjątkiem tego, z którego nadeszła. Dzieje się tak w dwóch ściśle określonych sytuacjach. Pierwsza z nich ma miejsce, gdy docelowy adres MAC ramki jest adresem rozgłoszeniowym (broadcast), co oznacza, że z założenia ma ona dotrzeć do wszystkich urządzeń w sieci.

Drugi przypadek występuje, gdy docelowy adres MAC jest adresem typu unicast, ale przełącznik nie znalazł go w swojej tablicy CAM — jest to tzw. „unknown unicast”. W takiej sytuacji przełącznik nie wie, gdzie znajduje się odbiorca, więc jedynym wyjściem jest rozesłanie ramki wszędzie z nadzieją, że trafi ona do celu. W obu tych scenariuszach przełącznik chwilowo zachowuje się podobnie do prostego koncentratora, zapewniając dostarczenie ważnych komunikatów, takich jak zapytania ARP.

Proces przełączania 4: Zalewanie (Flooding)

Domeny kolizyjne vs. domeny rozgłoszeniowe

22/35

Kluczowe jest zrozumienie różnicy między dwiema koncepcjami: domeną kolizyjną a domeną rozgłoszeniową. Jak wcześniej wspomniano, przełączniki skutecznie eliminują problem kolizji, ponieważ każdy ich port tworzy osobną domenę kolizyjną. Dzięki temu ruch między urządzeniami na różnych portach nie zakłóca się nawzajem.

Jednakże przełączniki domyślnie nie dzielą domen rozgłoszeniowych. Domena rozgłoszeniowa (broadcast domain) to obszar sieci, w którym rozprzestrzeniają się ramki rozgłoszeniowe — a przełącznik, zgodnie z zasadą zalewania, przekazuje takie ramki na wszystkie porty. Oznacza to, że cała sieć podłączona do wspólnej struktury przełączników tworzy jedną, dużą domenę rozgłoszeniową. Do jej logicznego podziału wykorzystuje się urządzenia warstwy trzeciej, takie jak routery, lub technologię wirtualnych sieci lokalnych (VLAN).

Domeny kolizyjne vs. domeny rozgłoszeniowe

Tryby pracy przełącznika

23/35

Przełączniki mogą działać w różnych trybach przetwarzania ramek. Podstawowym i najczęściej stosowanym jest Store-and-Forward, w którym przełącznik najpierw odbiera i buforuje całą ramkę w pamięci. Dopiero po jej całkowitym otrzymaniu sprawdza sumę kontrolną FCS w celu wykrycia błędów i podejmuje decyzję o przekazaniu. Ten tryb gwarantuje najwyższą niezawodność, ponieważ uszkodzone ramki są natychmiast odrzucane.

Alternatywą jest tryb przesyłania z przełączaniem po odczytaniu adresu docelowego, który minimalizuje opóźnienia (ang. latency). W tym trybie przełącznik zaczyna przesyłać ramkę dalej zaraz po odczytaniu docelowego adresu MAC, nie czekając na jej resztę. Jest to znacznie szybsze, ale niesie ryzyko propagacji uszkodzonych ramek, ponieważ pole FCS nie jest sprawdzane. Istnieje również tryb hybrydowy, który stanowi kompromis — odczytuje pierwsze 64 bajty ramki (gdzie statystycznie występuje najwięcej kolizji), a następnie rozpoczyna jej przesyłanie.

Tryby pracy przełącznika

Protokół ARP (Address Resolution Protocol)

24/35

W sieciach TCP/IP komunikacja opiera się na dwóch rodzajach adresów: logicznych adresach IP w warstwie trzeciej i fizycznych adresach MAC w warstwie drugiej. Kiedy komputer chce wysłać pakiet do innego urządzenia w tej samej sieci lokalnej, musi znać nie tylko jego adres IP, ale również adres MAC, aby móc poprawnie zaadresować ramkę Ethernet. Powstaje więc fundamentalny problem: jak znaleźć adres MAC urządzenia, znając jedynie jego adres IP?

Odpowiedzią jest protokół ARP (Address Resolution Protocol). Jego jedynym zadaniem jest dynamiczne mapowanie adresów IP na odpowiadające im adresy MAC. Działając na granicy warstwy sieciowej i łącza danych, ARP jest absolutnie kluczowym mechanizmem, bez którego jakakolwiek komunikacja w lokalnych sieciach Ethernet byłaby niemożliwa.

Protokół ARP (Address Resolution Protocol)

Komunikat ARP Request i ARP Reply

25/35

Proces działania protokołu ARP opiera się na wymianie dwóch komunikatów. Gdy host A chce wysłać dane do hosta B, którego adres IP zna, ale nie zna jego adresu MAC, wysyła specjalne zapytanie ARP Request. Jest to komunikat rozgłoszeniowy (broadcast), który dociera do wszystkich urządzeń w danym segmencie sieci i zawiera pytanie: „Kto ma adres IP B?”.

Wszystkie urządzenia w sieci odbierają to zapytanie, ale ignorują je, z wyjątkiem hosta B, który rozpoznaje w nim swój własny adres IP. W odpowiedzi host B wysyła komunikat ARP Reply, który jest już typu unicast, skierowanym bezpośrednio do hosta A. Odpowiedź ta zawiera kluczową informację: adres MAC hosta B. Po otrzymaniu tej odpowiedzi host A może już poprawnie zbudować ramkę Ethernet i rozpocząć właściwą transmisję danych.

Komunikat ARP Request i ARP Reply

Tablica ARP w systemie hosta

26/35

Aby zoptymalizować komunikację i uniknąć konieczności wysyłania zapytania ARP przed każdą transmisją, każdy system operacyjny utrzymuje lokalną pamięć podręczną, zwaną tablicą ARP lub ARP cache. Przechowywane są w niej ostatnio uzyskane mapowania adresów IP na adresy MAC. Gdy komputer chce wysłać dane, najpierw sprawdza swoją tablicę ARP w poszukiwaniu potrzebnego adresu MAC.

Dopiero gdy odpowiedniego wpisu nie ma w pamięci podręcznej, inicjowany jest proces wysyłania ARP Request. Każdy wpis w tablicy ma określony czas życia (TTL — Time To Live), po którego upływie jest automatycznie usuwany. Zapewnia to, że tablica jest aktualna i potrafi dostosować się do zmian w sieci, takich jak wymiana karty sieciowej w innym urządzeniu, co skutkuje zmianą jego fizycznego adresu MAC.

Tablica ARP w systemie hosta

Odwrócony ARP: RARP

27/35

RARP, czyli Reverse Address Resolution Protocol, to historyczny protokół sieciowy, który pełnił funkcję odwrotną do ARP. Jego zadaniem było umożliwienie urządzeniu uzyskania własnego adresu IP na podstawie znanego mu adresu MAC. Było to szczególnie przydatne dla bezdyskowych stacji roboczych, które po uruchomieniu nie posiadały żadnej konfiguracji sieciowej.

Taka stacja robocza wysyłała w sieć zapytanie RARP zawierające jej adres MAC, a dedykowany serwer RARP odpowiadał, przydzielając jej odpowiedni adres IP. Protokół ten miał jednak liczne ograniczenia, na przykład wymagał obecności serwera RARP w każdym segmencie sieci. Z tych powodów został on praktycznie całkowicie wyparty przez nowocześniejsze i bardziej elastyczne rozwiązania, takie jak BOOTP, a później DHCP.

Odwrócony ARP: RARP

Problemy bezpieczeństwa: ARP Spoofing

28/35

Jedną z fundamentalnych słabości protokołu ARP jest całkowity brak mechanizmów bezpieczeństwa. Jest to protokół bezstanowy i oparty na zaufaniu, co oznacza, że każde urządzenie w sieci lokalnej może wysłać odpowiedź ARP, a odbiorca przyjmie ją bez żadnej weryfikacji. Tę lukę wykorzystuje się w atakach typu ARP Spoofing (podszywanie się) lub ARP Poisoning (zatruwanie tablicy ARP).

Atakujący wysyła sfałszowane odpowiedzi ARP, w których kojarzy adres IP innego urządzenia (np. bramy domyślnej) ze swoim własnym adresem MAC. W ten sposób „zatruwa” tablice ARP innych hostów, które od tej pory będą kierować ruch przeznaczony dla innego odbiorcy do komputera atakującego. Umożliwia to przeprowadzanie groźnych ataków typu Man-in-the-Middle (MITM — człowiek w środku), w których atakujący może podsłuchiwać, modyfikować, a nawet blokować komunikację sieciową ofiary.

Problemy bezpieczeństwa: ARP Spoofing

Wirtualne sieci lokalne (VLANs): Koncepcja

29/35

VLAN (Virtual Local Area Network), czyli wirtualna sieć lokalna, to potężny mechanizm pozwalający na logiczny podział jednej fizycznej sieci na wiele mniejszych, odizolowanych od siebie segmentów. Dzięki technologii VLAN można grupować urządzenia w sieci wirtualne niezależnie od tego, do którego przełącznika czy portu są fizycznie podłączone. Urządzenia należące do tego samego VLAN-u komunikują się ze sobą tak, jakby znajdowały się w jednej, odrębnej sieci LAN.

Najważniejszą konsekwencją wdrożenia VLAN-ów jest to, że każdy z nich tworzy osobną domenę rozgłoszeniową. Oznacza to, że ruch broadcastowy generowany w jednym VLAN-ie nie jest przekazywany do innych, co znacząco poprawia wydajność i bezpieczeństwo sieci. Technologia ta jest implementowana na przełącznikach zarządzalnych, które potrafią interpretować i zarządzać informacjami o przynależności do poszczególnych sieci wirtualnych.

Wirtualne sieci lokalne (VLANs): Koncepcja

Cel VLANów: Segmentacja i bezpieczeństwo

30/35

Implementacja VLAN-ów przynosi szereg korzyści, z których najważniejszą jest zwiększenie bezpieczeństwa. Poprzez logiczną izolację grup urządzeń — na przykład oddzielenie serwerów od stacji roboczych czy sieci dla gości od sieci firmowej — uniemożliwiamy nieautoryzowany dostęp i ograniczamy zasięg potencjalnych ataków. Kolejną zaletą jest poprawa wydajności, ponieważ podział na mniejsze domeny rozgłoszeniowe redukuje ilość niepotrzebnego ruchu rozgłoszeniowego, który obciąża urządzenia końcowe.

VLAN-y upraszczają również administrację siecią, pozwalając na łatwe zarządzanie grupami użytkowników i zasobami niezależnie od ich fizycznego rozmieszczenia w budynku. Ta elastyczność w projektowaniu, gdzie logiczna struktura sieci jest oddzielona od fizycznej, w połączeniu z efektywniejszym wykorzystaniem istniejącej infrastruktury przełączników, prowadzi także do redukcji kosztów operacyjnych i inwestycyjnych.

Cel VLANów: Segmentacja i bezpieczeństwo

Identyfikator VLAN (VID)

31/35

Każda wirtualna sieć lokalna musi być jednoznacznie zidentyfikowana, do czego służy unikalny numer nazywany identyfikatorem VLAN (VID — VLAN Identifier). Jest to 12-bitowa liczba, co teoretycznie pozwala na stworzenie 4096 (2^12) różnych VLAN-ów w jednej domenie sieciowej. W praktyce zakres dostępnych numerów jest podzielony na kilka grup.

Standardowy zakres obejmuje numery od 1 do 1005, które są powszechnie używane i obsługiwane przez wszystkich producentów. Zakres rozszerzony, od 1006 do 4094, jest dostępny na bardziej zaawansowanych urządzeniach. Należy pamiętać, że VLAN o numerze 1 jest zazwyczaj domyślnym, prekonfigurowanym VLAN-em na przełącznikach, do którego początkowo należą wszystkie porty, i często pełni on również funkcje zarządzania (Native VLAN).

Identyfikator VLAN (VID)

Typy portów: Port Access

32/35

W kontekście VLAN-ów porty przełącznika mogą pracować w dwóch głównych trybach. Pierwszym z nich jest tryb dostępowy (Access), który służy do podłączania urządzeń końcowych, takich jak komputery, drukarki czy telefony IP. Każdy port w trybie Access jest na stałe przypisany do jednego, konkretnego VLAN-u.

Charakterystyczne dla tego trybu jest to, że ramki Ethernet przesyłane przez ten port są standardowe i nie zawierają żadnych dodatkowych informacji o sieci wirtualnej — są to tzw. ramki nietagowane (untagged). Przełącznik sam „wie”, do którego VLAN-u należy dany port i wewnętrznie kojarzy cały ruch z tego portu z odpowiednią siecią wirtualną. Jest to najczęściej stosowany tryb konfiguracji dla portów, do których podłączani są użytkownicy.

Typy portów: Port Access

Typy portów: Port Trunk

33/35

Drugim kluczowym trybem pracy portu jest tryb trunk (magistrala), który został zaprojektowany do przesyłania ruchu pochodzącego z wielu różnych VLAN-ów jednocześnie. Porty w tym trybie są wykorzystywane głównie do tworzenia połączeń między przełącznikami oraz do łączenia przełączników z routerami lub serwerami, które muszą mieć dostęp do kilku sieci wirtualnych. Dzięki trunkom ruch z różnych VLAN-ów może być przesyłany przez jedno fizyczne łącze.

Aby przełączniki po obu stronach łącza trunkowego mogły rozróżnić, która ramka należy do którego VLAN-u, stosuje się mechanizm tagowania (znakowania). Polega on na dodaniu do każdej ramki specjalnego znacznika (tagu), który zawiera identyfikator VLAN (VID). Najpopularniejszym standardem definiującym strukturę tego znacznika jest IEEE 802.1Q (dot1q).

Typy portów: Port Trunk

Standard tagowania: IEEE 802.1Q

34/35

IEEE 802.1Q to otwarty, międzynarodowy standard, który precyzyjnie opisuje metodę tagowania ramek Ethernet w celu identyfikacji ich przynależności do określonego VLAN-u. Standard ten definiuje dodanie do oryginalnego nagłówka ramki dodatkowego, czterobajtowego pola, zwanego znacznikiem 802.1Q. Ten znacznik jest wstawiany między pole źródłowego adresu MAC a pole EtherType/Długość.

Ponieważ dodanie znacznika modyfikuje zawartość ramki, konieczne jest ponowne obliczenie i zaktualizowanie wartości w polu sumy kontrolnej (FCS) na jej końcu. Standard 802.1Q stał się dominującym protokołem trunkingu w nowoczesnych sieciach komputerowych, zapewniając interoperacyjność między urządzeniami różnych producentów. Jego zrozumienie jest kluczowe dla poprawnej konfiguracji i diagnostyki sieci opartych na VLAN-ach.

Standard tagowania: IEEE 802.1Q

Struktura ramki z tagiem 802.1Q

35/35

Czterobajtowy znacznik 802.1Q ma swoją wewnętrzną strukturę, składającą się z kilku mniejszych pól. Pierwsze dwa bajty to TPID (Tag Protocol Identifier), który przyjmuje stałą wartość 0x8100. Działa on jak nowy EtherType, informując urządzenie odbiorcze, że ma do czynienia z ramką tagowaną w standardzie 802.1Q.

Pozostałe dwa bajty to TCI (Tag Control Information), które zawierają najważniejsze informacje. W ramach TCI wyróżniamy 3-bitowe pole PCP (Priority Code Point), używane do nadawania priorytetów ramkom w mechanizmach Quality of Service (QoS), oraz 1-bitowe pole DEI (Drop Eligible Indicator). Najważniejszą częścią jest jednak ostatnie 12 bitów, które tworzą pole VID (VLAN Identifier) — to właśnie tutaj zapisany jest numer VLAN-u, do którego należy dana ramka.

Struktura ramki z tagiem 802.1Q