Как проверить пинг, потери и jitter без программ
В Windows уже есть ping, tracert и pathping, в macOS и Linux есть ping и traceroute. Их хватает, чтобы измерить задержку, потери пакетов и jitter и понять, где именно они появляются: в квартире, у провайдера или дальше по маршруту. Тест скорости этого не покажет: он меряет пропускную способность, а звонок рвётся и игра дёргается из-за задержки и её скачков.
Три числа и что они значат
Пинг, он же задержка, показывает, за сколько миллисекунд маленький пакет доходит до узла и ответ приходит обратно. Его задают расстояние и число узлов по пути. Свет в оптоволокне проходит около 200 км за миллисекунду, поэтому каждые 100 км добавляют к пингу примерно 1 мс туда и обратно. От Новосибирска до Москвы по прямой около 2800 км: пинг между ними не бывает меньше 28 мс, а по реальному маршруту кабеля выходит больше.
Потерями называют долю запросов, на которые ответ не пришёл. Сайт или загрузка переживают их незаметно, потерянное отправляется заново. Звонку и игре ждать некогда: пропадает слог, персонаж прыгает на месте.
У jitter смысл свой: насколько задержка гуляет от пакета к пакету. Ровные 60 мс в разговоре почти не слышны, а 20 мс вперемешку со 150 мс дают рваный звук, хотя средний пинг невысокий.
| Что мерим | Ориентир |
|---|---|
| Потери до своего роутера по кабелю | 0. Любая потеря здесь указывает на кабель, порт или сам роутер |
| Потери до сервера в интернете | Для голосовой связи в руководствах по проектированию сетей берут не больше 1 % |
| Задержка | Рекомендация ITU-T G.114 считает приемлемой для разговора задержку до 150 мс в одну сторону, это ping примерно до 300 мс |
| Jitter | Для голоса те же руководства ориентируются на средний jitter до 30 мс |
Команда ping в Windows, macOS и Linux
В Windows нажмите Win+R, введите cmd и в открывшемся окне наберите:
ping -n 20 ya.ru
Без ключа -n Windows отправит четыре запроса, а одна потеря из четырёх ни о чём не говорит. В macOS и Linux ping сам не останавливается, число запросов задаёт ключ -c: ping -c 20 ya.ru. Для долгого замера в Windows есть ping -t ya.ru, остановка по Ctrl+C. Итог русская Windows печатает в таком виде (цифры для примера, это не замер):
Пакетов: отправлено = 20, получено = 19, потеряно = 1
(5% потерь)
Приблизительное время приема-передачи в мс:
Минимальное = 11мсек, Максимальное = 64мсек, Среднее = 14мсек
Один ответ из двадцати не пришёл. Обычно задержка держится около 11–14 мс, но хотя бы раз подскочила до 64. Строка «Превышен интервал ожидания для запроса» в ходе замера означает, что ответ на этот запрос не пришёл за 4 секунды.
Отвечают на ping не все серверы, поэтому одни таймауты до сайта, который открывается в браузере, ещё не значат, что сломана сеть. Подробнее об этом в вопросах в конце.
Где мерить: три точки вместо одной
По одному замеру до одного сайта не понять, на чьём участке беда. Мерьте по очереди три точки, от ближней к дальней, по 50–100 запросов на каждую.
- Роутер. Его адрес в Windows стоит в строке «Основной шлюз» вывода
ipconfig, в macOS его покажетroute -n get default, в Linux командаip route(адрес после default via). Чаще всего это 192.168.0.1 или 192.168.1.1. По кабелю пинг до роутера меньше миллисекунды, Windows пишет «время<1мс». По Wi-Fi выходят единицы миллисекунд с редкими всплесками. Потери или постоянные скачки уже на этом шаге значат, что проблема в квартире: в эфире, кабеле или роутере. Как её искать, разобрано в статье про падение скорости Wi-Fi. - Первый узел провайдера. Его адрес даст tracert, о нём ниже: обычно это вторая строка, сразу после роутера. Если до роутера ровно, а здесь появились потери, дело в линии или оборудовании провайдера.
- Сервер в своём или ближайшем крупном городе. Если первые две точки чистые, а здесь плохо, сбой где-то дальше по маршруту.
Вывод по каждой точке сохраните с датой и временем: если придётся писать провайдеру, из него видно, что домашнюю сеть уже проверили.
Jitter без программ: считаем по ответам ping
Отдельной команды для jitter в системах нет, но его можно получить из ответов того же ping. В Linux итоговая строка выглядит как rtt min/avg/max/mdev = …, в macOS как round-trip min/avg/max/stddev = …. Последнее число в ней показывает разброс задержки и годится как оценка jitter.
В Windows такой строки нет. Приблизительную оценку даёт разница между максимумом и минимумом: при 11 и 64 мс разброс большой, хотя среднее всего 14. Точнее посчитает PowerShell, он есть в Windows 10 и 11. Команды ниже отправят 50 запросов и выведут среднюю разницу между соседними ответами, обычно jitter так и считают:
$t = (Test-Connection ya.ru -Count 50).ResponseTime
$d = for ($i = 1; $i -lt $t.Count; $i++) { [math]::Abs($t[$i] - $t[$i-1]) }
"мин {0}, макс {1}, jitter {2:N1} мс" -f ($t | Measure-Object -Minimum).Minimum, ($t | Measure-Object -Maximum).Maximum, ($d | Measure-Object -Average).Average
Потери эти команды не показывают, их смотрите обычным ping. В PowerShell 7 поле с задержкой называется Latency, а не ResponseTime.
tracert и pathping: на каком узле теряются пакеты
Команда tracert -d ya.ru в Windows выводит все узлы по пути и по три замера задержки до каждого (ключ -d ускоряет вывод). В macOS то же делает traceroute, в Linux tracepath, он входит в стандартный набор многих дистрибутивов, или traceroute, если он установлен.
Звёздочки и «Превышен интервал ожидания» в середине списка обычно ничего плохого не значат. Роутеры провайдеров отвечают на такие запросы в последнюю очередь или не отвечают совсем, а транзитный трафик при этом пропускают как обычно. Неполадку выдают потери или рост задержки, которые начинаются на каком-то узле и держатся на всех следующих до конца пути.
В Windows есть команда, которая считает это сама: pathping -n ya.ru. Сначала она печатает маршрут, потом отправляет каждому узлу по 100 запросов с интервалом 250 мс. Это около 25 секунд на узел, на весь путь уходит несколько минут. В итоговой таблице два столбца потерь (в английской версии они подписаны Source to Here и This Node/Link): первый показывает, сколько пакетов потерялось от вас до этого узла, второй показывает потери самого узла или связи перед ним. Когда узел в середине теряет пакеты, а следующие за ним нет, он просто не тратит время на ответы. Если потери начинаются на узле и тянутся до конца, виноват участок у этого узла. Номер подскажет, чей он: первый ваш роутер, следующие за ним провайдер, дальше чужие сети.
Пинг под нагрузкой и проверка с телефона
Бывает, что в простое пинг ровный, а стоит кому-то в доме начать загрузку или видеозвонок, и он растёт в разы. Проверка простая: запустите ping -t ya.ru (в macOS и Linux хватит ping ya.ru) и, не закрывая окно, тест скорости в браузере. Если на время теста пинг поднимается, например, с 15 до нескольких сотен миллисекунд, пакеты копятся в очереди роутера или модема. Такое явление называют bufferbloat. Помогает управление очередью в роутере (SQM или QoS с ограничением скорости чуть ниже договорной), если прошивка его поддерживает.
На телефоне командной строки нет ни в Android, ни в iOS. Без установки приложений остаётся тест в браузере: многие тесты скорости показывают пинг, а часть ещё jitter и пинг под нагрузкой. Браузерный тест меряет задержку по-своему, и с ping его цифры могут не совпадать. Если с телефона по Wi-Fi плохо, а с ноутбука в той же точке хорошо, ищите причину в телефоне, начиная с его энергосбережения.
Частые вопросы
Почему ya.ru отвечает на ping, а нужный сайт показывает только таймауты?
Многие серверы не отвечают на ping: администраторы закрывают такие запросы. Если сайт открывается в браузере, сеть до него работает. Для замеров берите узел, который отвечает стабильно, например крупный сайт в своей стране.
Почему пинг в игре не совпадает с командой ping?
Игра меряет задержку до своего сервера и своим способом, а команда ping меряет до узла, который вы указали. Сравнивать можно только замеры до одного и того же адреса. Если адрес игрового сервера известен и он отвечает на ping, проверьте его командой.
Почему пинг до роутера по Wi-Fi иногда прыгает до 100 мс?
Телефоны и ноутбуки на батарее усыпляют модуль Wi-Fi между передачами, и запрос ждёт, пока модуль проснётся. Если скачки идут постоянно и от зарядки тоже, проверьте сигнал и канал Wi-Fi.
Сколько запросов отправлять, чтобы увидеть потери?
Четырёх по умолчанию мало. Для быстрой проверки отправьте 50–100. Чтобы поймать редкий сбой, запустите ping -t на 10–15 минут в то время, когда проблема обычно появляется, и посмотрите итог после Ctrl+C.