Ищите библиотеку функции управления трафиком (т.е. QOS) в Linux - PullRequest
0 голосов
/ 14 марта 2012

Я пытаюсь перенести некоторый код C ++ из Windows в Linux, но не могу найти аналогичный API для функций управления трафиком в Linux.

Мне нужны эти функции . Пожалуйста, помогите, если вы знаете, где я могу найти такой API?

Спасибо за ваше время.

Ответы [ 2 ]

1 голос
/ 14 марта 2012

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

0 голосов
/ 19 января 2016

Как уже говорилось, вы хотите использовать команду управления трафиком Linux tc.Я бы порекомендовал планирование HTB.Вы можете включить его модуль ядра с помощью:

modprobe sch_htb

Основные команды для настройки tc следующие:

tc qdisc add dev eth0 root handle 1:0 htb
tc class add dev eth0 parent 1:0 classid 1:1 htb rate 100mbit
tc class add dev eth0 parent 1:1 classid 1:1000 htb rate 500Kbit ceil 1000Kbit
tc filter add dev eth0 parent 1:0 protocol ip prio 1 u32 match ip src 109.11.28.2 flowid 1:1000

Эти примеры команд настраивают управление трафиком на устройстве eth0 для IP 109.11.28.2, более подробно они выполняют следующие действия:

  1. , устанавливают дисциплину очередей
  2. , устанавливают родительский класс и ограничение его скорости трафика
  3. , устанавливают дочерний класс со скоростью трафикаи потолок скорости трафика
  4. Добавьте IP-фильтр для применения ограничений дочерних классов только к определенному IP-адресу

Вы можете настроить столько дочерних классов, сколько захотите, каждый из которых может быть использован длядругой IP в вашей сети.Более подробное и подробное пошаговое руководство по настройке управления трафиком tc см. Здесь: http://hostrepo.com/article.php?id=194

Удачи!

...