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.1. Rola i funkcje warstwy łącza danych
Warstwa łącza danych (Data Link Layer) jest drugą warstwą w modelu OSI i odgrywa kluczową rolę w zapewnianiu bezbłędnej transmisji ramek między urządzeniami w ramach jednego segmentu sieciowego. Jej zadaniem jest przyjęcie surowych danych z warstwy fizycznej i zorganizowanie ich w struktury logiczne (ramki), które mogą być bezpiecznie i skutecznie przesyłane i odbierane. Odpowiada ona także za adresowanie fizyczne, synchronizację, wykrywanie błędów i kontrolę dostępu do medium transmisyjnego.
W typowej sieci Ethernet, warstwa ta jest odpowiedzialna za enkapsulację danych w ramki, czyli struktury zawierające nagłówki i dane użytkownika, które przesyłane są przez fizyczne łącze. Format ramki może się różnić w zależności od technologii (np. Ethernet, Wi-Fi, Frame Relay), jednak podstawowe założenia pozostają takie same: każda ramka zawiera adres źródłowy i docelowy, pole typu/rozmiaru, dane i pole kontrolne (np. CRC).

Adresowanie fizyczne odbywa się na poziomie warstwy łącza danych za pomocą 48-bitowych adresów MAC (Media Access Control), które są przypisywane każdemu interfejsowi sieciowemu w momencie produkcji przez producenta i zazwyczaj są unikalne na świecie. Adres MAC zapisany jest w postaci sześciu oktetów, na przykład: 00:1A:2B:3C:4D:5E. Pierwsze trzy oktety (tzw. OUI – Organizationally Unique Identifier) identyfikują producenta urządzenia, zaś pozostałe są nadawane przez producenta jako unikalny identyfikator.
W praktyce komunikacja na poziomie warstwy łącza danych wygląda tak, że gdy komputer A chce przesłać dane do komputera B znajdującego się w tej samej sieci lokalnej (czyli w tym samym broadcast domain), musi znać jego adres MAC. Jeśli komputer A zna tylko adres IP komputera B, musi użyć protokołu ARP (Address Resolution Protocol), który zapyta: „kto ma ten adres IP?”. Komputer B odpowie, a jego adres MAC zostanie zapisany w pamięci podręcznej ARP komputera A.

Kiedy już adres MAC jest znany, komputer A tworzy ramkę Ethernet, w której wpisuje adres MAC komputera B jako adres docelowy, a swój jako źródłowy. Wewnątrz ramki umieszczony jest segment warstwy wyższej – zazwyczaj pakiet IP. Warstwa łącza danych nie „zna” semantyki danych, które przesyła – po prostu traktuje je jako ciąg bajtów do dostarczenia.
Każda ramka posiada także pole typu (lub długości, w zależności od wersji Ethernetu), które informuje, co znajduje się w polu danych – na przykład 0x0800 oznacza IPv4, 0x86DD oznacza IPv6, 0x0806 – ARP.
Ważnym aspektem działania warstwy łącza danych jest separacja kolizji i broadcast domain. W sieciach opartych o przełączniki (switches) każdy port jest osobnym segmentem kolizji – to warstwa łącza danych decyduje, do którego portu wysłać daną ramkę, bazując na docelowym adresie MAC.
Switch buduje tablicę adresów MAC (MAC table) poprzez analizę adresów źródłowych nadchodzących ramek. Jeśli urządzenie wysyła ramkę z MAC AA:BB:CC:DD:EE:FF, switch zapamięta, że ten adres znajduje się na porcie np. 3. Jeśli później pojawi się ramka z adresem docelowym AA:BB:CC:DD:EE:FF, switch wie, że należy przesłać ją na port 3. Dzięki temu nie trzeba rozsyłać ramek do wszystkich portów.

