Проверка потери пакетов

Проверка потери пакетов онлайн настоящими UDP-пакетами, такими же, как в играх и звонках: вы увидите, теряются ли они на отдаче или на скачивании. Один запуск — это ещё и тест задержки, тест джиттера и тест bufferbloat.

Каждый пакет замеряется через ближайший дата-центр Cloudflare · потери отдельно на отдаче и скачивании · ничего не сохраняется

Каждый пакет по мере приходаПример: 1 мин на оптоволоконной линии

  • Вовремя 2 995
  • С опозданием 0
  • Потерян 4
  • Не по порядку 1
  • Дубликат 0
ПакетыСерииОтдачаОтд.СкачиваниеСкач.Задержка, мспотеряно 4нет–
Каждый столбец — одна секунда: её пакеты сверху вниз. Наведите курсор на секунду или переведите фокус на полосу и используйте клавиши со стрелками.

Как работает этот тест потери пакетов?

Чтобы проверить потерю пакетов, ваш браузер отправляет ровный поток небольших UDP-пакетов до ближайшего дата-центра Cloudflare и сразу обратно к себе и считает каждый, который не вернулся.

Пакеты идут по каналу данных WebRTC, настроенному никогда не переотправлять потерянное сообщение, поэтому пропавший пакет так и остаётся пропавшим: это настоящая потеря пакетов, а не задержка, скрытая повторной отправкой. Их передаёт сервис TURN от Cloudflare, работающий через anycast: ваш браузер попадает на ближайший узел Cloudflare, и ретранслятор находится там же. Оба конца потока — в вашем браузере, на одних часах, поэтому задержка каждого пакета точна до десятой доли миллисекунды.

Пакет в этой петле проходит ваше подключение дважды, туда и обратно, поэтому сам по себе не может показать, где он потерялся. Поэтому рядом идёт короткий голосовой звонок: ваш браузер отправляет беззвучный аудиопоток на сервер звонков Cloudflare (Realtime SFU) и получает его обратно. Cloudflare сообщает, какие пакеты он не получил, — это ваши потери на отдаче; то, что пропало после этого, — ваши потери на скачивании.

Под нагрузкой линия заполняется скачиванием, а затем отдачей с серверов теста скорости Cloudflare, пока пакеты продолжают идти, — так видно, как меняются потери, джиттер и задержка, когда линия занята.

Ваш браузерРетранслятор (TURN)Cloudflare, ближайший узелСервер звонков (SFU)Cloudflare, ближайший узелПетля: пакеты туда и обратнопотерян на отдаче или на скачивании?петля этого не различает; она замеряет каждый пакет по одним часамТестовый звонок: Opus, 50 пакетов в секунду↑ отдача↓ скачиваниеCloudflare считает, что получил ↑ваш браузер считает, что вернулось ↓
  • Петля: задержка и судьба каждого пакета
  • Звонок: в каком направлении пакет потерян
  • Потерянный пакет
Оба работают одновременно на протяжении всего теста.
Проверка потери пакетов: полоса пакетов, серии потерь при скачивании, потери по направлениям, джиттер и оценка bufferbloatПроверка потери пакетов: полоса пакетов, серии потерь при скачивании, потери по направлениям, джиттер и оценка bufferbloatВердиктПотери, серии потерь и рост задержки под нагрузкой — в сравнении с целевыми показателями Microsoft Teams или игровой оценкой Cloudflare.Каждый пакетКаждый столбец — одна секунда, каждая отметка — один пакет: вовремя, с опозданием, потерян или не по порядку; серии потерь выделены скобками.Отдача или скачиваниеТестовый звонок разделяет потери: что Cloudflare так и не получил от вас и что потерялось на обратном пути к вам.ОценкиОценки Cloudflare для стриминга, игр и видеозвонков и оценка bufferbloat от Waveform — от A+ до F.
Минутный тест на линии с bufferbloat: в простое потерь нет, а при скачивании — короткие серии потерь и растущая задержка. Выберите номер, чтобы узнать, что показывает каждая часть.

Что такое потеря пакетов?

Потеря пакетов — это доля пакетов данных, которые уходят с вашего устройства, но так и не доходят до другой стороны или доходят слишком поздно, чтобы их можно было использовать.

Игры, голосовые и видеозвонки много раз в секунду отправляют небольшие пакеты по UDP и не ждут повторной отправки потерянных: потерянный пакет — это застывший кадр, выпавшее из разговора слово или персонаж, которого отбрасывает назад. Загрузки и веб-страницы используют TCP, который заново отправляет потерянное, поэтому там потери лишь замедляют страницу. По этой же причине обычный тест скорости не видит потерю пакетов.

