局域网混合速率接入导致无线性能异常的定位经验

查看 50|回复 1
作者:ZRS   
概要
局域网内高速端口向低速端口发送数据,流控不当会有严重的帧溢出风险,引发上层丢包、乱序、重放等问题导致 TCP 重传;从而导致对重传敏感的无线信道性能急剧劣化。建议正确的全链路配置 802.3x 标准支持实现链路层流控,同时高速发送端使用对丢包不敏感的拥塞控制算法 BBR 。对于带无线接入的家庭环境,放弃 TrueNAS Core ,使用 TrueNAS SCALE 并配置 BBR 。
背景
NAS 使用 TrueNAS Core ,万兆 SFP+ 直连主路由( RB5009 ),AP 使用 U6 Enterprise ,2.5GbE 接入主路由。AP 下连客户端协商速率隔墙可达 1.7Gbps ,SMB 从 NAS 中下载文件速率不足 30MB/s ,视无线环境可能更糟,上行可以正常跑到 110MB/s 以上,最高可达 150MB/s ,iperf3 双向测速情况和 SMB 表现基本一致,多线程可缓解,有线条件下一切正常。降级到全千兆接入,问题也极大缓解。
下载:

上传:

发现
问题最早发现的时候还不是这套无线设备,经过漫长的更换设备排查和观察定位,发现以下现象:
1 、主路由 SFP+ 口处发现海量 RX Overflow

2 、客户端上抓包发现大量的 Dup ACK 和由此导致的 Retransmission ,还能看到很多 Out-of-Order 此处未截出

3 、TrueNAS Core 默认拥塞控制算法为 NewReno ,更换为 Cubic 之后好了一点,但很有限
解决
基本可以确定是高速端口在向低速端口发送数据的时候,因为没有正确的流控导致交换设备出现严重的溢出;同时更上层的拥塞控制算法,因为对丢包过于敏感,未能将发送窗口协商至合理的链路带宽;加之无线信道对重传也敏感的多,多种因素综合导致了无线下行拥塞大爆炸,下行速率远劣于上行。问题找到了,于是动手解决:
1 、RouterOS 所有端口手动配置 Flow Control (是的,默认未启用)

2 、更换 NAS 系统为 TrueNAS SCALE 并配置 BBR

下行立刻恢复至 130MB/s:

解决了困扰很久的问题,希望对你有帮助

truenas, 拥塞, 端口, bbr

cjpjxjx   
想起来之前也好像遇到过类似的问题,软路由接千兆交换机,千兆交换机下面接了一台百兆端口的无线路由器和其他设备,当这台无线路由器的下载速率达到 80Mbps 以上时,千兆交换机下面的其他设备访问软路由的延迟却增加到了几百 ms ,访问外网更是疯狂丢包,后来把百兆的无线路由器换成了千兆的,问题消失
您需要登录后才可以回帖 登录 | 立即注册

返回顶部