Устройство,составные части и функционирование персонального компьютера-железо.

Народный самоучитель по настройке, оптимизации и безопасности Вашего ПК и сети.

Главная О проекте Все статьи Рекомендую
Windows
Безопасность
Неисправности
Сетевые технологии
Полезное
Железо
Web-дизайн
Полезные программы

Тестирование скорости локальной сети Ethernet,передачи данных с помощью утилиты iperf

Бывают ситуации, когда необходимо измерить фактическую скорость передачи данных между двумя узлами по каналу связи Ethernet (скорость передачи данных по локальной сети). Протестировать скорость локальной сети можно несколькими способами: передать большой файл по FTP или HTTP и засечь время передачи файла, затем поделим размер файла в МБ (мегабайтах) на время передачи (в секундах) и получим скорость нашего канала в МБ/с (магабайт в секунду), если разделин это значение на 8, то получим значение скорости в Мб/с (мегабит в секунду). А можно для тестирования скорости локальной сети использовать специализированные программы. Одной из таких программ является IPERF (http://iperf.sourceforge.net/). Iperf — кроссплатформенная консольная клиент-серверная программа — генератор TCP и UDP трафика для тестирования пропускной способности локальной или распределённой сети. Iperf не требует установки. Iperf для измерения ёмкости канала пользуются даже крупные провайдеры.

Iperf проста в использовании. Для тестирования скорости локальной сети вам понадобятся:

  • два компьютера (один будет выступать в роли сервера, другой в роли клиента), подключенные к сети и с назначенными IP-адресами
  • собственно, iperf (под Linux или Windows) на каждом компьютере
  • компьютеры должны пинговаться
  • если тестироваться будет определённый порт TCP или UDP, то доступ на этот порт должен быть открыт.

    Общая методика измерений скорости локальной сети Ethernet,передачи данных с помощью утилиты iperf

    Для повышения точности измерений скорости передачи данных по локальной сети с помощью утилиты iperf рекомендуется придерживаться следующих правил :

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

    Итак, если все вышеуказанные требования выполнены, приступаем к настройке iperf:

    Сначала необходимо запустить серверную часть программы, затем клиентскую.

    Для "сервера" запуск iperf происходит следующим образом:
    iperf -s -p 80
    параметр -s указывает на то, что этот компьютер будет сервером, параметр -p 80 указывает что тестировать будем 80-й TCP порт.
    Если нужно протестировать UDP порт, то нужно добавить флаг -u (использовать UDP пакеты):
    iperf -s -u -p 80

    На клиенте запуск iperf производится со следующими параметрами:
    iperf -c 172.16.12.1 -p 80 -t 180
    здесь -с указывает что это клиентская часть, 172.16.12.1 – ip адрес сервера, -t 180 указывает, что тестировать скорость локальной сети в течение 180 секунд (3 минуты).

    Перечень всех параметров iperf с переводом:

  • -f, --format [kmKM] format to report: Kbits, Mbits, KBytes, Mbytes В каком формате показывать скорость
  • -i, --interval # seconds between periodic bandwidth reports – с какими интервалами отображать промежуточные результаты
  • -l, --len #[KM] length of buffer to read or write (default 8 KB) - размер буфера (можно не менять)
  • -m, --print_mss print TCP maximum segment size (MTU - TCP/IP header) - показывать инфрмацию по пакетам
  • -p, --port # server port to listen on/connect to порт на котором сервер будет принимать соединения а клиент соединятся (по умолчанию 5001)
  • -u, --udp use UDP rather than TCP - использовать UDP вместо TCP
  • -w, --window #[KM] TCP window size (socket buffer size) - размер окна TCP
  • -B, --bind bind to , an interface or multicast address - для сервера, если несколько интерфейсов указывает на каком начинать принимать трафик
  • -C, --compatibility for use with older versions does not sent extra msgs - режим совместимости со старыми версиями( не интересен)
  • -M, --mss # set TCP maximum segment size (MTU - 40 bytes) - позволяет изменить MSS
  • -N, --nodelay set TCP no delay, disabling Nagle's Algorithm – меняет опции TCP (тоже трогаем)
  • -V, --IPv6Version Set the domain to IPv6 – использовать IP версии 6 (пока не актуально)

    Server specific: Опции для сервера

  • -s, --server run in server mode - запустить как сервер и отображать всю информацию на экран
  • -D, --daemon run the server as a daemon - запустить как сервер и не отображать информацию

    Client specific: Опции клиента

  • -b, --bandwidth #[KM] for UDP, bandwidth to send at in bits/sec (default 1 Mbit/sec, implies -u) - используемая полоса для UDP (По умолчанию 1Mbit/sec)
  • -c, --client run in client mode, connecting to - запустить как клиент и соединится с IP
  • -d, --dualtest Do a bidirectional test simultaneously - тестировать линию в обе стороны
  • -n, --num #[KM] number of bytes to transmit (instead of -t) - установить предел для передаваемого трафика
  • -r, --tradeoff Do a bidirectional test individually - не делать двунаправленное тестирование
  • -t, --time # time in seconds to transmit for (default 10 secs) - тестировать и усреднять по времени
  • -F, --fileinput input the data to be transmitted from a file - не генерирует трафик а передает готовый файл
  • -I, --stdin input the data to be transmitted from stdin
  • -L, --listenport # port to recieve bidirectional tests back on - порт на котором клиент будет принимать двунаправленный трафик
  • -P, --parallel # number of parallel client threads to run - запустит параллельно несколько потоков
  • -T, --ttl # time-to-live, for multicast (default 1) – время жизни пакета для мультикаста

    Протестировать скорость локальной сети с помощью iperf - задача довольно простая. Единственная сложность в том, что если сеть распределённая, и необходимо померить скорость передачи канала связи между разными частями города, или между разными городами, то придётся искать человека на другом конце канала, чтобы он запустил серверную/киентскую часть iperf.


    Если статья "Тестирование скорости локальной сети Ethernet,передачи данных с помощью утилиты iperf" оказалась для Вас полезной пожалуйста поделитесь ей со своими друзьями




  • ©2013-Все права защищены. При использовании материалов сайта ссылка на источник обязательна.