Iperf:数据传输

Iperf: Transfer of data

为了了解 iperf 的工作原理,我有一个问题,我正在使用以下命令。 我不明白的是 "How can 6945 datagrams are send?" 因为如果传输 9.66 MBytes,那么根据我的理解应该传输 9.66M/1458 = 6625 数据克。

如果传输了 10.125MBytes(2.7Mbps * 30 秒),则将发送 6944 个数据包(不包括 udp 和其他 header)

有知道的请指正..

(另外,我在客户端和服务器上都使用了 wireshark 并进行了检查,发现数据包数量大于 iperf 显示的数据包数量)

umar@umar-VPCEB11FM:~$ iperf -t 30 -c 192.168.3.181 -u -b 2.7m -l 1458
------------------------------------------------------------
Client connecting to 192.168.3.181, UDP port 5001
Sending 1458 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 192.168.3.175 port 47241 connected with 192.168.3.181 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-30.0 sec  9.66 MBytes  2.70 Mbits/sec
[  3] Sent 6946 datagrams
[  3] Server Report:
[  3]  0.0-92318.4 sec  9.66 MBytes   878 bits/sec   0.760 ms    0/ 6945 (0%)

iperf 对 M 和 K 使用基数 2,这意味着 K = 1024 和 M = 1024*1024。

当你这样计算时,你会得到 9.66 MB / 1458 B/d = 6947 个数据报,这在精度误差范围内(你的最大分辨率为 0.01 MB,这意味着舍入误差为 0.005 MB ~ = 3.6 个数据报)。