是否可以在C中编写简单模块来控制网络带宽。例如,在10 GB / s网络中,应该能够以50/100 MB / s的倍数增加/减少1-2 GB / s的带宽。
目标是使用滑块执行此操作。用户应该能够向右/向左移动滑块以增加/减少带宽。 现在我正在使用iperf,但使用它我只能测量客户端/服务器之间的带宽而不是控制带宽。
答案 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