Test Utraty Pakietów

Test utraty pakietów (packet loss) na prawdziwych pakietach UDP, wysyłanych tak, jak robią to gry i rozmowy: zobacz, czy giną przy wysyłaniu, czy przy pobieraniu. Jeden przebieg to też test opóźnienia, test jittera i test bufferbloatu.

Każdy pakiet mierzony przez najbliższe centrum danych Cloudflare · utrata osobno dla wysyłania i pobierania · nic nie jest zapisywane

Każdy pakiet, tak jak dotarłPrzykład: 1 min na łączu światłowodowym

  • Na czas 2995
  • Spóźniony 0
  • Utracony 4
  • Poza kolejnością 1
  • Duplikat 0
PakietySerieWysyłanieWysył.PobieraniePobier.Opóźnienie msutracone: 4brak–
Każda kolumna to jedna sekunda: jej pakiety od góry do dołu. Wskaż sekundę albo zaznacz pasek i użyj strzałek.

Jak działa ten test utraty pakietów?

Twoja przeglądarka wysyła równy strumień małych pakietów UDP do najbliższego centrum danych Cloudflare i od razu z powrotem do siebie, i liczy każdy, który nie wrócił.

Pakiety płyną kanałem danych WebRTC ustawionym tak, by nigdy nie wysyłać ponownie utraconej wiadomości, więc pakiet, który zginie, pozostaje zgubiony: to prawdziwa utrata pakietów, a nie opóźnienie ukryte przez ponowienie. Przekazuje je usługa TURN Cloudflare, działająca w anycast: twoja przeglądarka trafia do najbliższej lokalizacji Cloudflare i tam działa przekaźnik. Oba końce strumienia są w twojej przeglądarce, na jednym zegarze, więc opóźnienie każdego pakietu jest dokładne co do dziesiątej części milisekundy.

Pakiet w tej pętli przechodzi przez twoje łącze dwa razy, w górę i z powrotem w dół, więc sam nie powie, gdzie zginął. Dlatego obok działa krótka rozmowa głosowa: twoja przeglądarka wysyła cichy strumień audio do serwera rozmów Cloudflare (Realtime SFU) i odbiera go z powrotem. Cloudflare raportuje, których pakietów nigdy nie dostał – to twoja utrata przy wysyłaniu; to, co zginie potem, to twoja utrata przy pobieraniu.

Pod obciążeniem łącze jest wypełniane pobieraniem, a potem wysyłaniem z serwerów testu prędkości Cloudflare, a pakiety płyną dalej, więc widzisz, jak zmieniają się utrata, jitter i opóźnienie, gdy łącze jest zajęte.

Twoja przeglądarkaPrzekaźnik (TURN)Cloudflare, najbliższySerwer rozmów (SFU)Cloudflare, najbliższyPętla: pakiety tam i z powrotemzginął w drodze w górę czy w dół?pętla tego nie rozróżni; mierzy każdy pakiet na jednym zegarzeTestowa rozmowa: Opus, 50 pakietów na sekundę↑ wysyłanie↓ pobieranieCloudflare liczy, co dostał ↑twoja przeglądarka liczy, co wróciło ↓
  • Pętla: opóźnienie i los każdego pakietu
  • Rozmowa: w którym kierunku zginął
  • Utracony pakiet
Obie działają równocześnie przez cały test.
Test utraty pakietów: pasek wszystkich pakietów, serie strat przy pobieraniu, utrata w obu kierunkach, jitter i bufferbloatTest utraty pakietów: pasek wszystkich pakietów, serie strat przy pobieraniu, utrata w obu kierunkach, jitter i bufferbloatWerdyktUtrata, serie i wzrost opóźnienia pod obciążeniem, ocenione według progów Microsoft Teams lub oceny gier Cloudflare.Każdy pakietKażda kolumna to jedna sekunda, a każdy znacznik to jeden pakiet: na czas, spóźniony, utracony lub poza kolejnością, z seriami ujętymi w klamry.Wysyłanie czy pobieranieTestowa rozmowa rozdziela utratę: czego Cloudflare nigdy od ciebie nie dostał i co zginęło w drodze z powrotem do ciebie.Oceny i stopieńOceny Cloudflare dla streamingu, gier i rozmów wideo oraz stopień bufferbloatu według Waveform, od A+ do F.
1-minutowy test na łączu z bufferbloatem: brak utraty w spoczynku, krótkie serie strat i rosnące opóźnienie przy pobieraniu. Wybierz numer, aby zobaczyć, co pokazuje każda część.

