Что такое iPerf3?

Снимок экрана работающего сервера Iperf3

Быстрые ссылки

iPerf3 тестирует производительность сети. Запуск сетевых тестов с помощью iPerf3.

Если вы занимаетесь сетями, iPerf3 станет полезным дополнением к вашему набору метафорических инструментов. iPerf3, обновленная и переписанная версия классического iPerf, является одним из важнейших инструментов для тестирования и диагностики сети, о которых вам следует знать. Это полезно для тестирования скорости и пропускной способности сетевого соединения между двумя устройствами или местоположениями. Мы рассмотрим, что делает его таким мощным, где вы можете его использовать, а также историю этого жизненно важного инструмента.

iPerf3 тестирует производительность сети

Один из основных инструментов диагностики сетевых проблем.

Снимок экрана работающего сервера Iperf3

IPerf3 — это, по сути, инструмент для мониторинга производительности сети. iPerf3 регулярно обновляется даже спустя десять лет после своего первого выпуска. Это переработанная версия классического iPerf, который изначально был создан Национальной лабораторией прикладных сетевых исследований. Это программное обеспечение с открытым исходным кодом, официально поддерживающее только Ubuntu Linux, FreeBSD и macOS. Однако существуют порты для других операционных систем, включая несколько других дистрибутивов Linux, OpenBSD, NetBSD и даже Android.

Возвращаясь к 2009 году, первоначальной целью проекта iPerf3 было переписать исходную кодовую базу iPerf, сделав упор на то, чтобы сделать ее более простой и удобной в обслуживании, с помощью версии библиотеки, инкапсулирующей те же функции, которые можно использовать в других программах.

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

iPerf3 работает как клиент и сервер

iPerf3 работает как клиент и сервер на двух машинах на обоих концах канала передачи данных. Это может быть виртуальная частная сеть (VPN), глобальная сеть (WAN) или просто внутри вашей домашней сети. Одна машина берет на себя роль сервера, а другая — цели (или клиента). iPerf3 затем способен измерять производительность сети для различных типов связи, включая протокол пользовательских дейтаграмм (UDP), протокол управления передачей (TCP) и даже протокол передачи управления потоком (SCTP).

Установка iPerf3

IPerf3 есть в некоторых менеджерах пакетов, но не во всех

Снимок экрана: Iperf3 устанавливается с помощью Brew.

Установка iPerf3 зависит от вашей платформы и поддерживается не на всех платформах. Для macOS и Ubuntu это относительно просто, но на других платформах вам может потребоваться получить исходный код из Git и собрать его самостоятельно, если дистрибутив где-то недоступен.

iPerf3 для macOS

IPerf3 доступен через менеджер пакетов Brew в macOS. После установки Brew установите iPerf3, выполнив следующие действия:

заварить установку iperf3

Затем вы можете проверить, что он установлен и находится на вашем пути с помощью:

iperf3 -v

iPerf3 для Ubuntu

Установка в Ubuntu аналогична: iPerf3 доступен через репозитории apt по умолчанию. Установить с помощью:

sudo apt-get установить iperf3

Опять же, вы можете затем проверить свою установку с помощью:

iperf3 -v

iPerf3 в других системах

Хотя официально поддерживается ограниченный набор систем, существует множество сборок и предварительно скомпилированных двоичных файлов для других систем. Вам следует быть осторожными при загрузке их из неизвестных источников, поскольку содержимое двоичного файла нелегко проверить. Однако мне удалось найти несколько двоичных файлов для Windows, которые, похоже, работали нормально. Здесь есть хорошая коллекция предварительно скомпилированных двоичных файлов.

Запуск сетевых тестов с помощью iPerf3

Будьте осторожны в сетях, которые вы не контролируетеСкриншот теста с использованием IPerf3.

