获取支持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以上。)