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:
- Aplikacja wysyłająca wysyła komunikat RSVP
PATHw kierunku celu. Komunikat przechodzi trasą danych i powoduje zapisanie stanu ścieżki, który pozwala kierowaćRESVdo nadawcy.PATHnie rezerwuje zasobów. - Gdy odbiorca otrzyma
PATH, wysyła komunikat RSVPRESV(Rezerwacja) w stronę nadawcy po zapisanej ścieżce. - Każdy router otrzymujący
RESVwykonuje 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. - 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
| Charakterystyka | Best-Effort | Zintegrowane Usługi (IntServ) | Zróżnicowane Usługi (DiffServ) |
|---|---|---|---|
| Zakres parametrów usługi | Brak rezerwacji | Parametry zależne od klasy (na przepływ) | Zróżnicowane traktowanie (na klasę) |
| Główny Mechanizm | Przekazywanie według dostępnych zasobów | Rezerwacja Zasobów (RSVP) | Klasyfikacja i Priorytetyzacja (DSCP) |
| Skalowalność | Bardzo Wysoka | Bardzo Niska | Bardzo Wysoka |
| Złożoność Routera Rdzeniowego | Niska | Wysoka (utrzymuje stan na przepływ) | Niższa (bez stanu na przepływ) |
| Typowe Zastosowanie | Domyślny internet, dane niekrytyczne | Małe, kontrolowane sieci prywatne | Sieci korporacyjne, szkielety ISP |