Techniki

Komutacja pakietów

Metoda dzielenia danych na pakiety w celu niezależnego routingu, stosowana między innymi w Internecie.

Czym jest komutacja pakietów?

Komutacja pakietów dzieli strumień danych lub większą wiadomość na mniejsze jednostki zwane pakietami. Każdy pakiet jest przekazywany jako osobna jednostka, co pozwala wielu źródłom współdzielić łącza przez krótki czas transmisji poszczególnych pakietów.

Pakiet zawiera dane oraz informacje kontrolne potrzebne do dostarczenia go przez daną warstwę. Podział większej wiadomości zachowuje adresowanie, pozwala sieci przeplatać ruch wielu źródeł i może wymagać od odpowiedniego protokołu uporządkowania fragmentów po odebraniu. Właściwości tego modelu obejmują:

  • Adresowanie: Pakiet warstwy sieciowej może zawierać adres źródłowy i docelowy, na przykład adresy IP.
  • Niezależne trasowanie: W usłudze datagramowej router podejmuje decyzję dla każdego pakietu. Zmiana tras może spowodować przejście pakietów tej samej wiadomości różnymi drogami.
  • Ponowne składanie: Protokół wyższej warstwy może używać numerów sekwencyjnych do uporządkowania danych. Sam IP nie zapewnia kolejności ani retransmisji utraconych datagramów.

Komutacja pakietów i komutacja łączy

Komutacja pakietów współdzieli zasoby przez czas transmisji pakietu. W , stosowanej w tradycyjnych sieciach telefonicznych. Połączenie rezerwuje ścieżkę lub zasoby na czas sesji, także podczas okresów ciszy. Komutacja pakietów korzysta ze statystycznego współdzielenia łączy, więc ta sama infrastruktura może przenosić pakiety różnych sesji.

Budowa pakietu

Format pakietu zależy od protokołu. W uproszczonym opisie ma nagłówek z informacjami sterującymi oraz pole danych, lecz dodatkowe nagłówki i przyczepione stopki mogą należeć do innych warstw.

  • Nagłówek: Informacje kontrolne dodane na początku jednostki opisują jej obsługę w danym protokole. W nagłówku IP znajdują się między innymi:
    • Adresy źródłowy i docelowy: Określają nadawcę i odbiorcę datagramu, na przykład za pomocą adresów IP.
    • Numer sekwencyjny: Występuje w protokołach, takich jak TCP, i pomaga odbiorcy uporządkować segmenty. Nie jest polem każdego nagłówka IP.
    • Informacje do kontroli błędów: IPv4 ma sumę kontrolną nagłówka, a kontrola CRC zwykle należy do warstwy łącza danych. Zakres ochrony zależy od protokołu.
    • Inne dane sterujące, takie jak długość, czas życia, typ protokołu lub priorytet.
  • Ładunek: To dane przenoszone przez pakiet, często segment protokołu transportowego. Jego rozmiar zależy od protokołu, nagłówków i maksymalnej jednostki transmisji danego łącza.

Przekazywanie pakietu w trybie „zapisz i podaj dalej”

W modelu „zapisz i podaj dalej” router odbiera kompletny pakiet na porcie wejściowym i przechowuje go w buforze przed wysłaniem. Na podstawie adresu docelowego oraz tablicy routingu wybiera następny skok. Konkretne urządzenia mogą stosować inne mechanizmy przekazywania, lecz poniższa sekwencja opisuje klasyczną pracę z pełnym pakietem.

  1. Zapisz: Router odbiera kompletny pakiet na porcie wejściowym i tymczasowo przechowuje go w buforze pamięci.
  2. Przetwórz: Router odczytuje nagłówek pakietu, ustala miejsce docelowe i sprawdza tablicę routingu lub bazę przekazywania, aby wybrać następny skok.
  3. Podaj dalej: Router umieszcza pakiet w kolejce odpowiedniego portu wyjściowego i wysyła go do następnego skoku.

Ten proces powtarza się w kolejnych routerach, aż pakiet dotrze do sieci lub urządzenia docelowego.

Datagramy i obwody wirtualne

W opisie usług z komutacją pakietów rozróżnia się dwa typowe modele:

Bezpołączeniowy (Datagramowy)

W tym trybie każdy pakiet, zwany datagramem, jest niezależną jednostką. Router podejmuje decyzję dla każdego pakietu na podstawie adresu i aktualnej informacji o trasach. Zmiana tras może skierować pakiety tej samej wiadomości różnymi drogami, a datagram może dotrzeć poza kolejnością lub zostać utracony. IP nie zapewnia porządkowania ani retransmisji. Funkcje te może realizować protokół wyższej warstwy, na przykład TCP.

Przykład: Protokół Internetowy (IP).

Połączeniowy (Obwód Wirtualny)

W tym trybie przed przesłaniem danych ustanawia się logiczną ścieżkę, zwaną , między nadawcą a odbiorcą. Pakiety tej samej sesji korzystają z ustalonej ścieżki i identyfikatora obwodu, więc węzły mogą przekazywać je bez pełnego wyboru trasy dla każdego pakietu. Sama ścieżka nie gwarantuje dostarczenia ani kolejności po utracie pakietu. Te właściwości zależą od usługi, na przykład X.25.

Przykład: ATM (Asynchronous Transfer Mode).

Zalety i wady komutacji pakietów

Zalety

  • Współdzielenie zasobów: Wielu użytkowników korzysta z tych samych łączy, a kanał jest zajęty przez czas transmisji pakietu. Statystyczne multipleksowanie pozwala wykorzystać przerwy między porcjami danych.
  • Reakcja na awarie: Po zmianie topologii protokoły routingu mogą wyznaczyć alternatywne trasy. Podczas zbieżności część pakietów może zostać opóźniona lub utracona.
  • Elastyczność: Jedna infrastruktura obsługuje usługi o różnych przepływnościach, bez rezerwowania stałej szybkości dla każdej sesji.

Wady

  • Zmienna latencja: Kolejki w routerach dodają opóźnienie zależne od natężenia ruchu. Zmienność opóźnienia pakietów, często określana jako jitter, utrudnia obsługę głosu i wideokonferencji.
  • Narzut nagłówków: Każdy pakiet przenosi informacje sterujące, więc przy małych ładunkach większa część przepływności przypada na nagłówki.
  • Złożoność obsługi: Protokoły końcowe mogą potrzebować numerów sekwencyjnych, porządkowania danych i retransmisji utraconych jednostek, jak TCP działający nad IP.

Powiązane artykuły