• Nie Znaleziono Wyników

OPÓŹNIENIE TRANSFERU JEDNOSTEK DANYCH

W SIECIACH KOMPUTEROWYCH

2.2.2. MIARY JAKOŚCI TRANSFERU

2.2.2.4. OPÓŹNIENIE TRANSFERU JEDNOSTEK DANYCH

Opóźnienie transferu jednostek danych (ang. transfer delay) pomiędzy dwoma punktami (początkowym i końcowym) w sieci definiuje się jako przedział czasu, któ-rego długość jest różnicą czasu pomiędzy chwilą wypływu pierwszego bitu jednostki danych z punktu początkowego i chwilą napływu ostatniego bitu jednostki danych do punktu końcowego. Jeżeli punkty początkowy i końcowy są interfejsami sieci, to opóźnienie wnoszone przez sieć na trasie pomiędzy węzłami źródłowym i ujściowym jest opóźnieniem typu koniec–koniec (ang. end-to-end).

Całkowite opóźnienie transferu danych wnoszone przez sieć jest sumą różnych opóźnień składowych, wnoszonych przez różne elementy sieci i wykonywane w tych elementach sieci procedury. Występowanie poszczególnych składowych opóźnienia całkowitego zależy zarówno od klasy obsługiwanych aplikacji, jak i architektury sieci.

Opóźnienie kodowania (ang. coding delay) jest czasem niezbędnym do prze-kształcenia sygnału generowanego przez źródło w sygnał przekazywany w sieci. Zgodnie z tym opóźnienie kodowania występuje zarówno wtedy, gdy realizowana jest konwersja źródłowego sygnału analogowego w sygnał cyfrowy, jak i wtedy, gdy re-alizowane są kodowanie i (lub) kompresja cyfrowego sygnału źródłowego.

Przekształcanie sygnału analogowego w cyfrowy jest charakterystyczne dla róż-nych zadań obsługi głosu i (lub) obrazu. Konwersja sygnałów występuje także w za-stosowaniach sieci w zadaniach metrologii, automatyki itp.

W przypadku przekształcania sygnału analogowego w sygnał cyfrowy wartość opóźnienia kodowania zależy od algorytmów i sprzętowo-programowych sposobów realizacji trzech – charakterystycznych dla konwersji sygnału analogowego w sygnał cyfrowy – procesów: próbkowania, kwantowania i kodowania.

Opóźnienie kodowania wnoszone przez kodowanie detekcyjne i (lub) korekcyjne zależy od stosowanego kodu; miarą tego opóźnienia jest liczba i rozmieszczenie pozy-cji kontrolnych oraz długość sekwenpozy-cji bitów stosowanych do wyznaczania wartości pozycji kontrolnych.

Opóźnienie kodowania wnoszone w czasie kompresji sygnału zależy od stosowa-nego standardu kompresji i jego realizacji; górnym ograniczeniem opóźnienia kodo-wania jest czas wyznaczania ramki interpolowanej, której przygotowanie wymaga uwzględnienia wcześniejszego i późniejszego obrazu odniesienia.

Opóźnienie kodowania – rosnące wraz z żądaną dokładnością konwersji sygna-łów, zdolnością detekcyjną i korekcyjną kodów oraz wartością współczynnika kom-presji – decyduje także o opóźnieniu wnoszonym przez odpowiednie procesy deko-dowania, realizowane w węźle ujściowym: odtwarzania sygnału analogowego, dekodowania i dekompresji.

Opóźnienie pakietyzacji (ang. packetization delay) jest czasem niezbędnym do utworzenia jednostki danych, tj. opóźnieniem powstającym w wyniku konieczności oczekiwania z rozpoczęciem obsługi jednostki danych do chwili jej skompletowania, tzn. do chwili odbioru ostatniego bitu jednostki danych (np. pakietu).

W najprostszym przypadku jest to czas potrzebny na skompletowanie liczby bitów wymaganych do formowania pola danych jednostki danych. Kompletacja jednostki danych, jednoznacznie definiowanej przez protokół danej warstwy, polega na łączeniu lub podziale jednostek danych warstwy nadrzędnej. Gdy utworzenie jednostki danych wymaga dodatkowego przetwarzania sekwencji bitów tworzących pole danych (np. wyliczanie sumy kontrolnej), opóźnienie pakietyzacji jest sumą czasów potrzebnych na zebranie wymaganej liczby bitów i przygotowanie zawartości różnych pół nagłów-ka jednostki danych.

Opóźnienie propagacji (ang. propagation delay) zależy od rodzaju i długości (odległości pomiędzy źródłem i ujściem) użytego medium transmisyjnego.

Opóźnienie transmisji (ang. transmission delay) jest czasem transmisji wszyst-kich bitów jednostki danych. Jest ono zwykle definiowane jako czas potrzebny na skompletowanie jednostki danych lub takiego jej fragmentu, który umożliwia rozpo-częcie przetwarzania jednostki danych.

Czasami opóźnienie transmisji, malejące wraz ze wzrostem szybkości transmisji i zmniejszaniem się odległości pomiędzy węzłami, może być pomijalnie małe. W systemach transmisji satelitarnej względnie duże opóźnienia transmisji nie zależą od odległości pomiędzy węzłami sieci, lecz od wysokości orbity.

