Ruch sieciowy wchodzący do domeny DiffServ jest poddawany klasyfikacji i kondycjonowaniu. Klasyfikator ruchu może sprawdzać wiele różnych parametrów w przychodzących pakietach, takich jak adres źródłowy, adres docelowy lub typ ruchu i przypisywać poszczególne pakiety do określonej klasy ruchu. Klasyfikatory ruchu mogą honorować wszelkie oznaczenia DiffServ w odbieranych pakietach lub mogą zdecydować się na ignorowanie lub unieważnienie tych oznaczeń. W celu zapewnienia ścisłej kontroli nad wielkością i rodzajem ruchu w danej klasie, operator sieci może zdecydować się na nierespektowanie oznaczeń na wejściu do domeny DiffServ. Ruch w każdej klasie może być dodatkowo warunkowany poprzez poddanie go działaniu ograniczników prędkości, policerów ruchu lub kształtowników.
Zachowanie per-hop jest określane przez pole DS w nagłówku IP. Pole DS zawiera 6-bitową wartość DSCP. Jawne powiadamianie o zagęszczeniu (ECN) zajmuje 2 najmniej znaczące bity pola TOS IPv4 i pola klasy ruchu (TC) IPv6.
Teoretycznie sieć może mieć do 64 różnych klas ruchu przy użyciu 64 dostępnych wartości DSCP. Standardy RFC DiffServ zalecają, ale nie wymagają, określonych kodowań. Daje to operatorowi sieci dużą elastyczność w definiowaniu klas ruchu. W praktyce jednak większość sieci stosuje następujące, powszechnie zdefiniowane zachowania per-hop:
- Default Forwarding (DF) PHB – który jest typowym ruchem best-effort
- Expedited Forwarding (EF) PHB – dedykowany dla ruchu o niskich stratach i małych opóźnieniach
- Assured Forwarding (AF) PHB – daje pewność dostarczenia w określonych warunkach
- Class Selector PHBs – które zachowują kompatybilność wsteczną z polem precedencji IP.
Default ForwardingEdit
A default forwarding (DF) PHB jest jedynym wymaganym zachowaniem. Zasadniczo, każdy ruch, który nie spełnia wymagań żadnej z innych zdefiniowanych klas, używa DF. Zazwyczaj DF ma charakterystykę przekierowania best-effort. Zalecane DSCP dla DF wynosi 0.
Ekspediowane przekazywanieEdit
IETF definiuje zachowanie Expedited Forwarding (EF) w RFC 3246. EF PHB charakteryzuje się niskim opóźnieniem, niskimi stratami i niskim poziomem jittera. Charakterystyka ta jest odpowiednia dla głosu, wideo i innych usług czasu rzeczywistego. Ruch EF jest często ustawiany w kolejce o ścisłym priorytecie ponad wszystkimi innymi klasami ruchu. Ponieważ przeciążenie ruchu EF spowoduje opóźnienia w kolejce i wpłynie na tolerancję jittera i opóźnień w obrębie klasy, do ruchu EF można zastosować kontrolę przyjęć, porządkowanie ruchu i inne mechanizmy. Zalecanym DSCP dla EF jest 101110B (46 lub 2EH).
Voice AdmitEdit
IETF definiuje zachowanie Voice Admit w RFC 5865. PHB Voice Admit ma identyczną charakterystykę jak PHB Expedited Forwarding. Jednakże, ruch Voice Admit jest również dopuszczany przez sieć przy użyciu procedury Call Admission Control (CAC). Zalecany DSCP dla voice admit to 101100B (44 lub 2CH).
Assured ForwardingEdit
IETF definiuje zachowanie Assured Forwarding (AF) w RFC 2597 i RFC 3260. Assured Forwarding pozwala operatorowi zapewnić dostawę tak długo, jak ruch nie przekroczy pewnej subskrybowanej szybkości. Ruch, który przekracza subskrybowaną szybkość, jest narażony na większe prawdopodobieństwo porzucenia w przypadku wystąpienia zatoru.
Grupa zachowań AF definiuje cztery oddzielne klasy AF, przy czym cały ruch w obrębie jednej klasy ma ten sam priorytet. W ramach każdej klasy pakiety otrzymują pierwszeństwo zrzutu (wysoki, średni lub niski, gdzie wyższy priorytet oznacza więcej zrzutów). Połączenie klas i drop precedence daje dwanaście oddzielnych kodowań DSCP od AF11 do AF43 (patrz tabela).
Klasa 1 | Klasa 2 | Klasa 3 | Klasa 4 | |
---|---|---|---|---|
Low drop probability | AF11 (DSCP 10) 001010 | AF21 (DSCP 18) 010010 | AF31 (DSCP 26) 011010 | AF41 (DSCP 34) 100010 |
Med drop probability | AF12 (DSCP 12) 001100 | AF22 (DSCP 20) 010100 | AF32 (DSCP 28) 011100 | AF42 (DSCP 36) 100100 |
Wysokie prawdopodobieństwo upuszczenia | AF13 (DSCP 14) 001110 | AF23 (DSCP 22) 010110 | AF33 (DSCP 30) 011110 | AF43 (DSCP 38) 100110 |
Pewna miara priorytetu i proporcjonalnej sprawiedliwości jest zdefiniowana pomiędzy ruchem w różnych klasach. W przypadku wystąpienia zatorów między klasami, ruch w wyższej klasie jest traktowany priorytetowo. Zamiast stosować ścisłe kolejkowanie priorytetowe, prawdopodobnie będą stosowane bardziej zrównoważone algorytmy obsługi kolejek, takie jak kolejkowanie sprawiedliwe lub ważone kolejkowanie sprawiedliwe. Jeśli w danej klasie wystąpi przeciążenie, pakiety o wyższym priorytecie odrzucane są w pierwszej kolejności. Aby zapobiec problemom związanym z odrzucaniem ogonowym, często stosuje się bardziej zaawansowane algorytmy selekcji zrzutu, takie jak losowe wczesne wykrywanie.
Class SelectorEdit
Przed DiffServ, sieci IPv4 mogły używać pola IP precedence w bajcie TOS nagłówka IPv4 do oznaczania ruchu priorytetowego. Oktet TOS i IP precedens nie były szeroko stosowane. IETF zgodziła się na ponowne wykorzystanie oktetu TOS jako pola DS dla sieci DiffServ. W celu zachowania kompatybilności wstecznej z urządzeniami sieciowymi, które nadal używają pola Precedence, DiffServ definiuje Class Selector PHB.
Punkty kodowe Class Selector mają postać binarną „xxx000”. Pierwsze trzy bity są bitami priorytetu IP. Każda wartość priorytetu IP może być odwzorowana na klasę DiffServ. IP precedence 0 mapuje do CS0, IP precedence 1 do CS1, i tak dalej. Jeśli pakiet jest odbierany z routera nieświadomego DiffServ, który używał oznaczeń IP precedence, router DiffServ może nadal rozumieć kodowanie jako punkt kodowy Class Selector.
Szczegółowe zalecenia dotyczące użycia punktów kodowych Class Selector są podane w RFC 4594.
Wskazówki konfiguracyjneEdit
RFC 4594 oferuje szczegółowe i specyficzne zalecenia dotyczące użycia i konfiguracji punktów kodowych.
Klasa usługi | DSCP Name | DSCP Value | Conditioning at DS edge | PHB | Queuing | AQM | |
---|---|---|---|---|---|---|---|
Kontrola sieci | CS6 | 48 | Patrz punkt 3.1 | RFC 2474 | Rate | Tak | |
Telefonia | EF | 46 | Policja używająca sr+bs | RFC 3246 | Priorytet | Nie | |
Sygnalizacja | CS5 | 40 | Police using sr+bs | RFC 2474 | Rate | Nie | |
Konferencje multimedialne | AF41, AF42, AF43 | 34, 36, 38 | Używanie dwukrotnego, trójkolorowego markera (takiego jak RFC 2698) | RFC 2597 | Rate | Tak na DSCP | |
Real-time interactive | CS4 | 32 | Police using sr+bs | RFC 2474 | Rate | No | |
Multimedia streaming | AF31, AF32, AF33 | 26, 28, 30 | Używanie dwóch prędkości, trzy-kolorowego znacznika (takiego jak RFC 2698) | RFC 2597 | Stawka | Tak na DSCP | |
Broadcast wideo | CS3 | 24 | Police using sr+bs | RFC 2474 | Rate | Nie | |
Low- latency data | Low-dane o niskiej latencji | AF21, AF22, AF23 | 18, 20, 22 | Używanie dwóch prędkości, trzy-kolorowego znacznika (takiego jak RFC 2698) | RFC 2597 | Rate | Yes per DSCP |
OAM | CS2 | 16 | Police using sr+bs | RFC 2474 | Rate | Tak | |
High-dane o dużej przepustowości | AF11, AF12, AF13 | 10, 12, 14 | Używanie dwóch prędkości, trzy-kolorowego znacznika (takiego jak RFC 2698) | RFC 2597 | Rate | Tak na DSCP | |
Standard | DF | 0 | Nie dotyczy | RFC 2474 | Rate | Tak | |
Low-priority data | CS1 | 8 | Nie dotyczy | RFC 3662 | Rate | Yes |