Прежде чем приступить к работе с iPerf3, важно знать о некоторых потенциальных опасностях. iPerf3, как и аналогичное программное обеспечение для вашего процессора или графического процессора, является инструментом сравнительного анализа. Это означает, что он будет использовать все доступные ресурсы в предоставленном ему сетевом канале. Если вы запустите этот инструмент в корпоративной или общедоступной сети, он может легко либо активировать внутренние системы безопасности, либо затруднить трафик в другие важные области сети. Мы настоятельно рекомендуем запускать iPerf3 только в сети, которую вы контролируете, и запускать только некритические службы.

Запуск сервера iPerf3

Сначала запустите сервер iPerf3 на хост-компьютере с помощью следующей команды. Я запускаю свой сервер на машине с Windows. Прежде чем начать, обязательно запишите внутренний IP-адрес вашего компьютера.

iperf -s

Вы увидите сообщение о порте, на котором работает сервер. Вы можете настроить это, добавив флаг -p к приведенной выше команде. Для наших целей мы будем использовать порт по умолчанию.

На другом компьютере выполните следующую команду, чтобы установить соединение с вашим сервером iPerf3.

iperf -c

Вы увидите аналогичный результат на своем сервере и клиентском компьютере. Это будет работать в течение десяти секунд, проверяя контрольную точку каждую секунду. Скорость передачи между вашими клиентами отображается в Мбит/сек. Вы можете изменить это с помощью флага —format, например, если вам нужно:

iperf3 -c -bidir —format Гбит

iPerf3 также поддерживает IPv6, если ваша внутренняя сеть поддерживает. Используйте свой адрес IPv6 вместо адреса IPv4 и наблюдайте, как происходит волшебство.

Конфигурация iPerf3

IPerf3 полон конфигурационных флагов для изменения ваших тестов.

Скриншот страницы руководства Iperf3

IPerf3 имеет множество полезных параметров конфигурации, которые вы можете настроить в соответствии со своими потребностями. Здесь мы рассмотрим несколько наиболее полезных из них. Большинство из этих опций зависят от клиента, но некоторые могут быть полезны и на стороне сервера.

Флаг

Применение

Описание

—формат

iperf3 —format Гбит

Измените формат вывода на Кбит/с, Гбит/с, Тбит/с или Пбит/с.

-4/-6

иперф -4

Ограничьте iPerf IPv4 или IPv6.

—время

iperf —время 30

Измените количество секунд, в течение которых выполняется тест.

—параллельно

iperf3 —параллель 10

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

-u/—udp

iperf —udp

Заставьте iPerf использовать UDP, а не TCP.

—sctp

iperf —sctp

Заставьте iPerf использовать SCTP, а не TCP.

—обеспечить регресс

iperf —обратный

Измените направление теста на противоположное, заставив сервер отправлять данные клиенту.

iPerf3 предлагает множество вариантов аутентификации.

Если вы используете общедоступный сервер iPerf3, вам нужно добавить некоторую аутентификацию. Для этого существует множество вариантов, и мы рекомендуем вам заглянуть на главную страницу iPerf3, чтобы проверить их все. Некоторые варианты включают аутентификацию с открытым ключом с помощью пары ключей RSA и поддержку комбинаций имени пользователя и пароля с помощью SSL.

Использование общедоступных серверов iPerf3

Проект, лежащий в основе iPerf3, также использует несколько общедоступных серверов, которые можно использовать для проверки различий между областями или устройствами в вашей сети и измерения их конкретного подключения к Интернету, что немного похоже на более продвинутый тест скорости. Однако вы сможете установить только одно соединение за раз. Список можно посмотреть на сайте проекта.

IPerf3 приятно носить с собой в заднем кармане

Независимо от того, сталкиваетесь ли вы с VLAN, NAS, адаптерами Powerline или BGP, iPerf3 — это незаменимый инструмент, который всегда должен быть у вас в кармане. Он легкий, не имеет демона (однако доступен —daemon) и отлично подходит для быстрой проверки состояния соединения между двумя устройствами. Если вы системный администратор, домашний мастер или просто мастер, мы рекомендуем вам ознакомиться с этим удобным инструментом.

Ваш адрес email не будет опубликован. Обязательные поля помечены *