Łącze danych

Protokoły Kontroli Łącza

LLC, LAPB, LAPD i inne mechanizmy kontroli łącza danych.

Wprowadzenie do kontroli łącza

Protokoły kontroli łącza określają sposób wymiany ramek między sąsiednimi urządzeniami. W zależności od protokołu mogą obejmować ustanawianie logicznego połączenia, wykrywanie błędów, kontrolę przepływu, retransmisję i zakończenie pracy łącza. Ich działanie dotyczy jednego odcinka, więc nie zastępuje funkcji routingu ani kontroli przeciążenia w całej sieci. Protokół może więc zapewniać niezawodność na odcinku bez wyznaczania trasy od końca do końca.

Działają w warstwie łącza danych (warstwie 2) i zwykle dotyczą pojedynczego odcinka, czyli jednego przeskoku między urządzeniami. Przekształcają strumień bitów z warstwy fizycznej w ramki z polami adresowymi i kontrolnymi. Flagi, długość pola lub sygnały warstwy fizycznej pozwalają rozpoznać granice ramek. Zakres funkcji zależy od protokołu: część z nich zarządza połączeniem i przepływem, część tylko ramkuje dane oraz wykrywa błędy.

HDLC, LAPB i LAPD pokazują różne sposoby realizacji kontroli łącza. Ich analiza wyjaśnia, jak protokół może zapewniać niezawodność na pojedynczym odcinku, gdy używa potwierdzeń i retransmisji.

Główne funkcje kontroli łącza

Protokół kontroli łącza może realizować kilka funkcji związanych z wymianą ramek na pojedynczym łączu. Nie każdy protokół implementuje wszystkie opisane mechanizmy.

  • Ramkowanie (Framing):Protokół pobiera pakiety z warstwy sieci i umieszcza je w standardowym formacie zwanym . Proces ten zapewnia strukturę dla adresowania, sterowania i wykrywania błędów. Typowa ramka zawiera flagę, adres, pole sterujące, opcjonalne dane i FCS, lecz konkretny zestaw pól zależy od standardu. Pola adresowe i sterujące mogą wskazywać partnera, typ ramki oraz stan dostarczenia.
  • Zarządzanie Łączem:Jeśli protokół używa połączenia logicznego, funkcja ta obsługuje jego cykl życia. Obejmuje procedury:
    • Ustanawianie: Tworzenie połączenia logicznego przed wymianą danych, często z negocjacją trybu pracy.
    • Utrzymywanie: Podtrzymywanie aktywnego stanu łącza, monitorowanie jego stanu i obsługa komunikatów kontrolnych.
    • Zakończenie: Zamykanie połączenia po zakończeniu komunikacji oraz zwalnianie stanu przechowywanego przez obie strony.
  • :Kontrola przepływu sprawia, że urządzenie wysyłające dostosowuje transmisję do ilości danych, którą odbiornik może przechować i przetworzyć. Okno przesuwne pozwala utrzymywać kilka niepotwierdzonych ramek, a potwierdzenia zwalniają miejsce na następne. Rozmiar okna i przestrzeń numerów sekwencyjnych określają, ile ramek może pozostawać bez potwierdzenia. Ogranicza to ryzyko przepełnienia bufora i utraty danych.
  • Kontrola Błędów:Celem jest wykrywanie uszkodzeń, a w protokołach niezawodnych także odzyskiwanie danych. Można wyróżnić dwa etapy:
    • Wykrywanie błędów: Wiele protokołów kontroli łącza używa pola sekwencji kontrolnej ramki (FCS), często obliczanego za pomocą CRC, aby wykryć uszkodzenie ramki przez szum lub zakłócenia. FCS wskazuje niezgodność, lecz sam nie odtwarza pierwotnych danych.
    • Odzyskiwanie po błędach: Po wykryciu błędu protokoły niezawodne mogą używać potwierdzeń (ACK), negatywnych potwierdzeń (NAK) i numerów sekwencyjnych do żądania retransmisji utraconych lub uszkodzonych ramek. Taki mechanizm ARQ może odrzucać duplikaty i zachowywać kolejność danych.

HDLC i protokoły pochodne

HDLC zdefiniował formaty ramek, tryby pracy i typy ramek, które stały się punktem odniesienia dla późniejszych procedur. Norma ISO/IEC 13239 opisuje strukturę i procedury HDLC, w tym pola adresu, sterowania, informacji i kontroli. LAPB i LAPD korzystają z rozwiązań rodziny HDLC, lecz każdy z nich ma własny zakres i zastosowanie. PPP używa ramkowania HDLC-like zdefiniowanego w osobnej specyfikacji.

