Usługi

Jakość Usługi (QoS)

Jakość Usługi (QoS) to zdolność sieci do zapewnienia lepszej lub specjalnej usługi wybranemu ruchowi sieciowemu w ramach różnych technologii.

1. Domyślne Działanie Internetu: Model "Best-Effort"

Internet i większość sieci opartych na protokole IP korzystają domyślnie z modelu dostarczania "best-effort" (najlepszej próby). Sieć przekazuje pakiety zgodnie z dostępnymi zasobami, lecz model nie określa gwarantowanego czasu dostarczenia, opóźnienia ani dostarczenia każdego pakietu. W podstawowej klasie best-effort pakiety nie otrzymują zdefiniowanego zróżnicowania priorytetów, niezależnie od tego, czy należą do wideokonferencji, transferu plików czy poczty.

Dla wielu zastosowań ten model jest wystarczający. Podczas pobierania pliku TCP wykrywa utracone segmenty i zwykle je retransmituje, dzięki czemu aplikacja może odtworzyć dane w poprawnej kolejności. Ostateczna integralność danych ma wtedy większe znaczenie niż dokładny czas pobierania, o ile połączenie i aplikacja mogą kontynuować pracę. Sieci przenoszą jednak także ruch czasu rzeczywistego, taki jak Voice over IP (VoIP), gry online czy streaming wideo. Opóźniony lub utracony pakiet w rozmowie może wywołać przerwę albo zniekształcenie dźwięku, a retransmisja po czasie nie odtwarza poprzedniego fragmentu rozmowy.

Różne wymagania aplikacji i jednolity sposób obsługi ruchu uzasadniają stosowanie mechanizmów Jakości Usługi (QoS).

2. Definicja Jakości Usługi (QoS)

oznacza zestaw mechanizmów pozwalających różnicować obsługę wybranego ruchu w ramach określonej technologii i polityki sieci. QoS może ograniczać skutki modelu best-effort przez zarządzanie przepustowością, opóźnieniem, zmiennością opóźnień i utratą pakietów, lecz nie usuwa fizycznych ograniczeń łącza.

Wdrożenie QoS pozwala administratorowi definiować polityki odmiennej obsługi ruchu. Przykładowo wideokonferencja może otrzymać przydzielony udział przepustowości i krótsze kolejki, gdy inni użytkownicy intensywnie pobierają pliki. Skuteczność zależy od dostępnych zasobów, konfiguracji i zakresu administracyjnego. QoS nie tworzy nowej przepustowości, lecz zarządza przepustowością już dostępną.

Zakres QoS zależy od miejsca pomiaru i domeny administracyjnej. Mechanizmy DiffServ klasyfikują ruch i oznaczają pakiety polem DS, którego sześć bitów tworzy DSCP, po czym urządzenia realizują ustalone zachowanie dla danego przeskoku. Mechanizmy IntServ mogą rezerwować zasoby dla konkretnego przepływu, lecz wymagają sygnalizacji i kontroli przyjęcia. Żaden z tych modeli nie zmienia fizycznej przepustowości łącza. Parametry trzeba opisywać razem z kierunkiem pomiaru, punktem obserwacji i klasą ruchu, ponieważ średnia wartość nie pokazuje pojedynczych opóźnień ani strat. Konfiguracja powinna obejmować także reakcję na przeciążenie, kolejność pakietów i przekroczenie limitu. DiffServ może agregować wiele przepływów w klasy zachowania, natomiast IntServ uwzględnia poszczególne przepływy. Kontrola przyjęcia może odrzucić nowe żądanie przy braku zasobów, dlatego skonfigurowana klasa opisuje obsługę w domenie. Nie stanowi obietnicy end-to-end w każdej sieci.

3. Główne Mierniki Wydajności Sieci

