iperf, команда sctp не распознается в командной строке

Я использую iperf3, который предположительно является переписанной версией iperf. Причина, по которой я использую это, заключается в том, что я люблю iperf, когда дело доходит до пропускной способности TCP и UDP, и теперь я хочу проверить пропускную способность SCTP между моими конечными точками.

Однако, когда я пытаюсь использовать команду --sctp, которую, как я видел, используют люди, она говорит, что команда не распознается. Это реализация, которую я использую, которая не реализовала эту команду?

https://github.com/esnet/iperf

Это реализация, которую я использую, не могу найти никакой очевидной документации по командам SCTP, связанным с этим. Большинство реализаций SCTP iperf добавляются вручную в тестах, а исходный код часто не предоставляется.

Любая помощь будет оценена по достоинству!


person user1634254    schedule 03.05.2014    source источник
comment
Проверьте справочную страницу. Вероятно, это дифференциация версий.   -  person Peter    schedule 03.05.2014


Ответы (2)


Получите копию 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

Не удалось найти какие-либо недавние ответы с помощью поиска в Google, поэтому я решил оставить ответ здесь для тех, кто хочет установить Iperf3 для использования SCTP в RHEL / CentOS.

Вам нужно сначала установить lksctp-tools-devel и выполнить сборку из исходного кода, чтобы включить поддержку SCTP. Yum Install Iperf3 3.17 с lksctp-tools-devel не включил SCTP для меня.

person poly76    schedule 18.02.2021