Блог ИТ склеротика. Bog BOS: Производительность сети и её измерение: ping, traceroute, netperf, iperf, pathrate, pathload, abget

Страницы

Расширенный поиск в статьях блога

15 апреля 2012 г.

Bog BOS: Производительность сети и её измерение: ping, traceroute, netperf, iperf, pathrate, pathload, abget

Элементарные единицы производительности сети:

  • доступность (простейшие инструменты: ping, nmap -sP)
  • доля потерянных пакетов (измеряется при постоянной нагрузке на различных уровнях нагрузки); возможные причины: коллизии, переполнение буфера в промежуточном устройстве
  • время ответа (ping, traceroute, netperf); возможные причины больших задержек: перегрузка сети или хоста, ошибки в сети или NIC, неудачный маршрут, несоответствие MTU, загрузка одного из промежуточных устройств посторонними задачами (например, пересчёт OSPF)
  • задержка устройства определяется как время от поступления последнего бита кадра на вход устройства до поступления первого бита кадра на выходе устройства; может меняться в зависимости от размера кадра
  • общая ёмкость сети, Bandwidth Capacity (pathrate)
  • загруженность в течении определённого интервала времени (какую долю времени канал занят передачей данных), Network Utilization (pathload)
  • пропускная способность, Network Throughput (остаток ёмкости), максимальная скорость при которой ещё нет потерь; может отличаться для различных условий (размер пакета, дуплекс)

Методы получения информации о производительности сети:

  •  

Утилита ping посылает ICMP пакеты ECHO_REQUEST на указанный хост и использует полученные (или неполученные) в ответ ICMP пакеты ECHO_RESPONSE для определения доступности этого хоста и времени реакции. В Linux требует прав CAP_NET_RAWIO (обычно через suid root). Ключи:

  • -a (звуковое сопровождение каждого полученного ответа)
  • -A (интервал между посылками адаптируется к времени реакции, так чтобы в пути находилось не более 1 запроса; для обычного пользователя интервал не м.б. менее 200 мс)
  • -b (разрешить посылать запрос на широковещательный адрес)
  • -c число-запросов (по умолчанию, пакеты посылаются пока не прервать выполнение программы)
  • -f (после посылки каждого пакета ECHO_REQUEST выводится точка, после получения ECHO_RESPONSE она стирается; если интервал не указан, то он устанавливается в 0 при наличии прав root и пакеты посылаются каждые 10мс или сразу по получении ответа)
  • -i интервал (в секундах, можно указывать плавающее число; по умолчанию - 1 секунда; только root может устанавливать интервал менее 200мс)
  • -I исходящий-адрес (или имя интерфейса)
  • -l число (количество пакетов, которые могут быть одновременно "в пути")
  • -L (не посылать пакета на групповой адрес себе)
  • -n (не преобразовывать IP адреса в имена)
  • -p шаблон (пакет заполняется указанным шаблоном, до 16 байт в 16-ричной записи; по умолчанию в начале пакета записывается временная отметка)
  • -Q флаг (TOS, QoS или DS)
  • -q (минимум вывода)
  • -R (запоминает до 9 адресов промежуточных узлов в обоих направлениях и выводит их при получении ECHO_RESPONSE)
  • -r (не использовать таблицу маршрутизации, послать пакет через указанный в -I интерфейс)
  • -s число (по умолчанию - 56; число байт данных в пакете; заголовок ICMP - 8 байт; заголовок IP - от 20 байт)
  • -t TTL
  • -T tsonly (включить в пакет отметку времени; при получении ECHO_RESPONSE выводятся смещения времени в милисекундах на 9 промежуточных в обоих направлениях узлах)
  • -T tsandaddr (включить в пакет отметку времени и адрес)
  • -T tsprespec хост... (включить в пакет отметку времени и адреса)
  • -M стратегия-выбора-MTU (do - запретить фрагментацию; want - автоматически определять MTU, при локальных посылках разрешить фрагментирование пакетов; dont - не устанавливать флаг DF)
  • -U (выводить время ответа без учёта вспомогательных затрат на DNS и т.д.)
  • -v (выводить больше информации, не заметил излишеств)
  • -w секунд (закончить работу после истечения указанного интервала)
  • -W секунд (время ожидания первого ответа; затем интервал ожидания устанавливается в 2*RTT)

