OpenWrt 下使用 SQM QOS 保障上网质量稳定网络延迟

QOS 全称 Quality of Service(服务质量),指用于网络通信中确保网络服务质量的一种技术手段,具体效果表现为当网络带宽处于满载使用时,用户不会感受到明显的网络延迟、卡顿等现象,极大的改善整体网络使用体验。

接下来介绍一款 OpenWrt 下的动态 QOS 软件:SQM QOS

首先安装界面程序:luci-i18n-sqm-zh-cn

用途说明

sqm-scripts 脚本用于自动进行流量整形与数据包调度,以实现动态 QOS 服务,一般只需设置好带宽速率即可,能满足大多数家用网络环境,当网络流量处于饱和状态时,对网络延迟敏感的应用,例如网络游戏等不会受到干扰。

具体介绍请查看:https://www.bufferbloat.net/projects/cerowrt/wiki/Smart_Queue_Management/

配置示例

以家用宽带 300M 套餐为例,通常标称速率为:下载 300Mbps、上传 30Mbps,在 SQM QOS 中填写参数时,直接乘以 1000 即可。

注意:现代网络宽带通常都是光纤入户了,实际带宽速率可能略高,但请勿设置为实际速率的最高值,否则将导致 QOS 效果失效,
如果你想尽可能的提高带宽速率,只建议设置为实际最大速率的80%-95%,请自行多次测速以确认实际带宽速率,以单机上网测速为准。

SQM QOS 可同时添加多个规则,分别限制不同的网络接口,也可用于限制指定接口的最大速率。

注意事项

至于为什么不能将 QOS 速率设为实际最大网络速率,因为其属于一个基准值而非绝对值,根据动态 QOS 的工作原理,当网络流量处于满载状态时,网络速率并非一条直线一样的平稳,而是会以设定值为基准,处于不断的起伏状态,所以必须为其波动空间留出足够的富余量,让网络流量的起伏范围始终低于实际最大速率,这样才能确保 QOS 的效果。

那么如果将 QOS 的速率设置为实际最大带宽速率,当网络流量处于满载状态时,连续不断的网络流量起伏将超过实际最大速率,从而不断触发网络运营商服务器的限速措施,导致网络稳定性下降,使得本地 QOS 失去效果。