在 Linux 中,一次下载可以使用所有可用带宽,因此无法启动任何其他连接。(例如,如果我正在下载更新,我不能同时上网)
有没有办法在不同的连接之间设置某种公平排队,以允许共享?
我用 sfq qdisc 检查了 tc,但似乎必须将其调整到当前可用的带宽,这在 xDSL 上可能很困难,其中最大下行带宽无法完全可用,具体取决于提供商。
在 Linux 中,一次下载可以使用所有可用带宽,因此无法启动任何其他连接。(例如,如果我正在下载更新,我不能同时上网)
有没有办法在不同的连接之间设置某种公平排队,以允许共享?
我用 sfq qdisc 检查了 tc,但似乎必须将其调整到当前可用的带宽,这在 xDSL 上可能很困难,其中最大下行带宽无法完全可用,具体取决于提供商。
查看 Wondershaper: http: //lartc.org/wondershaper/ - 它几乎就是为此而构建的。
Ubuntu 线程:http ://ubuntuforums.org/showthread.php?t=25911
Freshmeat 概述: http: //freshmeat.net/projects/wshaper/:
也可以使用Trickle
一个可能产生一些好处的更快的临时修复是为传出数据包编写几个 iptables 规则,以便为 SYN 数据包提供不同的服务类型(即为新连接请求发送的内容 - 要加载的新网页)和传入的SYN-ACK。
您可能也可以扩展它以测试端口号等,并可能利用 iptables 为连接会话保留的状态表。
我个人从未尝试过任何带宽限制应用程序,但如果您想在一个好地方查看一些适用于 Linux 的应用程序,请查看带宽限制Wikipedia 条目的“外部链接”部分。
在提到的解决方案中,我听说过基于涓流和 Squid 的实现(例如在带宽限制 HOWTO中)。