Co to jest utrata pakietów (packet loss)?

Utrata pakietów to odsetek pakietów danych, które opuszczają twoje urządzenie, ale nigdy nie docierają na drugi koniec albo docierają za późno, by można ich było użyć.

Gry oraz rozmowy głosowe i wideo wysyłają małe pakiety przez UDP wiele razy na sekundę i nie czekają na ponowne wysłanie utraconych: utracony pakiet to zamrożona klatka, słowo wycięte z rozmowy albo postać, która cofa się w miejscu. Pobieranie plików i strony WWW używają TCP, który wysyła utracone dane ponownie, więc utrata objawia się tam tylko wolniejszym wczytywaniem. Dlatego zwykły test prędkości nie widzi utraty pakietów.

Ten test liczy cztery rzeczy. Utracony: pakiet, który nie dotarł po 3 sekundach – to czas oczekiwania, który według metryki utraty IETF trzeba podawać. Spóźniony: taki, który dotarł, ale daleko za pozostałymi. Poza kolejnością: taki, który dotarł po pakiecie wysłanym później (RFC 4737). Duplikat: taki, który dotarł dwa razy i jest liczony raz.

16 pakietów, jeden co 20 ms1 utracony · 1 spóźniony · 1 poza kolejnością · 1 podwójny
WysłaneOdebrane spóźniony: 100 ms za pozostałymi11223344566778899101011111212131314141415151616
  • Na czasdotarł razem z pozostałymi
  • Spóźnionydotarł, ale daleko za pozostałymi: za późno dla rozmowy
  • Utraconynie wrócił w ciągu 3 sekund
  • Poza kolejnościądotarł po pakiecie wysłanym później
  • Duplikatdotarł dwa razy, liczony raz
Pasek w wyniku używa tych samych kolorów, jedna komórka na pakiet.

Jaka utrata pakietów jest dopuszczalna?

W rozmowach wideo poniżej 1%: cel Microsoftu dla Teams to mniej niż 1% utraty w dowolnych 15 sekundach i mniej niż 10% w dowolnych 200 milisekundach, a Zoom zaleca 2% lub mniej.

Każdy werdykt na tej stronie dokładnie stosuje jedną opublikowaną regułę. Rozmowy wideo: progi Microsoft Teams dla trasy od twojego urządzenia do brzegu sieci: czas w obie strony poniżej 100 ms, utrata poniżej 1% w każdych 15 sekundach, utrata seryjna poniżej 10% w każdych 200 ms, jitter poniżej 30 ms, pakiety poza kolejnością poniżej 0,05%, oraz zalecenie Zoom: opóźnienie 150 ms, jitter 40 ms i utrata 2%.

Gry i streaming: oceny jakości sieci Cloudflare, te same punkty, których używa speed.cloudflare.com: utrata poniżej 1% daje pełne punkty, od 1% do 5% połowę, od 5% do 25% zero punktów, a większa kosztuje punkty. Producenci gier nie publikują limitu utraty; nawet 1% w serii to widoczne przycięcie przy 64 lub 128 aktualizacjach na sekundę.

Microsoft Teams poniżej 1% w każdych 15 s Zoom 2% lub mniej 0%0,5%1%2%3%4%5% Cloudflare AIM +10 pkt +5 od 5% do 25%: 0 · poniżej 50%: −10 · potem −20
  • Poniżej 1%: pełne punkty, w granicach progu Teams
  • Od 1% do 2%: w granicach progu Zoom
  • Powyżej 2%: poza obydwoma
Własna reguła każdego z autorytetów, tak jak stosują ją sprawdzenia w wyniku. Próg Teams dotyczy każdego 15-sekundowego okna, więc krótki zły okres go nie spełnia, nawet gdy średnia jest niska.

Czy twoja utrata pakietów jest losowa, czy seryjna?

