Bufferbloat – dlaczego ping rośnie podczas pobierania plików i jak temu zapobiec

Łącze światłowodowe 600 Mb/s, test prędkości wygląda wzorowo, a mimo to po uruchomieniu kopii zapasowej rozmowa na Teams zaczyna się rwać. W grze postać reaguje z opóźnieniem, ping rośnie z 20 do 300 ms, a strony otwierają się tak, jakby internet był przeciążony. Po zatrzymaniu pobierania wszystko natychmiast wraca do normy.

Problemem nie musi być słaby zasięg Wi-Fi, serwer gry ani operator. Często winne są zbyt długie kolejki pakietów, czyli bufferbloat. Router lub modem próbuje nie zgubić danych, więc magazynuje je w buforze. Gdy łącze zostaje w pełni wykorzystane, małe i pilne pakiety — głos, DNS, sterowanie grą, potwierdzenia TCP — czekają za megabajtami pobieranego pliku.

Wysoka przepustowość nie gwarantuje niskiego opóźnienia. Łącze może jednocześnie osiągać 900 Mb/s i fatalnie obsługiwać wideokonferencję. Dlatego diagnozy nie należy zaczynać od kolejnego zwykłego speedtestu. Trzeba sprawdzić, jak sieć zachowuje się pod pełnym obciążeniem, a następnie przejąć kontrolę nad kolejką w miejscu, w którym faktycznie powstaje wąskie gardło.

Czym jest bufferbloat i gdzie powstają kolejki pakietów

Każde urządzenie sieciowe ma bufory, w których tymczasowo przechowuje pakiety czekające na wysłanie. Sam bufor nie jest błędem. Bez niego krótkie skoki ruchu powodowałyby niepotrzebne straty danych. Problem zaczyna się wtedy, gdy bufor jest zbyt duży lub zarządzany prymitywną metodą FIFO — pierwszy pakiet wchodzi, pierwszy wychodzi, niezależnie od tego, czy należy do pobierania aktualizacji, czy do rozmowy głosowej.

Najprostszy przykład:

  • łącze wysyła dane z prędkością 10 Mb/s,
  • w kolejce zgromadziło się 5 MB danych,
  • opróżnienie takiego bufora zajmie około 4 sekund,
  • każdy nowy pakiet głosowy lub gamingowy może czekać właśnie za tą kolejką.

W domowej sieci kolejki najczęściej powstają w kilku miejscach:

  • na wyjściu WAN domowego routera, szczególnie przy wolnym uploadzie;
  • w modemie kablowym, terminalu ONT albo urządzeniu operatora;
  • w routerze dostarczonym przez operatora;
  • na interfejsie Wi-Fi, gdy wiele urządzeń konkuruje o czas antenowy;
  • w modemie LTE lub 5G, gdzie dostępna przepustowość zmienia się z sekundy na sekundę;
  • na komputerze albo serwerze wykonującym intensywną synchronizację danych.

Najbardziej zdradliwy jest zwykle upload. W ofertach domowych nadal spotyka się łącza 300/50, 600/100 czy 1000/300 Mb/s. Wysłanie dużego pliku do chmury potrafi więc nasycić kanał wychodzący znacznie szybciej niż pobieranie kanał przychodzący. W tej samej kolejce czekają wtedy potwierdzenia TCP potrzebne do sprawnego pobierania danych. Skutek jest podwójny: rośnie ping i jednocześnie spada responsywność ruchu przychodzącego.

Bufferbloat nie oznacza po prostu wysokiego pingu. Liczy się przyrost opóźnienia pod obciążeniem. Jeżeli bez ruchu ping do stabilnego serwera wynosi 18 ms, a podczas pobierania rośnie do 35 ms, sytuacja jest dobra. Jeżeli rośnie do 180, 400 albo 1000 ms, kolejka jest zdecydowanie za długa.