W przypadku gdy adres docelowy nie jest jeszcze znany, switch dokonuje tzw. floodingu – wysyła ramkę do wszystkich portów z wyjątkiem portu, z którego przyszła. Jeśli adres MAC zostanie później odkryty, switch zapisze go w tablicy i w przyszłości będzie kierował ruch tylko do odpowiedniego portu. Ta cecha wyróżnia przełączniki warstwy łącza danych od koncentratorów (hubów), które przesyłają dane na wszystkie porty bez żadnej logiki.
Ramki mogą także być oznaczone jako broadcast – wówczas ich adres docelowy to FF:FF:FF:FF:FF:FF, co oznacza, że mają trafić do każdego hosta w sieci lokalnej. Typowe przykłady ramek broadcastowych to żądania ARP, DHCP Discover oraz niektóre protokoły sieciowe służące do autokonfiguracji lub detekcji topologii.
Warstwa łącza danych musi również radzić sobie z problemami pojawiającymi się w warstwie fizycznej – zakłóceniami, błędami transmisji, zakleszczeniami. Aby to osiągnąć, dodaje do każdej ramki specjalne pole CRC (Cyclic Redundancy Check), które umożliwia wykrycie uszkodzenia danych. Odbiornik oblicza CRC z zawartości ramki i porównuje ją z wartością dołączoną przez nadawcę. Jeśli wartości się różnią – ramka jest odrzucana.
Podczas transmisji przez warstwę łącza danych wykorzystywane są również specjalne ramki kontrolne: ramki z błędami, fragmenty ramek, ramki kontrolne w protokołach sterowania przepływem (np. w HDLC). W zależności od technologii, mogą też występować tzw. ramki z potwierdzeniami – np. w 802.11 (Wi-Fi) odbiornik potwierdza odebranie każdej ramki (ACK), co nie występuje w klasycznym Ethernet.
Z punktu widzenia modelu OSI, warstwa łącza danych współpracuje z warstwą sieciową (np. IP), ale też bezpośrednio z warstwą fizyczną. Jej zadaniem jest ułatwienie życia obu tym warstwom – dla IP zapewnia bezbłędne dostarczenie pakietów na tym samym łączu fizycznym, dla fizycznej – segmentację i interpretację ciągów bitów jako sensowne jednostki logiczne.
W niektórych przypadkach warstwa łącza danych dzieli się na dwie podwarstwy: MAC (Media Access Control) i LLC (Logical Link Control). Podwarstwa MAC odpowiada za fizyczny dostęp do medium, adresowanie, wykrywanie kolizji; podwarstwa LLC – za identyfikację protokołów warstwy sieciowej i opcjonalne zarządzanie sesją transmisji (w starszych systemach, np. IEEE 802.2).

Warstwa łącza danych odgrywa kluczową rolę w zapewnieniu integralności przesyłanych danych w środowiskach, gdzie występuje duże ryzyko błędów wynikających z zakłóceń elektromagnetycznych, kolizji, zaników sygnału lub niewłaściwego działania medium transmisyjnego. Ponieważ dane są przekazywane przez warstwę fizyczną jako ciągi impulsów elektrycznych, fal świetlnych lub sygnałów radiowych, pojawienie się błędów jest nieuniknione – zadaniem warstwy łącza danych jest wykrycie tych błędów i zapobieganie ich dalszemu propagowaniu.
Najważniejszym mechanizmem służącym do wykrywania błędów w transmisji jest kod CRC (Cyclic Redundancy Check). CRC opiera się na teorii arytmetyki binarnej i umożliwia detekcję bardzo dużej klasy błędów, w tym błędów pojedynczych, odwróconych bitów, uszkodzeń ciągłych i innych. Pole CRC jest obliczane przez nadawcę i dołączane do końca ramki – odbiorca wykonuje to samo działanie i porównuje wynik. Jeśli CRC się nie zgadza, ramka zostaje odrzucona.

W zależności od protokołu, możliwe są różne reakcje na wykrycie błędu. W klasycznym Ethernet, który działa w trybie bezpotwierdzeniowym (connectionless), uszkodzone ramki są po prostu odrzucane. Protokół nie oferuje mechanizmu retransmisji – zakłada, że warstwa wyższa (np. TCP) zajmie się wykryciem i ponownym przesłaniem utraconych danych. W innych protokołach, jak np. HDLC (High-Level Data Link Control), dostępny jest mechanizm potwierdzeń i retransmisji, co znacząco zwiększa niezawodność, ale kosztem wydajności i złożoności.
W protokołach typu HDLC ramki mogą mieć strukturę:

Flagą może być np. 01111110, która sygnalizuje początek i koniec ramki. Adres wskazuje na odbiorcę (np. w sieciach magistralowych), kontrola zawiera informacje o typie ramki (dane, potwierdzenie, negacja) oraz numerze sekwencyjnym. HDLC obsługuje tryby ramkowe, sekwencyjne, potokowe i wielodostępowe.
Niektóre implementacje protokołów warstwy łącza danych oferują mechanizmy detekcji duplikatów ramek i korekty błędów. Przykładem są protokoły używane w sieciach przemysłowych, np. Profinet RT lub EtherCAT, gdzie niezawodność ma kluczowe znaczenie. Te systemy bazują na ścisłej synchronizacji i potwierdzaniu danych w czasie rzeczywistym, z wykorzystaniem specjalnych ramek testujących i buforów sprzętowych.
Oprócz CRC, historycznie wykorzystywano też prostsze mechanizmy kontroli – sumy kontrolne (np. w RS-232), parzystość bitową, a także tzw. kod Hamminga – pozwalający na korekcję pojedynczych błędów i detekcję wielobitowych. Te metody dziś występują głównie w sprzęcie niskopoziomowym, ale ich zasada działania ilustruje podstawy kodowania nadmiarowego.

Mechanizmy korekcji błędów (FEC – Forward Error Correction), takie jak Reed-Solomon, LDPC czy Turbo Codes, są bardziej typowe dla warstwy fizycznej lub stosowane w połączeniu z warstwą łącza danych w środowiskach wymagających wysokiej niezawodności, np. w Wi-Fi, LTE, satelitarnych transmisjach danych.
Ważnym elementem warstwy łącza danych jest także zarządzanie rozmiarami ramek i obsługa ich fragmentacji. Standardowy Ethernet obsługuje ramki o maksymalnej długości 1518 bajtów (tzw. MTU – Maximum Transmission Unit), z czego 1500 bajtów to dane, a pozostałe bajty zajmuje nagłówek i CRC. W przypadku gdy dane przekraczają tę wartość, warstwa wyższa (najczęściej IP) musi podzielić je na fragmenty.
Dla środowisk z dużymi wolumenami danych stosuje się tzw. Jumbo Frames – ramki Ethernet przekraczające 9000 bajtów. Pozwalają one zmniejszyć narzut związany z nagłówkami i zwiększyć efektywność transmisji, jednak wymagają, aby wszystkie urządzenia w sieci je obsługiwały – od kart sieciowych, przez przełączniki, po routery.
W niektórych technologiach, takich jak Wi-Fi, fragmentacja i retransmisje mogą występować wewnątrz warstwy łącza danych. Sieci bezprzewodowe są znacznie bardziej podatne na zakłócenia niż przewodowe – dlatego standard IEEE 802.11 definiuje własne mechanizmy: fragmentację ramek, potwierdzenia ACK, ramki RTS/CTS (Request to Send / Clear to Send) i retransmisje oparte o numery sekwencyjne.

W przypadku błędów, retransmisja może odbywać się na poziomie MAC, bez udziału warstw wyższych – jest to krytyczne w zapewnieniu jakości transmisji w czasie rzeczywistym.
Innym istotnym zagadnieniem jest kompatybilność ramek pomiędzy różnymi standardami. W środowiskach złożonych, gdzie spotykają się np. Ethernet i Frame Relay, konieczna jest translacja formatów ramek. Wirtualizacja (np. w sieciach SDN czy maszynach wirtualnych) wprowadza dodatkowe nagłówki – np. 802.1Q (VLAN Tag), MPLS, GRE, co wymusza bardziej złożoną strukturę ramek.

Pole VLAN umożliwia logiczne rozdzielenie sieci w ramach jednej fizycznej infrastruktury – każde urządzenie może być przypisane do innego VLAN-u, a przełączniki przekazują tylko te ramki, które należą do odpowiedniego segmentu logicznego. Warstwa łącza danych rozpoznaje te oznaczenia i może używać ich do filtrowania, separacji ruchu, a także do dynamicznego przekierowywania pakietów między sieciami.
Jedną z fundamentalnych funkcji warstwy łącza danych jest zarządzanie dostępem do współdzielonego medium transmisyjnego. W środowiskach, gdzie wiele urządzeń korzysta z tego samego kanału transmisyjnego (np. przewodu koncentrycznego, medium radiowego czy światłowodu), niezbędne jest zastosowanie mechanizmów synchronizacji i wykrywania kolizji. Zasady te określa podwarstwa MAC (Media Access Control), która decyduje, kiedy urządzenie może nadawać i co się dzieje w przypadku jednoczesnych prób transmisji.
Klasycznym przykładem jest metoda CSMA/CD (Carrier Sense Multiple Access with Collision Detection), która była wykorzystywana w standardzie Ethernet 10BASE-T i 100BASE-TX działającym w trybie half-duplex. Jej zasada opiera się na tym, że urządzenie „nasłuchuje” medium, zanim rozpocznie transmisję – jeśli medium jest wolne (brak sygnału nośnego), urządzenie zaczyna nadawanie. Jednak, ponieważ sygnały nie rozchodzą się natychmiast, możliwe jest, że dwa urządzenia rozpoczną transmisję niemal jednocześnie. Gdy to się zdarzy, dochodzi do kolizji.

