(T) Metody klasyfikacji oraz oznaczania protokołu QoS*

Metody klasyfikacji oraz oznaczania protokołu QoS

Metody klasyfikacji oraz oznaczania

Wstęp do klasyfikacji (Classification)

  • Zanim funkcja QoS podejmie akcję taką jak Queuing (Kolejkowanie), Shaping (Kształtowanie) bądź Policing (Tworzenie polityk), musi zidentyfikować a następne podzielić nadchodzący ruch sieciowy na różne klasy, zgodnie ze specyfiką wskazanego ruchu sieciowego.
  • Klasyfikacja ruchu sieciowego, powinna odbywać się jak najbliżej źródła, określonego ruchu sieciowego.
  • W celu klasyfikacji ruchu sieciowego, zwykle używane są następujące deskryptory:
    • Internal: Grupy QoS.
    • Layer 1: Interfejsy fizyczne, pod-interfejsy, porty.
    • Layer 2: Adresy MAC oraz 802.1Q/p, bity CoS (Class of Services).
    • Layer 2,5: Bity eksperymentalne MPLS (EXP).
    • Layer 3: DSCP (Differentiated Services Code Points), IPP (IP Precedence), Source destination address.
    • Layer 4: Porty TCP bądź UDP.
    • Layer 7: NBAR2 (Next Generation Network-Based Application Recognition).
  • NBAR2 (Next Generation Network-Based Application Recognition) – Mechanizm umożliwiający klasyfikację wielu protokołów sieciowych oraz ponad 1000 aplikacji, przy wykorzystaniu informacji z warstw od trzeciej do siódmej. NBAR2 działa w dwóch następujących trybach:
    • Protocol Discovery – Umożliwia wykrywanie a następnie tworzenie w czasie rzeczywistym (Real-time) statystyk, wykorzystania poszczególnych aplikacji w sieci.
    • MQC (Modular QoS CLI) – Umożliwia klasyfikowanie poszczególnych aplikacji.

Wstęp do oznaczania (Marking)

  • Tworzenie zaawansowanych polityk QoS na każdym urządzeniu sieciowym, znacząco zwiększa nakład pracy administratora oraz ilość zadań jakie muszą wykonać poszczególne urządzenia sieciowe. Aby zmniejszyć ilość operacji, oprócz klasyfikacji, przełączniki dostępowe (access Layer) powinny oznaczać (Marking) nadchodzące pakiety. Dzięki takiemu podejściu inne urządzenia sieciowe nie muszą ponownie klasyfikować nadchodzącego ruchu sieciowego, a jedynie wykonywać operacje takie jak Queuing (Kolejkowanie), Shaping (Kształtowanie) bądź Policing (Tworzenie polityk).
  • Layer 2 – Oznaczanie (Marking) nadchodzących ramek ethernet-owych (802.1Q) w warstwie drugiej modelu OSI, następuje za pomocą pola TCI. Ramka ethernet-owa (802.1Q) dodaje dwa pola w nagłówku: TPID (Tag Protocol ID) oraz TCI (Tag Control Information).
    • Pole TPID – Informuje o zastosowaniu protokołu 802.1Q (0x8100).
    • Pole TCI składa się z trzech następujących komponentów:
      • PCP (Priority Code Point) – Pole umożliwia oznaczanie ramek ethernet-owych wartościami CoS od 0 od 7.
      • DEI (Drop Eligible Indicator) – Określa czy dana ramka może być porzucona (Domyślnie 0, nie porzucać)
      • VLAN ID (VLAN Identifier) – Identyfikuje sieci wirtualne VLAN.
  • Layer 3 – Oznaczanie (Marking) nadchodzących pakietów w warstwie trzeciej modelu OSI, następuje za pomocą pola ToS (Type of Service). Pole ToS składa się z ośmino-bitowej wartości, z której jedynie pierwsze trzy bity zwane IPP (IP Precedence) są wykorzystywane do oznaczania pakietów sieciowych, natomiast pozostała część nie jest obecnie używana. Trzy dostępne bity wartości ToS, dają zakres wartości od 0 do 7, z czego wartość 6 oraz 7 jest zarezerwowana.
    • Nowe standardy pola ToS (IPv4) oraz pola Traffic Class (IPv6), umożliwiają wykorzystanie pełnej ośmino-bitowej wartości DiffServ. Wartość DiffServ składa się z sześcio-bitowej wartości DSCP (Differentiated Services Code Point) oraz dwu-bitowej wartości ECN (Explicit Congestion Notification).
PCP Value / PriorityAcronymTraffic Type
0 (Lovest)BKBacground
1 (Default)BEBest effort
2EFExcellent effort
3CACritical application
4VIVideo with <100 ms latency
5VOVideo with <10 ms latency
6ICInternetwork control
7 (Highest)NCNetwork control
IEEE 802.1p CoS Definitions
Oznaczenia ramek ethernet-owych ulegają zatraceniu w połączeniach nie wspierających 802.1Q jak i w warstwie trzeciej.

