Иперф:
Iperf - это сетевой инструмент с открытым исходным кодом, используемый для измерения пропускной способности или производительности сети. Его можно использовать для тестирования TCP и UDP. Iperf можно использовать в операционных системах Windows, Linux, MAC и т. Д.
Назначение этой статьи:
Существуют разные версии Iperf, остановимся только на Iperf версии 2.+ Только. Эта версия широко используется во всех системах.
Схема общей настройки:
Iperf работает по модели сервер-клиент, что означает, что для запуска потока трафика Iperf должны быть один сервер и один клиент.
Беспроводное соединение
Из диаграммы мы можем понять, что ПК1 и ПК2 должны иметь действующий IP-адрес.
Соединение между двумя ПК может быть проводным или беспроводным.
Фактическая настройка:
- В нашем эксперименте ПК1 - это Windows, а ПК2 - это Linux.
- IP-адрес ПК1 192.168.1.6 и ПК2 - 192.168.0.102
- PC1 версия iperf
Команда:
iperf --versioniperf версии 2.0.5 (8 июля 2010 г.) pthreads
4. PC2 версия iperf
Команда:
iperf --versioniperf версии 2.0.5 (8 июля 2010 г.) pthreads
Условия Iperf:
Перед началом работы Iperf есть некоторые условия.
- ПК1 должен пинговать ПК2 и наоборот. Мы можем использовать пинг 192.168.1.102 с консоли ПК1 или из командной строки, чтобы узнать, может ли ПК1 подключиться к ПК2. Выполните эхо-запрос с ПК2 на ПК1, чтобы проверить доступность ПК1 от ПК3.
Вот один снимок экрана для пинга с ПК1 на ПК2
Вот один снимок экрана для пинга с ПК2 на ПК1
- Оба компьютера должны иметь двоичный код Iperf. Лучше сохранить ту же версию Iperf или близкие версии. Но помните Иперф 2.0 не работает с Iperf 3.0.
Примечание: UDP не устанавливает UDP-соединение перед передачей данных, и UDP не требует ACK с другой стороны. Таким образом, даже если сервер IPERF не запущен, клиент сможет отправлять данные, в отличие от TCP. Поэтому всегда проверяйте на стороне сервера данные UDP.
Важные аргументы Iperf:
Аргумент | Имея в виду |
-s | Запустить сервер |
-c | Запустить клиент [Пример: -c 192.168.1.102] |
-ты | UDP |
-б | Пропускная способность [Используется в UDP, например: 100M M-> Мбит] |
-я | Интервал вывода в секундах [Пример: -i1 1-секундный интервал] |
-т | Время в секундах [Пример: -t60 60sec] |
-п | Номер порта [Пример: -p 5555] |
-ш | Размер Windows [Пример: -w 1M M-> Мбит] |
-d | Двунаправленное движение |
-л | Длина [Пример: -l 1046 1046 байтов] |
-V | Используется, когда вместо IPv4 используется адрес IPv6 |
Есть и другие аргументы, но в целом они не используются. Мы можем использовать человек iperf команда в Linux, чтобы получить все аргументы.
Команды Iperf:
Есть много аргументов в пользу команды Iperf, мы обсудим только важные и полезные аргументы. Ниже приведены минимальные аргументы, которые можно использовать для запуска iperf.
TCP-сервер:
iperf -s -i1Клиент TCP:
iperf -c 192.168.1.102 -i1 -t60UDP-сервер:
iperf -s -i1 -uКлиент UDP:
iperf -c 192.168.1.102 -i1 -t60 -u -b 1000M
[/ cc]
Запустите Iperf:
Теперь у нас есть ПК1 и ПК2, поэтому между этими двумя ПК могут выполняться следующие комбинации.
- TCP-сервер на ПК1 и TCP-клиент на ПК2
- TCP-клиент на ПК1 и TCP-сервер на ПК2
- UDP-сервер на ПК1 и UDP-клиент на ПК2
- UDP-клиент на ПК1 и UDP-сервер ПК2
Эксперимент 1:
Попробуем комбинацию А
Вот скриншот TCP-сервера на ПК1.
Итак, сначала мы должны запустить сервер, и в случае успеха он будет в режиме листинга.
Вот скриншот TCP-клиента на ПК2.
Вот скриншот для TCP-сервера
Далее, если мы хотим попробовать комбинацию B, нам просто нужно запустить TCP-сервер на ПК2 и TCP-клиент на ПК1.
Эксперимент 2:
Попробуем комбинацию D.
Вот скриншот UDP-сервера на ПК2.
Итак, сначала мы должны запустить сервер, и в случае успеха он будет в режиме листинга.
Вот скриншот UDP-клиента на ПК1.
Вот скриншот вывода UDP-сервера на ПК2
Известные ошибки:
- Ошибка подключения или отказ в подключении:
Когда мы запускаем TCP-клиент без TCP-сервера, возникает эта ошибка.
Вот скриншот
- UDP без сервера:
Когда мы запускаем UDP-клиент без сервера, мы можем идентифицировать это с помощью некоторых наблюдений
- После того, как пропускная способность клиента UDP будет завершена, мы не должны отправлять отчеты о среднем показателе сервера. Отметьте точку B на скриншоте ниже.
- Пропускная способность может быть выше, чем подключенная пропускная способность. Отметьте точку A на скриншоте ниже.
- Вот ожидаемый снимок экрана клиента UDP
Некоторые экспериментальные аргументы:
-w:
Размер окна можно увеличить.
Вот снимок экрана для размеров окон по умолчанию и настраиваемых:
-я:
Интервал можно увеличить.
Здесь -t 20sec и -i 5sec, поэтому мы должны видеть вывод Iperf с интервалом 5 секунд. Вот скриншот.
Резюме:
Для измерения производительности в проводной или беспроводной сети Iperf является основным требованием. Поскольку это открытый исходный код, его можно использовать без какой-либо лицензии. Iperf дает довольно точные результаты по сравнению с лицензионным инструментом, таким как IxChariot.