Praktyczne progi oceny przyrostu opóźnienia:

  • do 15 ms — bardzo dobry wynik;
  • 15–30 ms — wynik dobry, zwykle bez problemów w rozmowach i grach;
  • 30–60 ms — rezultat przeciętny, pod dużym obciążeniem mogą pojawić się krótkie zakłócenia;
  • 60–100 ms — bufferbloat jest wyraźny;
  • powyżej 100 ms — rozmowy, zdalny pulpit i gry będą regularnie odczuwać przeciążenie;
  • kilkaset milisekund lub więcej — kolejki praktycznie przejęły kontrolę nad łączem.

Trzeba również odróżnić bufferbloat od problemów z Wi-Fi. Jeżeli ping do samego routera, na przykład adresu 192.168.1.1, skacze podczas testu ze stabilnych 1–3 ms do 50–200 ms, najpierw należy zająć się siecią bezprzewodową. SQM uruchomione na WAN nie naprawi zakłóconego kanału radiowego, słabego sygnału ani przeciążonego punktu dostępowego.

Nie każdy wzrost pingu oznacza też kolejkę po stronie użytkownika. Gdy opóźnienie jest wysokie już bez obciążenia, przyczyną może być daleka trasa do serwera, przeciążenie sieci operatora, słaby sygnał komórkowy albo awaria. Bufferbloat rozpoznaje się przede wszystkim po tym, że opóźnienie gwałtownie rośnie dopiero po nasyceniu łącza.

Jak prawidłowo przeprowadzić test bufferbloat

Test wykonany przypadkowo przez Wi-Fi częściej mierzy bałagan w mieszkaniu niż jakość zarządzania kolejką. Pierwszy pomiar powinien odbyć się na komputerze podłączonym kablem Ethernet bezpośrednio do głównego routera.

Przed testem:

  • wyłącz VPN;
  • zatrzymaj synchronizację OneDrive, Google Drive, iCloud i kopie zapasowe;
  • zamknij programy P2P oraz aktualizacje gier;
  • odłącz dodatkowe routery, repeatery i zestawy mesh, jeżeli da się to zrobić bez przebudowy sieci;
  • upewnij się, że karta sieciowa zestawiła połączenie 1 Gb/s lub 2,5 Gb/s;
  • wykonaj co najmniej trzy pomiary o różnych porach.

Jednorazowy wynik nie wystarcza. Łącza kablowe i mobilne potrafią zmieniać parametry w zależności od obciążenia stacji lub segmentu sieci. Również serwer testowy może w danej chwili nie nadążać.

Najwygodniej użyć testu pokazującego osobno:

  • latency idle — opóźnienie bez obciążenia;
  • download latency — opóźnienie podczas pobierania;
  • upload latency — opóźnienie podczas wysyłania;
  • przepustowość pobierania i wysyłania;
  • jitter;
  • straty pakietów.

Dobrym punktem wyjścia są testy typu Waveform Bufferbloat Test, LibreQoS Internet Quality Test, Cloudflare Speed Test albo rozbudowany test Ookla pokazujący opóźnienie pod obciążeniem. Ocena literowa jest pomocna, ale ważniejsze są wartości w milisekundach. Dwa narzędzia mogą inaczej obliczać końcową notę, mimo podobnych pomiarów.

Wynik należy zapisać w prostym układzie:

  • ping bez obciążenia: 19 ms;
  • ping podczas pobierania: 146 ms;
  • ping podczas wysyłania: 387 ms;
  • download: 585 Mb/s;
  • upload: 96 Mb/s.

Taki rezultat wskazuje, że największy problem występuje na uploadzie. Nie ma sensu zaczynać od reguł priorytetu dla konsoli. Najpierw trzeba skrócić kolejkę na kanale wychodzącym.

Test ręczny: ping równolegle ze speedtestem

Automatyczny test warto potwierdzić ręcznie. W systemie Windows można uruchomić:

ping -t 1.1.1.1

W macOS lub Linuksie:

ping 1.1.1.1

Następnie należy rozpocząć pełny test prędkości. Obserwujemy nie tylko średnią, lecz także:

  • maksymalny ping;
  • liczbę nagłych skoków;
  • straty pakietów;
  • różnicę między fazą downloadu i uploadu;
  • czas powrotu do normalnego opóźnienia po zakończeniu testu.