DSCP (Differentiated Services Code Point)

  • Oznaczanie nadchodzących pakietów za pomocą pola DSCP, w przeciwieństwie do nagłówka ramki Ethernet-owej nie ulega przekształceniu przez całą drogę od nadawcy do odbiorcy, a tym samym jest bardziej trwałe. Ponad to pole DSCP zajmuje 6 Bitów pozwalając na zakodowanie64 wartości.
  • Pole DiffServ (DSCP) jest wykorzystywane do oznaczania pakietów zgodnie z ich klasyfikacją BA.
    • DiffServ BA (DiffServ Behavior Aggregates) stanowi zbiór pakietów z tą samą wartością DiffServ, przecinających łącze w tym samym kierunku. Pojedyncze DiffServ BA może tworzyć wiele aplikacji np. SSH, Telnet czy SNMP, połączonych razem pod wspólnym oznaczeniem DSCP.
    • PHB (Per-hop Behavior) to obserwowalne z zewnątrz zachowanie przekazywania (Forwarding). Przyspiesza (Expediting), opóźnia (Delaying) lub upuszcza (Dropping) zbiór pakietów z wykorzystaniem jednego bądź wielu mechanizmów funkcji QoS na zasadzie per-hop, w oparciu o wartość DSCP. PHB wyróżnia:
      • Class Seletctor (CS) PHB – Trzy pierwsze bity wartości DSCP są wykorzystywane w celu zachowania wstecznej kompatybilności z polem ToS (IPP). Trzy pierwsze bity wartości DSCP stanowi Class Selector Bit (IPP), przenoszący jedną z ośmiu dostępnych wartości od CS0 do CS7, pozostałe trzy bity stanowi CS (Class Selector) rozbudowujący funkcjonalność wartości DCSP. Urządzenia sieciowe wspierające jedynie pole ToS, bedą ignorowały pozostałe bity (CS).
      • Default Forwarding (DF) PHB – Wykorzystywany względem pakietów domyślnie klasyfikowanych (Best-effort) bądź nie wspierających funkcji QoS. Wartość DSCP DF wynosi 000000.
      • Assured Forwarding (AF) PHB – Gwarantuje określoną przepustowość względem klasy AF, umożliwiając dostęp do dodatkowej przepustowości, jeśli takowa jest dostępna. Pakiety AF PHB powinny być oznaczane w polu DSCP jako aaadd0. Z czego aaa określa bity od 5 do 7 klasy AF, natomiast dd0 określa prawdopodobieństwo porzucenia pakietu (Bity od 2 do 4. Bit 2 nie jest używany więc zawsze posiada wartość 0). Wartość dd jest wykorzystywana przez mechanizm WRED (Weighted Random Early Detection).
      • Expedited Forwarding (EF) PHB – Może być wykorzystany do zbudowania usługi end-to-end o niskiej utracie danych (Low Loss), małych opóźnieniach (Low Latency), niskich rozstrojach (Low Jitter) oraz gwarantowanej przepustowości (Assured Bandwidth). EF PHB gwarantuje utrzymanie przepustowość, zapewniając najniższe możliwe opóźnienia względem aplikacji na nie wrażliwych, poprzez wdrażanie kolejkowania o niskim opóźnieniu. Zapobiega również blokowaniu innych aplikacji tudzież klas, które nie używają metody EF PHB, poprzez kontrolę ruchu EF w sytuacji wystąpienia przeciążenia.
  • Scavenger Class – Ruch sieciowy z najniższym priorytetem wykorzystuje oznaczenie CS1.
  • Tablica Assured Forwarding (AF) PHB.
  • Tablica DSCP PHB.
Wartość DiffServ została opisana w referencji RFC 2475.
Wartość EF PHB została opisana w referencji RFC 3246.
Wartość AF PHB została opisana w referencji RFC 2597.
Drop Probability w referencji RFC 2597 nazywane jest Drop Precedence.

Strefy zaufane

  • Znając wartości jakimi oznaczany jest priorytetowy ruch sieciowy za pomocą pola DSCP, użytkownik końcowy może w sposób niekontrolowany oznaczać wysłane przez siebie pakiety za pomocą wartości mających lepsze parametry funkcji QoS. Aby zapobiec takim zabiegom administrator może wyznaczyć strefę zaufaną (Trust Boundary), w której oznaczenia DSCP będą brane pod uwagę przez funkcję QoS.
  • Strefa zaufana może znajdować się na przełącznikach warstwy dostępowej bądź telefonach VoIP-owych.

Pozostałe artykuły związane z protokołem QoS

PDFPRINT

Robert T Kucharski

Cisco Network Engineer in GPW.

Dodaj komentarz