Loading

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

Чаще всего используются инструменты, такие как FTP и Ping для создания TCP/IP-трафика между серверными системами, после чего производится анализ производительности сети во время генерирования этого трафика. Проблема с таким подходом связана с тем, что зачастую нет доступа у сетевого администратора к серверным системам или же нет достаточной производительности системы для тестирования сети с высокой пропускной способностью по протоколу FTP. Во многих случаях приходится устанавливать специализированные аппаратные средства для произведения испытаний — процесс, который может быть непрактичным, если сеть состоит из многих удаленных LAN и WAN сегментов.

Представление TTCP

Сообщество Unix имеет хороший инструмент для тестирования каналов связи в течении многих лет — утилита TTCP. Эта утилита доступна из различных источников в Интернете.

Для начала использования TTCP необходимо запустить его копию в режиме приемника в одном месте в пределах сети, а затем запустить вторую копию в режиме передачи в другом месте в пределах сети. Результаты передачи данных от передатчика к приемнику показывают приблизительную производительность между источником и передатчиком. При выборе источника и передатчика в различных точках сети, можно анализировать критические сегменты сети.

TTCP имеет реальное преимущество над инструментами, такие как FTP. Если есть сеть с высокой производительностью, тогда для какой-либо одной компьютерной системы и ее дисковой подсистемы будет затруднительно передать данные на высокой скорости, которой будет достаточно для реального тестирования сети. TTCP достигает высокой производительности за счет заполнения буфера памяти данными, которые необходимы для неоднократной передачи. Так как все идет из памяти, есть передатчик и приемник трафика, которые могут работать на истинной скорости сети.

Cisco внедрила копию TTCP в IOS 11.2 и позже, в настоящее время эта команда незадокументирована. С помощью интерактивных подсказок эту команду нельзя обнаружить на устройстве. Вместо этого, просто нужно просто ввести команду ttcp, а затем нажать ENTER. Если маршрутизатор поддерживает эту команду, тогда необходимо будет ответить на ряд вопросов для установки параметров TTCP. Так как TTCP может создать огромное колличество трафика, эта команда возможна к выполнению только в привилегированном режиме.

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

Совместимость TTCP

Версия TTCP в Cisco отправляет и получает TCP данные (версия в Unix также поддерживает UDP) Можно контролировать количество отправленных пакетов, размер пакета, номер порта, на котором передатчик и приемник общаются между собой, и ряд других параметров. Изменяя параметры, можно проверить различные механизмы буферизации в сетевом оборудовании между передатчиком и приемником.

Пункт назначения и источник не должны быть на одном и том же устройстве. Чтобы проверить пропускную способность до удаленного сервера, нужно запустить только передатчик и указать порт на удаленном сервере.

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

Использование TTCP

TCP является протоколом, который ориентируется на постоянное поддержание связи, поэтому необходимо иметь приемник, к которому может подключиться передатчик. Таким образом, первым шагом является запуск приемника TTCP. После начала запуска передатчика TTCP используется время и объем переданных данных для рассчета пропускной способности между передатчиком и приемником.

Теперь, когда есть немного общей информации о TTCP, рассмотрим установку и запуск тестовой сети. В этом примере, будет протестирован канал «точка-точка» с пропускной способностью способностью 56 Кбит между двумя маршрутизаторами.

Во-первых, необходимо запустить приемник. На маршрутизаторе Cisco необходимо выполнить нижеописанные команды. Значения в скобках — значения по умолчанию, которые вступают в силу по нажатию ENTER. В настройках можно изменить окно TCP для имититации работы рабочих станций.

#ttcp
transmit or receive [receive]:
buflen [8192]:
bufalign [16384]:
bufoffset [0]:
port [5001]:
sinkmode [y]:
rcvwndsize [2144]: 4096
show tcp information at end [n]:
ttcp-r: buflen=8192, nbuf=2048, align=16384/0, port=5001, rcvwndsize=4096 tcp

Теперь необходимо запустить передатчик:

#ttcp
transmit or receive [receive]: trans
Target IP address: 192.168.0.254
buflen [8192]:
nbuf [2048]: 50
bufalign [16384]:
bufoffset [0]:
port [5001]:
sinkmode [y]:
buffering on writes [y]:
show tcp information at end [n]:
ttcp-t: buflen=8192, nbuf=50, align=16384/0, port=5001 tcp -> 192.168.0.254

Когда соединение установлено, приемник выводит в строке состояния сообщение о том, что связь установлена. После завершения передачи, приемник выводит статистику тестирования, которая показывает количество переданных данных, время передачи, рассчитанную пропускную способность, количество операций ввода/вывода для чтения данных:

ttcp-r: accept from 192.168.0.253 (mss 1460, sndwnd 2144, rcvwnd 4096)
ttcp-r: 409600 bytes in 61064 ms (61.064 real seconds) (~5 kB/sec) +++
ttcp-r: 301 I/O calls ttcp-r: 0 sleeps (0 ms total) (0 ms average)

Аналогичным образом передатчик делает вывод в строке состояния, когда он подключается к получателю. Когда передача завершена, передатчик показывает свою статистику:

ttcp-t: connect (mss 1460, sndwnd 4096, rcvwnd 2144)
ttcp-t: 409600 bytes in 60504 ms (60.504 real seconds) (~5 kB/sec) +++
ttcp-t: 50 I/O calls
ttcp-t: 0 sleeps (0 ms total) (0 ms average)

Анализ пропускной способности

TTCP вычисляет приблизительную пропускную способность в килобайтах в секунду. В этом случае, пропускная способность 5KBps, что переводится как 40kbps (5KBps*8бит/Байт = 40kbps) Это более 56 Кбит/с для соединения «точка-точка «. Является ли это пропускная способность реальной?

Размер буфера TCP на передатчике составляет 8192 байт. Когда TCP отправляет этот размер пакета IP, он будет разбит на пять по 1500 байт пакетов IP, плюс один пакет 693 байт(в общей сложности 8192 байт). Для передачи всех 50 буферов, маршрутизатору будет необходимо отправить 300 IP-пакетов. При выполнении приблизительного инженерного анализа каждый пакет будет иметь 40 байт TCP/IP заголовков. Используем следующие вычисления для определения приближенный пропускной способности:

50 buffers * 8192 bytes each = 409,600 bytes
301 IP packets * 40 bytes of header = 12,040 bytes
Total data transmitted = 421,640 bytes
421,640 bytes * 8 bits/byte = 3,373,120 bits
3,373,120 bits / 61.064 seconds = 55,239 bits/second

Это очень близко к скорости 56 Кбит/сек, что указывает на справедливость сетевого соединения.

Особенности TTCP

TTCP посылает нормальные IP датаграммы, которые обрабатываются так же, как и любые другие данные пользователя в сети. Если выполнение тестов производится в периоды, когда есть передача других данных в сети, то нужно учитывать суммарную нагрузку. Результаты испытаний показывают в данной статье, что никакого другого трафика в сети не было.

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

TTCP есть для Windows и Unix систем.

Удачного тестирования!

  Один комментарий в “TTCP — Iperf в Cisco”

  1. [...] TTCP — Iperf в Cisco » worm.org.ua24 дек 2010 … Каждому сетевому администратору нужны инструменты, которые позволяют генерировать сетевой трафик для анализа пропускной … [...]