Сигналы:

  • SIGINT - завершить выполнение, выдаётся статистика (количество отправленных и полученных пакетов, процент потерянных пакетов, RTT: минимальный, средсдний, максимальный, отклонение от среднего)
  • SIGQUIT - выдать краткую статистику, не завершая процесс

Возвращает 1, если не получено ни одного ответа. Возвращает 2 при ошибках. Возвращает 0, если сеть хоть как-то работает.

Утилита traceroute позволяет выяснить маршрут следования пакетов к хосту назначения. Для этого она посылает серию UDP пакетов с TTL от 1 до 30 и получает ответы от промежуточных маршрутизаторов об истечении TTL (ICMP TIME_EXCEEDED). Для обеспечения работоспособности необходимо открыть сетевые экраны на пути следования для пакетов UDP на нужные порты. Вторым параметром можно указать размер пакета (40; путь может зависеть от размера бакета; помогает выяснить MTU в сочетании с ключом -F). Ключи:

  • -4 (использовать IPv4)
  • -6 (использовать IPv6)
  • -I (использовать ICMP пакеты ECHO_REQUEST вместо UDP)
  • -T (использовать TCP SYN вместо UDP)
  • -U (UDP; по умолчанию; непривилегированному пользователю доступен только этот метод)
  • -F (запретить фрагментацию пакетов)
  • -f начальный-TTL (1)
  • -g первый-шлюз (установить первый шлюз в маршрутизации "от источника" - source routing; скорее всего такой пакет будет отфильтрован)
  • -i имя-интерфейса
  • -m максимальный-TTL (30)
  • -N число-параллельных-запросов (16; рекомендуется установить в 1)
  • -n (не преобразовывать IP адреса в имена)
  • -p номер-порта-назначения (для UDP при каждом запросе номер порта увеличивается на 1; для TCP номер порта не изменяется; для ICMP устанавливается начальный последовательный номер, который увеличивается на 1)
  • -q число (3; число проб на каждый промежуточный узел)
  • -r (не использовать таблицу маршрутизации, послать пакет через указанный в -i интерфейс)
  • -s исходящий-адрес
  • -t флаг (TOS, QoS или DS)
  • -w секунд (5; время ожидания ответа)
  • -z интервал-между-посылками (если меньше 10, то в секундах, если больше - в милисекундах)
  • -A (заодно определяет автономную систему)

Загадочные значки в ответах:

  • !H - хост недоступен
  • !N - сеть недоступна
  • !P - протокол (в смысле IP протокол -TCP, UDP) недоступен
  • !S - маршрутизация от источника запрещена
  • !F - требуется фрагментация
  • !X - административный запрет
  • !V - host precedence violation
  • !C - precedence cutoff

traceroute6 - эквивалент traceroute -6.

tracert - эквивалент traceroute -I.

tcptraceroute - эквивалент traceroute -T -p 80.

tracepath позволяет выяснить маршрут следования пакетов к хосту назначения и MTU, используя UDP-метод. Вторым параметром можно указать порт назначения.

netperf - "классический" (документация от HP к версии 2.0 от 1995 года!) инструмент измерения пропускной способности сети и времени задержки ответа (TCP, UDP, DLPI - уровень канала, UNIX domain sockets, SCTP; IPv4 и IPv6). Доступна для различных вариантов Unix, Linux, MS Windows, OpenVMS и др.. Состоит из 2 частей: netserver, который должен быть предварительно запущен на удалённом хосте, и netperf, который запускается в момент измерения. При запуске теста между netperf и netserver устанавливается управляющее соединение (по умолчанию - 12865/tcp), тестовые данные пересылаются по другому каналу (первый попавшийся "пользовательский" порт).

