TCP 吞吐量远高于 UDP

TCP 吞吐量远高于 UDP

我正在使用 iperf 监控两端两台 Windows 机器之间的 WAN 链路的性能。

令人惊讶的是(对我来说),TCP 单个会话默认窗口的吞吐量达到 12Mbps,而 UDP 限制(0% 数据包丢失)约为 4Mbps。高于 5Mbps 的带宽会导致 UDP 出现不可接受的数据包丢失(>20%)。

怎么会这样?

这些结果也得到了通过链路发送的一些 UDP 实际流量(带宽低于预期容量)的证实,这会导致数据包丢失。

提前感谢任何建议。

编辑:忘记提及一个重要细节:这是一个私人网络,因此它不是一个拥塞的链路,并且在这些测试期间(使用 iperf 和实际流量)通过链路的额外流量几乎可以忽略不计。

编辑:有人可以提供一些建议,关于如何排除在何处(网络的哪个部分)丢失流量吗?

答案1

Iperf 没有逻辑来最大化 WAN 链路上 UDP 流量的效率。与大多数现代操作系统一样,Windows 已经付出了巨大努力来尽可能减少 TCP 吞吐量。

TCP 具有调整窗口的确认、复杂的传输速度等等。Iperf 只是定期发送 UDP 数据包。

根本就没有可比性。

相关内容