Тест считает четыре вещи. Потерян: пакет, который не пришёл за 3 секунды, — время ожидания, которое метрика потерь IETF требует указывать. С опозданием: пришёл, но сильно позже остальных. Не по порядку: пришёл после пакета, отправленного позже (RFC 4737). Дубликат: пришёл дважды, засчитан один раз.

16 пакетов, по одному каждые 20 мс1 потерян · 1 с опозданием · 1 не по порядку · 1 дважды
ОтправленоПолучено опоздание: на 100 мс позже остальных11223344566778899101011111212131314141415151616
  • Вовремяпришёл вместе с остальными
  • С опозданиемпришёл, но сильно позже остальных: для звонка слишком поздно
  • Потерянне вернулся за 3 секунды
  • Не по порядкупришёл после пакета, отправленного позже
  • Дубликатпришёл дважды, засчитан один раз
Полоса в результате использует те же цвета, по одной ячейке на пакет.

Какая потеря пакетов допустима?

Для видеозвонков — меньше 1%: цель Microsoft для Teams — потери меньше 1% за любые 15 секунд и меньше 10% за любые 200 миллисекунд, а Zoom рекомендует 2% или меньше.

Каждый вердикт на этой странице точно следует одному опубликованному правилу. Видеозвонки: целевые показатели Microsoft Teams для пути от вашего устройства до границы сети — время туда и обратно меньше 100 мс, потери меньше 1% за каждые 15 секунд, серийные потери меньше 10% за каждые 200 мс, джиттер меньше 30 мс, пакеты не по порядку меньше 0,05%, — а также рекомендация Zoom: задержка 150 мс, джиттер 40 мс и потери 2%.

Игры и стриминг: оценки качества сети Cloudflare, те же баллы, что использует speed.cloudflare.com: потери меньше 1% дают максимум баллов, от 1% до 5% — половину, от 5% до 25% — ноль, а больше отнимают баллы. Для игр разработчики не публикуют предел потерь; даже 1% сериями — заметный рывок при 64 или 128 обновлениях в секунду.

Microsoft Teams меньше 1% за любые 15 с Zoom 2% или меньше 0 %0,5 %1 %2 %3 %4 %5 % Cloudflare AIM +10 баллов +5 от 5% до 25%: 0 · меньше 50%: −10 · дальше −20
  • Меньше 1%: максимум баллов, в пределах нормы Teams
  • От 1% до 2%: в пределах нормы Zoom
  • Больше 2%: вне обеих норм
Правило каждого источника в том виде, в каком его применяют проверки в результате. Норма Teams действует для каждого 15-секундного окна, поэтому короткий плохой отрезок нарушает её, даже когда средние потери низкие.

Потери пакетов случайные или сериями?

Характер потерь важен не меньше процента: 2% потерь вразброс в звонке почти незаметны, а 2%, потерянные несколькими сериями, — это череда провалов.

Тест считает эпизоды потерь — пакеты, потерянные подряд один за другим (RFC 6534), показывает самый длинный и вычисляет коэффициент серийности (burst ratio) по ITU-T G.107: 1, когда потери случайны, больше 1, когда они группируются. Серии обычно возникают из-за переполненной очереди в роутере или модеме, которая отбрасывает сразу несколько пакетов одного потока, или из-за кратковременного пропадания Wi-Fi.

Короткий тест не может доказать, что потерь нет. Если из 750 пакетов не потерян ни один, уровень потерь всё равно где-то ниже 0,4%, поэтому страница показывает диапазон, а не голые 0%. Запустите 3-минутный тест, чтобы поймать потери, которые то появляются, то исчезают.

Одни и те же 2% потери пакетов, дважды1 мин · 3000 пакетов · по 60 потерянных

Случайныеодиночные потери вразброс

Эпизоды потерь
60
Самая длинная серия
1 · 20 мс
Коэффициент серийности
0,98

В звонке: редкие едва заметные щелчки

Сериямипять серий по 12

Эпизоды потерь
5
Самая длинная серия
12 · 240 мс
Коэффициент серийности
11,76

В звонке: пять провалов по 240 мс в минуту

Коэффициент серийности (burst ratio, ITU-T G.107): средняя длина серии, делённая на ту, что дали бы случайные потери с той же частотой. 1 — случайные потери; чем выше, тем сильнее они группируются.

Что такое джиттер и как его измеряют?

Джиттер — это то, насколько задержка меняется от пакета к пакету. Звонки и игры буферизуют пакеты, чтобы его сгладить, и этот буфер добавляет задержку.

