Iperf как пользоваться windows
Пропуская способность канала – важнейшая характеристика работы сети, влияющая на максимальный объем данных, который можно передать за единицу времени. Для измерения этого параметра применяется специальный софт. Одной из лучших программ такого плана, сочетающая удобство и функциональность, на текущий момент считается кроссплатформенная утилита iperf3. Она имеет клиент-серверную архитектуру и позволяет достаточно точно измерить скорость передачи данных между двумя узлами сети, широко используется в США, Европе, России, других странах и регионах.
Отличия версий iperf2 и iperf3
Существуют две независимые ветки развития программы iperf. Работы по развитию iperf2 были приостановлены в конце 2000-х годов, но возобновлены в 2014-м другими разработчиками. Последняя актуальная версия данной ветки – 2.0.8. После реанимации проекта iperf2 превратился в современный инструмент со своим набором функций. Сегодня он в первую очередь ориентирован на использование трафика UDP для оценки задержки, поддержку большого перечня платформ.
Разработка iperf3 ведется параллельным курсом, и сегодня большая часть пользователей применяет именно эту версию для оценки пропускной способности сети. Два варианта программы имеют между собой достаточно много отличий в плане архитектуры, настроек, функционала. К примеру, iperf3 – это однопоточный инструмент. Предыдущая же модификация – многопоточная.
Из-за особенностей реализации каждый инструмент рекомендован для решения отдельного набора задач. Утилиту iperf2 стоит использовать для работы с параллельными потоками, двунаправленных тестов. Версия iperf3 лучше подойдет для однопоточного высокоскоростного тестирования.
Установка iperf3
Чтобы пользоваться утилитой, сначала необходимо загрузить с сайта свежую версию программы. На приведенной странице представлены сборки для ОС семейства Windows от XP до Win10. Там же можно найти варианты утилиты и для других операционных систем.
Можно распаковать загруженный архив в любую папку, но лучше выбрать для этой цели системный каталог Windows. Тогда при запуске командной строки к работе с утилитой можно приступить сразу же. К примеру, открыв окно CMD, можно сразу будет написать команду iperf3.exe -c 192.168.13.10 или любую другую.
Существуют варианты утилиты в типичном оконном Windows-исполнении. Примером такой программы служит iperf3 cygwin с gui-интерфейсом. Работать с подобными приложениями неподготовленному пользователю проще. Однако они имеют ограниченный функционал и часто выдают ошибки.
Синтаксис и опции iperf
Версии программы для Windows используют те же команды, что и в iperf3 debian и других Linux-системах. К каждой опции будет приложено пояснение на русском языке, что позволит быстро понять, как пользоваться iperf. Как было сказано выше, iperf3 может быть запущена как:
Чтобы запустить программу в качестве сервера и использовать соответствующие опции с ключами используется следующая комбинация:
Сервер iperf3 запущен (с назначенным портом , на котором работает приложение. По умолчанию 5201).
Чтобы запустить клиент iperf3 windows , необходимо набрать в командной строке:
Как видно из примера, при запуске клиентской части необходимо указать адрес сервера iperf, где утилита запущена в соответствующем серверном режиме.
Перейдем к рассмотрению общих опций программы.
- -p, —port – указывается порт, к которому необходимо подключиться (серверный порт);
- -f, —format – определяем формат вывода данных. Популярные значения: k, m, g, t (Kbits, Mbits, KBytes, MBytes), но есть и другие варианты;
- -i, —interval – временной интервал между выводами результатов теста;
- -F, —file – применить данные, находящиеся в указанном файле, вместо генерирования случайных сведений;
- -V, —verbose – вывод всей доступной информации по тесту;
- -J, —json – вывод в формате JSON;
- —logfile – включить логирование данных;
- —forceflush – произвести очистку истории перед печатью на экране последующих тестовых результатов;
- -v, —version – вывод использующейся версии утилиты.
Ниже укажем в нашем руководстве опции, доступные серверной части.
- -D, —daemon – запуск сервера в фоне (опцию можно использовать и для клиента);
- -I, —pidfile – путь, который будет использован, чтобы записать PID-файл процесса;
- -1, —one-off – выполнить обработку одного клиентского подключения, после чего завершить работу и выйти.
При работе с клиентской частью применяется большее количество опций.
- —sctp – применять SCTP в качестве альтернативы TCP;
- -u, —udp – задействовать UDP вместо TCP;
- —connect-timeout – задержка для первого соединения с серверной частью (мс);
- -b, —bitrate – задать битрейт (при использовании UDP применяется по умолчанию 1 Мбит/с, для TCP показатель со старта не имеет ограничений);
- -t, —time – отрезок времени для одного тестового этапа в секундах (по умолчанию параметр равен 10 с);
- -R, —reverse – запуск обратного теста, когда пакеты данных направляются от серверной станции клиентской части;
- -P – параметр позволяет задать, сколько потоков необходимо использовать;
- -4, —version4 – поддерживать исключительно протокола IPv4;
- -6, —version6 – применять только IPv6.
Здесь приведен базовый перечень опций, хотя существуют и другие, которые можно вывести на экран с помощью соответствующей команды.
Пример использования
Рассмотрим пример использования утилиты. Если мы будем запускать программу как клиент, нам потребуется серверная часть, которой можно адресовать поток данных. Для теста можно использовать публичные сервера, список которых легко найти в интернете, либо запустить серверную часть iperf3 на хосте локальной сети.
Итак, мы хотим выполнить запуск утилиты и сохранить тестовые данные в log-файле. Для этого прописываем команду с параметрами:
В итоге выполнится 10-секундный тест, а результаты сохранятся в файле text.log. Как видно из приведенного примера, измерение скорости сети с помощью iperf не составляет большой проблемы. Для определения пропускной способности необходимо изучить колонку Bitrate. Средние значения указываются под чертой.
Либо просто запустить команду iperf3 с необходимыми ключами из командной строки:
Подводя итог, хочу сказать, что утилита iperf3 будет хорошим помощником в работе сетевого инженера при замере пропускной способности между узлами локальной или глобальной сети.
Узнать, как воспользоваться iperf в ОС Windows не так сложно. А польза от данных знаний несомненна. Материала на тему обычно встречается немного, да и объяснения там далеки от понятных. Попытаемся разобраться, как действует утилита. Для чего она предназначена. Программа работает под Windows, Linux, имеет несколько разновидностей. Настройка, если вникнуть, позволит воспользоваться всеми возможностями программы.
Что такое iperf?
Iperf представляет собой специализированное ПО, предназначенное для оценки пропускной способности канала. Тонкость состоит в том, что необходимы 2 ПК. Один будет работать как сервер, другой – как клиент. И на обоих нужны установленные iperf.
По поводу замера скорости существует 2 разновидности:
В первом варианте компьютер будет работать как «клиент». Во втором – как «сервер».
Что умеет?
Ipref служит для замера пропускной способности канала. В утилите имеется несколько настраиваемых параметров. Работает с протоколами TCP, UDP, SCTP, IPv4, IPv6. Для сисадмина iperf – незаменимый инструмент. Главное, что ПО бесплатно, не требует расходов на покупку, лицензирование.
Различают 2 разновидности iperf: iperf2 и iperf3. Они действуют независимо друг от друга. Допускается использовать посредством Командой строки Windows. Либо в оболочке Java с графическим интерфейсом.
Установка ipref
Для начала утилиту iperf следует скачать. Она не входит в сборки Windows, не является частью ОС. Загружают iperf отдельно. Можно скачать здесь, предварительно выбрав требуемую разрядность ОС:
Дожидаемся завершения загрузки iperf. Проще всего сразу скачивать файл инсталляции на системный диск. Казалось бы, можно запустить утилиту и пользоваться. Но нет. Ничего не получится. Следует воспользоваться Командной строкой.
- Запустить Командную строку (в Windows 10 ввести «cmd» в поиске).
- Ввести «cd c:/» (если утилита находится на данном диске).
- Далее, для использования в качестве клиента, вводится сочетание: «iperf -c -t 30 -i 10». Здесь «t» задает время теста, а «i» – периодичность обновления данных.
Если будет архивный файл дистрибутива iperf, то его перед установкой потребуется распаковать. Иногда необходимо запускать утилиту под учетной записью Администратора. Список доступных команд появится после ввода «dir». Обязательно скачивается наиболее свежая версия ПО. Выбрать «двойку» или «тройку» iperf – решать самому пользователю.
Синтаксис и опции
Применительно к синтаксису ПО iperf следует понимать, что клиентская и серверная части существуют независимо друг от друга. И значит, запускаются различными командами. Вот как нужно действовать применительно к каждой ситуации:
- для сервера – $ iperf3 -s опции;
- для клиента – $ iperf3 -c адрес_сервера опции;
Когда разобрались с запуском, можно переходить к командам, опциям программы. Их перечень обширен, но и здесь не так сложно вникнуть, если захотеть. Начнем с общих.
Ввод «-p» определяет порт для подключения. «-f» означает формат данных для отображения на дисплее. Доступны килобиты, мегабиты, килобайты, мегабайты в секунду. Остальные команды перечислены ниже:
- «-i» означает интервал в демонстрации данных теста iperf;
- «-F» задает использование информации из файла (а не генерации случайных показателей);
- «-l» позволяет определить размер буфера (изначально установлено 8 килобайт);
- «-m» отсылает к сегменту, его величине;
- «-o» выводит результаты для записи в файл;
- «-p» устанавливает порт привязки (5201 в пресете);
- «-u» задает UDP сетевой протокол;
- «-w» управляет размером окна;
- «-B» привязывает к интерфейсу, хосту;
- «-J» запускает переход к JSON-формату.
Это были базовые команды. Далее перейдем к серверным.
Опции для сервера
Данные действия предназначены для управления приложением ipref на серверном компьютере. Вот что приготовили разработчики:
- «-s» задает работу в режиме сервера;
- «-D» активирует фоновый запуск;
- «-I» устанавливает путь сохранения PID-файла;
- «-1» назначает однократное клиентское подключение с последующим выходом.
Не так много, как бы хотелось. Для режима «клиент» выбор побогаче.
Опции для клиента
Как уже известно, приложение iperf может работать в 2 базовых режимах. Вот что доступно для ПК клиента:
- «--sctp» включает замену сетевого протокола TCP на SCTP;
- «-u» переключает на протокол UDP;
- «--connect-timeout» позволяет задать время начального подключения к серверу (измеряется в миллисекундах);
- «-b» означает скорость, битрейт. В режиме TCP ничем не ограничен, для UDP протокола задан от 1 мегабита в секунду;
- «-t» устанавливает время на прогонку теста. Измеряется в секундах. Изначально параметр задан в 10 секунд;
- «-R» запускает реверс. То есть измерение производится не от клиента к серверному ПК, а в обратном направлении;
- «-P» определяет число действующих потоков;
- «-w» регулирует размеры окна TCP.
Кроме того, доступно принудительное переключение на настройки протокола IPv4 (ввести «-4»), IPv6 («-6»).
Как пользоваться в операционной системе Windows
Прежде всего, следует выбрать требуемую версию приложения iperf. Она зависит от разрядности Windows, ее версии – 7, 8, 10. Когда определена нужная разновидность, скачивают дистрибутив, устанавливают ПО. Затем запускают Командную строку, это базовый режим работы iperf. Обязательно следует использовать учетную запись Администратора.
Далее принимается решение, какой параметр пропускной способности будет измеряться. То есть, станет приложение iperf определять скорость для сервера либо же для клиентского ПК.
Примеры
Проще всего понять работу приложения на конкретном примере. Тогда станет понятно, что происходит в iperf. А также, что именно, как там измеряется. Для упрощения ситуации используем сервер с конкретным адресом, 192.168.0.101. Клиентский адрес может быть каким угодно. Начинаем с запуска серверного ПК.
Используем версию iperf3, но допускается и другая. Алгоритм действий следующий:
- Ввести «iperf3 –s». Чтобы определить единицы измерения скорости, задается команда «-f». Среди наиболее часто используемых – кило, мега, гигабиты. Обозначаются, соответственно, литерами «k», «m», «g». Доступны также кило, мега, гига и терабайты. Для них выбраны символы «K», «M», «G», «T». Сочетание «iperf3 -s -f K» означает отображение скорости в килобайтах.
- Настроить порт. В базовых установках задан порт 5201. Чтобы сменить адрес, используется команда «-p». Для перехода на другой порт нужно ввести «ipref3 -s -p 4000».
- Настроить брандмауэр. Для версии ufw набирается сочетание «sudo ufw allow 5201». Соответственно, для firewalld оно будет «sudo firewall-cmd --permanent --add-port=5201/tcp» (при TCP протоколе). Для UDP меняются последние 3 символа.
- Запуск в фоне. С этим справляется назначенная литера «-D». В таком случае данные записываются в архив. Что нужно сделать: «iperf3 -s -D --logfile /var/log/ipref.log».
- Проверка работы сервера. Проводится вводом «ss». Полностью команда выглядит так: «ss -tulpn | grep 5201».
- Назначение айпи. Для IPv4 ставим символ «4». Для IPv6 – «6». Задание конкретно подключаемых айпи производится командой «iperf3 -s -4 -D --logfile /var/log/ipref.log».
Не забываем, что продолжительность теста (в секундах) выставляется командой «-t». Пропускная способность выводится в разделе «Bitrate».
Команда «iperf3 -c 192.168.0.101 -f M -i 5 -t 30» означает, что сервер работает на адресе 192.168.0.101, выдавая промежуточные значения каждые 5 секунд. Общая длительность теста равна при этом 30 секундам. Кстати, iperf работает не только под Windows, но и с другими ОС. Но об этом поговорим в следующий раз.
Часть работы системного администратора – контролировать загруженность сетевого оборудования и измерять пропускную способность подключаемых каналов (локальной сети, интернета, включая и беспроводные сегменты Wi-Fi). Популярным инструментом для этого является утилита iPerf. Она работает по клиент-серверному принципу и дает точный результат скорости передачи данных.
Инсталляция iPerf
В большинстве случаев достаточно установить серверную часть приложения локально на «местный» сервер или удаленно на виртуальную машину, а затем подключиться к ней практически с любого компьютера, находящегося в общей ИТ-инфраструктуре. Программа бесплатная, имеет версии под платформы Linux и Windows.
Последние версии дистрибутивов доступны по адресам:
Инсталляция в Ubuntu и Debian осуществляется командой:
В операционных системах CentOS и Fedora она выглядит иначе:
Перед первым запуском рекомендуется принудительно открыть необходимые порты в брандмауэре, чтобы утилита наверняка заработала. По умолчанию протоколы TCP и UDP используют порт 5201. Выполняется открытие командой:
Работать с программой придется в консоли, но особых затруднений это не вызывает, потому что синтаксис и перечень команд относительно просты. Например, запуск серверной части выполняется командой:
Клиентская часть, если речь идет о рабочих местах на Linux, работает аналогичным образом. Запускаемый файл всего один, различаются только префиксы и параметры вроде IP-адреса.
В приведенном примере программа будет обращаться к серверу, доступному по IP 192.168.0.100. После буквы -s или -c допускается ввод дополнительных команд, уточняющих задачу и позволяющих сохранить результаты в текстовом файле или вручную указать нестандартный порт.
Синтаксис и опции iPerf
Перечень опций для серверного и клиентского режима несколько различается. Есть общий список, необходимый для первоначальной настройки программы и увеличения удобства ее эксплуатации при проверке нескольких хостов.
Синтаксис запуска программы простой:
- на сервере – $ iperf3 -s опции
- на клиенте – $ iperf3 -c адрес_сервера опции
Главное, заранее записать серверный IP и без особой необходимости не менять номер порта для подключения клиентских машин.
Общий список опций:
- -p, --port – вручную указать порт на сервере или клиентской машине;
- -f, --format – изменить формат выводимых данных, доступны значения k, m, g, t, K, M, G, T;
- -i, --interval – количество времени между выводом результатов тестирования;
- -F, --file – брать данные для передачи по сети из указанного текстового файла (по умолчанию применяется генератор случайных чисел);
- -V, --verbose – включается режим вывода подробной информации по обмену в сети;
- -J, --json – активируется режим отображения в формате JSON;
- --logfile – будет осуществляться запись происходящего в лог-файл;
- -forceflush – перед запуском очередного цикла проверки полностью очищать экран;
- -v, -version – отображается текущая версия приложения.
Непосредственно к серверной части программы относятся всего 3 опции:
- -D, --daemon – запуск сервера происходит в фоновом режиме;
- -l, --pidfile – указывается путь, по которому будет записываться PID-файл процесса;
- -1, --one-off – после завершения проверки пропускной способности канала с одним клиентом автоматически закрыть серверную часть приложения.
На клиентской машине перечень настроек несколько шире (речь идет о консольной версии ПО):
- --sctp – переключиться на протокол SCTP вместо TCP;
- -u, --udp – то же самое, но использовать протокол UDP;
- -connect-timeout – количество миллисекунд до первого подключения к серверу;
- -b, --bitrate – «ширина» потока, для UDP «по умолчанию» включен режим передачи 1 Мбит/сек, для TCP – без ограничений;
- -t, --time – время, в течение которого проводится тест («по умолчанию» оно составляет всего 10 секунд);
- -R, --reverse – проводится «обратный» тест, когда сервер передает данные клиенту, т.е. будет проверен канал на прием данных, а не на их передачу;
- -P – количество одновременно передаваемых независимых потоков данных;
- -w – размер окна TCP;
- -4, --version4 – проверка осуществляется только по протоколу стандарта IPv4;
- -6, --version6 – то же самое, но речь идет о протоколе IPv6.
Перечисленное количество опций является наиболее популярным. Если хочется освоить их полный пакет, нужно воспользоваться командой $ man iperf3, чтобы получить актуальный список. Он будет сохранен в текстовый файл, если добавить опцию logfile. Но в большинстве случае системному администратору достаточно этих настроек.
Как пользоваться iPerf
В качестве примера использования программы iPerf возьмем опцию -f. Индексы, перечисленные выше, позволяют указывать, в каких единицах измерения хочется увидеть результат. Так, k означает килобиты, m – мегабиты, g – гигабиты, а большие буквы килобайты, мегабайты или гигабайты. Выбор зависит от предполагаемой пропускной способности канала.
Например, команда $ iperf3 -s -f K включает режим отображения данных в килобайтах. Если нужно переключить порт, он указывается вручную – $ ipref3 -s -p 4000. По умолчанию утилита выводит результаты довольно быстро, каждую секунду, поэтому актуален режим с замедленным выводом – $ iperf3 -c 192.168.0.101 -f M -i 5.
Рассмотренный инструмент полезен для тестирования собственных серверов и канала, выделенного провайдером (для поиска узких мест). Также с помощью утилиты можно проверить разных провайдеров интернета для определения наиболее выгодного варианта в соотношении скорость-цена и иных параметров.
Iperf – утилита с открытым исходным кодом, предназначенная для тестирования пропускной способности сети между двумя узлами. Утилита iperf позволяет генерировать нагрузочный TCP и UDP трафик между хостами. С помощью iperf вы можете быстро измерить максимальную пропускную способность сети между сервером и клиентом, провести нагрузочное тестирование канала связи, маршрутизатора, сетевого шлюза (файервола), вашей Ethernet или Wi-Fi сети.
В этой статье мы покажем, как установить и использовать утилиту iperf для проверки скорости сети в Windows и Linux CentOS (есть версии iperf для Android, MacOS, RouterOS от MikroTik и других платформ).
Версии iperf: iperf2 и iperf3
Утилита Iperf является кроссплатформенной и не требует установки, достаточно скопировать и запустить ее на двух устройствах, пропускную способность сети между которыми нужно оценить. Iperf работает в режиме клиент-сервер. На первом компьютере утилита Iperf запускается в режиме сервера (ожидает трафик от клиента). На втором компьютере Iperf запускается в режиме клиента, начинает генерировать TCP/UDP трафик и выполнять измерение максимальной скорости передачи данных.
На текущий момент есть две независимые ветки iperf, развивающиеся параллельно: iperf2 и iperf3. По большому счету эти две версии iperf совместимы между собой, но используют разные порты по умолчанию. В iperf1/2 это 5001, в iperf3 – 5201.
- iperf2 нужно использовать для параллельных потоков, двунаправленных тестов, а также эта версия официально поддерживается в Windows
- В iperf3 лучше реализовано высокоскоростное тестирование UDP. Код iper3 значительно меньше и лучше оптимизирован.
Остальные отличия не настолько существенны, чтобы специально использовать определенную версию (даже опции запуска у них совпадают). В этой статье мы будем использовать iperf3.
Iperf3 официально не поддерживается в Windows, но работает вполне нормально. Каких-то явных проблем или багов я не заметил.Установка iPerf для Windows
Для Windows есть несколько реализаций графического интерфейса. Например, Iperf3-Cygwin-GUI и jperf.
Утилита jperf написана на Java (для работы на компьютере должна быть установлена Java-машина). Помимо графических рюшечек к CLI интерфейсу, Jperf умеет в реальном времени строить графики пропускной способности канала связи.
Для использования достаточно указать адрес сервера iPerf и запустить проверку.
Установка iperf в CentOS Linux
В CentOS 8 пакет iperf3 включен в состав базового репозитория AppStream (в CentOS 7 iperf3 есть в EPEL). Вы можете установить его стандартной командой yum/dnf:
sudo apt install iperf3
Если данный Linux сервер планируется использовать в качестве сервере iperf3, нужно открыть порт 5201 в firewalld:
Измерение скорости сети с помощью Iperf
Рассмотрим теперь несколько примеров использования iperf для тестирования пропускной способности сети. В этом примере мы будем использовать сервер с CentOS в качестве сервера iperf. Запустим утилиту iperf в серверном режиме:
Сервер iperf запущен, он ожидает соединения на порту TCP/5201.
Важно. Аргументы утилиты iperf регистрозависимы!-w 32768 – зададим размер окна TCP в 32 KB (по умолчанию около 8 Кб)
–p 5203 – порт, на котором ожидает подключения iperf (напоминаю, что iperf2 по умолчанию слушает на порту 5001.
В качестве клиента iperf я использую компьютер с Windows 10. Запустите командную строку и перейдите в каталог с исполняемым файлом iperf:
Чтобы запустить проверку сети со стороны клиента, укажите адрес (имя) сервера iperf:
iperf3.exe -c 192.168.1.202
Если вы запустили сервер iperf с увеличенным размером TCP окна, вы можете использовать следующую команду для получения максимальной нагрузки на сеть:
iperf3.exe -c 192.168.1.202 -P 8 -t 30 -w 32768
- -c168.1.202 – IP адрес сервера iperf;
- -w32768 — увеличиваем размер TCP окна;
- -t30 – время в секундах, в течении которого выполняется тестирование (по умолчанию 10 секунд);
- -P8 — число параллельных потоков (подключений), используется для получения максимальной нагрузки на канал.
В нашем примере тестирование длилось 30 секунд. В итоговом отчете нас интересует значения столбца Bandwidth в последней строки [SUM]. В нашем случае средняя пропускная способность сети между двумя узлами – 79,7 Мбит/с. Было передано 285 Мб данных (столбец Transfer).
С помощью аргумента –f можно изменить формат отображения скорости передачи (биты, килобиты, мегабайты). С помощью опции –i можно указать интервал, через который нужно отображать промежуточные результаты. Это удобно при продолжительных тестах (несколько минут, часов).
Можно запустить iperf в обратном режиме (сервер отправляет данные, а клиент принимает), для этого на клиенте указывается опция –R.
По-умолчанию утилита генерирует TCP трафик, если вам нужно проверить скорость сети для UDP пакетов, необходимо использовать ключ –u (сервер при этом запускается командой: iperf3 -s –u ).
Если вам нужно проверить ваш интернет-канал (предоставляемый провайдером), можно воспользоваться одним из публичных iperf серверов (список доступен здесь):
Если нужно оценить пропускную способность сети в обоих направлениях (в дуплексом режиме), дополнительно на клиенте нужно указать опцию –d:
iperf3.exe -c IP -P 8 -t 30 -w 32768 -d
Во время выполнения теста сете с помощью iperf вы можете следить за нагрузкой на сетевой интервейс компьютера через Task Manager.
Важно отметить, что при тестировании Iperf используем всю доступную пропускную способность канала связи между клиентом и сервером, что может негативно повлиять на продуктивные приложения и пользователей.Полный список опций утилиты iperf можно получить так:
Iperf – простая и удобная сетевая утилита, которая поможет вам измерить производительность сетевого подключения и максимальную скорость передачи данных между двумя устройствами.
Читайте также: