![在 LEDE 上测试 MPTCP](https://linux22.com/image/115775/%E5%9C%A8%20LEDE%20%E4%B8%8A%E6%B5%8B%E8%AF%95%20MPTCP.png)
我有两台运行 LEDE 的 TP-Link 路由器,其 MP-TCP 内核版本为 4.4.70。其中一台路由器作为 AP 运行,另一台作为工作站运行。我使用 60 GHz 和 2.4 GHz 两个无线接口来建立单个 TCP 流或使用 MP-TCP 的两个并发流。我使用 iPerf v2.0.9 生成流量。
当我单独使用 60 GHz (802.11ad) 时,我获得 1.85 GHz 的吞吐量。而当我单独使用 2.4 GHz (802.11n) 时,我得到 20 Mbps。奇怪的是,当我使用 MP-TCP(即同时有两个流)时,我的速度约为 300 Mbps。那么为什么我会得到这个奇怪的结果呢? MP-TCP 不应达到 1850 Mbps + 20 Mbps 的吞吐量。
我尝试调整 TCP 参数,例如最大读/写缓冲区,但没有成功。这是网络配置:
60 GHz 接口:
IP Address: 11.0.0.0/24
2.5GHz 接口:
IP Address: 10.0.0.0/24
MP-TCP 配置:
Congestion Control: Cubic
MP-TCP Enabled: True
MP-TCP Checksum: False
MP-TCP Path Manager = Full Mesh
MP-TCP scheduler = default
MP-TCP syn retries = 3
MP-TCP version = 0
答案1
也许是因为这个设置非常不对称。 MPTCP 默认调度程序可能无法处理如此大量的数据包重新排序。可能较慢的路径以队列阻塞方式运行。尝试将更快的路径限制为~100mbps,并确保路径之间是否存在聚合。如果有的话,也许可以尝试另一个调度程序。目前他们很少,但也许有帮助。