Protokoły związane z HDLC

  • LAPB (Link Access Procedure, Balanced): Procedura warstwy łącza dla sieci X.25, wykorzystująca zrównoważony tryb pracy i retransmisję na łączach punkt-punkt, także potencjalnie zaszumionych. Warianty X.25 używają numeracji modulo 8 albo modulo 128.
  • LAPD (Link Access Procedure on the D-channel): Procedura sygnalizacyjna ISDN opisana w Q.921. Wykorzystuje adres złożony z SAPI i TEI, aby rozróżniać usługi oraz urządzenia współdzielące kanał D. Obie wartości mają odrębne zasady przydziału.
  • PPP (Point-to-Point Protocol): PPP nie jest ścisłym podzbiorem HDLC. Używa ramkowania HDLC-like oraz własnych mechanizmów sterowania, dostosowanych do połączeń punkt-punkt i wielu protokołów sieciowych.

LAPD: sygnalizacja w sieciach ISDN

LAPD jest procedurą kontroli łącza dostosowaną do środowiska sieci . W ISDN kanały B (Bearer channels) przenoszą dane użytkownika, na przykład głos, a kanał D przenosi sygnalizację. LAPD działa na kanale D.

Ten podział ilustruje sygnalizację we wspólnym kanale (CCS), w której informacje sterujące są przenoszone inną ścieżką niż dane użytkownika. LAPD przenosi komunikaty potrzebne do zestawiania, utrzymywania i rozłączania połączeń, używając procedur potwierdzania określonych dla warstwy łącza. Adres SAPI wskazuje usługę, a TEI rozróżnia punkt końcowy na kanale D.

Adresowanie w LAPD

W polu adresu LAPD używa dwóch części: SAPI i TEI. Takie adresowanie pozwala wielu urządzeniom i usługom współdzielić pojedynczy kanał D.

SAPI (Service Access Point Identifier)

SAPI wskazuje typ usługi, do której należy wiadomość. Wartości zdefiniowane w Q.921 obejmują między innymi:

  • SAPI o wartości 0 służy do sygnalizacji sterującej połączeniem, na przykład komunikatów SETUP, CONNECT i DISCONNECT.
  • SAPI o wartości 16 służy do komunikacji danych warstwy pakietowej X.25.
  • SAPI o wartości 63 jest przeznaczone do zarządzania warstwą łącza.

TEI (Terminal Endpoint Identifier)

TEI identyfikuje punkt końcowy na kanale D. Pole TEI ma 7 bitów: wartości 0-63 mogą być przydzielane ręcznie, 64-126 dynamicznie, a 127 oznacza grupę. Magistrala S0 ISDN może obsługiwać do ośmiu urządzeń, lecz ta liczba opisuje ograniczenie fizycznego interfejsu, nie zakres wartości TEI. Przydział TEI pozwala skierować komunikat do właściwego urządzenia.

Logical Link Control (LLC) w sieciach LAN

Logical Link Control, zdefiniowane w IEEE 802.2, jest górną podwarstwą warstwy łącza danych. Zapewnia usługi dla warstwy sieci w sieciach wielodostępnych, takich jak Ethernet. LAPB i LAPD opisują procedury używane w innych środowiskach łączy, więc zakresy tych mechanizmów nie są identyczne.

LLC zapewnia interfejs dla warstwy sieci niezależnie od użytej technologii MAC, takiej jak Ethernet, Wi-Fi lub Token Ring. Pola DSAP i SSAP pozwalają wskazać usługę odbiorcy i nadawcy. Używa ono w nagłówku do multipleksowania i demultipleksowania danych dla różnych protokołów warstwy sieci.

Trzy typy usług LLC

LLC definiuje trzy typy usług komunikacyjnych, różniące się potwierdzaniem, utrzymywaniem połączenia i odzyskiwaniem po błędach:

  1. Typ 1: Bezpotwierdzeniowa Usługa Bezpołączeniowa
    Ramki są wysyłane bez potwierdzeń. Usługa nie zapewnia kontroli przepływu ani odzyskiwania po błędach. Ma mały narzut i może być używana dla komunikatów rozgłoszeniowych oraz przez protokoły wyższych warstw, takie jak TCP, które realizują własne mechanizmy niezawodności.
  2. Typ 2: Usługa Połączeniowa
    Usługa ustanawia połączenie logiczne, numeruje ramki, używa potwierdzeń do kontroli błędów i realizuje kontrolę przepływu. Zapewnia usługę z mechanizmami podobnymi do HDLC na zawodnym medium LAN, kosztem dodatkowych komunikatów i przetwarzania. Kolejność, okno i retransmisje są obsługiwane przez procedurę LLC typu 2.
  3. Typ 3: Potwierdzana Usługa Bezpołączeniowa
    Usługa nie ustanawia formalnego połączenia, lecz odbiorca potwierdza każdą ramkę danych. Zapewnia to potwierdzanie bez procedur zestawiania i rozłączania pełnego połączenia.

Powiązane artykuły