控制网络带宽

时间:2015-07-10 07:04:05

标签: c linux bandwidth bandwidth-throttling

是否可以在C中编写简单模块来控制网络带宽。例如,在10 GB / s网络中,应该能够以50/100 MB / s的倍数增加/减少1-2 GB / s的带宽。

目标是使用滑块执行此操作。用户应该能够向右/向左移动滑块以增加/减少带宽。 现在我正在使用iperf,但使用它我只能测量客户端/服务器之间的带宽而不是控制带宽。

1 个答案:

答案 0 :(得分:3)

我建议您使用命令行工具。

<强> Wondershaper

这是我发现的限制特定接口带宽的最简单工具。所需要的只是,

$ sudo wondershaper {interface} {down} {up}

{down}和{up}是以千比特为单位的带宽。例如,如果您想将接口eth1的带宽限制为256kbps上行链路和128kbps下行链路,

$ sudo wondershaper eth1 256 128

要清除限制,

$ sudo wondershaper clear eth1

<强>涓流

与将带宽限制在整个界面的wondershaper不同,trickle是用户空间带宽限制工具。语法是,

$ trickle -u {up} -d {down} {program}

{up}和{down}以及KB / s的带宽。现在,如果你将其作为,

调用
$ trickle -u 8 -d 8 firefox

它会激活Firefox,将带宽限制在8KB / s。如果您是Web开发人员并希望在各种带宽条件下测试应用程序,这非常有用。

参考http://jwalanta.blogspot.in/2009/04/easy-bandwidth-shaping-in-linux.html