W przypadku kolizji urządzenia przerywają transmisję i wysyłają tzw. „jam signal”, informując inne stacje o problemie. Następnie każde z nich odczekuje losowy czas, tzw. backoff (zgodnie z algorytmem wykładniczym), i próbuje ponownie. Im więcej kolizji, tym dłuższy backoff – to ogranicza prawdopodobieństwo powtórnych kolizji. CSMA/CD działało skutecznie przy niewielkim ruchu, ale jego wydajność gwałtownie spadała w przeciążonych sieciach.
Wraz z popularyzacją przełączników (switches), Ethernet przeszedł na tryb full-duplex, eliminując całkowicie potrzebę stosowania CSMA/CD. W trybie full-duplex każde urządzenie może jednocześnie nadawać i odbierać dane, ponieważ transmisja odbywa się dwoma niezależnymi kanałami (np. oddzielne przewody w skrętce). Dzięki temu zniesiono ryzyko kolizji, co zwiększyło przepustowość i stabilność sieci.

Z kolei w sieciach bezprzewodowych nie da się wykrywać kolizji (brak możliwości nasłuchu podczas nadawania), więc zamiast CSMA/CD stosuje się CSMA/CA (Collision Avoidance). W tym przypadku urządzenie nasłuchuje kanału, a jeśli medium jest wolne, odczekuje jeszcze tzw. „random backoff” przed nadawaniem. Dodatkowo może wysłać ramkę RTS (Request to Send), a odbiornik odpowiada CTS (Clear to Send), co ma na celu poinformowanie innych urządzeń, że transmisja się rozpoczyna. Pozwala to uniknąć kolizji wynikających z tzw. „ukrytych stacji”.

W sieciach opartych o przełączniki warstwa łącza danych obsługuje również bufory i kolejkowanie ramek. Przełącznik, przyjmując ramki szybciej niż może je przesłać, buforuje je w pamięci. W sytuacjach przeciążenia (np. wielu hostów przesyła dane do jednego hosta), dochodzi do zjawiska tzw. bufferbloat – zbyt duże bufory wydłużają czas transmisji, powodując zwiększenie opóźnień i obniżenie wydajności.
Zarządzanie buforami obejmuje takie mechanizmy jak:
priorytetyzację ramek (np. VoIP traktowane jako high-priority)
eliminację ramek najstarszych (tail drop)
inteligentne usuwanie ramek (Random Early Detection – RED)
Przełączniki warstwy łącza danych analizują nagłówki MAC, ale nie interpretują adresów IP. Ich zadaniem jest szybkie przesyłanie ramek z portu źródłowego na port docelowy. Switch uczy się adresów MAC poprzez analizę ramek przychodzących – buduje dynamiczną tablicę (MAC address table), którą aktualizuje w czasie rzeczywistym.

Switch może również implementować tzw. port security – ograniczając liczbę możliwych adresów MAC na jednym porcie. Chroni to sieć przed atakami typu MAC flooding (przepełnienie tabeli MAC sztucznymi adresami, by zmusić przełącznik do przejścia w tryb „hub”).
W bardziej zaawansowanych zastosowaniach, np. w sieciach przemysłowych czy telekomunikacyjnych, wykorzystywane są technologie takie jak deterministyczne przesyłanie ramek (Time-Triggered Ethernet), zarządzanie opóźnieniami i QoS na poziomie MAC (np. IEEE 802.1p) oraz synchronizacja czasowa (IEEE 1588 – Precision Time Protocol).
Warstwa łącza danych wspiera także agregację łączy – technika ta (np. LACP – Link Aggregation Control Protocol) pozwala na zestawienie wielu fizycznych połączeń między dwoma urządzeniami jako jedno logiczne połączenie. Wymaga to mechanizmu równoważenia obciążenia na poziomie ramek.
W sieciach korporacyjnych warstwa łącza danych obsługuje też VLAN-y. Przełącznik może tagować ramki dodatkowymi polami VLAN (802.1Q), przypisując je do konkretnych sieci logicznych. Każdy port może należeć do jednej lub wielu sieci VLAN, a komunikacja między nimi wymaga routera (lub switcha warstwy 3).

