Ищем функцию управления дорожным движением (т.е.QOS) библиотека в Linux
-
13-12-2019 - |
Вопрос
Я пытаюсь перенести некоторый код C++ из Windows в Linux, но не могу найти аналогичный API для функций управления трафиком в Linux.
мне нужны эти функции.Пожалуйста, помогите, если вы знаете, где я могу найти такой API?
Спасибо за ваше время.
Решение
Вы определенно хотите начать с Расширенная маршрутизация и контроль трафика Linux как.Я бы рекомендовал использовать tc
утилита из iproute2, которую использует руководство, но если вам нужен более прямой API, вы можете посмотреть его исходный код в качестве примера.
Другие советы
Как уже говорилось, вы хотите использовать команду управления управлением трафика Linux TC.Я бы порекомендовал HTB Sceduling.Вы можете включить модуль ядра с:
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, более подробно они выполняют следующие
- Настройка дисциплины очередей
- Установка родительского класса и его ограничение скорости трафика
- Настройка дочернего класса с частотой трафика и скоростью трафика потолок
- добавить IP-фильтр, чтобы применить пределы класса дочерних классов до конкретного IP-IP
Вы можете настроить столько детских классов, сколько вы хотите, каждый может использоваться для другого IP в вашей сети.Для более тщательного и подробного пошагового пошагового руководства по настройке контроля трафика TC см. Здесь: http://hostrepo.com/article.php?id=194
Удачи!