Dobrze zarządzana kolejka podniesie ping zwykle o kilkanaście lub kilkadziesiąt milisekund. Źle zarządzana może dodać kilkaset milisekund, a po zakończeniu transferu opróżniać się jeszcze przez kilka sekund.

Dodatkowo warto uruchomić drugi ping do routera:

ping -t 192.168.1.1

Interpretacja jest prosta:

  • ping do routera stabilny, ping do internetu rośnie — problem leży na WAN lub dalej w sieci operatora;
  • oba pingi rosną — podejrzane jest Wi-Fi, przeciążenie procesora routera albo lokalna kolejka;
  • ping do routera gubi pakiety — najpierw trzeba naprawić sieć lokalną;
  • opóźnienie rośnie głównie przy uploadzie — najważniejsza będzie kontrola wysyłania;
  • opóźnienie rośnie głównie przy downloadzie — potrzebne jest kształtowanie ruchu przychodzącego lub kontrola kolejki po stronie urządzenia operatora.

Testuj warunki, które rzeczywiście powodują problem

Syntetyczny test nie zawsze odtwarza zachowanie aplikacji. Po podstawowym pomiarze trzeba sprawdzić rzeczywisty scenariusz:

  1. rozpocząć rozmowę głosową lub wejść na serwer gry;
  2. uruchomić pobieranie dużego pliku;
  3. rozpocząć wysyłanie pliku do chmury;
  4. obserwować ping, jitter i jakość dźwięku;
  5. powtórzyć próbę po włączeniu SQM.

Dla rozmów głosowych stabilność jest często ważniejsza niż najniższa wartość średnia. Ping 25–35 ms bez dużych odchyleń będzie przyjemniejszy niż wynik wahający się od 12 do 150 ms. Ten drugi przypadek oznacza wysoki jitter, który powoduje urywanie sylab i nieregularne reakcje w grze.

Na łączach LTE i 5G test należy powtórzyć przy różnych parametrach radiowych i porach dnia. Ustawienie limitu na podstawie nocnego wyniku 300 Mb/s nie pomoże, jeżeli wieczorem modem osiąga tylko 80 Mb/s. Statyczny limit SQM musi być niższy od realnej, chwilowo dostępnej przepustowości. Przy bardzo zmiennym łączu komórkowym oznacza to kompromis albo zastosowanie rozwiązania z dynamicznym dostosowaniem prędkości.

Jak ograniczyć bufferbloat za pomocą SQM, QoS i ustawień routera

Najwyższy priorytet ma SQM, czyli Smart Queue Management. Nie klasyczny QoS oparty wyłącznie na oznaczaniu aplikacji, nie ręczne przydzielenie konsoli „najwyższego priorytetu” i nie zakup routera z napisem gamingowym. Najpierw trzeba sprawić, aby kontrolowana kolejka znajdowała się na własnym routerze, a nie w modemie operatora.

Mechanizm działa przez ustawienie przepustowości nieco niższej od faktycznej prędkości łącza. Dzięki temu to router staje się wąskim gardłem i może rozsądnie decydować, które pakiety wysłać, a które opóźnić lub odrzucić.

Zacznij od 90–95 procent realnej przepustowości

Jeżeli stabilny pomiar pokazuje 600 Mb/s pobierania i 100 Mb/s wysyłania, rozsądne wartości początkowe wynoszą:

  • download: 540–570 Mb/s;
  • upload: 90–95 Mb/s.

Najczęściej zaczynam od około 90 procent, wykonuję ponowny test i stopniowo podnoszę limit. Ustawienie 99 procent zwykle wygląda atrakcyjnie, ale pozostawia zbyt mały margines na wahania przepustowości, narzut protokołów i niedokładność pomiaru.

Procedura strojenia:

  1. ustaw 90 procent najniższej powtarzalnej prędkości;
  2. przeprowadź trzy testy pod obciążeniem;
  3. jeżeli przyrost pingu pozostaje poniżej 20–30 ms, zwiększ limit o 2–3 punkty procentowe;
  4. gdy opóźnienie wyraźnie wzrośnie, wróć do ostatniego stabilnego ustawienia;
  5. osobno dostrój download i upload.

