2012-03-18 5 views
2

Я работаю над школьным проектом, в котором я пытаюсь моделировать явление сети буферизации. Это, по существу, латентность вследствие того, что буферы в маршрутизаторах становятся все больше и больше во времени из-за дешевых цен на память.Формирование трафика с помощью tc

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

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

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

Благодарим за ваше терпение.

+2

Уже прочитал LARTC (Linux Advanced Routing & Traffic Control HOWTO) http://lartc.org/howto/lartc.cookbook.ultimate-tc.html? – dAm2K

+0

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

ответ

2

Я думаю, что есть два способа имитации вздутия живота, и это зависит от ядра и/или версии 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 

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

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

+0

Благодарим вас за команды. Я обнаружил, что маркерное ведро действительно послужит моей цели. Я попробую это через несколько дней (у меня нет оборудования здесь, чтобы проверить его) и отчитается. Вторая команда выглядит многообещающей с точки зрения простоты и элегантности. Спасибо. –

+1

Я использую ваше первое решение, и оно работает как шарм. С небольшой настройкой и настройкой я нашел то, что мне нужно. Спасибо за ваш ответ. –

Смежные вопросы