Эта страница измеряет джиттер по формуле из RFC 3550, которую показывают приложения для звонков на WebRTC: изменение задержки между пакетами по мере их прихода, сглаженное по последним пакетам. Другие инструменты используют другие формулы: тест скорости Cloudflare усредняет разницу между последовательными пингами, Waveform и Ookla — отклонение от среднего, поэтому их значения джиттера напрямую не сравнимы. Оценки Cloudflare на этой странице, как и положено, используют собственную формулу Cloudflare.

Межпакетный джиттер по RFC 3550J = J + (|D| − J) / 16
ОтправленПолученИзменение DДжиттер J 0 ms1820 ms21+340 ms19−260 ms26+780 ms18−8100 ms30+12120 ms19−11140 ms20+1160 ms22+22,31

Время в пути в мс. Каждое изменение сдвигает J на одну шестнадцатую, поэтому один всплеск немного поднимает его, а ровные пакеты возвращают обратно.

Тест скорости Cloudflare усредняет разницу между последовательными пингами, Waveform и Ookla — разброс относительно среднего: одна и та же линия даёт три разных значения джиттера.

Что такое bufferbloat? Задержка под нагрузкой

Bufferbloat — это дополнительная задержка, которую добавляет подключение, когда оно занято: роутер или модем ставит в очередь слишком много данных, и каждый пакет ждёт своей очереди за скачиванием или отдачей.

Тест под нагрузкой измеряет задержку в простое, затем при скачивании, затем при отдаче и оценивает рост по шкале Waveform: A+ — меньше 5 мс добавленной задержки, A — меньше 30, B — меньше 60, C — меньше 200, D — меньше 400, F — 400 мс и больше; по средней задержке и худшему из двух направлений.

Решение — интеллектуальное управление очередями (SQM) на роутере: CAKE или FQ-CoDel со скоростью чуть ниже той, что выдаёт линия, — около 90% от измеренной скорости по руководству OpenWrt. Затем запустите тест снова: оценка должна подняться до A или A+.

Пакет звонка в очереди за отдачейпример линии
Очередь отдачи в роутере ваш звонок ждёт 175 мспотом очередь заполняетсяи отбрасывает следующие резервная копия или загрузка видео, пакет за пакетом
Простой21 ms
При скачивании63 ms
При отдаче196 ms
C+175 мс под нагрузкой: оценка C по шкале WaveformWaveform
  1. A+<5
  2. A<30
  3. B<60
  4. C<200
  5. D<400
  6. F400+
Добавленная задержка — это средняя задержка под нагрузкой минус средняя в простое, по худшему из двух направлений (скачивание или отдача), как её оценивает Waveform.

Почему возникает потеря пакетов и как её устранить?

Чаще всего потери пакетов вызывают Wi-Fi, загруженная линия (bufferbloat), неисправный кабель или порт либо сеть провайдера; характер потерь в тесте подскажет, что именно.

Потери только при скачивании или отдаче указывают на bufferbloat: включите SQM. Случайные потери в простое по Wi-Fi указывают на помехи или расстояние: проверьте снова по кабелю. Потери и по кабелю могут означать повреждённый кабель, плохой порт или старую прошивку роутера. Если тестовый звонок показывает потери на стороне скачивания по кабелю и с включённым SQM, проблема обычно за пределами вашего роутера: отправьте провайдеру ссылку на результат и CSV.

Выберите, что вы видите

Потери только при скачивании или отдаче

Вероятная причина

Bufferbloat: очередь роутера или модема переполняется

Что делать

Включите SQM (CAKE или FQ-CoDel) примерно на 90% вашей скорости

Случайные одиночные потери, только по Wi-Fi

Вероятная причина

Помехи, расстояние или слабый сигнал

Что делать

Подойдите ближе, переключитесь на 5 ГГц или подключите кабель

Потери и по кабелю, даже в простое

Вероятная причина

Неисправный кабель или порт, старая прошивка

Что делать

Замените кабель и порт, обновите прошивку роутера

Потери на стороне скачивания по кабелю и с SQM

Вероятная причина

Сеть вашего провайдера

Что делать

Отправьте провайдеру ссылку на результат и CSV

Проверка потери пакетов, пинг тест и тест скорости: в чём разница?

Тест скорости измеряет, сколько данных пропускает линия, пинг тест — сколько длится один круг туда и обратно, а тест на потерю пакетов — насколько надёжно доходят небольшие пакеты: это три разных вопроса.

Используйте пинг тест, чтобы увидеть задержку до разных точек мира, эту проверку потери пакетов — когда звонки прерываются или игры дёргаются, а тест скорости — когда медленно скачиваются файлы.

