我有一台 Linux 机器,用作我们家庭网络的防火墙/路由器。我住在偏远地区,因此宽带连接速度相对较慢:
Downstream Rate 7616 Kbps
Upstream Rate 512 Kbps
根据 speedtest.net 的测试结果,实际情况是下载速度约为 5000 Kbps,上传速度约为 300 Kbps。
我的孩子喜欢玩 Steam、Skype 和 Minecraft,以及在他们的 Playstation 3 上玩多人游戏。我们喜欢看 Hulu 和 Netflix。
当我们的孩子玩游戏时,它通常会中断我们的视频流,事实上,互联网响应通常也会中断。在这种“中断”期间,我经常看到他们的游戏活动创建了数百个连接,并找到了一种限制每个主机的连接的方法,这确实有很大帮助。一个非常简单的 IPTABLES 规则将每个主机的连接限制为 25 个:
iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 25 -j REJECT
自此以后已经缓解了相当多的“事件”,但每当孩子们下载一些新游戏或将他们最新的家庭视频上传到 YouTube 时,我们仍然无法观看 Hulu 和 Netflix,所以现在我正试图弄清楚如何进行一些基本的流量整形。
tc qdisc add dev eth0 root tbf rate 5000Kbit latency 50ms burst 1540
但它或多或少完全破坏了互联网连接。是我计算的数字有误,还是这只是解决问题的错误方法?或者,是否有其他/更好的技术可以让我们的互联网对 Netflix/Hulu 流媒体保持响应?我仍在学习有关 QoS 和流量整形的知识,因此如果您知道一些记录此主题的优秀资源,请提供参考。
我主要在处理这个庞然大物:http://lartc.org/lartc.html#LARTC.IPROUTE2去尝试弄清楚事情。
答案1
答案2
不幸的是,QoS 只能帮助您处理出站流量,因为我真的不认为您的 ISP、NETLIX 和您儿子的游戏网络(PSN、XBoxLiv……)会在流向您的流量上使用/遵守 QoS。
您可以通过调整低于实际入站速度来提供帮助,但这仅适用于 TCP 流量(一旦超过您设置的 BW 限制,您将丢弃一些数据包,TCP 将对这些数据包采取行动以降低流量)。UDP 仍将阻塞所有内容,因为它主要是“发射并忘记”
由于入站连接的瓶颈是最后一段 - 您的 DSL 链路 - 您的 ISP 仍然会丢弃一些发往您的随机流量(因为他们肯定没有为普通用户配置队列优先级和整形)