QoS

Mechanizmy nadające priorytet wybranym typom ruchu sieciowego, np. głosowi lub wideo, aby zachować ich płynność przy obciążeniu sieci.

QoS (Quality of Service, czyli jakość usługi) to zestaw mechanizmów, które nadają priorytet wybranym typom ruchu w sieci, żeby ważne pakiety nie czekały w kolejce za mniej istotnymi. Łącze ma skończoną przepustowość, a gdy się zapcha, ktoś musi poczekać — QoS decyduje, kto. Zamiast traktować wszystko jednakowo (model best effort, czyli „dostarczę, jak się uda”), router rozpoznaje, że pakiet rozmowy VoIP albo wideokonferencji jest wrażliwy na opóźnienie i przepuszcza go przed pobieraniem dużego pliku.

Jak to działa

QoS opiera się na trzech krokach: klasyfikacji (rozpoznanie, do jakiej grupy należy pakiet — po porcie, protokole albo aplikacji), oznaczeniu i obsłudze w kolejkach. W sieciach IP najczęściej używa się modelu DiffServ, gdzie w nagłówku pakietu siedzi pole DSCP (6 bitów w bajcie ToS/Traffic Class). Wartość np. EF (Expedited Forwarding, DSCP 46) mówi urządzeniom po drodze: „ten pakiet ma jechać szybką ścieżką”. Routery i switche czytają to oznaczenie i kierują ruch do odpowiednich kolejek, stosując mechanizmy jak priority queuing, traffic shaping (wygładzanie) albo policing (przycinanie nadmiaru).

QoS zarządza czterema parametrami, które psują wrażenia użytkownika: opóźnieniem (latency), zmiennością opóźnienia (jitter), utratą pakietów i dostępną przepustowością. Głos i wideo nie znoszą jittera i opóźnień, za to przeżyją drobny ubytek pakietów — dlatego dostają najwyższy priorytet.

Przykład z praktyki

Na Linuksie ruchem kształtujesz przez tc (traffic control) z dyscyplinami kolejkowania. Klasyczny tc qdisc add dev eth0 root fq_codel włącza algorytm walczący z buforowaniem (bufferbloat). Na routerach Cisco zrobisz to politykami MQC: class-map łapie ruch, policy-map przypisuje gwarancje pasma, a service-policy wiesza to na interfejsie. W domu QoS ustawisz w panelu routera (często jako „prioritetyzacja gier” albo „WMM” w Wi-Fi).

Na co uważać

Najczęstszy mit: „włączę QoS i będę miał szybszy internet”. Nie — QoS nie dodaje przepustowości, tylko zarządza jej podziałem, gdy łącze jest pełne. Przy niewykorzystanym łączu nie robi prawie nic. Drugi błąd: oznaczenia DSCP mają sens tylko wtedy, gdy każde urządzenie po drodze je honoruje — operator zwykle czyści twoje znaczniki na swoim brzegu, więc QoS działa pewnie głównie wewnątrz twojej sieci. I nie priorytetyzuj wszystkiego, bo jak wszystko jest ważne, to nic nie jest.

Pojęcia powiązane: DSCP, DiffServ, traffic shaping, bufferbloat, latency, jitter, VoIP, przepustowość (bandwidth), best effort, fq_codel.