iperf udp 的操作是什么

iperf udp 的操作是什么

我正在尝试通过在我的设备上运行 iperf 来进行一些带宽测试,

我的网络最大带宽为 100 Mbps(通过速度测试 CLI 进行测试 -https://github.com/sivel/speedtest-cli

我运行了 iperf UDP 带宽测试(像这样 $(iperf3 -c $server_ip -u -b 500M ))

然后我得到了结果(客户端消息几乎为 500Mbps)

结果对吗?

现在我认为所有的可能性是客户端 iperf 只是计算发送方带宽(因为 UDP)

答案1

使用 UDP 时,您确实应该检查服务器端。UDP 没有拥塞控制,所以是的,客户端只会创建一个恒定的比特率流。但是,服务器端的 iperf 将显示接收到的比特率,以及抖动和数据包丢失。

使用 UDP 的原因是什么?它主要用于特殊情况,例如检查具有各种数据包大小的抖动。对于 iperf,TCP 在这些情况下更有用(如果客户端和服务器之间的延迟较大,则可能需要调整窗口大小)。

以下是服务器端 UDP 模式下的示例输出:

[  3] local 10.50.15.19 port 5001 connected with 10.50.200.226 port 53516
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec   1.326 ms    0/  893 (0%)
[  4] local 10.50.15.19 port 5001 connected with 10.50.200.226 port 57697
[  4]  0.0-10.0 sec  1.25 MBytes  1.05 Mbits/sec   2.775 ms    1/  892 (0.11%)
[  4]  0.0-10.0 sec  2 datagrams received out-of-order

答案2

udp 是一种尽力而为的协议,因此 iperf 可能不会检查数据包是否真的到达。此外,-b 设置“发送带宽(以比特/秒或数据包/秒为单位)”,您将其设置为 500M。因此我认为您只是在测试您的网卡驱动程序是否可以以 500Mbps 的速度发送。

如果您想测试节点之间的网络路径,我不会使用 udp 或限制带宽。即只需 iperf -c server_ip

相关内容