在命令提示符中无法识别iperf,sctp命令

时间:2014-05-03 02:57:33

标签: sctp iperf

我正在使用iperf3,它应该是iperf的重写版本。我使用这个的原因是因为我喜欢iperf,当涉及TCP和UDP吞吐量时,我现在想测试我的端点之间的SCTP吞吐量。

然而,当我尝试使用--sctp命令时,我看到人们一直在使用它,说命令无法识别。是我正在使用的实现没有实现此命令吗?

https://github.com/esnet/iperf

这是我正在使用的实现,找不到与此相关的SCTP命令的任何明显文档。大多数SCTP iperf实现都是在测试中手动添加的,通常不提供源代码。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

获取支持{1}} linux内核的iperf副本。使用标准流程安装它。 (如果失败,请通知错误消息以及操作系统和内核详细信息)。现在在iperf中使用SCTP,这些是正确的语法。

用于创建SCTP服务器

lksctp module

iperf -z -s 用于选择SCTP协议,-z用于服务器。)

用于创建SCTP客户端

-s

(对于SCTP iperf -z -c <host address> -t <time duration for the connection in second>s -i <interval of the time to print the bandwidth in terminal in second>s -z用于客户端。主机地址应该是-c已经运行的服务器的IP地址。iperf -z -s是指定通信持续时间。-t用于指定显示带宽的时间间隔。)

示例:

-i

此处通信时间为10秒,并且每2秒报告一次带宽。

<强> P.S。

(1)要将iperf用于SCTP,必须在内核中启用SCTP模块并重新编译它。内核版本必须为2.6或更高版本。使用iperf -z -c 0.0.0.0 -t 10s -i 2suname -a进行检查。如果你有一个较低的,那么从The Linux Kernel Archives下载一个新的内核。并通过启用SCTP进行编译。

首先通过在终端中运行这两个命令来检查它是否已经启用。

uname -r

(2)如果modprobe sctp lsmod | grep sctp If you get any output then SCTP is already enabled. 的iperf仍然失败。尝试以下解决方案。如果这两台机器是“A&#39;和&#39; B&#39;。

首先制作&#39; A&#39;服务器和&#39; B&#39;客户端。它不会成功。所以

-z

然后制作&#39; B&#39;服务器和&#39; A&#39;客户端。它可能会成功。如果再次失败,请使用上述命令终止iperf并再次重复步骤1。它可能会成功。

(第二个解决方案适用于我exit by using `ctrl + z` and kill iperf using `pkill -9 iperf`. fedora 20及以上。)

答案 1 :(得分:0)

通过谷歌搜索找不到任何最近的答案,所以我想在这里为那些希望安装 Iperf3 以在 RHEL / CentOS 上使用 SCTP 的人留下答案。

您需要先安装 lksctp-tools-devel 并从源代码构建以启用 SCTP 支持。 Yum Install Iperf3 3.17 with lksctp-tools-devel 没有为我启用 SCTP。

相关问题