Podręcznik
Warstwa łącza danych to druga warstwa modelu OSI, odpowiedzialna za niezawodne przesyłanie ramek danych między bezpośrednio połączonymi urządzeniami sieciowymi. Jej główną rolą jest organizacja surowych bitów warstwy fizycznej w logiczne jednostki – ramki – oraz zapewnienie ich poprawnej transmisji przez medium komunikacyjne. Warstwa ta realizuje funkcje takie jak adresowanie fizyczne (MAC), wykrywanie i korekcję błędów, kontrolę przepływu oraz zarządzanie dostępem do wspólnego medium transmisyjnego. W tym celu stosuje różne protokoły dostępu do medium, takie jak CSMA/CD w Ethernet czy HDLC i LCP w PPP. Technologie takie jak Ethernet, PPP i Frame Relay są przykładami różnych sposobów implementacji tej warstwy, przystosowanych do pracy w sieciach lokalnych, punkt-punkt oraz rozległych. Poprawne działanie warstwy łącza danych ma kluczowe znaczenie dla efektywnej pracy całego stosu protokołów sieciowych i minimalizacji strat w transmisji.
2. Warstwa Łącza Danych
2.4. Ethernet, PPP, Frame Relay
Ethernet jest najbardziej rozpowszechnioną technologią warstwy łącza danych i funkcjonuje jako standard IEEE 802.3. Od momentu jego wprowadzenia w latach 70., Ethernet przeszedł ewolucję od wersji bazującej na współdzielonym medium (koaksjalny kabel 10BASE5) do nowoczesnych systemów światłowodowych i skrętki miedzianej z pełnym dupleksem. Pierwsze wersje Ethernetu korzystały z magistrali, gdzie urządzenia nasłuchiwały medium i przesyłały dane, gdy było wolne. Współdzielenie medium wymagało mechanizmu unikania kolizji (CSMA/CD), co było wydajne przy małej liczbie stacji, ale z czasem ograniczało przepustowość.
W modelu tym sygnał nadawany przez jedną stację był odbierany przez wszystkie inne. Kolizje pojawiały się, gdy dwa urządzenia nadawały jednocześnie. Aby ograniczyć ich skutki, stosowano algorytm wykrywania kolizji i ponawiania transmisji po losowym czasie (binary exponential backoff).
Współczesne systemy Ethernet używają przełączników (switchy), które izolują domeny kolizji. Każde urządzenie jest połączone dedykowanym przewodem do portu przełącznika, a komunikacja odbywa się w trybie full-duplex – jednoczesne nadawanie i odbiór. Z tego względu CSMA/CD jest już nieużywane.
Podstawową jednostką transmisji w Ethernet jest ramka (frame), która zawiera pola adresowe, dane oraz kontrolne. Struktura ramki definiuje sposób działania warstwy MAC oraz sposób identyfikacji nadawcy i odbiorcy. Ramki Ethernetu mają określoną strukturę i ograniczenia długości. Minimalna długość ramki to 64 bajty (aby umożliwić detekcję kolizji), a maksymalna – 1518 bajtów (standardowa) lub do 9216 bajtów (jumbo frames w niektórych implementacjach).
Preambuła to ciąg bitów (101010...), który synchronizuje odbiornik. Adresy MAC to unikalne identyfikatory interfejsów sieciowych zapisane w postaci 48-bitowej (np. 00:1A:2B:3C:4D:5E). Pole typ określa protokół warstwy wyższej (np. 0x0800 dla IPv4, 0x86DD dla IPv6), a CRC (Cyclic Redundancy Check) służy do wykrywania błędów transmisji.
Adres MAC odgrywa kluczową rolę w warstwie łącza danych. Dzięki niemu przełączniki mogą tworzyć tablice MAC, które umożliwiają kierowanie ramek do konkretnego portu. Gdy przełącznik odbierze ramkę, analizuje pole źródłowe MAC i zapamiętuje, z którego portu nadeszła, a następnie przesyła ramkę na port skojarzony z adresem docelowym.
Oprócz standardowego Ethernetu istnieją rozszerzenia, takie jak VLAN (IEEE 802.1Q), który pozwala na logiczne grupowanie urządzeń niezależnie od fizycznego połączenia. W takiej sytuacji do ramki dodawany jest znacznik VLAN.Pole 0x8100 wskazuje, że dalsza część zawiera tag VLAN, który zawiera identyfikator (12 bitów) i priorytet (3 bity). Dzięki temu można wdrożyć polityki QoS i separację ruchu w przedsiębiorstwach.
Ethernet wspiera także inne rozszerzenia, takie jak 802.3ad (agregacja łączy), 802.3az (efektywność energetyczna), 802.1p (priorytety), a także protokoły do wykrywania pętli jak STP (Spanning Tree Protocol), które zapobiegają zatorom w topologiach z redundancją.
Ethernet ma również wersje światłowodowe – 100BASE-FX, 1000BASE-SX, 10GBASE-LR – które różnią się długością fali światła i typem włókna (jedno- lub wielomodowe). Medium to zapewnia większą odporność na zakłócenia elektromagnetyczne i umożliwia transmisję na duże odległości (do kilkudziesięciu kilometrów).
Ethernet zapewnia komunikację w różnych trybach: unicast (jeden do jednego), broadcast (do wszystkich) i multicast (do wybranych). Adres MAC broadcastowy to FF:FF:FF:FF:FF:FF i jest używany np. w protokołach ARP. Multicasty to adresy z zakresu 01:00:5E:xx:xx:xx i są używane w aplikacjach takich jak IPTV.
Zaawansowane sieci Ethernet implementują również funkcje bezpieczeństwa na poziomie warstwy łącza danych, takie jak port security (ograniczenie liczby adresów MAC na porcie), dynamiczne przypisywanie VLAN-ów, a także autoryzacja 802.1X (z użyciem EAP i RADIUS).
W środowiskach przemysłowych stosuje się wersje deterministyczne, np. Ethernet/IP, Profinet, EtherCAT – które wykorzystują specjalne ramki i zarządzanie czasem transmisji. Standardy Time-Sensitive Networking (TSN) rozwijane w ramach IEEE 802.1 umożliwiają synchronizację zegarów i deterministyczne przesyłanie ramek zgodnie z harmonogramem.
Na zakończenie tej części warto zaznaczyć, że Ethernet mimo swojej prostoty pozostaje podstawą działania sieci komputerowych – zarówno lokalnych (LAN), jak i centrów danych, gdzie funkcjonuje w topologiach spine-leaf z portami 100Gbps i większymi. W kolejnej części przejdziemy do opisu PPP (Point-to-Point Protocol) oraz Frame Relay, ich struktur ramek, zastosowań, mechanizmów negocjacji i obsługi błędów.
PPP, czyli Point‑to‑Point Protocol, działa w środowiskach, gdzie łącze łączy dokładnie dwa węzły – często modemy, łącza dzierżawione lub łącza dial‑up. Jego podstawą jest proste ramkowanie, ale protokół zapewnia także wykrywanie błędów, negocjację parametrów (automatyczne ustalanie i dopasowanie wielkości MSS, trybu kompresji itp.) oraz uwierzytelnianie (PAP, CHAP). Ramka PPP składa się z flagi początkowej i końcowej (01111110), pola adresu (domyślnie 11111111), pola kontroli (domyślnie 00000011 – oznacza ramkę nie-rozszerzoną), a dalej następuje pole protokołu, dane (payload) i CRC.
Pole protokołu informuje, czy wewnątrz znajdują się np. LCP, PAP, IP, IPv6, CHAP. Segment LCP (Link Control Protocol) inicjuje połączenie: negocjuje MRU, kompresję, obsługę równoległych protokołów. Ramka LCP flow: oba końce wymieniają Configure‑Request, Configure‑Ack, Configure‑Nak/Reject, aż do uzgodnienia. Potem następuje faza Authentication (PAP lub CHAP), a potem faza Network‑Layer Protocol (NAP) – transmitowane są ramki IP. Na koniec LCP negocjuje wyłączenie połączenia. Autentykacja PAP to prosty login/hasło przesłane w tekście jawnym. CHAP używa trójdrożnego wyzwania‑odpowiedzi (Challenge‑Handshake Authentication Protocol), gdzie serwer wysyła losowe wyzwanie, klient oblicza hasz i odsyła; serwer porównuje i akceptuje lub odrzuca.
PPP implementuje detekcję błędów dzięki FCS (Frame Check Sequence) – 16- lub 32‑bitowemu CRC, które sprawdza się po otrzymaniu całej ramki. Jeśli wartość CRC się nie zgadza, ramka jest odrzucana. PPP nie robi retransmisji – jeśli ramka ginie, LCP nie potwierdzi, klient zgłosi błąd wyłączenia połączenia lub timeout. W transmisji protokołów wyższych (np. TCP) to one odpowiadają za retransmisję, co w łączu punkt-punkt, rzadko obciążonym i zazwyczaj niezbyt zakłóconym, wystarcza.
Ramki PPP mogą zawierać dane protokołu IP, IPv6 i inne, przypisane do odpowiedniego pola Proto. Po etapie NAP dane te są enkapsulowane bez dodatkowej magii – PPP po prostu przesyła niestrukturalne pakiety warstwy sieci, a odbiorca wie, że to ramka IP.
Frame Relay powstał jako protokół dla sieci publicznych dzierżawionych – opartych na łączu ethernetowym, ale skalujący się jako rozwiązanie wirtualnej sieci szerokopasmowej (WAN). W środowisku Frame Relay ruch przesyłany jest przez wirtualne łącza punkt-punkt (PVC – Permanent Virtual Circuits), oznaczone identyfikatorami DLCI. Użytkownik nie zarządza fizycznym środowiskiem – ramki przesyłane są do sieci Frame Relay, która przekazuje je do końcowego węzła.
Struktura ramki Frame Relay obejmuje pole flagi, pola adresowe (DLCI + kontrola), dane i CRC. Pole adresowe zawiera 10‑bitowy DLCI i flagi DE (Discard Eligibility), CI (Forward Explicit Congestion Indication) i inni, które służą do określenia priorytetu i reakcji na przeciążenia. Za de-eskalację utraty transmisji odpowiadają protokoły warstw wyższych; Frame Relay może wykorzystywać FECN/BECN (Forward/Backward Explicit Congestion Notification) – gdy bufor przechodzi próg, urządzenie oznacza ramkę i przesyła informację o przeciążeniu do końca drogą powrotną lub dalej – co pozwala na reagowanie warstwom wyższym i dostosowanie tempa transmisji.
Adres DLCI identyfikuje konkretne wirtualne łącze, które może być mapowane na konkretny port logiczny. Np. DLCI 16 może prowadzić do miasta A, a 20 do B, a ramka trafia tylko do odpowiedniego węzła. Sieć transportuje wszystkie ramki użytkownika, niezależnie od ich docelowego VLAN-u – to model wielowątkowej transmisji w jednym medium fizycznym.
W momencie gdy pakiety IP (lub inne) mają przekroczyć MTU sieci Frame Relay (czasem bardzo ograniczone), warstwa Link Control (LAPF – Link Access Procedure for Frame Relay) może dzielić lub agregować ramki. Ramka LAPF zawiera swój własny nagłówek i kontrolę błędów. Frame Relay działa zazwyczaj w trybie bezpotwierdzeń – podobnie jak Ethernet, liczy się na retransmisję TCP/UDP wyżej.
W warstwie PPP exchange następuje faza końca połączenia – LCP negocjuje Terminate‑Request, potwierdza Terminate‑Ack, zanim fizyczne łącze zostanie zakończone. Frame Relay ustaje, gdy routing lub użytkownik zdeaktywuje PVC, co może być zakończone komunikatem LMI (Local Management Interface), informującym o stanie łącza. LMI działa jako protokół nadzoru, który wysyła keepalive, informuje o dostępnych DLCI, stanie SVC, korzystaniu z BECN/FECN itp.
Przechodząc między PPP a Frame Relay warto wspomnieć, że obydwa protokoły działają w środowisku pół‑trwałych połączeń – PPP w dial-up, Frame Relay w wirtualnej sieci WAN. PPP obsługuje dynamiczne parametry na obu końcach, idealne do połączeń indywidualnych. Frame Relay działa lepiej przy wielu wirtualnych kanałach na jednym medium, używanym przez centralkę dostępową.
Mechanizmy bezpieczeństwa: PPP implementuje PAP/CHAP oraz opcje kompresji i uwierzytelniania, ale nie szyfruje – przy transmisji wrażliwych danych wymaga się tunelowania (np. PPTP, L2TP) lub VTLS na wyższych warstwach. Frame Relay nie daje native bezpieczeństwa – wszystkie ramki przechodzą przez jedną fizyczną infrastrukturę, dlatego stosuje się separację logiczną i szyfrowanie na poziomie wyższych warstw, np. IPSec VPN.
Ethernet, PPP i Frame Relay są fundamentami dla klasycznych i nowoczesnych sieci – warstwa łącza danych zmienia się od publicznych sieci dial-up, poprzez sieci korporacyjne, po środowiska wirtualne i IoT. Obydwa protokoły, choć różne w zakresie architektury, części wspólne mają w zakresie enkapsulacji ramek, CRC, kontroli przepływu i błędów – tylko dostosowane do specyfiki medium. Mam nadzieję, że materiał Ci odpowiada – chętnie rozszerzę opis implementacji L2TP lub tunelowanych wariantów tych technologii.