Wzorzec jest tak samo ważny jak odsetek: 2% utraty rozłożone w czasie są w rozmowie ledwo odczuwalne, a 2% utracone w kilku seriach to ciąg przerw.

Test liczy epizody strat, czyli ciągi pakietów utraconych jeden po drugim (RFC 6534), pokazuje najdłuższy i oblicza współczynnik serii z ITU-T G.107: 1, gdy straty są losowe, powyżej 1, gdy się skupiają. Serie zwykle biorą się z pełnej kolejki w routerze lub modemie, która odrzuca naraz kilka pakietów tego samego strumienia, albo z chwilowego zaniku Wi-Fi.

Krótki test nie udowodni, że utraty nie ma. Jeśli z 750 pakietów nie zginął żaden, odsetek utraty wciąż jest gdzieś poniżej 0,4%, dlatego strona pokazuje zakres, a nie same 0%. Uruchom 3-minutowy test, aby wychwycić utratę, która pojawia się i znika.

Ta sama utrata 2% pakietów, dwa razy1 min · 3000 pakietów · po 60 utraconych

Losowapojedyncze straty, rozproszone

Epizody strat
60
Najdłuższa seria
1 · 20 ms
Współczynnik serii
0,98

W rozmowie: ciche kliknięcie od czasu do czasu

Seryjnapięć serii po 12

Epizody strat
5
Najdłuższa seria
12 · 240 ms
Współczynnik serii
11,76

W rozmowie: pięć przerw po 240 ms na minutę

Współczynnik serii (ITU-T G.107): średnia długość serii podzielona przez tę, jaką dałaby losowa utrata przy tej samej częstości. 1 oznacza losową; wyższy – większe skupienie.

Co to jest jitter i jak się go mierzy?

Jitter to zmienność opóźnienia z pakietu na pakiet. Rozmowy i gry buforują pakiety, aby go wygładzić, a ten bufor dodaje opóźnienie.

Ta strona mierzy jitter wzorem z RFC 3550, tym samym, który podają aplikacje do rozmów WebRTC: to zmiana opóźnienia między pakietami w chwili ich nadejścia, wygładzona po ostatnich pakietach. Inne narzędzia używają innych wzorów: test prędkości Cloudflare uśrednia różnicę między kolejnymi pingami, Waveform i Ookla odchylenie od średniej, więc ich wartości jittera nie są bezpośrednio porównywalne. Oceny Cloudflare na tej stronie używają wzoru samego Cloudflare, tak jak muszą.

Jitter czasów nadejścia według RFC 3550J = J + (|D| − J) / 16
WysłanyOdebranyZmiana DJitter J 0 ms1820 ms21+340 ms19−260 ms26+780 ms18−8100 ms30+12120 ms19−11140 ms20+1160 ms22+22,31

Czasy przejścia w ms. Każda zmiana przesuwa J o jedną szesnastą drogi, więc pojedynczy skok podnosi go tylko trochę, a stabilne pakiety sprowadzają go z powrotem w dół.

Test prędkości Cloudflare uśrednia zmianę między kolejnymi pingami, Waveform i Ookla rozrzut wokół średniej: to samo łącze daje trzy różne wartości jittera.

Co to jest bufferbloat? Opóźnienie pod obciążeniem

Bufferbloat to dodatkowe opóźnienie, które dodaje twoje łącze, gdy jest zajęte: router lub modem kolejkuje za dużo danych, więc każdy pakiet czeka w kolejce za pobieraniem albo wysyłaniem.

Test pod obciążeniem mierzy opóźnienie w spoczynku, potem przy pobieraniu, potem przy wysyłaniu, i ocenia wzrost w skali Waveform: A+ poniżej 5 ms dodanego opóźnienia, A poniżej 30, B poniżej 60, C poniżej 200, D poniżej 400, F przy 400 ms lub więcej, na podstawie średniego opóźnienia i gorszego z dwóch kierunków.

Rozwiązaniem jest inteligentne zarządzanie kolejką (SQM) na routerze: CAKE lub FQ-CoDel, z prędkością ustawioną nieco poniżej tego, co daje twoje łącze, według poradnika OpenWrt na około 90% zmierzonej prędkości. Potem uruchom test ponownie: ocena powinna wzrosnąć do A lub A+.

