QoS

Modele QoS

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

1. Modele QoS i ich zastosowanie

Pierwotny model IP przekazuje pakiety bez rezerwacji zasobów i bez rozróżniania wymagań aplikacji. Model Best-Effort wystarczał dla zastosowań takich jak e-mail i transfer plików. Wideokonferencje w wysokiej rozdzielczości, gry online oraz masowe kopie zapasowe w chmurze wykorzystują łącze w odmienny sposób, dlatego wspólna reguła obsługi nie opisuje wszystkich potrzeb.

Architektura QoS określa reguły klasyfikacji, priorytetyzacji i zarządzania ruchem w sieci. Model opisuje sposób uzyskiwania określonej obsługi dla aplikacji. Wyróżnia się domyślny model Best-Effort, model rezerwacji zasobów Zintegrowanych Usług (IntServ) oraz model klas Zróżnicowanych Usług (DiffServ). Modele różnią się zakresem parametrów, stanem utrzymywanym przez routery i sposobem reagowania na przeciążenie. Wybrany model określa, czy sieć rejestruje wymagania dla pojedynczego przepływu, czy dla agregatu ruchu.

2. Model Best-Effort

jest domyślną usługą sieci IP. Przekazuje pakiety zgodnie z dostępnymi zasobami i nie rezerwuje parametrów dla pojedynczego przepływu. Urządzenia mogą zmieniać sposób obsługi wraz z obciążeniem i konfiguracją.

Jak działa model Best-Effort

Prosta implementacja best-effort może używać kolejki "pierwszy na wejściu, pierwszy na wyjściu" (FIFO). Sam model nie narzuca jednak tego algorytmu. Pakiety są przekazywane zgodnie z dostępnymi zasobami i konfiguracją urządzenia, bez gwarancji przepustowości, opóźnienia ani dostarczenia. Inny harmonogram może ustalać kolejność według priorytetu lub bieżącego stanu kolejek.

  • Brak gwarancji: Nie ma gwarancji przepustowości, ochrony przed utratą pakietów ani przewidywalnego poziomu opóźnienia czy jittera.
  • Współdzielenie zasobów: Strumienie ruchu używają wspólnej pojemności łącza, a sposób jej podziału wynika z implementacji urządzenia. Brak rezerwacji pozwala urządzeniu przydzielać zasoby zgodnie z aktualną polityką.
  • Prostota i skalowalność: Model nie wymaga rezerwacji ani obsługi stanu każdego przepływu. Ogranicza to wymagania urządzeń i ułatwia pracę w dużych sieciach. Router może obsługiwać ruch bez sygnalizacji dla każdej sesji.

Ograniczenia modelu Best-Effort

Model pasuje do aplikacji tolerujących opóźnienie i jego zmienność, takich jak e-mail i standardowe przeglądanie stron korzystające z mechanizmów TCP. TCP może retransmitować brakujące dane, co chroni spójność strumienia kosztem czasu transferu. Aplikacje interaktywne czasu rzeczywistego potrzebują dodatkowych reguł obsługi. W Voice over IP pakiet dostarczony po właściwym fragmencie rozmowy nie poprawia odtwarzania. Zmienność parametrów best-effort utrudnia planowanie takiego ruchu.

3. Zintegrowane Usługi (IntServ)

Model Zintegrowanych Usług, często nazywany IntServ, opisuje obsługę z jawnymi i mierzalnymi parametrami dla poszczególnych przepływów aplikacji. Jego podstawą jest rezerwacja zasobów oraz kontrola przyjęcia nowych żądań. Każdy przepływ otrzymuje parametry odpowiednie dla wybranej klasy usługi.

Podstawowe koncepcje IntServ

  • Stan na przepływ: IntServ traktuje strumień danych aplikacji jako indywidualny przepływ. Przepływem może być rozmowa VoIP, sesja wideokonferencyjna lub inny odrębny strumień. Routery muszą identyfikować takie pakiety i przechowywać parametry przypisanej usługi. Do rozpoznania przepływu wykorzystuje się zwykle adresy źródłowe i docelowe oraz numery portów.
  • Jawna rezerwacja zasobów: Aplikacja sygnalizuje wymagania i żąda rezerwacji przepustowości oraz przestrzeni buforowej na całej ścieżce od źródła do celu. Urządzenia na ścieżce sprawdzają żądanie przed rozpoczęciem obsługi przepływu. Rezerwacja obejmuje również sposób obsługi kolejki i obliczenie opóźnienia.
  • 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. Router z dostępnymi zasobami akceptuje rezerwację. Przy braku zasobów żądanie jest odrzucane, a aplikacja otrzymuje informację o niedostępnej jakości usługi. Odrzucenie nowego żądania chroni rezerwacje już ustanowione.

Rola RSVP (Protokół Rezerwacji Zasobów)

Mechanizmem sygnalizacyjnym używanym do rezerwacji w architekturze IntServ jest . RSVP służy do kontroli sieci i nie przenosi danych aplikacji jak protokół transportowy. Używa stanu miękkiego, który wymaga okresowego odświeżania. Proces obejmuje komunikaty PATH i RESV:

  1. Aplikacja wysyłająca wysyła komunikat RSVP PATH w kierunku celu. Komunikat przechodzi trasą danych i powoduje zapisanie stanu ścieżki, który pozwala kierować RESV do nadawcy. PATH nie rezerwuje zasobów.
  2. Gdy odbiorca otrzyma PATH, wysyła komunikat RSVP RESV (Rezerwacja) w stronę nadawcy po zapisanej ścieżce.
  3. Każdy router otrzymujący RESV wykonuje kontrolę przyjęcia. Przy dostępnych zasobach aktualizuje harmonogram i stan rezerwacji, po czym przekazuje komunikat dalej. Odrzucenie na dowolnym routerze kończy ustanawianie rezerwacji.
  4. Po zaakceptowaniu rezerwacji przez wszystkie routery przepływ otrzymuje uzgodnioną usługę od końca do końca, a aplikacja może rozpocząć transmisję zgodną z profilem.