Брал готовые пакеты версии 2.4.2-1 с репозитария dag. Исходные тексты можно получить здесь.

Утилита netperf имеет 2 типа параметров: глобальные и специфические для типа теста. Глобальные параметры указываются первыми и отделяются от специфических параметров двумя знаками "минус" ("--"). Некоторые параметры (например, размер) задаются парами. Чтобы установить одинаковое значение элементам пары необходимо указать одно значение, чтобы установить разные - значения через запятую, только первому элементу - "значение,", только второму - ",значение".

Глобальные параметры (основные):

  • -h (выдаёт перечень параметров)
  • -c [число] (вычисление использования ЦП, указание "числа" из предыдущего прогона может съэкономить 40 секунд на калибровку)
  • -C [число] (вычисление использования ЦП на удалённом хосте)
  • -f G|M|K|g|m|k (единицы измерения: 2^30 байт/сек, 2^20 байт/сек, 2^10 байт/сек, 10^9 бит/сек, 10^6 бит/сек, 10^3 бит/сек)
  • -F имя-файла (буфер передачи предварительно заполняется из этого файла, полезно для изучения эффекта сжатия данных)
  • -H имя-удалённого-хоста
  • -L имя-этого-хоста
  • -I вероятность,интервал-доверительности (в процентах)
  • -i макс-число-итераций,мин-число-итераций (10,3; для вычисления интервала доверительности)
  • -l число (положительное число задаёт продолжительность одной итерации теста в секундах; отрицательное число задаёт количество байт для тестов типа _STREAM и транзакций для тестов типа _RR)
  • -p управляющий-порт-на-удалённом-хосте[,исходящий-порт-управляющего-соединения]
  • -t тип-теста (в пакете тесты SCTP_*, DLCO_* и DLCL_* отсутствуют)
    • TCP_STREAM (тест пропускной способности в режиме TCP), специфические параметры (см. также общие специфические параметры):
      • -C (TCP_CORK)
      • -D (TCP_NODELAY)
    • TCP_MAERTS (тест пропускной способности TCP в обратную сторону, глобальный ключ -F не действует)
    • TCP_SENDFILE (тест пропускной способности TCP с использованием sendfile(), требуется глобальный ключ -F)
    • UDP_STREAM (тест пропускной способности в режиме UDP; передатчик "лупит", не ожидая ответа, и достигает фантастических величин пропускной способности; реальную скорость надо смотреть во второй строке, относящейся к приёмнику)
    • XTI_TCP_STREAM, XTI_TCP_RR, XTI_TCP_CRR, XTI_TCP_CC, XTI_UDP_STREAM, XTI_UDP_RR (аналог TCP_STREAM и прочих с использованием интерфейса XTI)
    • SCTP_STREAM (тест пропускной способности в режиме STCP)
    • DLCO_STREAM (тест пропускной способности в режиме DLPI Connection Oriented)
    • DLCL_STREAM (тест пропускной способности в режиме DLPI ConnectionLess
    • STREAM_STREAM (тест пропускной способности для Unix Domain сокетов)
    • DG_STREAM (тест пропускной способности для Unix Domain Datagram сокетов)
    • TCP_RR (тестирование времени ответа TCP; выдаёт количество транзакций в секунду)
    • TCP_CC (тестирование скорости создания и удаления TCP соединений; специфический ключ -p позволяет задавать допустимый интервал исходящих портов)
    • TCP_CRR (тестирование скорости создания TCP соединения, обмена одной парой сообщений и удаления соединения)
    • UDP_RR (тестирование времени ответа UDP; выдаёт количество транзакций в секунду)
    • SCTP_RR
    • DLCO_RR
    • DLCL_RR
    • LOC_CPU (калибровка скорости этого ЦП)
    • REM_CPU (калибровка скорости ЦП на удалённом хосте)
  • -v уровень-болтливости (0 - минимум, 1 - по умолчанию, 2 - максимум)
  • -W число-буферов-send,число-буферов-recv
  • -4 (использовать IPv4)
  • -6 (использовать IPv6)

Специфические параметры, общие для всех тестов TCP, UDP и SCTP (через сокеты и XTI):

  • -h (выдаёт перечень параметров)
  • -H имя-удалённого-хоста-для-данных
  • -L имя-этого-хоста-для-данных
  • -m количество-байт (размер буфера send, можно использовать суффиксы "GMKgmk"; для потоковых тестов)
  • -M количество-байт (размер буфера recv, можно использовать суффиксы "GMKgmk"; для потоковых тестов)
  • -P номер-локального-порта,номер-удалённого-порта (для данных)
  • -r размер-запроса,размер-ответа (для тестов на время ответа)
  • -s размер-выходного-буфера-здесь,размер-входного-буфера-здесь
  • -S размер-выходного-буфера-там,размер-входного-буфера-там
  • -4 (использовать IPv4 для данных)
  • -6 (использовать IPv6 для данных)

netserver может быть запущен как самостоятельный процесс (параметр -p задаёт номер порта управляющего соединения) или под inetd (xinetd). Параметры для inetd.conf: netserver stream tcp nowait nobody. Настройка для xinetd:

service netserver
{
socket_type = stream
wait = no
user = nobody
server = адрес-программы
}


Параметры netserver:



  • -h (выдаёт перечень параметров)


  • -d (увеличить уровень отладки)


  • -L адрес-прослушивания,семейство


  • -p номер-порта


  • -4 (использовать IPv4)


  • -6 (использовать IPv6)


  • -v


Использование ЦП выводится в процентах от полной загрузки и в микросекундах, требуемых для передачи килобайта или транзакции. В Linux версии используется механизм /proc/stat (S).


Можно запускать с правами обычного пользователя.


Методика измерения пропускной способности



  • на приёмном хосте запустить netserver


  • проделать дырки в сетевом экране на удалённом сервере и по дороге к нему (12865/tcp, 12866/tcp, 12866/udp)


  • запустить на передающем хосте тест TCP с достаточной точностью
    netperf -H адрес-приёмного-хоста -t TCP_STREAM -v 2 -c -C -l 50 -I 99,5 -- -P ,12866


  • если данные в канале сжимаются, то поэкспериментировать с различными тестовыми шаблонами (-F имя-файла)


  • повторить тестирование в обратную сторону


  • повторить тестирование в обе стороны одновремено


Через 1 коммутатор:

TCP_STREAM

Recv Send Send Utilization Service Demand
Socket Socket Message Elapsed Send Recv Send Recv
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB

87380 16384 16384 50.01 938.70 16.41 42.41 11.457 29.609

Alignment Offset Bytes Bytes Sends Bytes Recvs
Local Remote Local Remote Xfered Per Per
Send Recv Send Recv Send (avg) Recv (avg)
8 8 0 0 5.868e+09 16384.00 358172 8530.56 687914

Maximum
Segment
Size (bytes)
1448

TCP_RR

Local /Remote
Socket Size Request Resp. Elapsed Trans. CPU CPU S.dem S.dem
Send Recv Size Size Time Rate local remote local remote
bytes bytes bytes bytes secs. per sec % S % S us/Tr us/Tr

16384 87380 1 1 50.00 11154.17 19.80 43.03 142.024 308.618
16384 87380

UDP_RR

Local /Remote
Socket Size Request Resp. Elapsed Trans. CPU CPU S.dem S.dem
Send Recv Size Size Time Rate local remote local remote
bytes bytes bytes bytes secs. per sec % S % S us/Tr us/Tr

126976 126976 1 1 50.01 11573.89 18.47 43.07 127.660 297.708
135168 135168



Через 5 коммутаторов:

TCP_STREAM

Recv Send Send Utilization Service Demand
Socket Socket Message Elapsed Send Recv Send Recv
Size Size Size Time Throughput local remote local remote
bytes bytes bytes secs. 10^6bits/s % S % S us/KB us/KB

87380 16384 16384 50.01 919.84 8.76 42.04 3.120 29.955

Alignment Offset Bytes Bytes Sends Bytes Recvs
Local Remote Local Remote Xfered Per Per
Send Recv Send Recv Send (avg) Recv (avg)
8 8 0 0 5.75e+09 16384.02 350982 8193.70 701819

Maximum
Segment
Size (bytes)
1448

TCP_RR

Local /Remote
Socket Size Request Resp. Elapsed Trans. CPU CPU S.dem S.dem
Send Recv Size Size Time Rate local remote local remote
bytes bytes bytes bytes secs. per sec % S % S us/Tr us/Tr

16384 87380 1 1 50.01 8061.24 3.64 43.30 18.074 429.677
16384 87380

UDP_RR

Local /Remote
Socket Size Request Resp. Elapsed Trans. CPU CPU S.dem S.dem
Send Recv Size Size Time Rate local remote local remote
bytes bytes bytes bytes secs. per sec % S % S us/Tr us/Tr

135168 135168 1 1 50.01 8427.60 5.14 42.71 24.388 405.477
135168 135168



Iperf позволяет измерить производительность сети (TCP и UDP) и поэкспериментировать с настройками приложения и хоста. Имеется версия под Windows (устанавливается как сервис: -s -D). Так же как и при использовании netperf предварительно на удалённом конце запускается iperf в режиме сервера. В момент измерения с нашей стороны запускается iperf в режиме клиента. Если сервер запускается в интерактивном режиме, то он также выдаёт результаты измерения. При запуске теста между клиентом и сервером устанавливается управляющее соединение (по умолчанию - 5001/tcp), тестовые данные пересылаются по (первый попавшийся "пользовательский" порт). Имеется также графическая "морда" Jperf и библиотека для написания своих тестов. Позволяет определить:



  • пропускную способность сети в режиме TCP


  • величину окна TCP по умолчанию и оптимальное значение


  • пропускную способность сети в режиме UDP при заданной производительности


  • потери UDP пакетов


  • отклонения в задержках UDP пакетов (синхронизация времени не требуется)


  • наличие обработки ToS


  • обработка групповых рассылок (клиент посылает пакеты по групповому адресу, несколько серверов могут получать пакеты по этому адресу; только UDP)


Ключи (при указании размеров можно использовать суффиксы K и M):



  • -B IP-адрес (задаётся на стороне сервера, привязаться к указанному адресу, обычно используется для тестирования групповых рассылок)


  • -b ширина-канала (для UDP тестирования, задаётся на клиентской стороне; по умолчанию - 1Mbps)


  • -c адрес-сервера (режим клиента)


  • -D (сервер в фоновом режиме, стандартный вывод можно переназначить в файл)


  • -d (тест в обе стороны одновременно; см. -L)


  • -F имя-файла (использовать указанный файл для передачи)


  • -f формат-вывода (b - bps, B - Byte/sec и т.д.)


  • -I (использовать стандартный ввод для передачи)


  • -i секунд (интервал между промежуточными результатами, в т.ч. на стороне сервера)


  • -L номер-порта (входной порт для двухсторонних тестов -d и -r)


  • -l байт (размер пакетов; по умоляанию используется 8K для TCP и 1470 для UDP)


  • -M размер-MSS


  • -m (вывести значение MSS и MTU)


  • -N (TCP_NODELAY)


  • -n число-пакетов


  • -P число-потоков


  • -p номер-порта (сервер слушает этот порт, клиент подсоединяется к указанному порту)


  • -r (сначала в одну сторону, затем обратно; см. -L)


  • -S биты-ToS (2 - минимальная цена, 4 - максимальная надёжность, 8 - максимальная пропускная способность, 16 - минимальная задержка)


  • -s (режим интерактивного сервера)


  • -T TTL


  • -t секунд (время тестирования)


  • -u (тестирование UDP, необходимо указывать на обеих сторонах, ожидает подтверждения?)


  • -V (IPv6)


  • -W (подбор оптимального размера окна TCP, в моей версии отсутствует)


  • -w размер-окна-TCP (устанавливается вдвое больше указанного)


Можно запускать с правами обычного пользователя.


Устанавливал iperf-2.0.2-1.fc4.i386.rpm из extra в CentOS4 и iperf-2.0.2-3.fc6.x86_64.rpm из extra в CentOS5.



Пакет pathrate (Constantine Dovrolis) позволяет определять максимальную пропускную способность (bandwidth) и также состоит из 2 утилит:



  • pathrate_snd, которая запускается на удалённом сервере, слушает команды на 48699/tcp, получив команду тестирования обеспечивает UDP поток на приёмник 48698/udp; имеется ключ "-v"


  • pathrate_rcv запускается на другом конце, передаёт команду тестирования на передатчик; имеются ключи "-s адрес-передатчика" и "-v"


Особенностью пакета является способность определять общую пропускную способность канала невзирая на его текущую загрузку. Результат является статистическим и ненадёжным (основывается на задержках пакетов в цепочке пакетов). Нельзя запускать на нагруженном компьютере. На этапе инициализации pathrate определяет наличие балансировщиков трафика (измеряется пропускная способность одного канала) и ограничителей трафика (измеряется пиковая скорость), вычислияется размер буферов (определяется максимальной длиной цепочки до потери нескольких пакетов подряд). Если текущий трафик в канале невелик и постоянен, то пропускную способность канала можно определить непосредственно. Полный цикл может занять полчаса. При этом определяется зависимость задержек то размера пакетов и числа пакетов в цепочке. Имеется адаптация к "свёртыванию прерываний" на гигабитных интерфейсах.


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


Установка pathrate (CentOS4.5 и CentOS5 с предупреждениями, программу собирать в 32-битном режиме):





  • развернуть


  • изменить порты, чтобы не проделывать дополнительных дырок: pathrate.h (12865/tcp, 12866/udp)


  • ./configure


  • make


  • скопировать pathrate_rcv и pathrate_snd в /usr/local/sbin


У меня на составном несимметричном канале версия 2.4.1 не смогла выдать результат, (только если передатчик ставить на медленный конец, и то не всегда). На канале с VPN (PPP over SSH) версия 2.4.1 зависает. Версия 2.3.0 нормально работает на составном канале, но для VPN канала показывает какую-то чушь. Между версиями 2.3 и 2.4 изменился протокол подтверждений, новый протокол, видимо, недоработан.


Пакет pathload (1.3.2) позволяет определить доступную пропускную способность сети, не имея доступа к счётчикам активного сетевого оборудования. Используется метод, аналогичный методу в pathrate. Также состоит из двух программ (только порты 55001/udp и 55002/tcp). Ставится таким же способом (но есть адаптация к 64-бит). На VPN канале (PPP over SSH) также не работает (слишком частое переключение контекста на приёмнике независимо от направления передачи). На составном шейпированном канале всегда показывает его полную ёмкость.


pathoad_snd имеет ключ "-i" (не завершать работу после обработки первой заявки). pathload_rcv имеет дополнительные ключи:



  • -w точность


  • -t секунд (максимальное время работы)



Утилита abget того же автора позволяет оценить доступную (свободную) пропускную способность сети в обоих направлениях, не имея доступа к удалённому серверу Требуется HTTP сервер на удалённом сервере и привилегии суперпользователя. Для определения доступной пропускной способности сети от сервера к нам требуется указать URL достаточно большого файла на сервере. abget эмулирует TCP протокол, чтобы спровоцировать сервер посылать данные в желаемом темпе (посылаются фальшивые ACK в нужном количестве). Осторожно с журналом сетевого экрана!


Установка abget 1.0 на Fedora Core 6:



При запуске указывает имя "жертвы" и ключи:



  • -b (--binary; двоичный поиск; срабатывает быстро, но не всегда правильно)


  • -c имя-файла-конфигурации (можно задать множество параметров; /usr/local/etc/abget/abget.conf)


  • -d (--downstream; определение пропускной способности канала от сервера к нам)


  • -f большого-имя-файла-на-сервере


  • -H максимальная-ожидаемая-ёмкость (по умолчанию - скорость интерфейса; в Mbps; Rmax)


  • -i имя-интерфейса


  • -I микросекунд (интервал между итерациями)


  • -l (--linear; по умолчанию; линейное увеличение скорости от Rmin до Rmax с шагом "-r")


  • -L минимальная-ожидаемая-ёмкость (по умолчанию - 0; в Mbps; Rmin)


  • -N число-потоков (по умолчанию - 5)


  • -p номер-порта


  • -P число-пакетов-в-потоке (?)


  • -r требуемая-точность (в Mbps)


  • -s исходящий-IP


  • -t секунд (максимальное время)


  • -u (--upstream; определение пропускной способности канала от нас к серверу)


  • -w номер-исходящего-порта


  • -x variation-range (в Mbps; только для двоичного поиска)



Не приспособлен для работы с сетевыми экранами.



Распределённая система тестирования с защитой управляющих каналов по SSL.



Не пробовал.


dbs (Distributed Benchmark System) позволяет одновременно запустить несколько потоков (dbsd), нагружающих сеть, и управлять ими из одного места (dbsc, tcp/10710). Требует синхронизации времени между узлами и gnuplot для построения графиков (dbs_view, пропускная способность каждого потока с течением времени или время задержки). Не развивается с 1998 года (удачи в компиляции и сборке ;). dbsc управляется командным файлом, в котором для каждого теста задаются параметры передатчика (хост, порт, размер буфера передачи, размер буфера приёма, шаблон трафика), параметры приёмника(хост, порт, размер буфера передачи, размер буфера приёма, шаблон обработки трафика) и параметры тестирования (файл с результатами, TCP или UDP, учитывать ли время соединения, кто передаёт, время начала, продолжительность, число повторений).







  • Network Characterization Service (netest и pipechar)


  • Network Performance Open Source Toolkit: Using Netperf, tcptrace, NISTnet, and SSFNet. 2003. Blum R.




  • RFC-1242 Benchmarking terminology for network interconnection devices (определение терминов)


  • RFC-2285 Benchmarking Terminology for LAN Switching Devices.


  • RFC-2544 Benchmarking Methodology for Network Interconnect Devices.


  • RFC-2889 Benchmarking Methodology for LAN Switching Devices.


  • RFC-2330 Framework for IP Performance Metrics.


  • RFC-2647 Benchmarking Terminology for Firewall Performance.


  • RFC-2758 Definitions of Managed Objects for Service Level Agreements Performance Monitoring


  • RFC-3150 End-to-end Performance Implications of Slow Links


  • RFC-3155 End-to-end Performance Implications of Links with Errors.


  • RFC-3393 IP Packet Delay Variation Metric for IP Performance Metrics


  • RFC-3432 Network performance measurement with periodic streams.


  • RFC-3511 Benchmarking Methodology for Firewall Performance.


  • RFC-4148 IP Performance Metrics (IPPM) Metrics Registry. E. Stephan.


  • RFC-4689 Terminology for Benchmarking Network-layer Traffic Control Mechanisms.


  • RFC-4814 Hash and Stuffing: Overlooked Factors in Network Device Benchmarking.


  • RFC-4883 Benchmarking Terminology for Resource Reservation Capable Routers.

.

Счетчик тИЦ и PR Яндекс.Метрика Msn bot last visit powered by MyPagerank.NetYahoo bot last visit powered by MyPagerank.Net ping fast  my blog, website, or RSS feed for Free