当我尝试iperf
在本地服务器上运行时,它会报告合理的值
iperf -c 127.0.0.1 -p 631
------------------------------------------------------------
Client connecting to 127.0.0.1, TCP port 631
TCP window size: 2.50 MByte (default)
------------------------------------------------------------
[ 3] local 127.0.0.1 port 42824 connected with 127.0.0.1 port 631
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 2.40 MBytes 2.01 Mbits/sec
但是当我连接到任何远程服务器时,它会报告巨大的值
iperf -c www.google.com -p 80
------------------------------------------------------------
Client connecting to www.google.com, TCP port 80
TCP window size: 85.0 KByte (default)
------------------------------------------------------------
[ 3] local x.x.x.x port 45329 connected with 110.164.12.55 port 80
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-10.0 sec 0.00 � ��s 14746527068517650432 Bytes/sec
看起来像是某种溢出!我使用 USB EVDO 调制解调器的 PPP 连接来连接到互联网,我的iperf
版本是iperf version 2.0.5 (08 Jul 2010) pthreads
。
为什么会发生这种情况?
答案1
iperf 要求您能够访问两端。在一端运行iperf -s
aka 服务器模式,在另一端运行iperf -c IP
aka 客户端模式,客户端应使用地址 IP 连接到服务器。您不能只是将客户端指向随机开放端口并期望它能正常工作。它需要另一端的 iperf 服务器。