Iperf“设置带宽”命令问题

网络工程 测试 iperf
2021-07-26 05:23:43

我无法使用 Iperf 工具在两侧设置带宽。

当我使用该命令时,出现iperf -c 192.168.1.15 -b 10m -l 32k -w 128k此错误:

--iperf: ignoring extra argument -- 10m

--Can't use packet-oriented mode with these settings.

为什么我收到这个错误?

4个回答

我倾向于相信这是您对带宽指定的上限/非上限(即-b 10M -l 32K -w 128K)。我无法测试它,因为我们不知道您正在运行什么版本。Iperf 确实区分了位和字节:

-f, --format    [kmKM]   format to report: Kbits, Mbits, KBytes, MBytes

但是,您正在修改的部分是严格的KM

-b, --bandwidth #[KM]    for UDP, bandwidth to send at in bits/sec
                         (default 1 Mbit/sec, implies -u)
-l, --len       #[KM]    length of buffer to read or write (default 8 KB)
-w, --window    #[KM]    TCP window size (socket buffer size)

但是,我可以告诉您,将您的版本升级到最新版本将使此问题过时。Iperf 2.0.5 版(2010 年 7 月 8 日)不区分这些字段中的 2 种不同类型。

这是适用于我的一台私人服务器的确切 cli 语法。

服务器:

root@AFP001SRV01:~# iperf -s -u
------------------------------------------------------------
Server listening on UDP port 5001
Receiving 1470 byte datagrams
UDP buffer size:  208 KByte (default)
------------------------------------------------------------
[  3] local 127.0.0.1 port 5001 connected with 127.0.0.1 port 40974
[ ID] Interval       Transfer     Bandwidth        Jitter   Lost/Total Datagrams
[  3]  0.0-10.0 sec   550 KBytes   449 Kbits/sec   0.017 ms    0/  383 (0%)
^C
root@AFP001SRV01:~# 

客户:

root@AFP001SRV01:~# iperf -c 127.0.0.1  -b 10m -l 32k -w 128k
WARNING: option -b implies udp testing
------------------------------------------------------------
Client connecting to 127.0.0.1, UDP port 5001
Sending 32768 byte datagrams
UDP buffer size:  256 KByte (WARNING: requested  128 KByte)
------------------------------------------------------------
[  3] local 127.0.0.1 port 40542 connected with 127.0.0.1 port 5001
[ ID] Interval       Transfer     Bandwidth
[  3]  0.0-10.0 sec  12.0 MBytes  10.0 Mbits/sec
[  3] Sent 383 datagrams
[  3] Server Report:
[  3]  0.0-10.0 sec   550 KBytes   449 Kbits/sec   0.008 ms    0/  383 (0%)
root@AFP001SRV01:~# 

您只能在 UDP 模式下使用 iperf3 或 v2:

# iperf -v
iperf 2.0.5 版(2010 年 7 月 8 日)
#iperf -h
  -b, --bandwidth #[KM] 用于 UDP,以比特/秒为单位发送的带宽
                           (默认 1 Mbit/sec,暗示 -u

V3

# iperf3 -h
  -b, --bandwidth #[KMG][/#] 以比特/秒为单位的目标带宽
                            (默认为1兆比特/秒,UDP,为无限TCP
                            (突发模式的可选斜线和数据包计数)

如果不使用 iperf3,则需要指定 -u UDP “面向数据报”模式。

CLIENT SPECIFIC OPTIONS
   -b, --bandwidth n[KM]
          set  target  bandwidth to n bits/sec (default 1 Mbit/sec).  This
          setting requires UDP (-u).

http://manpages.ubuntu.com/manpages/precise/en/man1/iperf.1.html

您收到错误是因为您使用的是 10m 而不是 10M。尝试:

iperf -c 192.168.1.15  -b 10M -l 32k -w 128k