Systemy zarządzania ruchem w sieci (QoS) również mogą działać na poziomie warstwy łącza danych – ustawiając flagi priorytetu (np. DiffServ, PCP) lub kierując ruch do odpowiednich kolejek. Przełączniki mogą mieć wiele kolejek wyjściowych, z których każda obsługuje inny priorytet lub klasę usług.
W nowoczesnych przełącznikach dostępne są też funkcje takie jak storm control (zapobieganie zalewaniu sieci broadcastami), BPDU guard (ochrona przed atakami na protokół STP), oraz sieci oparte na redundancji (np. RSTP, MSTP).
W nowoczesnych środowiskach sieciowych warstwa łącza danych pełni funkcje znacznie bardziej zaawansowane niż tylko enkapsulacja ramek i detekcja kolizji. Z biegiem lat wprowadzono szereg rozszerzeń i standardów, które pozwalają na skalowanie, separację logiczną, agregację połączeń i zarządzanie ruchem na poziomie fizycznym oraz logicznym. Jednym z podstawowych mechanizmów rozdzielania ruchu w sieciach lokalnych są VLAN-y (Virtual LAN).
Standard IEEE 802.1Q umożliwia logiczne wydzielenie niezależnych segmentów sieci w obrębie jednej infrastruktury fizycznej. VLAN przypisuje do ramki dodatkowy tag zawierający identyfikator VLAN (12-bitowy VID) oraz pole PCP (Priority Code Point), które może służyć do oznaczania priorytetów (QoS).

TPID (Tag Protocol Identifier) ma wartość 0x8100 i oznacza, że w ramce znajduje się tag VLAN. TCI (Tag Control Information) zawiera 3 bity PCP, 1 bit CFI oraz 12-bitowy VID. Switch, który rozumie 802.1Q, może interpretować te oznaczenia i przypisać ramkę do odpowiedniego VLAN-u. Dzięki temu można zapewnić separację logiczną ruchu, co zwiększa bezpieczeństwo, elastyczność i skalowalność sieci.
Trunking to mechanizm przesyłania ramek wielu VLAN-ów przez jedno fizyczne połączenie (zwykle między przełącznikami). Na porcie trunkowym każda ramka jest oznaczona odpowiednim tagiem VLAN, dzięki czemu przełącznik odbierający wie, do którego VLAN-u przypisać pakiet. Porty dostępowe (access ports) obsługują tylko jeden VLAN i nie oczekują ramek oznaczonych.
Agregacja łączy (Link Aggregation) polega na łączeniu wielu fizycznych połączeń w jedno logiczne, co zwiększa przepustowość i redundancję. Standard IEEE 802.3ad (znany też jako LACP – Link Aggregation Control Protocol) umożliwia automatyczne wykrywanie i konfigurowanie grup agregacyjnych. Switch przypisuje ramki do kanałów agregacyjnych na podstawie różnych heurystyk, np. adresów MAC/IP, numerów portów TCP/UDP.

Ethernet przeszedł znaczną ewolucję od czasów 10BASE-T, przez Fast Ethernet (100 Mbps), aż po Gigabit Ethernet (1 Gbps), 10G, 40G, a obecnie 100G i więcej. Wraz ze wzrostem przepustowości konieczne było wdrażanie funkcji zarządzania ruchem (np. flow control, priorytety), synchronizacji (PTP – IEEE 1588), a także mechanizmów eliminujących broadcast stormy.
Jednym z zaawansowanych rozszerzeń Ethernetu są standardy Time-Sensitive Networking (TSN), opracowane w ramach IEEE 802.1. Umożliwiają one deterministyczne przesyłanie ramek, np. w sieciach przemysłowych, samochodowych lub audio/video, gdzie krytyczne jest zapewnienie niskiego jittera i opóźnień.
Wi-Fi, czyli standard IEEE 802.11, implementuje warstwę łącza danych w sposób różny od Ethernetu. Ramki 802.11 są znacznie bardziej rozbudowane, zawierają wiele pól związanych z bezpieczeństwem, kontrolą dostępu, roamingiem i potwierdzeniami transmisji. Istnieją różne typy ramek: danych, zarządzania i kontrolne. Każda z nich ma określone znaczenie – np. beacon (rozgłoszeniowa ramka AP), RTS/CTS, ACK, probe request/response.

