Modele QoS

Architektury jakości usług: best effort, IntServ i DiffServ.

1. Zrozumienie Potrzeby Architektur QoS

Internet, w swoim pierwotnym zamyśle, opiera się na zasadzie sprawiedliwości i prostoty, w której każdy fragment danych jest traktowany jednakowo. To fundamentalne podejście, znane jako model Best-Effort, było w pełni wystarczające dla wczesnych zastosowań internetu, takich jak e-mail czy transfer plików. Jednakże, wraz z gwałtownym wzrostem wykorzystania sieci do obsługi różnorodnych aplikacji o skrajnie różnych potrzebach wydajnościowych, od wideokonferencji w wysokiej rozdzielczości, przez gry online, po masowe kopie zapasowe w chmurze, podejście "jeden rozmiar dla wszystkich" przestało być wystarczające.

Architektura lub model QoS to ogólna strategia i ramy implementacji Jakości Usługi w całej sieci. Definiuje ona filozofię oraz podstawowy zestaw reguł i protokołów używanych do klasyfikacji, priorytetyzacji i zarządzania ruchem sieciowym w celu sprostania specyficznym wymaganiom różnych aplikacji. Na przestrzeni lat opracowano trzy główne modele, z których każdy ma inne podejście do problemu zapewnienia przewidywalnej wydajności sieci. Są to domyślny model Best-Effort, zasobochłonny model Zintegrowanych Usług (IntServ) oraz wysoce skalowalny model Zróżnicowanych Usług (DiffServ).

2. Model Best-Effort: Fundament

to domyślny stan sieci IP. Zapewnia on prostą, sprawiedliwą, ale ostatecznie nieprzewidywalną usługę.

Jak To Działa

W sieci best-effort routery i przełączniki używają prostego mechanizmu kolejkowania "pierwszy na wejściu, pierwszy na wyjściu" (FIFO). Pakiety są przetwarzane w kolejności ich nadejścia, bez względu na ich zawartość, źródło, cel czy wymagania wydajnościowe. Sieć dokłada "najlepszych starań", aby dostarczyć pakiety, ale nie oferuje żadnych obietnic.

  • Brak Gwarancji: Nie ma gwarancji przepustowości, ochrony przed utratą pakietów ani przewidywalnego poziomu opóźnienia czy jittera.
  • Sprawiedliwość: Wszystkie strumienie ruchu rywalizują o zasoby sieciowe na równych zasadach.
  • Prostota i Skalowalność: Brak złożonego zarządzania stanem czy obsługi poszczególnych przepływów sprawia, że model best-effort jest niezwykle prosty i wysoce skalowalny, co było kluczowym czynnikiem gwałtownego wzrostu internetu.

Gdzie Zawodzi

Chociaż model ten jest odpowiedni dla aplikacji, które mogą tolerować opóźnienia i zmienność (jak e-mail czy standardowe przeglądanie stron, chronione przez mechanizmy niezawodności TCP), nie spełnia on potrzeb aplikacji interaktywnych, działających w czasie rzeczywistym. W przypadku Voice over IP (VoIP), pakiet, który dotrze zbyt późno, jest równie bezużyteczny jak pakiet, który nie dotarł wcale. Nieprzewidywalność modelu best-effort uniemożliwia zapewnienie spójnego, wysokiej jakości doświadczenia dla tak wrażliwego na czas ruchu.

3. Zintegrowane Usługi (IntServ): Model Rezerwacji

Model Zintegrowanych Usług, często nazywany IntServ, był pierwszą kompleksową próbą wyjścia poza podejście best-effort. Jego podstawową filozofią jest zapewnienie "twardego QoS", co oznacza oferowanie jawnych, kompleksowych, mierzalnych gwarancji usług dla poszczególnych przepływów aplikacji.