Na łączu 1000/300 Mb/s może się okazać, że router obsłuży CAKE tylko do 500–700 Mb/s. Wtedy problemem nie jest konfiguracja, lecz wydajność procesora. SQM wymaga przetwarzania każdego pakietu, a sprzętowe przyspieszanie NAT często nie może działać równocześnie z pełnym kształtowaniem ruchu.

Objawy zbyt słabego routera:

  • procesor osiąga 100 procent podczas testu;
  • prędkość zatrzymuje się znacznie poniżej ustawionego limitu;
  • ping rośnie mimo poprawnej konfiguracji;
  • interfejs administracyjny zaczyna reagować z opóźnieniem;
  • po wyłączeniu SQM przepustowość natychmiast wraca.

Przy łączach gigabitowych trzeba liczyć się z zakupem mocniejszego urządzenia. Małe routery i terminale x86 kosztują zazwyczaj około 400–1200 zł, zależnie od procesora, liczby portów 2,5 GbE i obecności Wi-Fi. Nie jest to jednak obowiązkowy wydatek. Na początku warto sprawdzić, czy obecny router ma CAKE, FQ-CoDel albo funkcję Adaptive QoS z kontrolą pasma.

CAKE i FQ-CoDel: dwa sensowne wybory

Najczęściej wybierane algorytmy to:

  • CAKE — łączy kształtowanie pasma, aktywne zarządzanie kolejką, rozdzielanie strumieni i mechanizmy sprawiedliwości między urządzeniami;
  • FQ-CoDel — rozdziela ruch na strumienie i kontroluje czas przebywania pakietów w kolejce, przy mniejszym narzucie obliczeniowym.

W domowej sieci CAKE jest zwykle najlepszym pierwszym wyborem. Dobrze radzi sobie z sytuacją, w której jeden komputer uruchamia wiele połączeń, a inne urządzenia potrzebują niewielkiego, lecz regularnego pasma. FQ-CoDel ma sens na słabszym sprzęcie lub w konfiguracjach, w których osobny mechanizm odpowiada już za kształtowanie przepustowości.

W OpenWrt typowa konfiguracja obejmuje pakiety sqm-scripts i luci-app-sqm, interfejs WAN oraz skrypt piece_of_cake.qos. Bardziej rozbudowany layer_cake.qos wykorzystuje klasy DiffServ, ale nie powinien być pierwszym krokiem. Jeżeli podstawowy CAKE nie utrzymuje krótkiej kolejki, dodatkowe klasy ruchu tylko utrudnią diagnozę.

Przy konfiguracji trzeba wybrać właściwy interfejs. Zależnie od routera może to być wan, pppoe-wan, eth1, eth0.2 albo inne urządzenie logiczne. Błędny wybór daje charakterystyczny efekt: SQM jest formalnie włączone, ale wynik testu w ogóle się nie zmienia.

Narzut PPPoE, VLAN i technologii dostępowej

Na części polskich łączy światłowodowych i VDSL używany jest PPPoE, często razem z tagowaniem VLAN. Każda ramka zawiera dodatkowe nagłówki, które również zajmują pasmo. Jeżeli SQM ich nie uwzględni, rzeczywisty ruch może przekroczyć przepustowość łącza mimo poprawnie wyglądającego limitu.

W praktyce ustawienie narzutu zależy od:

  • PPPoE;
  • VLAN 802.1Q;
  • Ethernetu;
  • ATM lub PTM w sieci xDSL;
  • sposobu liczenia ramek przez urządzenie operatora;
  • minimalnego rozmiaru pakietu na danej warstwie.

Nie należy kopiować przypadkowej wartości z forum bez sprawdzenia technologii łącza. Dla części konfiguracji PPPoE stosuje się narzut liczony w okolicach kilkudziesięciu bajtów, ale VDSL przez PTM i starsze ADSL przez ATM wymagają innego modelu. Błędne ustawienie może albo pozostawić bufferbloat, albo niepotrzebnie ograniczyć prędkość.