Warstwa łącza danych w Wi-Fi musi także radzić sobie z problemem zwanego „ukrytym terminalem” (hidden node). Dwa komputery A i C mogą nie widzieć się nawzajem, ale obaj próbują nadawać do punktu B, powodując kolizje. Rozwiązaniem jest stosowanie mechanizmu RTS/CTS.
W środowiskach wirtualnych (np. serwery z maszynami wirtualnymi, kontenery) warstwa łącza danych jest emulowana programowo. Tworzy się tzw. mosty (bridges), wirtualne przełączniki (vSwitch), interfejsy wirtualne (vNIC), które łączą maszyny wirtualne z fizyczną siecią. W systemach Linux można używać brctl, ip link, ovs-vsctl (Open vSwitch) do konfigurowania takich struktur.

Komunikacja wirtualna może odbywać się całkowicie w przestrzeni hosta, bez wychodzenia na fizyczną kartę sieciową. Możliwe jest również tworzenie izolowanych sieci wirtualnych (np. VLAN-y dla maszyn wirtualnych, SR-IOV).
W sieciach przemysłowych, takich jak SCADA, Profinet, EtherCAT czy Modbus TCP, warstwa łącza danych często zawiera niestandardowe rozszerzenia umożliwiające pracę w środowiskach czasu rzeczywistego, z deterministycznymi wymaganiami dotyczącymi opóźnień. Przykładowo EtherCAT wysyła jedną dużą ramkę, która przechodzi szeregowo przez kolejne urządzenia i jest przez nie częściowo nadpisywana – każde urządzenie zna swój offset w ramce.
W wielu przypadkach warstwa łącza danych staje się również punktem integracji z systemami bezpieczeństwa. Switch może wspierać NAC (Network Access Control), czyli uwierzytelnianie użytkowników na porcie, np. przy pomocy 802.1X, współdziałającego z RADIUS.
Podsumowując, zaawansowane funkcje warstwy łącza danych dotyczą:
separacji logicznej (VLAN, trunking)
redundancji i agregacji (LAG, EtherChannel)
QoS i zarządzania opóźnieniami (802.1p, TSN)
bezpieczeństwa (802.1X, NAC)
wirtualizacji (vNIC, vSwitch)
sieci przemysłowych (Time-Triggered Ethernet, EtherCAT)
Warstwa łącza danych nie ogranicza się do klasycznego Ethernetu czy Wi-Fi. W wielu środowiskach technicznych stosowane są dedykowane protokoły o własnych strukturach ramek, metodach kontroli błędów i mechanizmach dostępu do medium. Jednym z najstarszych i jednocześnie najczęściej spotykanych w motoryzacji i automatyce systemów jest protokół CAN (Controller Area Network).
CAN został zaprojektowany przez firmę Bosch w latach 80. jako niezawodny sposób komunikacji pomiędzy mikrosterownikami w pojazdach. Ramka CAN zawiera identyfikator, dane, bit rozszerzenia i CRC. Cechą charakterystyczną CAN jest brak adresowania urządzeń – transmisja odbywa się przez identyfikatory wiadomości, do których każdy węzeł może się „zaprenumerować”.