Podstawowe Koncepcje IntServ

  • Stan na Przepływ:Cechą charakterystyczną IntServ jest to, że traktuje on strumień danych każdej aplikacji jako indywidualny "przepływ". Przepływem może być pojedyncza rozmowa VoIP, sesja wideokonferencyjna lub dowolny inny odrębny strumień danych. Routery w sieci IntServ muszą być w stanie identyfikować i zarządzać tymi indywidualnymi przepływami.
  • Jawna Rezerwacja Zasobów: Zanim aplikacja zacznie wysyłać dane, musi najpierw zasygnalizować swoje wymagania sieci i zażądać rezerwacji zasobów (przepustowości i przestrzeni buforowej) na całej ścieżce od źródła do miejsca docelowego. Jest to analogiczne do rezerwacji konkretnego biletu lotniczego, co gwarantuje miejsce, a nie tylko pojawienie się na lotnisku z nadzieją na wejście na pokład.
  • Kontrola Przyjęć: Każdy router na ścieżce wykonuje kontrolę przyjęć. Gdy nadchodzi żądanie rezerwacji, router sprawdza, czy ma wystarczające zasoby, aby spełnić nowe żądanie, nie naruszając gwarancji już udzielonych istniejącym przepływom. Jeśli ma zasoby, akceptuje rezerwację; jeśli nie, żądanie jest odrzucane, a aplikacja jest powiadamiana, że pożądana jakość usługi jest niedostępna.

Rola RSVP (Protokół Rezerwacji Zasobów)

Mechanizmem sygnalizacyjnym używanym do dokonywania tych rezerwacji w architekturze IntServ jest . Proces ten działa następująco:

  1. Aplikacja wysyłająca wysyła komunikat RSVP `PATH` w kierunku miejsca docelowego. Komunikat ten podróżuje wzdłuż trasy określonej przez standardowe protokoły routingu i "oznacza szlak", pozwalając każdemu routerowi poznać ścieżkę powrotną do nadawcy.
  2. Gdy aplikacja odbierająca otrzyma komunikat `PATH`, odpowiada komunikatem RSVP `RESV` (Rezerwacja). Komunikat ten wraca tą samą ścieżką w kierunku nadawcy.
  3. Gdy komunikat `RESV` przechodzi przez każdy router w drodze powrotnej, router ten wykonuje kontrolę przyjęć. Jeśli router może obsłużyć żądanie zasobów, konfiguruje swój harmonogram pakietów, aby zapewnić gwarantowaną usługę dla tego przepływu i przekazuje komunikat `RESV` do następnego routera w górę ścieżki.
  4. Jeśli wszystkie routery na ścieżce zaakceptują rezerwację, ustanawiane jest gwarantowane połączenie od końca do końca, a aplikacja może zacząć wysyłać swoje dane z przewidywalnym poziomem usług.

Problem Skalowalności: Dlaczego IntServ Jest Rzadko Stosowany

Chociaż IntServ zapewnia najsilniejsze możliwe gwarancje QoS, ma jedną główną, krytyczną wadę: głęboki brak skalowalności. W dużej sieci, takiej jak internet, routery rdzeniowe obsługują miliony przepływów danych jednocześnie. Wymóg, aby każdy router utrzymywał stan (prowadził ewidencję rezerwacji) i wykonywał kontrolę przyjęć dla każdego pojedynczego przepływu, tworzy ogromne obciążenie obliczeniowe i pamięciowe. W miarę wzrostu sieci ten narzut staje się niemożliwy do utrzymania. Z tego powodu model IntServ prawie nigdy nie jest wdrażany w dużych sieciach publicznych i jest zwykle spotykany tylko w mniejszych, kontrolowanych środowiskach, takich jak prywatne sieci korporacyjne dla specjalistycznych zastosowań.

4. Zróżnicowane Usługi (DiffServ): Model Skalowalny

Model Zróżnicowanych Usług, czyli DiffServ, został opracowany w celu zapewnienia bardziej skalowalnego i łatwiejsego w zarządzaniu podejścia do QoS, rozwiązując krytyczne niedociągnięcia IntServ. Jego filozofią jest zapewnienie "miękkiego QoS", koncentrując się na priorytetyzacji i zróżnicowaniu, a nie na absolutnych gwarancjach. Zamiast zarządzać milionami pojedynczych przepływów, DiffServ grupuje ruch w małą, łatwą do zarządzania liczbę klas.