Jeżeli dokumentacja operatora nie podaje szczegółów, praktycznym rozwiązaniem jest pozostawienie kilku procent większego marginesu w limicie. Utrata 10–20 Mb/s na łączu 600 Mb/s jest mniej dotkliwa niż losowe skoki pingu podczas każdej transmisji.

QoS pomaga dopiero po opanowaniu kolejki

Klasyczny QoS przydziela priorytety urządzeniom, portom lub typom ruchu. Może być przydatny, ale nie zastępuje aktywnego zarządzania kolejką. Router, który nadal pozwala buforowi rosnąć przez pół sekundy, nie stanie się responsywny tylko dlatego, że oznaczy pakiety konsoli jako „gaming”.

QoS ma sens, gdy:

  • trzeba ograniczyć komputer wykonujący kopie zapasowe;
  • telefon VoIP ma otrzymać pierwszeństwo przed ruchem masowym;
  • sieć gościnna nie może zużywać całego uploadu;
  • domowe urządzenie prowadzi transmisję na żywo;
  • kilka gospodarstw lub lokali korzysta z jednego łącza.

Nie warto natomiast ręcznie tworzyć kilkudziesięciu reguł dla gier. Porty i adresy serwerów zmieniają się, aplikacje używają szyfrowania, a część ruchu przechodzi przez CDN. Reguła „priorytet dla UDP” również jest zbyt szeroka — protokół UDP wykorzystują nie tylko gry i rozmowy, lecz także transfery QUIC, streaming oraz inne usługi.

Lepsza kolejność działań wygląda następująco:

  1. uruchomić CAKE lub FQ-CoDel;
  2. ustawić prawidłowy limit pasma;
  3. potwierdzić wynik testem pod obciążeniem;
  4. dopiero potem dodać kilka prostych reguł dla faktycznie ważnego ruchu;
  5. po każdej zmianie wykonać ten sam zestaw pomiarów.

Priorytetyzacja nie tworzy dodatkowego pasma. Jeżeli domownicy jednocześnie wysyłają 120 Mb/s przez łącze o uploadzie 50 Mb/s, router musi część ruchu opóźnić lub ograniczyć. QoS decyduje, kto odczuje ten brak jako pierwszy.

Ustawienia routera, które trzeba sprawdzić

Poza SQM warto przejrzeć kilka opcji:

  • Bandwidth Control — limity dla pojedynczych urządzeń mogą powstrzymać komputer z backupem przed zajęciem całego łącza;
  • Hardware NAT / Flow Offloading — może zwiększać przepustowość, ale w niektórych routerach omija lub ogranicza działanie SQM;
  • Adaptive QoS — nazwa marketingowa; trzeba sprawdzić, czy funkcja faktycznie ustawia limit i wykorzystuje nowoczesny algorytm kolejkowania;
  • Traffic Analyzer — pozwala znaleźć urządzenie stale wysyłające dane;
  • WMM — powinno pozostać włączone w Wi-Fi, ponieważ jest potrzebne do prawidłowej obsługi współczesnych standardów i priorytetów radiowych;
  • Airtime Fairness — bywa pomocne przy wielu klientach, ale na części urządzeń powoduje problemy ze starszym sprzętem IoT;
  • Guest Network Limits — przydatne, gdy sieć dla gości ma nie zakłócać pracy zdalnej;
  • Automatic Updates — router z nieaktualnym firmware’em może mieć błędy wydajnościowe i bezpieczeństwa.

Wyłączenie sprzętowego przyspieszania może mocno zmniejszyć maksymalną przepustowość. To jedna z najbardziej irytujących konsekwencji wdrożenia SQM na słabym routerze: ping staje się świetny, ale z gigabitowego łącza zostaje 300–500 Mb/s. W takim przypadku są trzy wyjścia:

  • zaakceptować niższą prędkość i zachować niski ping;
  • użyć lżejszego algorytmu;
  • wymienić router na wydajniejszy.

Nie ma sensu płacić za mocniejszy sprzęt, jeżeli bufferbloat występuje wyłącznie raz w miesiącu podczas ręcznego wysyłania archiwum. Wystarczy wtedy ograniczyć prędkość w aplikacji do backupu, na przykład do 70–80 procent uploadu. Jeżeli problem pojawia się codziennie podczas rozmów, gier i synchronizacji telefonów, SQM jest rozwiązaniem systemowym i zwykle wartym konfiguracji.