Wersja CAN FD (Flexible Data Rate) pozwala na większą liczbę bajtów danych i elastyczne prędkości. CAN wykorzystuje arbitraż bitowy – jeśli dwa urządzenia jednocześnie zaczynają nadawać, wygrywa to z niższym identyfikatorem (dominującym bitem 0), a drugie przerywa transmisję i próbuje ponownie. Gwarantuje to deterministyczność i bezkolizyjność komunikacji.
W zastosowaniach automatyki przemysłowej popularne są także Modbus, Profinet oraz EtherCAT. Modbus działa na różnych warstwach fizycznych (np. RS-485, Ethernet), ale definiuje strukturę ramek i sposób komunikacji master-slave, gdzie master inicjuje każde zapytanie, a slave odpowiada.
Profinet (bazujący na Ethernecie) używa ramek z tagami VLAN i często działa w topologii z pętlą (ring), wspierając protokoły redundancji (MRP – Media Redundancy Protocol). EtherCAT natomiast realizuje strukturę ramek cyklicznych – jedna ramka przechodzi przez wszystkie urządzenia i każde z nich odczytuje/uzupełnia swoje dane w locie.

EtherCAT obsługuje dokładną synchronizację czasową (Distributed Clocks), co pozwala na zastosowanie w robotyce, precyzyjnych sterownikach i systemach czasu rzeczywistego. Warstwa łącza danych w takich sieciach musi być deterministyczna i odporna na zakłócenia.
W dziedzinie elektroniki użytkowej warstwa łącza danych występuje w Bluetooth. Bluetooth korzysta z protokołu L2CAP (Logical Link Control and Adaptation Protocol), który dzieli dane na segmenty i przesyła je w ramach tzw. ramek baseband. Bluetooth ma topologię master/slave (obecnie bardziej zwaną central/peripheral), z obsługą szyfrowania i retransmisji.
Bluetooth Low Energy (BLE) stosuje warstwę łącza danych zoptymalizowaną pod kątem małej ilości danych i bardzo niskiego zużycia energii. BLE przewiduje możliwość retransmisji pakietów na poziomie kontrolera i obsługuje kanały sterujące i danych.

W telekomunikacji komórkowej, choć większość protokołów opiera się na warstwach wyższych niż łącza danych (np. RLC, PDCP), to jednak np. w LTE (Long Term Evolution) oraz 5G stosuje się warstwę MAC z własnymi zasadami. MAC w LTE zarządza dostępem do medium radiowego, planuje transmisje na podstawie harmonogramów, a także realizuje segmentację i retransmisję danych.
W systemach światłowodowych, takich jak GPON (Gigabit Passive Optical Network), również mamy do czynienia z warstwą łącza danych, która koordynuje ruch upstream i downstream w architekturze punkt–wielopunkt. Warstwa ta odpowiada za nadawanie danych w precyzyjnie określonych slotach czasowych, co pozwala uniknąć kolizji.
W sieciach światłowodowych dla centrów danych, takich jak Fibre Channel, warstwa łącza danych łączy funkcje MAC z transmisją ramek SCSI, obsługując pełny duplex i bardzo niskie opóźnienia. Ramki Fibre Channel zawierają strukturę nagłówka, identyfikator portu, dane i FCS.
W sieciach domowych lub budynkowych, technologią wykorzystującą warstwę łącza danych jest Powerline Communication (PLC). W tym przypadku dane są przesyłane przez istniejącą instalację elektryczną z wykorzystaniem modulacji wysokoczęstotliwościowej. Warstwa łącza danych PLC odpowiada za podział pasma, kontrolę kolizji i retransmisje w zależności od zakłóceń w sieci energetycznej.
Z kolei w technologiach bezprzewodowych dalekiego zasięgu, takich jak LoRaWAN, warstwa łącza danych realizowana jest przez MAC layer definiujący dostęp do kanału i retransmisje. LoRaWAN wykorzystuje protokół ALOHA i adaptacyjne skalowanie mocy transmisji.

Wszystkie opisane technologie dzielą wspólne cechy charakterystyczne dla warstwy łącza danych: enkapsulacja danych w ramki, dodawanie informacji sterujących, detekcja błędów (CRC, sumy kontrolne), kontrola dostępu do medium oraz identyfikacja nadawcy i odbiorcy. Jednocześnie każda z nich implementuje te mechanizmy w sposób dostosowany do specyfiki danego środowiska – czasem z naciskiem na deterministyczność (EtherCAT), czasem na niskie zużycie energii (BLE), a czasem na wydajność i zasięg (LTE, GPON).
Tym samym warstwa łącza danych okazuje się nie tylko prostym pośrednikiem między warstwą fizyczną a siecią IP, lecz złożoną strukturą zarządzającą efektywnością, bezpieczeństwem i niezawodnością transmisji w bardzo zróżnicowanych warunkach środowiskowych.