Komutacja pakietów

Z Wikipedii, wolnej encyklopedii

Komutacja pakietów – sposób transmisji danych polegający na dzieleniu strumienia danych na kawałki (pakiety), a następnie wysyłaniu ich za pomocą łączy komunikacyjnych pomiędzy węzłami sieci. Każdy pakiet podlega osobnemu trasowaniu – może podążać do celu ścieżką niezależną od ścieżek wcześniej przesyłanych pakietów.

Efektem tego jest kilka cech komutacji pakietów:

  • odporność na uszkodzenia sieci (uszkodzone urządzenia są po prostu omijane),
  • możliwość docierania pakietów w przypadkowej kolejności (ze względu na różne ścieżki transmisji),
  • opóźnienia związane z buforowaniem pakietów w routerach,
  • duża przepustowość efektywna sieci.

Alternatywą dla komutacji pakietów jest komutacja łączy.

Przykłady sieci wykorzystujących komutację pakietów:

Komutacja pakietów[edytuj | edytuj kod]

Technika komutacji pakietów należy do najbardziej elastycznych technik komutacji stosowanych we współczesnych sieciach. Polega ona na przesyłaniu danych przez sieć w postaci pakietów. W odróżnieniu od techniki komutacji łączy pozwala użytkownikom nawiązywać połączenia z wieloma innymi użytkownikami jednocześnie.

Pakiety powstają w wyniku podzielenia informacji użytkownika na części o stałej długości (wyjątkiem jest ostatnia część, której długość może być mniejsza) i opatrzenie tych „wycinków” w nagłówek N, też o stałej długości. Nagłówek zawiera informacje, które umożliwiają pakietowi dojście z punktu źródłowego do docelowego, węzłom sieci sprawdzenie poprawności zawartych w pakiecie danych, a punktom docelowym właściwie zestawić i odtworzyć podzieloną informację. W nagłówku zatem, w zależności od organizacji sieci, znajdują się następujące informacje: adresy źródłowy i docelowy, numer portu źródłowego i docelowego, numer pakietu, wskaźnik ostatniego pakietu, a także identyfikator zawartej w pakiecie informacji.

Podział informacji na pakiety[edytuj | edytuj kod]

Transmisja pakietów od użytkownika źródłowego do użytkownika docelowego polega na przesyłaniu ich kolejno między węzłami sieci występującymi po drodze. Zanim pakiet zostanie nadany do następnego węzła w sieci musi być odebrany w całości przez dany węzeł i umieszczony w jego pamięci buforowej. Pamięć ta jest dzielona na części o jednakowej wielkości, równej maksymalnej długości pakietu. Dzięki takiej konstrukcji w znaczny sposób zostało uproszczone zarządzanie pamięcią. Gdy pakiet zostanie odebrany, sprawdzana jest jego poprawność. Jest to istotna właściwość techniki komutacji pakietów. Gdy pakiet nie zawiera błędów to, między innymi na podstawie informacji zawartych w nagłówku, kieruje się go do kolejnego węzła w sieci. Pakiety mogą być przesyłane przez sieć jedną z dwóch niżej opisanych metod:

  • metodą połączeniową,
  • metodą bezpołączeniową.
Podział pakietu na części

Metoda połączeniowa[edytuj | edytuj kod]

Metoda połączeniowa charakteryzuje się tym, że przesyłanie pakietów jest poprzedzone zestawieniem połączenia wirtualnego, na które składa się sekwencja następujących po sobie węzłów i kanałów. Kanał logiczny powstały w ten sposób służy do przesyłania nim kolejno pakietów powstałych przez podzielenie informacji źródłowej. Połączenie wirtualne, ma przypisany swój unikatowy numer, który zastępuje konieczność stosowania w nagłówku informacji zawierających adres źródłowy i docelowy. W celu jednoznacznej identyfikacji pakietów w nagłówku musi zostać umieszczona informacja o numerze połączenia wirtualnego. Aby pakiety należące do jednego połączenia wirtualnego zawsze były kierowane tą samą trasą, w poszczególnych węzłach sieci musi być zawarta informacja o adresach węzłów, występujących w danym kanale logicznym, przypisanych do przebiegających przez ten węzeł aktywnych kanałów wirtualnych. Węzeł potrafi jednoznacznie określić kolejny punkt, do którego należy przesłać odebrany pakiet.

Połączenia wirtualne mogą być zestawiane na dwa sposoby, jako wirtualne połączenia tymczasowe SVC (ang. Switched Virtual Circuit) i wirtualne połączenia stałe PVC (ang. Permanent Virtual Circuit).

Tymczasowe połączenie wirtualne SVC[edytuj | edytuj kod]

Tymczasowe połączenie wirtualne jest zestawiane na pewien określony czas. Istnieją trzy rozróżnialne fazy w czasie trwania takiego połączenia:

  • faza zestawiania połączenia,
  • faza transmisji pakietów zawierających dane,
  • faza rozłączania.

Do ustanowienia połączenia wirtualnego służy specjalny pakiet służbowy, który wyznacza trasę przechodząc przez sieć od użytkownika źródłowego do użytkownika docelowego. Każdy węzeł będący na trasie zapamiętuje odpowiednie dane, w tym między innymi numer ustanawianego połączenia. Po ustanowieniu połączenia następuje transmisja pakietów z danymi. Pakiety należące do jednego połączenia wirtualnego są jednoznacznie identyfikowane dzięki jego numerowi zawartemu w nagłówku każdego z pakietów. Rozłączenie połączenia podobnie jak jego tworzenie odbywa się dzięki specjalnemu pakietowi służbowemu, który wędrując wzdłuż logicznego kanału powoduje usunięcie z węzłów informacji o numerze zestawionego wcześniej połączenia.

Stałe połączenie wirtualne PVC[edytuj | edytuj kod]

Stałe połączenia wirtualne są ustanawiane przez administratora między dwoma użytkownikami na dłuższy czas funkcjonowania sieci. Wyeliminowane zatem zostają fazy zestawiania połączenia i jego rozłączania. Między użytkownikami należącymi do jednego połączenia wirtualnego realizowany jest jedynie transfer pakietów. Jest to metoda efektywna, ale i kosztowna, przydatna dla procesów działających przez długi czas lub transmitujących pliki o dużej pojemności.

Metoda bezpołączeniowa[edytuj | edytuj kod]

Pakiety przesyłane metodą bezpołączeniową wędrują po sieci samodzielnie, nie będąc związane z żadnym kanałem wirtualnym. Węzły dobierając trasę dla pakietu korzystają z adresu docelowego zawartego w nagłówku pakietu. Może się zatem zdarzyć, że poszczególne pakiety, składające się na jedną informację, będą wędrować po sieci różnymi drogami. Możliwa jest sytuacja, że pakiety będą docierać do punktu docelowego w innej kolejności, niż zostały wysłane. Za odtworzenie poprawnej kolejności odpowiada system użytkownika docelowego, który jest także odpowiedzialny za wykrywanie pakietów zawierających błędy i pakietów utraconych oraz ewentualne żądanie ich retransmisji.

Zobacz też[edytuj | edytuj kod]