W sieciach z modemem operatora oraz własnym routerem trzeba też uważać na podwójny NAT. Najczyściej działa układ, w którym urządzenie operatora pracuje w trybie bridge, a własny router wykonuje PPPoE, NAT i SQM. Tryb bridge nie zawsze jest dostępny, zwłaszcza w usługach z telewizją lub telefonią. Alternatywą bywa DMZ skierowane na własny router, choć nie usuwa ono całkowicie podwójnego NAT-u.

FAQ: najczęstsze pytania o bufferbloat

Czy bufferbloat obniża prędkość internetu?
Nie zawsze. Test może nadal pokazywać pełne 600 lub 1000 Mb/s, podczas gdy ping pod obciążeniem rośnie o kilkaset milisekund. Problem dotyczy przede wszystkim czasu oczekiwania pakietów, nie samej przepustowości.

Czy wymiana routera automatycznie usunie problem?
Nie. Nowy router bez prawidłowego SQM może tworzyć równie długie kolejki jak stary. Przed zakupem trzeba sprawdzić obsługę CAKE, FQ-CoDel lub innego mechanizmu AQM oraz wydajność przy wymaganej prędkości.

Czy router gamingowy zapewnia niski ping?
Sama etykieta „gaming” niczego nie gwarantuje. Liczy się algorytm kolejki, możliwość ustawienia realnego limitu downloadu i uploadu oraz moc procesora. Podświetlenie i automatyczna lista gier nie zastępują SQM.

Dlaczego SQM zmniejsza wynik speedtestu?
Mechanizm celowo ustawia limit poniżej przepustowości operatora, aby kolejka powstawała na routerze. Spadek o około 5–10 procent jest normalnym kosztem uzyskania przewidywalnego opóźnienia.

Czy wystarczy ograniczyć upload?
Często daje to największą poprawę, ponieważ kanał wysyłania jest zwykle wolniejszy. Jeżeli ping rośnie także podczas pobierania, trzeba kształtować oba kierunki.

Jaki przyrost pingu pod obciążeniem jest akceptowalny?
Cel praktyczny to mniej niż 20–30 ms ponad ping spoczynkowy. Wynik poniżej 15 ms jest bardzo dobry. Przyrost powyżej 60–100 ms będzie już zauważalny w aplikacjach czasu rzeczywistego.

Czy SQM poprawi bazowy ping do serwera gry?
Nie skróci fizycznej trasy ani odległości do serwera. Może natomiast zapobiec wzrostowi pingu, gdy inne urządzenia wykorzystują łącze.

Czy bufferbloat może występować na światłowodzie?
Tak. Duża przepustowość zmniejsza częstotliwość problemu, ale go nie wyklucza. Szczególnie łatwo nasycić upload podczas kopii zapasowych, transmisji wideo lub wysyłania dużych plików.

Czy problem można naprawić bez zmiany routera?
Tak, jeżeli aplikacja powodująca przeciążenie pozwala ustawić limit transferu. Ustawienie jej na około 70–85 procent dostępnego uploadu często wystarcza. Jest to jednak obejście, a nie ochrona całej sieci.

Od czego zacząć?
Najpierw wykonaj pomiar kablem i porównaj ping bez obciążenia z pingiem podczas downloadu oraz uploadu. Jeżeli różnica przekracza 50–60 ms, ustaw SQM na około 90 procent najniższej powtarzalnej prędkości. Dopiero po uzyskaniu stabilnego wyniku zajmuj się regułami QoS. Najczęstszy błąd to odwrotna kolejność: rozbudowane priorytety na routerze, który nadal przechowuje setki milisekund ruchu w jednej wspólnej kolejce.

Leave a reply

Your email address will not be published. Required fields are marked *

Ciasteczka

Kontynuując przeglądanie strony, wyrażasz zgodę na używanie plików Cookies. Więcej informacji znajdziesz w polityce prywatności.