Pakiet rozmowy w kolejce za wysyłaniemprzykładowe łącze
Kolejka wysyłania routera twoja rozmowa czeka 175 mspotem kolejka się zapełniai odrzuca kolejne kopia zapasowa albo wysyłany film, pakiet za pakietem
Spoczynek21 ms
Przy pobieraniu63 ms
Przy wysyłaniu196 ms
C+175 ms pod obciążeniem: ocena C w skali WaveformWaveform
  1. A+<5
  2. A<30
  3. B<60
  4. C<200
  5. D<400
  6. F400+
Dodane opóźnienie to średnie opóźnienie pod obciążeniem minus średnie w spoczynku, dla gorszego z kierunków (pobierania lub wysyłania), tak jak ocenia to Waveform.

Co powoduje utratę pakietów i jak ją naprawić?

Większość utraty pakietów bierze się z Wi-Fi, zajętego łącza (bufferbloat), uszkodzonego kabla lub portu albo sieci twojego dostawcy; wzorzec z testu podpowie, która to przyczyna.

Utrata tylko przy pobieraniu lub wysyłaniu wskazuje na bufferbloat: włącz SQM. Losowa utrata w spoczynku przez Wi-Fi wskazuje na zakłócenia lub odległość: przetestuj ponownie na kablu. Utrata także na kablu może oznaczać uszkodzony kabel, zły port albo stary firmware routera. Jeśli test rozmowy pokazuje utratę po stronie pobierania na kablu, z włączonym SQM, problem zwykle leży za twoim routerem: wyślij dostawcy link do udostępnienia testu i plik CSV.

Wybierz wzorzec, który widzisz

Utrata tylko przy pobieraniu lub wysyłaniu

Prawdopodobna przyczyna

Bufferbloat: kolejka routera lub modemu się przepełnia

Rozwiązanie

Włącz SQM (CAKE lub FQ-CoDel) na około 90% swojej prędkości

Losowe pojedyncze straty, tylko przez Wi-Fi

Prawdopodobna przyczyna

Zakłócenia, odległość lub słaby sygnał

Rozwiązanie

Podejdź bliżej, przełącz na 5 GHz albo użyj kabla

Utrata także na kablu, nawet w spoczynku

Prawdopodobna przyczyna

Uszkodzony kabel lub port, stary firmware

Rozwiązanie

Wymień kabel i port, zaktualizuj router

Utrata po stronie pobierania, kabel i włączone SQM

Prawdopodobna przyczyna

Sieć twojego dostawcy

Rozwiązanie

Wyślij dostawcy link do udostępnienia i plik CSV

Test utraty pakietów, test ping i test prędkości: porównanie

Test prędkości mierzy, ile danych przesyła twoje łącze, test ping – ile trwa jedna podróż w obie strony, a test utraty pakietów – jak niezawodnie docierają małe pakiety: to trzy różne pytania.

Użyj testu ping, aby zobaczyć swoje opóźnienie do miejsc na całym świecie, tego testu utraty pakietów, gdy rozmowy się rwą albo gry się przycinają, i testu prędkości, gdy pobieranie jest wolne.

PorównanieTest utraty pakietówTest pingTest prędkości
MierzyUtracone, spóźnione i przestawione pakiety, jitter, opóźnienie pod obciążeniemCzas w obie strony do serwera lub regionuPrzepustowość pobierania i wysyłania
ProtokółUDP (bez ponownego wysyłania)ICMP, TCP lub HTTPSTCP (ponowne wysyłanie ukrywa utratę)
Odpowiada na pytanieDlaczego rozmowy się rwą, a gry przycinająJak daleko wydaje się serwerDlaczego pobieranie jest wolne

Test utraty pakietów: pytania i odpowiedzi

Jaka utrata pakietów jest dobra do gier?

Jak najbliżej 0%. Ocena gier Cloudflare daje pełne punkty poniżej 1% utraty i połowę od 1% do 5%. Producenci gier nie publikują limitu utraty, ale przy 64 lub 128 aktualizacjach na sekundę nawet krótka seria oznacza niezarejestrowany strzał albo cofnięcie postaci, więc patrz na serie na pasku, a nie tylko na odsetek.

