有没有用于 QoS(流量控制)的开源软件?

有没有用于 QoS(流量控制)的开源软件?

我们正在为我们的服务器应用程序进行 QoS(流量控制)。此服务器为用户提供文件下载服务,我们希望为不同的用户提供不同的优先级和带宽。假设 Linux 服务器为我们的应用程序提供 1M 的带宽,那么我们将为优先级最高的用户提供最多的带宽。

我打算使用 Token 和 Token Bucket 概念来实现这一点,但我不知道如何使用 Timer 和 Measurement 技能来控制生成 Token 的速率,所以我决定从现有的 sw 源代码中学习。有人可以推荐一些流量控制软件/工具吗?

[更新]
我想知道如何使用计时器按速率生成令牌(因为令牌是以某种速率生成的,所以我们可以认为获取令牌的线程将以与生成令牌相同的速率将数据发送到网络接口)。

答案1

大师塑形师可能就是你要找的东西。你可以阅读

它 (MasterShapper) 的目标是让用户学习和使用流量整形机制。对于不具备 Linux 深度知识和 iproute2 包中 tc 命令复杂语法的人来说,这应该是可能的。

并且是开源,所以你可以像你说的那样

从现有的软件源代码中学习

答案2

通常,应用程序不控制分配给特定套接字的带宽,也不知道内核发送的流量与其他应用程序发送的流量相比有多少。

该实用程序tc(iproute2 的一部分)与 iptables 在数据包和连接上设置标记相结合,可用于实现任意复杂的分层令牌桶系统(及其htbqdisc),您应该考虑研究这一点。

相关内容