Zadania warstwy łącza danych

Damian Stelmach

Główną i zasadniczą rolą warstwy łącza danych jest zapewnienie warstwom górnym dostępu do medium transmisyjnego. Dane, które wędrują w dół stosu, przechodząc przez poszczególne warstwy, muszą w pewnym momencie zostać dostarczone do nośnika danych, dzięki, któremu dotrą do celu, czyli hosta odbierającego dane. To jest właśnie podstawowa funkcja warstwy łącza danych: umieszcza w nośniku dane pochodzące z warstw wyższych.

Dostarczenie danych do nośnika

Omówiona w poprzednim odcinku kursu warstwa sieciowa, w procesie enkapsulacji opatrywała segmenty odebrane z warstwy transportowej adresami IP tworząc pakiety. Pakiety te, zanim zostaną wysłane do hosta docelowego trafiają do warstwy łącza danych, poprzez którą następnie przekazane zostają do medium transmisyjnego. Zanim to jednak nastąpi, pakiety opatrywane są kolejnymi informacjami sterującymi, tym razem są to adresy fizyczne urządzeń, czyli 48-bitowe adresy MAC.

Wówczas pakiety stają się ramkami i to właśnie te ramki trafiają dopiero do medium w celu ich dalszego przesłania do hosta docelowego. Adresy MAC nadawane są na etapie produkcji karty i zapisywane pamięci ROM. Pamięć ROM jest pamięcią tylko do odczytu, tak więc nie da się zmienić nadanego adresu na poziomie samej karty, na poziomie sprzętowym. Da się natomiast, taki adres zmienić na poziomie systemowym urządzenia, np. w systemie operacyjnym. Czasami administratorzy dokonują takiej zmiany na poziomie systemowym, np. kiedy nie chce im się przekonfigurować urządzeń sieciowych, a w sieci pojawiły się, np. nowe komputery.

Adres MAC karty sieciowej

Sama warstwa łącza danych jest można powiedzieć pośrednikiem pomiędzy mediami transmisyjnymi, a oprogramowaniem sieciowym. W przypadku urządzeń końcowych, czyli komputerów, serwerów czy telefonów, jest to jedyna warstwa implementowana nie tylko w obszarze programowym, ale również w obszarze sprzętowym. Fizycznym odzwierciedleniem warstwy łącza danych są karty sieciowe, które mamy zainstalowane w naszych komputerach. Karty te stanowią interfejs pomiędzy oprogramowaniem sieciowym a medium transmisyjnym. W związku z tym, że warstwa łącza danych działa na dwóch płaszczyznach, na płaszczyźnie sprzętowej i programowej, jej funkcje i zadania również podzielone zostały na dwie mniejsze podwarstwy:

  • LLC (ang. Logical Link Control),
  • MAC (ang. Media Access Control).

Podwarstwa LLC umieszcza w ramkach informacje o stosowanym protokole warstwy sieci, dzięki czemu możliwe jest korzystanie z tego samego medium transmisyjnego i karty sieciowej dla różnych protokołów warstwy sieci takich jak IPv4, IPv6 czy IPX, jej funkcje w komputerach pełnią sterowniki kart sieciowych. Podwarstwa MAC natomiast, określa zasady dostępu do medium, i wykonuje funkcje adresowania. O metodach MAC mowa była w pierwszym odcinku tej serii.

Podsumowując – warstwa łącza danych:

  • odbiera dane z warstwy sieci,
  • tworzy ramki możliwe do przesłania przez medium,
  • nadaje ramkom adresy fizyczne,
  • jest ona odpowiedzialna za kontrolę dostępu do medium.

Implementacje tej warstwy znajdziemy na urządzeniach końcowych, takich jak komputery, ale również w ruterach i przełącznikach.

Implementacje warstwy łącza danych