Назад | Перейти на главную страницу

Есть ли какое-нибудь программное обеспечение с открытым исходным кодом для QoS (контроль трафика)?

Мы делаем QoS (контроль трафика) для нашего серверного приложения. Этот сервер предоставляет пользователям службу загрузки файлов, и мы хотим дать разным пользователям разный приоритет и разную пропускную способность. Предположим, что сервер Linux предоставляет нашему приложению полосу пропускания 1M, тогда мы дадим пользователю с наивысшим приоритетом наибольшую полосу пропускания.

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

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

Обычно приложение не контролирует полосу пропускания, выделенную для определенных сокетов, и не знает, сколько ядро ​​отправляет свой трафик по сравнению с трафиком других приложений.

Утилита tc (часть iproute2), в сочетании с установочными метками iptables для пакетов и соединений, может использоваться для реализации произвольно сложной иерархической системы ведра токенов (с ее htb qdisc), и вам следует подумать над этим.

MasterShapper может быть тем, что вы ищете. Можно читать

Он (MasterShapper) нацелен на то, чтобы позволить пользователям изучить и использовать механизм формирования трафика. Это должно быть возможно для всех, кто не имеет более глубоких знаний о Linux и сложном синтаксисе команд tc из пакета iproute2.

и является Открытый источник, так что вы можете, как вы сказали

учиться на существующем исходном коде SW