Rola warstwy łącza danych
przesyła surowe bity i definiuje właściwości medium transmisyjnego. używa adresów logicznych i wyznacza trasę pakietu od źródła do celu przez wiele sieci, takich jak Internet.
Warstwa Łącza Danych (Warstwa 2) pobiera pakiety z Warstwy Sieci i przygotowuje je do transmisji przez określone lokalne łącze fizyczne. Jej działanie dotyczy pojedynczego odcinka między sąsiednimi węzłami, więc ramka jest tworzona i sprawdzana na każdym takim odcinku. Dostarcza dane między bezpośrednio połączonymi urządzeniami, na przykład między komputerem i routerem Wi-Fi, oraz określa format ramki i zasady dostępu do medium. Każdy odcinek może używać innego formatu ramki, dlatego router zastępuje ramkę przy przejściu do kolejnego łącza.
Główne zadania warstwy łącza danych
Warstwa Łącza Danych realizuje trzy podstawowe funkcje związane z lokalnym dostarczaniem:
- Ramkowanie (framing): Pobiera pakiety z Warstwy Sieci i enkapsuluje je w struktury zwane ramkami. Ramka dodaje do pakietu nagłówek i pole końcowe z informacjami potrzebnymi do transmisji przez lokalne łącze.
- Adresowanie fizyczne: Zarządza adresami sprzętowymi urządzeń w sieci lokalnej, znanymi jako . W sieciach IEEE 802 często stosowany jest 48-bitowy adres EUI-48, który umożliwia wskazanie interfejsu w segmencie.
- Wykrywanie błędów i kontrola dostępu do medium: Wykrywa, czy ramka została uszkodzona podczas transmisji. Określa także, jak urządzenia współdzielą kanał, na przykład w sieci Wi-Fi lub w klasycznym, współdzielonym Ethernecie.
Dwie podwarstwy: LLC i MAC
Architektura IEEE 802 dzieli Warstwę Łącza Danych na podwarstwę LLC, wspólną dla różnych metod dostępu, oraz podwarstwę MAC zależną od użytej technologii. Standard IEEE 802.2 definiuje LLC, a standardy poszczególnych technologii opisują ich MAC.
1. Logical Link Control (LLC)
LLC to górna podwarstwa, która udostępnia interfejs do Warstwy Sieci i obsługuje logiczne aspekty łącza. W zależności od technologii identyfikacja protokołu może być przenoszona przez pole EtherType albo przez pola LLC i SNAP. Jej zadania obejmują:
- Identyfikacja protokołu Warstwy Sieci (np. IPv4, IPv6) zawartego w polu danych ramki, z użyciem mechanizmu właściwego dla danej technologii.
- Opcjonalne świadczenie usług, takich jak kontrola przepływu i kontrola błędów dla łącza logicznego.
- Jest zdefiniowana przez standard IEEE 802.2, co czyni ją niezależną od bazowego medium fizycznego.
2. Media Access Control (MAC)
MAC to dolna podwarstwa, która współpracuje bezpośrednio z Warstwą Fizyczną. Odpowiada za umieszczenie danych w medium oraz za jego współdzielenie. Jej zachowanie obejmuje granice ramek, adresy źródła i celu oraz zasady nadawania w łączu. Jej zadania obejmują:
- Enkapsulacja pakietów w ramki, w tym dodawanie adresów MAC źródła i celu oraz pól kontrolnych wymaganych przez dany standard.
- Definiowanie metody (np. CSMA/CD dla klasycznego Ethernetu lub CSMA/CA w Wi-Fi).
- Ta podwarstwa jest specyficzna dla używanej technologii fizycznej (np. MAC w Ethernet różni się od MAC w Wi-Fi).
Wykrywanie błędów
Warstwa Fizyczna przesyła bity jako sygnały podatne na szumy i zakłócenia. Mogą one zmienić wartość bitu z 0 na 1 albo z 1 na 0. Warstwa Łącza Danych wprowadza mechanizm sprawdzający takie uszkodzenia.
Podstawową metodą jest Sekwencja Kontrolna Ramki (FCS), niewielka wartość umieszczana w stopce ramki.
Cykliczny Kod Nadmiarowy (CRC)
W Ethernet pole FCS zawiera 32-bitowy CRC obliczany od adresu docelowego do końca pola danych i dopełnienia, z pominięciem preambuły i znacznika początku ramki. Cykliczny Kod Nadmiarowy (CRC) jest kodem wykrywającym błędy opartym na arytmetyce wielomianowej w ciele skończonym.
- U nadawcy: Nadawca traktuje odpowiednie pola ramki jako ciąg bitów i dzieli go przez zdefiniowany Wielomian Generujący. Reszta z dzielenia staje się wartością CRC dołączaną na końcu ramki jako FCS.
- U odbiorcy: Odbiorca wykonuje sprawdzenie z użyciem tego samego Wielomianu Generującego i weryfikuje wynik względem wartości FCS odebranej w końcu ramki.
- Werdykt: Zgodny wynik pozwala przekazać ramkę do Warstwy Sieci. Przy niezgodności odbiorca wykrywa błąd i odrzuca ramkę. W typowym Ethernecie retransmisję utraconych danych obsługuje protokół wyższej warstwy, na przykład TCP.
CRC wykrywa wiele błędów pojedynczych, wielobitowych i seryjnych, czyli obejmujących kilka kolejnych bitów. Zakres wykrywanych błędów zależy od użytego wielomianu i długości ramki. W Ethernet uszkodzona ramka jest odrzucana na odbiorcy, a mechanizm CRC nie odtwarza brakujących bitów ani nie naprawia zawartości.
Protokoły warstwy łącza danych
Kolejne artykuły opisują protokoły implementujące te funkcje, w tym klasyczny protokół kontroli łącza HDLC oraz rozwiązania dla różnych typów łączy. Porównają także formatowanie ramek, zasady dostępu i reakcje na błędy. Osobnym zagadnieniem jest kontrola przepływu, która ogranicza tempo nadawania, gdy odbiorca przetwarza dane wolniej, i zapobiega przepełnieniu jego buforów.