-1

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

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

如果有人知道,请澄清..

(另外我在客户端和服务器上都使用过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%)
4

1 回答 1

1

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

当您以这种方式进行数学运算时,您会得到 9.66 MB / 1458 B/d = 6947 个数据报,这在精度误差范围内(最大分辨率为 0.01 MB,这意味着舍入误差为 0.005 MB ~= 3.6 个数据报)。

于 2015-05-31T23:53:51.410 回答