家庭网络中QOS和限速的选择 您所在的位置:网站首页 监控限速多少合适 家庭网络中QOS和限速的选择

家庭网络中QOS和限速的选择

2024-05-09 12:42| 来源: 网络整理| 查看: 265

之前在FlexQoS配置的文章中讲过,当你使用的软件所占用的上行或下行带宽达到运营商限制的带宽时,会出现丢包现象。考虑到目前家用路由器普遍有缓冲区,顶满带宽会产生bufferbloat现象,延迟飙升。这个现象在 【游戏玩家必看!华硕AX86U 小米 AX9000 AX6000 红米AX5400电竞版 QoS功能评测】 https://www.bilibili.com/video/BV1ad4y1M7s5 这期视频中有所展示。

为了避免丢包和延迟升高的现象,很容易想到的方法是,不让软件使用的带宽达到运营商限制的带宽。有两种方法,路由器设置QOS,和限速。

由于QOS需要使用路由器CPU分析和处理数据包顺序,且会关闭硬件NAT加速(华硕Adaptive QoS除外),路由器WAN的包转发率会大幅度下降,可能大包也跑不满千兆带宽。对于路由器端的限速,我查了一下SmallNetBuilder Forums,结论是华硕路由器的带宽限制功能也会导致硬件加速关闭。

12

Tech9是比较活跃的会员,dave14305是FlexQoS的作者。我目前不想折腾我家的网络,我自己没有测试。

CPU处理数据包和失去硬件NAT都会导致路由器能带动的最高带宽值下降,这需要取舍。可以在需要的时候(如下载或有人看视频时玩游戏)打开QOS/限速,不需要的时候(仅你一人玩游戏或仅你一人下载)关闭QOS/限速。

这不是本文的重点,下面假设开启QOS和路由器端限速都能带动你家的带宽,本文主要讲什么时候选择限速,什么时候选择QOS?

需要说明的是,当顶满带宽时,出现丢包和延迟升高的原因是在WAN的转发上,和你LAN侧使用有线或wifi,wifi5还是wifi6无关。如果你的几个wifi设备都尝试跑满路由器的wifi侧带宽,也会导致丢包,本文不讨论这个现象。

下面假设你有两台设备,A和B,分别运行两个软件,A1 A2,B1 B2。

如果只有A设备会尝试吃满带宽,A1是下载软件,A2是游戏,你可以在A1软件上限速。限速值可以是你家带宽的0.8倍,留出一部分给游戏使用,具体限速多少你可以直接根据游戏体验来感受。如果A1是吃上传的软件,同理,在A1上限制上传带宽即可。

如果A和B都有软件想吃满带宽,A1和B1是下载软件,A2是游戏,你可以在A1和B1软件上分别限速。比如A1限制为你家带宽的0.4倍,B1也是0.4倍。上传同理。

但是,如果单独存在A1时,A1会吃满带宽,单独存在B1时,B1由于服务端拉跨或者做种人少等原因,实际只能跑你家带宽的0.3倍。A1和B1共存时,你再像之前那样限速,A1亏了。而且,一个资源的下行速度在时间上不一定是恒定的,可能这时候服务器用的人少,你下的快,过一会儿服务器拥塞了,你下的慢,你能经常测试,经常修改限速值吗?

这是只有两台设备的情况,如果设备多了,软件多了,下载的资源个数多了,一个一个测根本不现实。如果都限制你家带宽的0.8倍,它们加一起显然还是会顶满你的带宽,造成丢包和延迟升高。

考虑另一种情况,如果A1和A2都是下载软件,B2是游戏,你可以在路由器端给A设备限速,这样就不需要考虑上面描述的情况了。

但是,在家庭环境中,这种情况过于理想了。如果你住的地方只有你自己用网,一台电脑,一个手机,通过下载软件端和路由器端的花式限速,可以保证你玩游戏的体验,但是如果你住的地方有多个人用网,例如你的父母,兄弟姐妹,或者室友,都很难通过限速来解决问题。

假如我的主路由带了4台电脑,4个手机,使用的应用包括普通下载,bt下载(包括上传),视频软件(国内很多视频软件使用P2P加速,会占用上传带宽并创建大量连接),网游,手游,微信电话等。这种环境,我能跑去给每个设备,每个软件去限速吗?限速多少?就算在路由器端限速,每个设备限速多少?而且,你经常和家人或室友说网络的事,会给他们造成一种错觉,他们用网影响到了你。他们如果对你好,会潜意识里减少网络的使用,这显然会劣化他们的体验。这是心理学的范畴了,我只是提一下。

假如我现在要和朋友打游戏,发现有点卡,去路由器后台看下哪个设备在用网,发现一台电脑在下载,我把这台电脑限速成0.8,我游戏不卡了,然后我游戏玩了3个小时,如果忘了游戏结束后取消限速呢?这台电脑很长一段时间都会使用0.8倍带宽。如果情况复杂一些,只用限速的话,你肯定要频繁的去路由器后台设置,非常的麻烦。如果懒,不想折腾,就会有些设备,有些软件长期使用较低的带宽。

通过以上内容,大家应该可以看出无论是软件限速,还是路由器限速,都十分的僵硬。这种时候就需要设置QOS。