Czy 1% utraty pakietów to dużo?

W rozmowie wideo to dokładnie limit Microsoftu: Teams zakłada mniej niż 1% utraty w dowolnych 15 sekundach. Zoom zaleca 2% lub mniej. W grze 1% jest odczuwalny, tym bardziej, gdy przychodzi seriami. Przy pobieraniu plików i na stronach WWW to prawie bez znaczenia, bo TCP wysyła utracone pakiety ponownie.

Dlaczego ten test pokazuje utratę pakietów, skoro test prędkości jest w porządku?

Test prędkości działa przez TCP, który wysyła ponownie każdy utracony pakiet, więc utrata tylko trochę spowalnia pobieranie. Ten test wysyła pakiety, które nigdy nie są wysyłane ponownie, jak w grze lub rozmowie, więc liczy się każdy utracony pakiet. Łącze może osiągać pełną prędkość i mimo to gubić pakiety seriami, zwłaszcza gdy jest zajęte.

Dlaczego tracę pakiety tylko podczas pobierania?

To klasyczny objaw bufferbloatu: router lub modem trzyma w kolejce za dużo danych, a gdy kolejka się przepełnia, odrzuca pakiety seriami. Test pod obciążeniem pokazuje to jako utratę i wzrost opóźnienia w części z pobieraniem lub wysyłaniem. Inteligentne zarządzanie kolejką (CAKE lub FQ-CoDel) na routerze zwykle naprawia jedno i drugie.

Czy utrata pakietów jest po mojej stronie, czy po stronie dostawcy?

Sprawdź to w trzech krokach. Test rozmowy mówi, czy pakiety giną w drodze w górę, czy w dół. Test na kablu zamiast Wi-Fi pokaże, czy przyczyną jest twoje Wi-Fi. Test z obciążeniem i bez niego pokaże, czy to bufferbloat. Utrata, która zostaje po stronie pobierania na kablu, w spoczynku, zwykle leży po stronie dostawcy.

Jak test w przeglądarce odróżnia utratę przy wysyłaniu od utraty przy pobieraniu?

Pakiety, które idą w górę i wracają w dół, nie powiedzą, gdzie zginęły, więc test nawiązuje też krótką, cichą rozmowę głosową z serwerem rozmów Cloudflare. Cloudflare raportuje twojej przeglądarce, ile twoich pakietów dostał – z tego wynika twoja utrata przy wysyłaniu; to, czego brakuje w drodze powrotnej, to twoja utrata przy pobieraniu.

Jak długo powinien trwać test utraty pakietów?

Uruchom 15-sekundowy test do szybkiego sprawdzenia, a 3-minutowy, gdy problem pojawia się i znika. Zero strat w krótkim teście nie dowodzi, że ich nie ma: przy 750 pakietach bez żadnej straty utrata wciąż jest gdzieś poniżej 0,4%, i strona pokazuje ten zakres zamiast 0%.

Czy VPN wpływa na test utraty pakietów?

Tak. Przy włączonym VPN pakiety najpierw przechodzą przez serwer VPN, więc wynik pokazuje trasę przez VPN, a nie samo twoje łącze. Wyłącz VPN, aby przetestować połączenie, a potem włącz go, aby zobaczyć, co dodaje.

Ile danych zużywa test?

Sam strumień pakietów jest mały: 1-minutowy test przesyła najwyżej kilka megabajtów, nawet przy 128 pakietach na sekundę. Części pod obciążeniem pobierają i wysyłają dane tak szybko, jak pozwala łącze, każda przez maksymalnie jedną trzecią testu, z limitem 250 MB pobierania i 100 MB wysyłania, więc na łączu z limitem danych lub w sieci komórkowej zostaw opcję pod obciążeniem wyłączoną.

Czy coś jest zapisywane?

Nie. Test działa między twoją przeglądarką a najbliższym centrum danych Cloudflare, które przekazuje zaszyfrowane pakiety bez ich odczytywania. Poprzednie testy zostają tylko w tej przeglądarce. Link do udostępnienia zawiera wynik, nigdy twój adres IP, i jest podpisany: link zmieniony po utworzeniu jest oznaczany jako zmieniony.