Диагностика потерь пакетов и джиттера: траблшутинг через iperf3, ping и mtr
- Прерывание голосового трафика (VoIP/SIP), артефакты в видеоконференциях и потеря кадров в реальном времени.
- Резкие скачки Round-Trip Time (RTT Jitter) от 5 мс до сотен миллисекунд.
- Периодические или постоянные потери пакетов (Packet Loss > 1%).
- Деградация пропускной способности TCP при высокой скорости канала.
1. Комплексная трассировка маршрута и потерь через MTR
Запустите mtr в режиме расширенного отчета с отправкой 100 пакетов:
mtr --report --report-cycles=100 -s 1400 --show-ips 198.51.100.1- Обратите внимание на колонку
Loss%: реальная потеря на промежуточном узле транслируется на все последующие хопы. - Если потеря видна только на одном промежуточном хопе (а на конечном 0%), это следствие ICMP Rate Limiting на Control Plane маршрутизатора, а не реальная проблема канала.
2. Тестирование пропускной способности и джиттера через iPerf3
А) Запуск сервера на удаленной стороне
iperf3 -s -p 5201Б) Тестирование UDP для точного измерения Jitter и Loss
# Тест полосы 50 Mbps с замером джиттера:
iperf3 -c 198.51.100.1 -u -b 50M -p 5201 -t 30Вывод предоставит метрики Jitter (ms) и процент потерянных UDP дейтаграмм.
В) Тестирование параллельных потоков TCP
iperf3 -c 198.51.100.1 -P 8 -t 30 -R3. Проверка буферизации и Bufferbloat
Запустите непрерывный пинг во время стресс-теста канала утилитой iperf3:
ping -i 0.2 198.51.100.1Если время отклика при загрузке возрастает в 5-10 раз, на маршрутизаторах возникает явление Bufferbloat (требуется настройка алгоритмов FQ-CoDel / CAKE).
Частые вопросы (FAQ)
Почему MTR показывает 50% потерь на втором хопе, но 0% на целевом сервере?
Это специфика обработки ICMP Control Plane: современные маршрутизаторы аппаратно пересылают транзитный трафик, но ограничивают скорость генерации собственных ответов ICMP Time-to-Live Exceeded. Если на финальном хопе потерь нет — канал исправен.
Какой уровень джиттера считается критическим для VoIP?
Для качественной передачи голоса (кодеки G.711, G.729) джиттер не должен превышать 20-30 мс, а потери пакетов — не более 0.5-1%. При джиттере > 50 мс начинаются слышимые задержки и выпадение слов.
В чем разница между однопоточным и многопоточным тестом iperf3 (-P 8)?
Один поток упирается в размер TCP Window и сетевую задержку RTT (BDP — Bandwidth Delay Product). Многопоточный тест позволяет выжать максимум из физического линка даже при потерях и высоком RTT.
Что означает флаг -R в iperf3?
Флаг -R (Reverse Mode) заставляет сервер передавать данные клиенту, что необходимо для проверки скорости входящего канала (Download), если клиент находится за NAT.