![OpenWrt LEDE 路由器的缓冲区膨胀过大。为什么?](https://linux22.com/image/1570869/OpenWrt%20LEDE%20%E8%B7%AF%E7%94%B1%E5%99%A8%E7%9A%84%E7%BC%93%E5%86%B2%E5%8C%BA%E8%86%A8%E8%83%80%E8%BF%87%E5%A4%A7%E3%80%82%E4%B8%BA%E4%BB%80%E4%B9%88%EF%BC%9F.png)
缓冲区膨胀是许多路由器中发现的一个缺陷。当网络上有其他流量使用路由器时,Bufferbloat 会导致延迟显著增加和网络速度减慢。
第三方路由器固件(例如最新版本的 OpenWrt LEDE(vers 17.01.5))应该可以修复缓冲区膨胀问题。
然而,在 BT Home Hub 5 型 A 路由器上使用 OpenWrt LEDE 17.01.5 时,我发现我仍然受到一些缓冲膨胀的影响,具体测量如下:DSL 报告速度测试,这使我在缓冲区膨胀测量中得分较低(通常为 D 到 F 分数)。
有趣的是,我的上传缓冲膨胀比下载严重得多:我的正常 ping 时间约为 8 毫秒,在 DSL 报告测试的下载阶段,这个时间会增加到大约 50 毫秒,但在上传阶段会增加到大约 600 毫秒。
就质量评分而言,DSL Reports 通常给出 A 或 B 的评分。但我的缓冲区膨胀评分很低,因此显然缓冲区膨胀问题仍然存在。
有谁能告诉我,为什么我仍然会遇到一些缓冲区膨胀问题,而 OpenWrt LEDE 固件就是为解决缓冲区膨胀问题而设计的?
当我使用带有标准固件的 BT Home Hub 5 时,缓冲区膨胀问题更加严重,上传期间延迟高达 2000 毫秒。因此,安装 OpenWrt LEDE 有所改善,但并未完全解决问题。
我通过 ASDL2+ 连接到我的 ISP,使用带 LLC 封装的 PPPoA。由于离我的电话交换机很近,我的下载速度很快(按 ASDL 标准),约为 18.5 Mbps,上传速度约为 1 Mbps。我在英国使用 Plusnet ISP。
答案1
可能是以下两种情况之一,也可能两者兼而有之:
- 尽管 OpenWrt/LEDE 包含可对抗缓冲区膨胀的 fq_codel 网络调度程序,但您可能没有启用它。请验证您是否使用 fq_codel 作为网络调度程序。
- 即使您使用 fq_codel 以使您的 OpenWrt/LEDE 路由器不会出现膨胀,膨胀也可能会在您网络上的其他设备上累积,例如宽带调制解调器或其他路由器、网关或 Wi-Fi AP。好消息是,如果您启用 HTB 流量整形以使您的 OpenWrt 路由器成为轻微所有进出网络的流量的瓶颈,它可以使用 fq_codel 来对抗缓冲区膨胀,以免膨胀在网络上的任何其他设备上累积。因此也启用它。
另外,研究一下 cake/sqm-scripts;它包含在 OpenWrt/LEDE 的最新版本中,它是确保您以最有效的方式对抗缓冲区膨胀的最新方法。