在Linux中寻找流量控制功能(即QOS)库



我试图将一些C++代码从Windows移植到Linux,但在Linux中找不到类似的API用于流量控制功能。

我需要这些功能。如果你知道我在哪里可以找到这样的API,请帮忙?

谢谢你抽出时间。

您肯定想从Linux高级路由和流量控制howto开始。我建议使用howto使用的iproute2中的tc实用程序,但如果您想要一个更直接的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

这些示例命令为IP 109.11.28.2在设备eth0上设置流量控制,更详细地说,它们执行以下

  1. 设置排队规则
  2. 设置父类及其流量速率限制
  3. 设置具有流量率和流量率上限的子类
  4. 添加IP筛选器以仅将子类限制应用于特定IP

您可以设置任意数量的子类,每个子类都可以用于网络上的不同IP。有关设置tc交通管制的更全面、更详细的分步指南,请参阅此处:http://hostrepo.com/article.php?id=194

祝你好运!

最新更新