КритерийПроверка потери пакетовПинг тестТест скорости
Что измеряетПотерянные, опоздавшие пакеты и пакеты не по порядку, джиттер, задержку под нагрузкойВремя туда и обратно до сервера или регионаСкорость скачивания и отдачи
ПротоколUDP (без повторной отправки)ICMP, TCP или HTTPSTCP (повторная отправка скрывает потери)
Отвечает на вопросПочему прерываются звонки и дёргаются игрыНасколько далёким ощущается серверПочему медленно скачиваются файлы

Проверка потери пакетов: вопросы и ответы

Какая потеря пакетов нормальна для игр?

Как можно ближе к 0%. Игровая оценка Cloudflare даёт максимум баллов при потерях меньше 1% и половину — от 1% до 5%. Разработчики игр не публикуют предел потерь, но при 64 или 128 обновлениях в секунду даже короткая серия — это промах или персонаж, которого отбрасывает назад, поэтому смотрите не только на процент, но и на серии на полосе.

1% потери пакетов — это плохо?

Для видеозвонка это ровно предел Microsoft: цель Teams — меньше 1% потерь за любые 15 секунд. Zoom рекомендует 2% или меньше. В игре 1% заметен, особенно если потери идут сериями. Для загрузок и веб-страниц это почти не важно, потому что TCP заново отправляет потерянные пакеты.

Почему тест показывает потерю пакетов, если тест скорости в порядке?

Тест скорости работает по TCP, который заново отправляет каждый потерянный пакет, поэтому потери лишь немного замедляют загрузку. Этот тест отправляет пакеты, которые никогда не отправляются повторно, как в игре или звонке, поэтому учитывается каждый потерянный пакет. Линия может выдавать полную скорость и всё равно терять пакеты сериями, особенно когда она занята.

Почему пакеты теряются только при скачивании?

Это классический признак bufferbloat: роутер или модем держит в очереди слишком много данных, а когда очередь переполняется, отбрасывает пакеты сериями. Тест под нагрузкой показывает это как потери и рост задержки в части скачивания или отдачи. Интеллектуальное управление очередями (CAKE или FQ-CoDel) на роутере обычно устраняет и то и другое.

Потеря пакетов на моей стороне или у провайдера?

Разберитесь в три шага. Тестовый звонок показывает, теряются ли пакеты по пути туда или обратно. Проверка по кабелю вместо Wi-Fi покажет, не виноват ли Wi-Fi. Проверка с нагрузкой и без неё покажет, не bufferbloat ли это. Потери, которые остаются на стороне скачивания по кабелю и в простое, обычно возникают у провайдера.

Как браузерный тест отличает потери на отдаче от потерь на скачивании?

Пакеты, которые уходят и возвращаются, не могут сказать, где потерялись, поэтому тест ещё и совершает короткий беззвучный голосовой звонок на сервер звонков Cloudflare. Cloudflare сообщает вашему браузеру, сколько ваших пакетов он получил, — это ваши потери на отдаче; то, чего не хватает на обратном пути, — ваши потери на скачивании.

Сколько должен длиться тест на потерю пакетов?

Запустите 15-секундный тест для быстрой проверки и 3-минутный — когда проблема то появляется, то исчезает. Ноль потерь в коротком запуске не доказывает, что их нет: если из 750 пакетов не потерян ни один, потери всё равно где-то ниже 0,4%, и страница показывает этот диапазон вместо 0%.

Влияет ли VPN на проверку потери пакетов?

Да. С включённым VPN пакеты сначала идут через сервер VPN, поэтому результат показывает путь через VPN, а не только вашу линию. Отключите VPN, чтобы проверить своё подключение, затем включите, чтобы увидеть, что он добавляет.

Сколько трафика расходует проверка интернета на потерю пакетов?

Сам поток пакетов небольшой: минутный тест передаёт максимум несколько мегабайт, даже при 128 пакетах в секунду. Части под нагрузкой скачивают и отдают данные так быстро, как позволяет линия, каждая — до трети теста, но не больше 250 МБ на скачивание и 100 МБ на отдачу, поэтому на лимитном или мобильном подключении не включайте режим «Под нагрузкой».

Сохраняются ли мои данные?

Нет. Тест идёт между вашим браузером и ближайшим дата-центром Cloudflare, который пересылает зашифрованные пакеты, не читая их. Прошлые запуски хранятся только в этом браузере. Ссылка на результат содержит сам результат, но никогда не ваш IP-адрес, и подписана: если ссылку изменить после создания, она будет помечена как изменённая.