获取支持linux 内核的iperf副本。lksctp module
使用标准流程安装它。(如果失败,请告知错误信息以及操作系统和内核详细信息)。现在要在 iperf 中使用 SCTP,这些是正确的语法。
要创建 SCTP 服务器,
iperf -z -s
(-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
对于SCTP,-c
是客户端。主机地址应该iperf -z -s
是已经运行的服务器的IP地址。-t
是指定通信持续时间。-i
是指定显示带宽的间隔。)
例子:
iperf -z -c 0.0.0.0 -t 10s -i 2s
这里的通信时间是 10 秒,它会报告每 2 秒间隔的带宽。
附言
(1)要将 iperf 用于 SCTP,必须在内核中启用 SCTP 模块并重新编译。内核版本必须为 2.6 或以上。uname -a
使用或检查它uname -r
。如果你有一个较低的内核,那么从Linux Kernel Archives下载一个新内核。并通过启用 SCTP 进行编译。
首先通过在终端中运行这两个命令来检查它是否已经启用。
modprobe sctp
lsmod | grep sctp If you get any output then SCTP is already enabled.
(2)如果仍然 iperf-z
失败。尝试以下解决方案。如果两台机器是'A'和'B'。
首先将“A”设为服务器,将“B”设为客户端。它不会成功。所以
exit by using `ctrl + z` and kill iperf
using `pkill -9 iperf`.
然后将“B”设置为服务器,将“A”设置为客户端。它可能会成功。如果再次失败,请使用上述命令终止 iperf 并再次重复步骤 1。它可能会成功。
(第二个解决方案适用于我fedora 20
及kernel 2.6
以上。)