IPERF TCP 与 UDP

网络工程 UDP 苹果电脑 iperf 第4层
2021-07-08 00:51:12

我必须确定多跳网络上的 UDP 性能,我使用了千兆以太网(Thunderbolt)上的 MAC Air。按照惯例,TCP 已经过测试,链路上的 gig 达到了约 900mbps,但令人惊讶的是,当我测试 UDP 时,它被限制在 650mbps。

现在我直接连接了两个节点(PC)而无需开关。两个节点都表示它们以 1000mbps 的 PHY 速率工作

节点 A < -------- > 节点 B

  1. 节点 A (MAC Book) 节点 B (MAC Air) --- UDP 吞吐量为 650 mbps TCP 944

  2. 节点 A (MAC Book) 节点 B (Win 7) --- UDP 吞吐量为 600 mbps TCP 900

请注意,我只考虑了(0-1% PL)的 UDP 吞吐量,我从 -b {1000,900,650} 调整了带宽,我在 650 时达到了 1% PL 的甜蜜。没有任何意义,TCP 怎么会篡改UDP。

然后从第二个选择我使用 UDP 和 4 个流,UDP 吞吐量提高到 944mbps。

我的问题是:-

  1. 我知道在 TCP 中,流会将容忍度提高到 2% PL,并且它将使链接饱和,单个流导致饱和。iperf UDP 流有什么作用?我阅读了 --help 但不清楚。

  2. 如果是单个节点,我可以在我的 Apple 上做什么,以便它分配更多的 UDP 缓冲区(如果它是缓冲区问题的话)。链接是 1Gig ,忘记多跳,即使它与客户端有直接链接(没有链接共享,据说没有丢包的原因,或巨大的延迟,应该能够超额订阅链接)

在此处输入图片说明

2个回答

iperf UDP 流有什么作用

iperf 将尝试发送 UDP 数据包以达到--bandwidth. 如果缺少该参数,它将尝试达到传输接口的速率。

我可以在我的 Apple 上做什么

您可以测量两台计算机的资源使用情况,因为存在瓶颈。考虑到并行传输具有卓越的性能,CPU 是最有可能的瓶颈。有关--single_udp确定单核与多核性能的简单方法,请参阅参数。

请注意,您选择了非常奇怪的平台。我不知道 MacBook Air 的 Thunderbolt 连接的千兆以太网加密狗与 PCIe 相比,每个数据包的开销是多少。因此,您将不得不自己对潜在瓶颈进行大量调查。

TCP 使用 SLOW START 来最大化带宽并最小化丢失的数据包,因此它通过等待 ack 返回来适应链中最慢的链接。UDP 将它留给应用程序层,而 iperf 不会等待确认,它只是遵守您告诉它使用 --bandwidth 选项的带宽,即使它压倒了链接并导致大量数据包丢失。

顺便说一句,小心iperf。它用于拒绝服务攻击。攻击者找到一个服务器,然后告诉一个受感染的客户端请求一个巨大的 UDP 推送。他们让我使用了 AWS 28TB @$.09/GB 大约是 $2000 :(