QOS对网络性能是存在劣化的,包转发率降低,可带动的极限带宽降低,这些之前说过了。还有一个问题。假设你路由器的CPU性能足够,你无QOS时测速测到了550M,为了让QOS生效,你必须在QOS系统中填写一个低于550M的值,我个人习惯填写它的0.9倍,即495M。开启QOS后,你再测速,会略微低于495M,这说明QOS有效果。这样就损失了55M下行带宽(上行同理),只要开着QOS,这个损失就恒定存在。所以我一直强调,QOS在需要的时候开,不需要的时候关闭。当然,如果你的路由器CPU能带动你家的带宽,且你不是很在意损失的这一点带宽,你可以考虑常驻QOS。

QOS的效果可以简单的理解为下面这样。当只有下载软件A1想吃满带宽,它会跑到略微低于495M的带宽。如果B1也想吃满带宽,它们会分这495M的蛋糕,QOS会给A1和B1各设置一个最低的保留带宽,防止一个把另一个给挤没了。如果此时开启了A2游戏,由于游戏的优先级高,A2的数据包会优先转发,A1和B1会让出一部分带宽给游戏使用,保证A2游戏的体验。这些都是全自动的,不需要你经常去调整各种限速值,玩花式限速。唯一需要动的是QOS开关,不需要的时候关闭即可。对于华硕路由器,开关QOS不会导致路由器重启,只会导致防火墙自动重启,非常快,不影响使用体验。

下面写几个常见的问题和误区。

1 宽带超过多少M就不需要QOS?(千兆宽带不需要QOS?)

错误。一是家用宽带普遍上传带宽较低,一些视频软件的P2P加速,BT下载等,会吃满上传带宽。二是一些热门资源的BT和迅雷下载,steam下载(可能需要修改下载服务器和CDN服务器),部分资源IDM下载等,也会吃满千兆带宽。

2 开启QOS一定会失去硬件NAT吗?

不一定。华硕博通ARMv8平台的产品(如AX86U,AC86U),开启Adaptive QoS不会导致Runner和Flow Cache硬件加速关闭。此时CPU负责处理QOS,NAT依然是专用电路负责。

3 如果想使用QOS,建议购买什么产品?

我不做广告。QOS需要CPU性能,如果要求较高可以选择软路由并安装ikuai等具有QOS的固件。如果不想折腾软路由,可以考虑华硕高端型号(意味着使用了ARMv8的CPU)。我个人使用AX86U,QOS可以跑满500M宽带,千兆跑不满。

4 你提到的FlexQoS是什么?

它是华硕Adaptive QoS的增强脚本,只能工作在梅林固件上。它可以修改每个优先级的最大带宽和最低保留带宽,可以自定义某个设备的流量类型,最重要的是它可以修改队列规则。华硕A QOS默认使用sfq(Stochastic Fair Queuing),即对于每个流量类型(如下载),各个数据包是公平的,顶满带宽会随机丢包。F QOS可以修改为fq_codel(the flow queue control delay),对于占用大量流量的大包,优先级会逐渐降低,小包优先转发。注意以上内容均针对一个流量类型。对于不同的流量类型,如游戏和下载,会按照你设置的优先级进行处理。

需要注意的是,如果要使用F QOS且是AX86U等比较新的AX产品,不要修改F QOS的iptables和app规则。如果修改,会导致F QOS失效,解决方法是关闭Flow Cache,需要进SSH写命令,这里不展开说。如果有想知道的可以评论区问。

5 为什么你说QOS设置值是0.9?FlexQoS的WAN开销是什么?

即使你用路由器拨号,你的光猫也不止做了光电转换,还包含RFC1483 PPPoE LLC/SNAP封装,这增加了数据包的大小。运营商衡量你使用的带宽,是包括这部分封装的。当你收发的都是1500左右的大包时,封装部分占用极小,影响不大。但当你收发的数据包比较小时,封装这部分就显得不能忽视了。也就是说,你用大包跑测速得到的值大于小包跑测速得到的值。你实际使用网络的时候,必然有大包有小包,所以你不可能把测速值直接填入QOS。只有QOS填写值低于你运营商的限制时,QOS才有效。FlexQoS的WAN开销就是让你尝试填写这部分封装的大小。但是我试过,如果按照PPPoE LLC/SNAP填写,实际测速值会降低很多,不同节点测速结果也会有很大差异,这可能与不同节点测速用的数据包大小有关。国内是否使用RFC1483 PPPoE LLC/SNAP封装我也是在网上看到有人说的,我并不能肯定。因此我不建议大家折腾WAN开销设置。QOS一般在大流量时才用的上,即大包为主,因此设置测速带宽x0.9可以保证绝大部分情况,QOS生效。你也可以设置到更低,QOS更可能生效,损失的带宽也更高。

如有错误和疑问,欢迎评论。

下面是主要参考内容:

1. @卡卡的鼓捣日记 ,【游戏玩家必看!华硕AX86U 小米 AX9000 AX6000 红米AX5400电竞版 QoS功能评测】 https://www.bilibili.com/video/BV1ad4y1M7s5?share_source=copy_web;vd_source=fb3ffeae546893a3da2778ecfa03ec29

2. RFC1483的介绍:https://www.zhihu.com/question/479325477/answer/2056790720

3. fq_codel的介绍:https://www.jianshu.com/p/3b2e701f61ea?from=timeline

4. FlexQoS的发布贴:https://www.snbforums.com/threads/flexqos-1-3-2-flexible-qos-enhancement-script-for-adaptive-qos.75620/



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有