iperf как пользоваться

Рассмотрим утилиту iperf, как пользоваться и какую информацию можно получить при помощи нее. iperf используется очень часто для анализа работы сети.

 

iperf как пользоваться утилитой

iperf генерирует трафик и позволяет отслеживать пропускную способность канала. Поддерживает TCP, UDP и может работать как с IPv4, так и с IPv6.

 

iperf3 — более современная реализация, содержащая часть кода iperf.

 

Эксперименты будем проводить с IPv4, поэтому IPv4 для текущего сеанса (до первой перезагрузки) отключим.

echo 1 > /proc/sys/net/ipv6/conf/all/disable_ipv6

 

На клиентскую машину и на сервер с Ubuntu в обоих случаях устанавливаем пакеты

sudo apt install iperf iperf3

 

Запускаем на сервере

iperf3 -s

————————————————————
Server listening on 5201
————————————————————

 

 

На клиенте запускаем тесты. Сначала зададим размер для передачи — 500 Мб.

iperf3 -c 123.123.123.123 -n 500M


[ 4] 44.00-44.56 sec 6.28 MBytes 94.1 Mbits/sec 0 173 KBytes
— — — — — — — — — — — — — — — — — — — — — — — — —
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-44.56 sec 500 MBytes 94.1 Mbits/sec 0 sender
[ 4] 0.00-44.56 sec 500 MBytes 94.1 Mbits/sec receiver

iperf Done.

 

Обмен данными будет выполняться какое-то время, результат появится  в консоли в виде значений по скорости на прием и передачу.

 

Можно установить ограничение по времени, в примере это 5 секунд

iperf3 -c 123.123.123.123 -t 5

— — — — — — — — — — — — — — — — — — — — — — — — —
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-5.00 sec 56.2 MBytes 94.3 Mbits/sec 0 sender
[ 4] 0.00-5.00 sec 56.1 MBytes 94.2 Mbits/sec receiver

iperf Done.

 

Результат выводится в консоль и на сервере и на клиенте.

 

iperf3 отличается от iperf тем, что сервер слушает TCP. Клиент может выбрать UDP флагом -u-R задает двунаправленную передачу данных.

iperf3 -u -R -c 123.123.123.123

По UDP можно с точностью сказать какой процент пакетов был потерян

iperf как пользоваться

 

Старая версия (iperf)

По умолчанию использует другой порт, но можно указать желаемый флагом -p

На сервере

iperf -s

 

На клиенте

iperf -c 123.123.123.123 -b20k -t10 -d -u

 

Здесь указывается, что трафик должен быть UDP -u, идти в обоих направлениях -d, в течение 10 секунд -t10, со скоростью 20 Кбит/с.

Так можно имитировать любой трафик и измерять пропускную способность.

 

Аналогом является netperf (пример использования на CentOS)