Podstawowe Koncepcje DiffServ

  • Klasyfikacja i Oznaczanie Ruchu:Inteligencja w modelu DiffServ jest przeniesiona na brzeg sieci. Pierwszy router, na który trafia przepływ ruchu (router brzegowy), jest odpowiedzialny za jego klasyfikację do predefiniowanej klasy na podstawie polityki (np. na podstawie źródłowego/docelowego adresu IP, numeru portu lub aplikacji). Router następnie "oznacza" pakiety tego przepływu, ustawiając wartość w nagłówku IP.
  • Pole DSCP: Oznaczanie to odbywa się w 6-bitowym polu w nagłówku IP. Wartość DSCP informuje wszystkie kolejne routery, jak ten pakiet powinien być traktowany.
  • Zachowania na Przeskok (Per-Hop Behaviors - PHB): Routery w rdzeniu sieci nie muszą wykonywać złożonej klasyfikacji ani utrzymywać stanu na przepływ. Po prostu patrzą na oznaczenie DSCP każdego pakietu i stosują odpowiadające mu . PHB to predefiniowany zestaw działań przesyłania.

Powszechne Zachowania na Przeskok (PHB)

Standardowe PHB obejmują:

  • Domyślne PHB (Best-Effort): Jest to standardowe traktowanie best-effort, zazwyczaj oznaczone DSCP 0.
  • Przyspieszone Przesyłanie (EF) PHB: Zaprojektowane dla ruchu o niskich stratach, opóźnieniach i jitterze, jak VoIP. Pakiety oznaczone wartością EF DSCP są zazwyczaj umieszczane w kolejce o ścisłym priorytecie, co zapewnia ich wysłanie przed każdym innym ruchem. Daje to wrażenie "wirtualnej linii dzierżawionej".
  • Zapewnione Przesyłanie (AF) PHB: To PHB definiuje cztery klasy usług, a w każdej klasie trzy różne priorytety odrzucania (niski, średni, wysoki). Pozwala to na bardziej szczegółowe zróżnicowanie. Na przykład, krytyczne dane biznesowe mogą otrzymać wyższą klasę AF niż ogólny ruch internetowy. W ramach tej klasy, w czasie przeciążenia, pakiety o wyższym priorytecie odrzucania zostaną porzucone jako pierwsze.

Zaleta Skalowalności

Genialność DiffServ polega na jego skalowalności. Routery rdzeniowe mają bardzo proste zadanie: sprawdzić oznaczenie DSCP i zastosować prosty PHB. Cała złożona praca klasyfikacji i oznaczania jest obsługiwana tylko raz na brzegu sieci. Eliminuje to wymóg utrzymywania stanu dla każdego przepływu w rdzeniu, co pozwala na skuteczne wdrażanie QoS w ogromnych sieciach, takich jak internet. DiffServ jest obecnie najszerzej implementowanym modelem QoS.

5. Podsumowanie Modeli QoS

CharakterystykaBest-EffortZintegrowane Usługi (IntServ)Zróżnicowane Usługi (DiffServ)
Gwarancja UsługiBrakTwarde Gwarancje (na przepływ)Miękkie Gwarancje (na klasę)
Główny MechanizmKolejkowanie FIFORezerwacja Zasobów (RSVP)Klasyfikacja i Priorytetyzacja (DSCP)
SkalowalnośćBardzo WysokaBardzo NiskaBardzo Wysoka
Złożoność Routera RdzeniowegoNiskaWysoka (utrzymuje stan na przepływ)Niska (implementuje proste PHB)
Typowe ZastosowanieDomyślny internet, dane niekrytyczneMałe, kontrolowane sieci prywatneSieci korporacyjne, szkielety ISP