1. Skalowalność mechanizmów QoS
Modele QoS w sieciach IP różnią się zakresem gwarancji oraz ilością stanu utrzymywanego przez urządzenia. Model Best-Effort skaluje się łatwo, ponieważ nie rezerwuje zasobów dla przepływów. Model Zintegrowanych Usług (IntServ) używa sygnalizacji, na przykład RSVP, i utrzymuje stan rezerwacji dla poszczególnych przepływów. Każdy router na ścieżce musi wtedy przechowywać informacje o tych przepływach, co utrudnia zastosowanie IntServ w sieciach z dużą liczbą jednoczesnych przepływów.
Architektura rozwiązuje ten problem przez agregowanie ruchu według klas. Ruch o podobnych wymaganiach otrzymuje wspólne oznaczenie, a węzły domeny stosują do takiej klasy określone zachowanie. Klasyfikacja i kondycjonowanie odbywają się zwykle na granicy domeny, natomiast w rdzeniu nie trzeba utrzymywać stanu dla każdego przepływu aplikacji. Rozwiązanie ogranicza złożoność urządzeń rdzeniowych bez usuwania reguł zarządzania ruchem.
2. Główne komponenty architektury DiffServ
Model DiffServ rozdziela zadania między węzły graniczne domeny i węzły wewnętrzne. Węzły graniczne klasyfikują oraz kondycjonują ruch, a węzły wewnętrzne wybierają Zachowanie na Przeskok (PHB) na podstawie pola DS. Do opisu tego podziału służą pole DSCP oraz zestaw PHB.
A. Oznaczanie Pakietów: Pole DSCP
Pole DS zastąpiło wcześniejsze definicje 8-bitowego oktetu Type of Service (ToS) w nagłówku IPv4 oraz oktetu Traffic Class w IPv6. Sześć bitów pola tworzy DSCP, a dwa pozostałe bity były w RFC 2474 oznaczone jako CU. RFC 3168 wykorzystał te dwa bity do utworzenia pola ECN.
- Differentiated Services Code Point (DSCP): Pierwsze 6 bitów tego pola jest zdefiniowane jako . Wartość DSCP to kod numeryczny reprezentujący klasę usługi pakietu. Węzeł brzegowy ustawia tę wartość, gdy pakiet wchodzi do domeny DiffServ. Węzły wewnętrzne odczytują ją, aby określić sposób obsługi pakietu.
- Jawne Powiadamianie o Przeciążeniu (ECN): Dwa ostatnie bity pola DS tworzą pole ECN. Wartości ECT(0) i ECT(1) oznaczają zdolność transportu do ECN, a CE oznacza przeciążenie. Router może ustawić CE zamiast odrzucenia pakietu, gdy transport i urządzenia na ścieżce obsługują ECN.
Oznaczenie DSCP wybiera PHB według mapowania obowiązującego w danej domenie. Węzeł graniczny może zmienić oznaczenie, a kondycjoner może mierzyć, kształtować lub odrzucać ruch zgodnie z profilem. Samo pole DS nie zastępuje polityki domeny.
B. Zachowania na Przeskok (Per-Hop Behaviors - PHB)
to określone traktowanie, jakie router rdzeniowy stosuje do pakietu na podstawie jego oznaczenia DSCP. PHB to opis zachowania przesyłania, jakie pakiet otrzyma na każdym "przeskoku" (routerze) na swojej ścieżce. PHB opisuje zachowanie obserwowalne z zewnątrz, na przykład małe opóźnienie pakietu, i nie narzuca konkretnej implementacji wewnętrznej, na przykład kolejki numer 3. Ta abstrakcja pozwala różnym producentom routerów implementować PHB na swój własny sposób, o ile wynikowe zachowanie przesyłania jest spójne.
Węzeł wewnętrzny używający klasyfikatora BA nie musi ponownie analizować źródła, celu ani numerów portów pakietu. Może wykonać następujące kroki:
- Spójrz na 6-bitową wartość DSCP w nagłówku IP pakietu.
- Zastosuj odpowiadające, wstępnie skonfigurowane PHB (co przekłada się na określone działanie kolejkowania i harmonogramowania).
- Prześlij pakiet dalej.
Ograniczenie stanu w rdzeniu wspiera skalowalność DiffServ.
3. Granica Sieci DiffServ: Miejsce Egzekwowania Polityki
Granica sieci DiffServ, zazwyczaj przy routerze brzegowym, jest miejscem, gdzie odbywa się znaczna część klasyfikacji i kondycjonowania ruchu. Urządzenia na tej granicy dostosowują ruch przychodzący do polityk QoS domeny. Kondycjoner ruchu może zawierać klasyfikator, miernik, znacznik, kształtownik lub element odrzucający pakiety.
- Klasyfikator:Klasyfikator jest odpowiedzialny za sortowanie przychodzących pakietów do klas ruchu. Sprawdza on różne pola w nagłówku pakietu, takie jak adresy IP źródłowe/docelowe, numery portów źródłowych/docelowych oraz typ protokołu, aby określić, do której klasy usługi należy dany pakiet. Na przykład, klasyfikator może być skonfigurowany do identyfikowania całego ruchu do i z określonego serwera VoIP jako należącego do klasy "Głos".
- Marker (Znacznik):Gdy pakiet zostanie sklasyfikowany, marker (lub re-marker) ustawia pole DSCP w nagłówku IP na wartość odpowiadającą tej klasie. Na przykład, wszystkie pakiety sklasyfikowane jako "Głos" mogą być oznaczane wartością DSCP dla Przyspieszonego Przesyłania (Expedited Forwarding).
- Miernik: Miernik mierzy szybkość sklasyfikowanego ruchu w czasie. Sprawdza, czy przepływ ruchu jest zgodny z predefiniowanym profilem ruchu (np. średnią szybkością i dopuszczalnym rozmiarem impulsu).
- Policer/Shaper: Na podstawie pomiaru z miernika, policer lub shaper podejmuje działania wobec pakietów, które nie pasują do profilu (przekraczają uzgodnioną szybkość). Policer zazwyczaj albo odrzuca pakiety spoza profilu, albo zmienia ich oznaczenie na niższą wartość DSCP. Shaper, w przeciwieństwie do niego, buforuje nadmiarowe pakiety i opóźnia je, aby wygładzić przepływ ruchu.
4. Standaryzowane zachowania na przeskok (PHB)
IETF zdefiniowało kilka powszechnych PHB, aby urządzenia różnych producentów mogły stosować zgodne mapowania DSCP i zachowania przesyłania.
Domyślne przekazywanie (DF PHB) / Best-Effort
Jest to podstawowe traktowanie przesyłania, zgodne z domyślną obsługą pakietów. Zwykle wybiera się dla niego wartość DSCP 0. RFC 2474 nie narzuca algorytmu kolejki, dlatego implementacja może używać FIFO lub innego mechanizmu zgodnego z lokalną polityką.
Przyspieszone Przesyłanie (EF) PHB
PHB EF, zdefiniowane w RFC 3246, opisuje traktowanie dla ruchu wymagającego małego opóźnienia, małego jittera i małej utraty pakietów. Model usługi przypomina parametrami wirtualną linię dzierżawioną i może być używany przez Voice over IP.
- Właściwości: PHB EF określa warunki obsługi z małym opóźnieniem, jitterem i stratami, gdy ruch spełnia uzgodniony profil oraz dostępne są wymagane zasoby.
- Mechanizm: Ścisła jest jedną z implementacji EF. Specyfikacja PHB opisuje obserwowalne tempo obsługi i nie narzuca jednego algorytmu planowania.
- Oznaczenie DSCP: Zalecana wartość DSCP dla ruchu EF to 46 (binarnie
101110). - Policyjność: Ruch EF należy ograniczać na brzegu domeny, aby jego zagregowana szybkość nie przekroczyła skonfigurowanego limitu. Ogranicza to ryzyko przeciążenia i blokowania pozostałych klas ruchu.
Zapewnione Przesyłanie (AF) PHB
PHB AF, zdefiniowane w RFC 2597, porządkuje obsługę ruchu w czterech klasach oraz poziomach pierwszeństwa odrzucania. Taki podział pozwala domenie ustalić różne zasady przydziału zasobów i reagowania na przeciążenie.
- Klasy i Priorytety Odrzucania: Model AF definiuje cztery niezależne klasy AF (Klasa 1, 2, 3 i 4). W każdej klasie istnieją trzy różne priorytety odrzucania (Niski, Średni i Wysoki). Tworzy to siatkę 12 możliwych traktowań.
- Mechanizm: Klasa AF może służyć do przydziału przepustowości zgodnie z polityką domeny. RFC 2597 pozostawia tę alokację konfiguracji sieci. Priorytet odrzucania w ramach klasy jest używany przez mechanizmy . W czasie przeciążenia pakiety o wyższym priorytecie odrzucania, na przykład AF13, są odrzucane przed pakietami o niższym priorytecie odrzucania, na przykład AF11, w tej samej klasie.
- Oznaczenie DSCP: Oznaczenia AF podążają za wzorcem. Nazwa to
AFcy, gdziecto numer klasy (1-4), ayto priorytet odrzucania (1=Niski, 2=Średni, 3=Wysoki). Wartość DSCP jest z tego wyprowadzana. Na przykładAF21(Klasa 2, Niski Priorytet Odrzucania) odpowiada wartości DSCP 18 (binarnie010010), podczas gdyAF23(Klasa 2, Wysoki Priorytet Odrzucania) odpowiada wartości DSCP 22 (binarnie010110).
Class Selector (CS) PHB
PHB Selektora Klasy to specjalny zestaw wartości DSCP, które są zaprojektowane dla zgodności wstecznej ze starszym polem IP Precedence. Pierwsze trzy bity wartości CS odpowiadają starym wartościom IP Precedence, a ostatnie trzy bity są zerami. Na przykład IP Precedence 5 odpowiada Selektorowi Klasy CS5, który ma wartość DSCP 40 (binarnie 101000).
5. Zastosowanie modelu DiffServ
Model Zróżnicowanych Usług przenosi klasyfikację i kondycjonowanie na granicę domeny, a PHB stosuje do agregatów ruchu w węzłach wewnętrznych.
- Skalowalność: Agregowanie ruchu do klas ogranicza stan wymagany w routerach rdzeniowych. Taki model może działać w dużych domenach, w których liczba przepływów przekracza możliwości utrzymywania osobnych rezerwacji.
- Elastyczność: Połączenie klasyfikacji, oznaczania i różnych PHB zapewnia elastyczny zestaw narzędzi, który administratorzy sieci mogą używać do wdrażania szerokiego zakresu polityk QoS dostosowanych do ich specyficznych potrzeb.
- Interoperacyjność: Ustandaryzowane pole DSCP pozwala urządzeniom różnych producentów wybierać PHB, gdy domeny uzgodnią mapowania punktów kodowych i reguły kondycjonowania.
DiffServ korzysta z agregacji klas i PHB, co upraszcza wdrażanie zróżnicowanej obsługi ruchu w dużych sieciach IP. Nie zapewnia matematycznych gwarancji właściwych dla usługi gwarantowanej IntServ.