W klasycznych rozwiązaniach sieci opartych na zasadzie „zapamiętaj i prześlij dalej” (ang. store-and-forward) przetwarzanie jednostki danych jest możliwe pod warunkiem odebrania wszystkich bitów jednostki danych. Opóźnienie transmisji jest czasem transmisji całej jednostki danych. W rozwiązaniach, w których przetwarzanie jednostki danych rozpoczyna się po otrzymaniu jej fragmentu, opóźnienie transmisji zależy od długości fragmentu niezbędnego do rozpoczęcia przetwarzania.

Opóźnienie komutacji (przełączania) (ang. switching delay) jest całkowitym cza-sem przejścia jednostki danych przez przełącznik. Wartość omawianego opóźnienia zależy od architektury i konstrukcji przełącznika, szybkości przełączania oraz długości sekwencji bitów w jednostce danych stosowanych do przełączania jednostek danych.

Na ogół opóźnienie komutacji jest sumą czasów: przygotowania decyzji o wybo-rze portu wyjściowego pwybo-rzełącznika i transmisji jednostki danych z wejścia do wyjścia przełącznika. Czas transmisji jednostki danych pomiędzy portami zależy od we-wnętrznej szybkości transmisji przełącznika oraz stosowanych w przełączniku technik rozstrzygania konfliktów w dostępie do zasobów przełącznika.

Wartości składowych opóźnienia komutacji są wartościami charakterystycznymi przełączników i decydują o ich jakości.

Opóźnienie kolejkowania (ang. queuing delay) występuje w rozwiązaniach sie-ciowych, w węzłach których przekazywane jednostki danych są buforowane. Mogą one być przechowywane w buforach organizowanych na portach wejściowych, we-wnątrz węzłów (przełączników) lub na portach wyjściowych. W zależności od roz-wiązania do buforowania jednostek danych mogą być stosowane wybrane lub wszyst-kie z wymienionych sposoby buforowania. Czas oczekiwania na obsługę w węzłach sieci zależy od ilości zasobów udostępnianych w jej węzłach, algorytmów dostępu do zasobów i algorytmów szeregowania, tj. procedur wymuszania dostępu jednostek da-nych do zasobów (np. strategie obsługi kolejek).

Celem buforowania jednostek danych na portach wejściowych jest wygładzanie zmiennych intensywności napływu strumienia jednostek danych oraz kompensacja różnicy szybkości napływu jednostek danych do węzła i szybkości w nim ich ob-sługi. Bufory wejściowe stosuje się także do chwilowego kumulowania nadmiaro-wych, względem ograniczonych zasobów węzłów, ilości napływających jednostek danych.

Buforowanie wewnętrzne jednostek danych w węźle stosuje się do rozwiązywania konfliktów w dostępie do współdzielonych zasobów wewnętrznych węzła, natomiast buforowanie na portach wyjściowych – do rozwiązywania konfliktów w dostępie jed-nostek danych do współdzielonych wyjść węzła.

Jednoczesna obsługa jednostek danych, należących do różnych klas ruchu, prak-tycznie dyskwalifikuje stosowanie buforów na portach wejściowych. Efektywna ob-sługa jednostek danych, należących do różnych klas ruchu, wymaga, aby wszystkie napływające do węzła były obsługiwane na wejściu z szybkością żądaną dla najbar-dziej wymagającej klasy ruchu. Oznacza to dalej, że przetwarzanie nagłówka jednost-ki danych w węźle nie może być poprzedzone czasem oczejednost-kiwania w kolejce na przetwarzanie, tzn. jednostki danych powinny być obsługiwane z szybkością nie mniejszą niż szybkość napływu do węzła.

Opóźnienie przetwarzania (ang. processing delay) jest wnoszone przez imple-mentowane w węzłach sieci różne procedury, których celem jest stwierdzenie po-prawności jednostki danych, detekcja i korekcja błędów, sprawdzenie uprawnień do korzystania z zasobów, wymuszenie ich alokacji, wyznaczenie kolejnych węzłów trasy, przygotowanie do wyprowadzenia z sieci itp.

W sieciach dostarczających usługi o żądanej jakości opóźnienie przetwarzania jest konsekwencją stosowania złożonych obliczeniowo procedur klasyfikacji jednostek danych, algorytmów ich identyfikacji, procedur rezerwacji i alokacji zasobów, algo-rytmów wyznaczania tras, procedur kształtowania (wygładzania) ruchu, algoalgo-rytmów szeregowania jednostek danych itp.

Opóźnienie odtwarzania (ang. reassembly delay) jest sumą czasów niezbędnych do wykonania w węźle ujściowym procesów odwrotnych do procesów pakietyzacji, realizowanych w węźle źródłowym, tj. procesów konwersji sygnałów, łączenia lub podziału jednostek danych, dekodowania, dekompresji itd.

Celem procesów odtwarzania, realizowanego w danej warstwie, jest przetworzenie odebranej jednostki danych do postaci wymaganej w warstwie nadrzędnej lub do wy-prowadzania danych.