QoS obejmuje zarządzanie czterema kluczowymi parametrami opisującymi wydajność sieci.

  • Przepustowość łącza i przepływność (Bandwidth and Throughput)

    Przepustowość opisuje zdolność łącza do przesyłania danych w czasie i jest zazwyczaj wyrażana w bitach na sekundę (bps). Osiągana szybkość przesyłania, czyli throughput, zależy także od ruchu i protokołów. Mechanizmy QoS mogą przydzielać minimalny udział przepustowości określonemu ruchowi albo ograniczać udział ruchu mniej istotnego, o ile pozwala na to konfiguracja sieci.

  • Opóźnienie (Latency/Delay)

    to całkowity czas, jaki pakiet potrzebuje na podróż od źródła do miejsca przeznaczenia. Całkowite opóźnienie jest sumą kilku składników, w tym:

    • Opóźnienie transmisyjne: Czas potrzebny do "wypchnięcia" wszystkich bitów pakietu na łącze.
    • Opóźnienie propagacji: Czas potrzebny na pokonanie fizycznej odległości łącza z prędkością rozchodzenia się sygnału w danym medium.
    • Opóźnienie przetwarzania: Czas potrzebny routerom na przetworzenie nagłówka pakietu.
    • Opóźnienie kolejkowania: Czas, jaki pakiet spędza w buforze (kolejce) routera przed transmisją. Ten składnik silnie zależy od przeciążenia i jest jednym z głównych celów QoS. Około 150 milisekund (ms) bywa wskazywane jako orientacyjny limit całkowitego jednokierunkowego opóźnienia rozmowy głosowej. Wartość ta nie dotyczy wyłącznie opóźnienia kolejkowania.
  • Jitter (Zmienność Opóźnień)

    , czyli zmienność opóźnienia, opisuje różnice w czasie dostarczenia kolejnych pakietów. Zmienność może wynikać między innymi z obciążenia kolejek. Wysoki jitter utrudnia odtwarzanie audio i wideo czasu rzeczywistego, ponieważ odbiornik musi użyć bufora lub zaakceptować przerwy. Wymagany poziom zależy od kodeka, bufora i aplikacji. Dla transmisji wideo nie ma jednego uniwersalnego progu.

  • Utrata Pakietów (Packet Loss)

    Utrata pakietów występuje, gdy pakiet nie dociera do miejsca przeznaczenia. Częstą przyczyną jest przeciążenie, przy którym bufor routera się zapełnia i pakiety są odrzucane. W aplikacjach korzystających z TCP, takich jak transfer plików, utrata jest wykrywana i segment może zostać retransmitowany, co zmniejsza przepustowość. Końcowy efekt zależy od przebiegu połączenia i aplikacji. W aplikacjach czasu rzeczywistego korzystających z UDP, takich jak VoIP, pakiet często nie może zostać odtworzony po czasie, co powoduje przerwy w dźwięku lub artefakty wideo.

4. Wymagania Aplikacji i Rodzaje Ruchu

Aplikacje mają bardzo różne wymagania dotyczące wydajności sieci. Dla QoS ważne jest rozpoznanie i sklasyfikowanie tego ruchu.

  • Ruch Czasu Rzeczywistego (np. VoIP, wideokonferencje): Ten ruch jest wrażliwy na opóźnienie i jitter. Niektóre kodeki oraz mechanizmy korekcji tolerują niewielką utratę pakietów, lecz potrzebne jest możliwie regularne dostarczanie.
  • Ruch Strumieniowy (np. wideo na żądanie): Ten ruch jest wrażliwy na jitter i wymaga odpowiedniej przepustowości. Jest zwykle mniej wrażliwy na opóźnienie niż VoIP, ponieważ bufor po stronie klienta może pochłonąć część opóźnienia.
  • Dane Krytyczne (np. aplikacje medyczne, inżynieryjne): Ten ruch może wymagać bardzo małej utraty, a w określonym profilu nawet transmisji bezstratnej (zero utraconych pakietów), oraz odpowiedniej przepustowości. Wrażliwość na opóźnienie zależy od aplikacji.
  • Ruch Transakcyjny (np. e-commerce, zapytania do baz danych): Ten typ ruchu jest impulsywny. Responsywność (niskie opóźnienie) jest kluczowa dla dobrego doświadczenia użytkownika, ale zazwyczaj nie wymaga wysokiej, stałej przepustowości.
  • Ruch Danych Masowych (np. FTP, kopie zapasowe): Ten ruch wymaga zwykle dużej przepustowości, aby zakończyć transfer w akceptowalnym czasie. Jest bardziej tolerancyjny na opóźnienie i jitter, ponieważ protokoły takie jak TCP obsługują niezawodność. W wybranych politykach QoS może otrzymać niski priorytet.

