Формирование трафика с использованием tc - PullRequest
3 голосов
/ 18 марта 2012

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

Теперь, чтобы начать этот проект, я уже провел некоторые исследования в linux "tc"-команда и как ее использовать, но я не вижу, как установить правильную конфигурацию для моих нужд.Ситуация выглядит следующим образом;У меня 3 компьютера.ПК1 подключен к ПК2, а ПК2 подключен к ПК3.В этой конфигурации PC2 действует как маршрутизатор, в котором используется большой буфер.Трафик отправляется с ПК1 на ПК3 через ПК2.Теперь я намерен ограничить пропускную способность, которую ПК2 может использовать для отправки входящих данных с ПК1 на ПК3.

Я планировал сделать это, установив большой буфер на ПК2 с задержкой при получении пакетов избуфер для симуляции медленной ссылки.Это должно привести к заполнению большого буфера и возникновению задержек.

Теперь я хочу спросить это сообщество о том, как настроить это с помощью команды "tc" или, возможно, других подходящих инструментов.для работы.Или, если у вас есть другие идеи о том, как имитировать вздутие живота, это тоже приветствуется.

Спасибо за ваше терпение.

1 Ответ

3 голосов
/ 19 марта 2012

Я думаю, что есть два способа симуляции вздутия живота, и это зависит от используемого вами ядра и / или версии iproute. TBF и NETEM позволяют установить скорость и размер очереди.

tc qdisc add dev eth0 root tbf rate Xmbit limit Y burst 1500

или

tc qdisc add dev eth0 root netem Xmbit limit Y

, где X - пропускная способность иУ размер очереди.Первый должен работать в любом ядре 2.6 и быть в более новой версии 2.4.Последнему требуется новая версия ядра Linux и инструмент Iproute.

С уважением, Диего

...