1

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

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

4

1 回答 1

4

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

奇迹塑造者

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

$ 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

于 2015-07-10T07:15:39.467 回答