Разброс, а не величина
Если пакеты доходят строго через равные промежутки, поток получается ровным, даже когда задержка большая. Проблемы начинаются, когда время передачи меняется от пакета к пакету: один пришёл за 20 мс, следующий за 90, потом снова за 25. Этот разброс и называют джиттером, от английского jitter, дрожание.
Для скачивания файла такая неравномерность безразлична, программа просто соберёт данные по мере поступления. А вот для разговора или игры, где пакеты нужны вовремя и в определённом порядке, она критична.
Стандартная аналогия: автобусы ходят по маршруту. Если каждый идёт ровно каждые десять минут, ждать удобно. Если они приходят то вместе по три, то с перерывом в полчаса, средний интервал тот же, а пользоваться неудобно. Именно неравномерность и составляет проблему.
Как джиттер портит голос и видео
Голосовые и видеосервисы принимают пакеты и воспроизводят их с постоянной скоростью. Чтобы скомпенсировать разброс, приложение заводит небольшой приёмный буфер: накапливает несколько пакетов и проигрывает их ровно. Если разброс превышает размер буфера, пакет опаздывает и его приходится пропустить.
Вы слышите это как «роботизированный» голос, обрывки слов, замирающую картинку. Увеличенный буфер спасает от сбоев, но добавляет общую задержку, поэтому разговор получается с паузами. Всегда приходится выбирать между устойчивостью и отзывчивостью.
Схожая картина в онлайн-играх: если пакеты с положениями игроков приходят неравномерно, персонажи дёргаются и «телепортируются», хотя в среднем задержка невелика. Игровые клиенты сглаживают это предсказанием движения, но при сильном разбросе оно перестаёт помогать.
Откуда он берётся
Главные виновники: загруженный канал, где пакеты ждут в очередях разной длины, беспроводная связь с помехами и повторными передачами, а также перегрузка на оборудовании у провайдера в вечерние часы. Ещё один источник: слабый или перегруженный роутер, который не успевает равномерно обрабатывать поток.
Часто причиной служит ваш же трафик: облачная синхронизация или скачивание фильма забивают канал, и пакеты звонка стоят в общей очереди. Эта проблема разобрана отдельно в материале про раздувание буферов.
Как его увидеть
Команда ping с большим количеством пакетов покажет максимум и минимум времени ответа; ощутимая разница между ними и есть признак джиттера. В некоторых версиях команды в сводке указывается ещё и среднее отклонение. Многие онлайн-тесты скорости также выводят джиттер отдельной строкой.
Чтобы отделить домашнюю причину от внешней, проверяйте два адреса: роутер и удалённый сервер. Если разброс уже до роутера, виноват Wi-Fi. Если его нет до роутера, но появляется дальше, причина в канале до провайдера или дальше.
Способы уменьшить
Начните с очевидного: кабель вместо беспроводного соединения, диапазон 5 ГГц, менее загруженный канал Wi-Fi. Во время звонков приостановите крупные скачивания и облачные синхронизации. Если роутер поддерживает приоритизацию трафика (QoS) или современные алгоритмы управления очередями, включите их.
Не ждите, что значение упадёт до нуля: небольшой джиттер естественен для любой сети. Ориентир прост: важно, чтобы разброс был заметно меньше, чем размер приёмного буфера вашего приложения. Если проблема повторяется в определённые вечерние часы, скорее всего, она находится на стороне провайдера.
Проверьте также сам компьютер: фоновые обновления, антивирус и облачные диски иногда нагружают канал в самый неподходящий момент. Диспетчер задач или монитор ресурсов покажет, какая программа использует сеть, прежде чем вы начнёте менять оборудование.