<br />
<br />
1.设备环境
- 物理机,系统版本:0.8.41
- 网络环境:公网 + 端口转发
- 测试工具:iperf3,homebox
2.问题现象
远端设备 有线连接:
- 飞牛上传速度 = N1 上传速度 = 60Mbps(与宽带标称基本一致)。
远端设备 无线连接:
- 飞牛上传速度 ≤30Mbps(显著低于 N1 的 60Mbps)。
连接方式 |
设备 |
速率(Mbps) |
Retr 次数 |
有线 |
飞牛 |
60 |
低 |
有线 |
N1 |
60 |
高 |
无线 |
飞牛 |
30 |
低 |
无线 |
N1 |
60 |
高 |
3.排查过程
基础检查:
- 确认路由器、网线、无线信号强度均正常。
- 更换设备测试,问题复现(必现)。
Iperf3分析:
- 发现无线连接时,飞牛与 N1 的 TCP 重传策略差异明显。
- 推测问题可能与TCP 拥塞控制算法有关。
查询设备算法:
- 发现N1采用的是bbr算法,飞牛采用cubic算法。
4.解决方法
- 通过调整 TCP 拥塞控制算法,优化链路传输效率。
1.加载目标算法模块
# 加载BBR算法
sudo modprobe tcp_bbr
2.验证模块加载
lsmod | grep tcp_ # 确认输出包含tcp_bbr
3.检查可用算法
sysctl net.ipv4.tcp_available_congestion_control
# 预期输出:reno cubic bbr
4.修改默认算法
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
sudo nano /etc/sysctl.conf
# 添加以下行
net.ipv4.tcp_congestion_control = bbr
sudo sysctl -p # 生效配置
5.验证结果
- 修改算法后,远端设备无线连接时,飞牛上传速度提升至 60Mbps,与有线一致。
6.总结
问题根源:
- 无线链路因误码率较高,默认 TCP Cubic 算法过度保守,导致带宽利用率低。
优化关键:
- BBR 算法通过探测带宽和最小 RTT,动态调整速率,在高丢包场景下表现更优。
附:iperf 测试对比表
连接方式 |
设备 |
算法 |
速率(Mbps) |
Retr 次数 |
有线 |
飞牛 |
Cubic |
60 |
低 |
有线 |
N1 |
BBR |
60 |
低 |
无线 |
飞牛 |
Cubic |
30 |
低 |
无线 |
N1 |
BBR |
60 |
高 |
无线 |
飞牛 |
BBR |
60 |
低 |
|