Имитация большой сетевой задержки и всплеска пакетов после

Имитация большой сетевой задержки и всплеска пакетов после

Я тестирую кодек Opus и стек VoIP, который его использует. У меня есть синтетическая тестовая утилита, которая отправляет внутренний трафик Opus RTP между двумя портами на интерфейсе loopback + она записывает полученный звук в файлы для дальнейшего анализа.

Используя утилиту Linux «tc», я могу моделировать различные сбои в работе сети.

Однако я застрял на имитации такой вещи, как "внезапная задержка сети". Извините за мой плохой английский!

Это должно выглядеть так, как будто сеть останавливается на 1 секунду, а затем все задержанные пакеты отправляются как можно скорее своим получателям.

Возможно ли реализовать это с помощью утилиты «tc»?

Я попытался запустить команду «tc», чтобы установить задержку 1000 мс во время синтетического теста, но это не дало желаемого эффекта.

Может ли кто-нибудь дать совет?

Спасибо :)

решение1

Это должно выглядеть так, как будто сеть останавливается на 1 секунду, а затем все задержанные пакеты отправляются как можно скорее своим получателям.

Это на самом деле возможно... Отman tc:

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

... и изman tc-netem:

слот
отложить доставку накопленных пакетов в пределах слота. Каждый доступный слот может быть настроен с минимальной задержкой для получения и необязательной максимальной задержкой.

... Итак, вы можете сделать что-то вроде этого:

sudo tc qdisc add dev interface root netem slot 1000ms 1000ms

... где interfaceнаходится предполагаемое имя сетевого интерфейса, как показано, например, в выводе ip a.

Это задержит все переданные пакеты на указанном интерфейсе, 1000msа затем освободит их все сразу (в рывке).

Уведомлениечто, delayс другой стороны, добавит задержку в размере 1000msк каждому переданному пакету на указанном интерфейсе.

Связанный контент