Skalowalność IntServ

IntServ zapewnia parametry dla pojedynczych przepływów, ale wymaga utrzymywania stanu i kontroli przyjęcia w routerach. Stan obejmuje parametry usługi oraz informacje potrzebne do obsługi danego przepływu. W dużej sieci, takiej jak internet, routery rdzeniowe obsługują dużą liczbę przepływów danych jednocześnie. Stan rezerwacji dla każdego przepływu zwiększa obciążenie pamięci i procesora. Odświeżanie komunikatów RSVP zwiększa również ruch sygnalizacyjny. Z tego powodu IntServ rzadko wdraża się w dużych sieciach publicznych. Częściej występuje w mniejszych, kontrolowanych środowiskach dla specjalistycznych zastosowań.

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

Model Zróżnicowanych Usług, czyli DiffServ, ogranicza stan przez grupowanie ruchu w klasy. Koncentruje się na priorytetyzacji i zróżnicowanym traktowaniu, bez rezerwacji dla każdego przepływu. Klasyfikacja i oznaczanie odbywają się na brzegu domeny, a PHB jest stosowane do agregatów ruchu w jej wnętrzu. Rdzeń domeny operuje na klasach zamiast na osobnych wpisach dla każdej aplikacji.

Podstawowe koncepcje DiffServ

  • Klasyfikacja i oznaczanie ruchu: Router brzegowy klasyfikuje ruch do zdefiniowanej klasy na podstawie polityki, na przykład adresu IP, numeru portu lub aplikacji. Następnie ustawia wartość pola DS w nagłówku IP. Na brzegu można także mierzyć ruch i zmienić oznaczenie pakietów spoza profilu.
  • Pole DSCP: Oznaczanie wykorzystuje 6-bitowy w polu DS nagłówka IP. Wartość wybiera PHB w domenie, której mapowanie obejmuje ten punkt kodowy. Oznaczenie pozostaje częścią nagłówka pakietu na kolejnych przeskokach w domenie, chyba że węzeł graniczny zmieni je zgodnie z polityką.
  • Zachowania na przeskok (Per-Hop Behaviors, PHB): Routery wewnątrz domeny mogą wybrać PHB na podstawie oznaczenia DSCP bez utrzymywania stanu każdego przepływu. obejmuje kolejkowanie, planowanie i obsługę przeciążenia. PHB opisuje obserwowalne traktowanie, a implementacja może korzystać z różnych algorytmów.

Powszechne zachowania na przeskok (PHB)

Standardowe PHB obejmują:

  • Domyślne przekazywanie (DF PHB) / Best-Effort: Jest to standardowe traktowanie best-effort, zazwyczaj oznaczone DSCP 0.
  • Przyspieszone Przesyłanie (EF) PHB: Przeznaczone dla ruchu wymagającego małych strat, opóźnienia i jittera, na przykład VoIP. Ścisła kolejka priorytetowa jest jedną z implementacji EF, lecz specyfikacja opisuje obserwowalne traktowanie, nie jeden algorytm planowania. Model usługi przypomina wirtualną linię dzierżawioną. Ruch EF wymaga ograniczania na brzegu domeny, aby nie zdominował innych klas.
  • Zapewnione Przesyłanie (AF) PHB: To PHB definiuje cztery klasy usług, a w każdej klasie trzy priorytety odrzucania: niski, średni i wysoki. Domena może przypisać dane o wysokim priorytecie do wybranej klasy. Podczas przeciążenia pakiety o wyższym priorytecie odrzucania w obrębie klasy są odrzucane wcześniej. Przydział przepustowości między klasami wynika z polityki domeny.

Skalowalność DiffServ

Routery wewnętrzne sprawdzają DSCP i wybierają PHB, a klasyfikacja oraz kondycjonowanie zwykle odbywają się na brzegu domeny. Ograniczenie stanu do agregatów ułatwia wdrażanie QoS w dużych sieciach. Rdzeń nie musi przechowywać osobnej rezerwacji dla każdego przepływu. Zakres zastosowania zależy od polityki i konfiguracji domeny.

5. Porównanie modeli QoS

CharakterystykaBest-EffortZintegrowane Usługi (IntServ)Zróżnicowane Usługi (DiffServ)
Zakres parametrów usługiBrak rezerwacjiParametry zależne od klasy (na przepływ)Zróżnicowane traktowanie (na klasę)
Główny MechanizmPrzekazywanie według dostępnych zasobówRezerwacja Zasobów (RSVP)Klasyfikacja i Priorytetyzacja (DSCP)
SkalowalnośćBardzo WysokaBardzo NiskaBardzo Wysoka
Złożoność Routera RdzeniowegoNiskaWysoka (utrzymuje stan na przepływ)Niższa (bez stanu na przepływ)
Typowe ZastosowanieDomyślny internet, dane niekrytyczneMałe, kontrolowane sieci prywatneSieci korporacyjne, szkielety ISP

Powiązane artykuły