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.