Получите копию iperf который поддерживает lksctp module
ядра Linux. Установите его, используя стандартный процесс. (Если это не удается, сообщите об этом, указав сообщение об ошибке и сведения об операционной системе и ядре). Теперь, чтобы использовать SCTP в iperf, это правильный синтаксис.
Для создания 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
для клиента. Адрес хоста должен быть IP-адресом сервера, на котором iperf -z -s
уже запущен. -t
указывает продолжительность связи. -i
указывает интервал для отображения пропускной способности.)
Пример:
iperf -z -c 0.0.0.0 -t 10s -i 2s
Здесь время связи составляет 10 секунд, и он будет сообщать о пропускной способности для каждого 2-секундного интервала.
P.S.
(1) Чтобы использовать iperf для SCTP, вы должны включить модуль SCTP в ядре и перекомпилировать его. Версия ядра должна быть 2.6 или выше. Проверьте это с помощью uname -a
или uname -r
. Если у вас более ранняя версия, загрузите новое ядро из архива ядра Linux. И скомпилируйте его, включив 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
и выше.)
person
RatDon
schedule
05.09.2014