Charakterystyka Przepływu

Ruch można również klasyfikować według charakterystyki jego przepływu:

  • CBR (Constant Bit Rate): Ruch generujący dane ze stałą szybkością, jak nieskompresowany strumień głosowy.
  • VBR (Variable Bit Rate): Ruch generujący dane ze zmienną szybkością, jak skompresowane wideo, które produkuje więcej danych dla złożonych scen i mniej dla prostych.
  • Ruch Elastyczny: Ruch, który może dostosować swoją szybkość transmisji w zależności od warunków sieciowych, jak transfer plików TCP.
  • Ruch Nieelastyczny: Ruch, który nie może łatwo dostosować swojej szybkości i ma surowe wymagania wydajnościowe, jak VoIP.

5. Zestaw Narzędzi QoS: Mechanizmy Zarządzania Ruchem

Urządzenia sieciowe, takie jak routery i przełączniki, używają zestawu narzędzi do wdrażania polityk QoS. Ogólny proces obejmuje identyfikację ruchu, klasyfikację go do grup, a następnie stosowanie określonych zabiegów dla każdej grupy.

  • Klasyfikacja i Oznaczanie:Pierwszym krokiem jest identyfikacja różnych typów ruchu. Można to zrobić, patrząc na różne pola w nagłówku pakietu, takie jak adresy IP źródłowe/docelowe, numery portów lub typ protokołu. Po zidentyfikowaniu ruch jest "oznaczany" poprzez ustawienie określonej wartości w nagłówku pakietu. W sieciach IP odbywa się to przez pole DS w nagłówku IP, którego sześć bitów tworzy Differentiated Services Code Point (DSCP).
  • Kolejkowanie i Planowanie:Gdy wiele pakietów czeka na to samo łącze wyjściowe, są umieszczane w kolejce. Planista decyduje o kolejności transmisji. Zamiast jednej kolejki "pierwszy wszedł, pierwszy wyszedł" (FIFO), router może używać wielu kolejek i algorytmów, takich jak Kolejkowanie Priorytetowe lub Ważone Sprawiedliwe Kolejkowanie, które przydziela kolejkom udział zgodny z wagami.
  • Kształtowanie Ruchu i Policyjność: Są to dwie metody kontrolowania szybkości ruchu.
    • Policyjność (Policing): Egzekwuje skonfigurowany limit przepustowości. Pakiety przekraczające dozwoloną szybkość mogą zostać odrzucone albo oznaczone niższym priorytetem.
    • Kształtowanie (Shaping): Również egzekwuje limit przepustowości, ale zamiast odrzucać nadmiarowe pakiety, opóźnia je w buforze i wysyła później, gdy przepustowość będzie dostępna. Ma to na celu wygładzenie impulsów ruchu.
  • Unikanie Przeciążeń: Mechanizmy te reagują na oznaki przeciążenia przed całkowitym zapełnieniem bufora. Losowe Wczesne Wykrywanie (RED) monitoruje średnią głębokość kolejki i przy jej wzroście losowo odrzuca niewielką liczbę pakietów z różnych przepływów. Przy włączonym ECN może je oznaczać zamiast odrzucać. Może to sygnalizować transportom takim jak TCP potrzebę zmniejszenia szybkości transmisji i ograniczyć ryzyko masowego przepełnienia bufora.

Powiązane artykuły