Iperf — это широко используемый инструмент для измерения пропускной способности сети или скорости. Это в основном используется для тестирования скорости проводной или беспроводной сети. Существуют две основные версии iperf, такие как iperf2 и iperf3. Давайте обсудим команду iperf3.
Установите Iperf3 в Linux
Чтобы узнать, установлен iperf3 или нет, мы можем использовать следующую команду в Linux:
$ iperf3
Если мы получим следующий вывод, это означает, что iperf3 не установлен:
The program “iperf3” is currently not installed. You can install it by typing: sudo apt install iperf3
Мы можем использовать следующую команду для установки iperf3:
$ sudo apt install iperf3
[sudo] password for rian: Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: libiperf0 ……. ……. Processing triggers for libc-bin (2.23-0ubuntu11) ...
Теперь снова введите «iperf3» в терминале.
$ iperf3
iperf3: parameter error - must either be a client (-c) or server (-s) Usage: iperf [-s|-c host] [options] iperf [-h|--help] [-v|--version] Server or Client: -p, --port # server port to listen on/connect to -f, --format [kmgKMG] format to report: Kbits, Mbits, KBytes, Mbytes ……………………… Many more lines.. ………………………
Как запустить TCP-трафик с помощью Iperf3
Команда TCP-сервера:
$ iperf3 -s ----------------------------------------------------------- Server listening on 5201 -----------------------------------------------------------
Команда клиента TCP: мы должны знать IP-адрес сервера.
iperf3 -c 192.168.1.102 -i1 -t20
Давайте посмотрим на вывод сервера и клиента:
Вывод сервера:
Accepted connection from 192.168.1.4, port 51219 [ 5] local 192.168.1.102 port 5201 connected to 192.168.1.4 port 51220 [ ID] Interval Transfer Bandwidth [ 5] 0.00-1.00 sec 1.35 MBytes 11.3 Mbits/sec [ 5] 1.00-2.00 sec 1.53 MBytes 12.8 Mbits/sec [ 5] 2.00-3.00 sec 1.62 MBytes 13.6 Mbits/sec [ 5] 3.00-4.00 sec 1.67 MBytes 14.0 Mbits/sec [ 5] 4.00-5.00 sec 1.67 MBytes 14.0 Mbits/sec [ 5] 5.00-6.00 sec 1.46 MBytes 12.3 Mbits/sec [ 5] 6.00-7.00 sec 1.45 MBytes 12.2 Mbits/sec [ 5] 7.00-8.00 sec 1.59 MBytes 13.3 Mbits/sec [ 5] 8.00-9.00 sec 1.78 MBytes 14.9 Mbits/sec [ 5] 9.00-10.00 sec 1.32 MBytes 11.1 Mbits/sec [ 5] 10.00-11.00 sec 1.19 MBytes 9.95 Mbits/sec [ 5] 11.00-12.00 sec 1.12 MBytes 9.37 Mbits/sec [ 5] 12.00-13.00 sec 1.41 MBytes 11.9 Mbits/sec [ 5] 13.00-14.00 sec 1.60 MBytes 13.4 Mbits/sec [ 5] 14.00-15.00 sec 1.50 MBytes 12.6 Mbits/sec [ 5] 15.00-16.00 sec 1.71 MBytes 14.4 Mbits/sec [ 5] 16.00-17.00 sec 1.48 MBytes 12.4 Mbits/sec [ 5] 17.00-18.00 sec 1.47 MBytes 12.3 Mbits/sec [ 5] 18.00-19.00 sec 1.37 MBytes 11.5 Mbits/sec [ 5] 19.00-20.00 sec 1.50 MBytes 12.5 Mbits/sec [ 5] 20.00-20.11 sec 236 KBytes 17.6 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 5] 0.00-20.11 sec 30.0 MBytes 12.5 Mbits/sec sender [ 5] 0.00-20.11 sec 30.0 MBytes 12.5 Mbits/sec receiver ----------------------------------------------------------- Server listening on 5201
Выход клиента:
Connecting to host 192.168.1.102, port 5201 [ 4] local 192.168.1.4 port 51220 connected to 192.168.1.102 port 5201 [ ID] Interval Transfer Bandwidth [ 4] 0.00-1.01 sec 1.56 MBytes 13.0 Mbits/sec [ 4] 1.01-2.02 sec 1.56 MBytes 13.0 Mbits/sec [ 4] 2.02-3.00 sec 1.56 MBytes 13.4 Mbits/sec [ 4] 3.00-4.01 sec 1.69 MBytes 14.0 Mbits/sec [ 4] 4.01-5.01 sec 1.69 MBytes 14.2 Mbits/sec [ 4] 5.01-6.00 sec 1.44 MBytes 12.2 Mbits/sec [ 4] 6.00-7.00 sec 1.37 MBytes 11.5 Mbits/sec [ 4] 7.00-8.01 sec 1.75 MBytes 14.5 Mbits/sec [ 4] 8.01-9.00 sec 1.62 MBytes 13.7 Mbits/sec [ 4] 9.00-10.00 sec 1.37 MBytes 11.6 Mbits/sec [ 4] 10.00-11.01 sec 1.12 MBytes 9.34 Mbits/sec [ 4] 11.01-12.00 sec 1.19 MBytes 10.1 Mbits/sec [ 4] 12.00-13.02 sec 1.44 MBytes 11.8 Mbits/sec [ 4] 13.02-14.01 sec 1.56 MBytes 13.2 Mbits/sec [ 4] 14.01-15.00 sec 1.50 MBytes 12.7 Mbits/sec [ 4] 15.00-16.01 sec 1.81 MBytes 15.1 Mbits/sec [ 4] 16.01-17.01 sec 1.37 MBytes 11.5 Mbits/sec [ 4] 17.01-18.00 sec 1.44 MBytes 12.2 Mbits/sec [ 4] 18.00-19.00 sec 1.31 MBytes 11.0 Mbits/sec [ 4] 19.00-20.00 sec 1.62 MBytes 13.6 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth [ 4] 0.00-20.00 sec 30.0 MBytes 12.6 Mbits/sec sender [ 4] 0.00-20.00 sec 30.0 MBytes 12.6 Mbits/sec receiver iperf Done.
Как мы видим, после 20-секундного запуска [-t20] сервер все еще работает, но клиент остановился.
Вот пропускная способность этого TCP-трафика:
[ 4] 0.00-20.00 sec 30.0 MBytes 12.6 Mbits/sec receiver
Как запустить UDP-трафик с помощью Iperf3
UDP-сервер:
Та же команда, что и для TCP-сервера.
UDP-клиент:
$ iperf3 -c 192.168.1.102 -i1 -t5 -u -b100M
Вывод сервера:
Accepted connection from 192.168.1.4, port 51321 [ 5] local 192.168.1.102 port 5201 connected to 192.168.1.4 port 54181 [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 5] 0.00-1.00 sec 1.30 MBytes 10.9 Mbits/sec 313523.501 ms 0/167 (0%) [ 5] 1.00-2.00 sec 1.34 MBytes 11.3 Mbits/sec 16.624 ms 5/177 (2.8%) [ 5] 2.00-3.00 sec 1.99 MBytes 16.7 Mbits/sec 10.843 ms 0/255 (0%) [ 5] 3.00-4.00 sec 672 KBytes 5.50 Mbits/sec 3.955 ms 0/84 (0%) [ 5] 4.00-5.00 sec 1.98 MBytes 16.6 Mbits/sec 14.042 ms 8/261 (3.1%) [ 5] 5.00-5.68 sec 960 KBytes 11.6 Mbits/sec 3.389 ms 0/120 (0%) - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 5] 0.00-5.68 sec 8.31 MBytes 12.3 Mbits/sec 3.389 ms 13/1064 (1.2%)
Выход клиента:
Connecting to host 192.168.1.102, port 5201 [ 4] local 192.168.1.4 port 54181 connected to 192.168.1.102 port 5201 [ ID] Interval Transfer Bandwidth Total Datagrams [ 4] 0.00-1.23 sec 1.38 MBytes 9.40 Mbits/sec 176 [ 4] 1.23-2.00 sec 1.73 MBytes 18.7 Mbits/sec 221 [ 4] 2.00-3.12 sec 1.65 MBytes 12.3 Mbits/sec 211 [ 4] 3.12-4.01 sec 1.76 MBytes 16.6 Mbits/sec 225 [ 4] 4.01-5.03 sec 1.80 MBytes 14.8 Mbits/sec 231 - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams [ 4] 0.00-5.03 sec 8.31 MBytes 13.9 Mbits/sec 3.389 ms 13/1064 (1.2%) [ 4] Sent 1064 datagrams
Заключение
Здесь мы изучили некоторые основные команды для iperf3. В iperf3 есть много расширенных опций. Чтобы узнать больше об iperf3, мы можем использовать команду «man iperf3» и использовать ее.