Ttcp

Ttcp — утилита для замера пропускной способности сети, популярная в Unix-системах. Программа измеряет пропускную способность между двумя системами с использованием протокола TCP или, по выбору, UDP[1]. Ttcp была разработана Майком Мууссом и Терри Слэттери в Баллистической исследовательской лаборатории до декабря 1984 года[2] для сравнения производительности TCP-стеков, разработанных Computer Systems Research Group Калифорнийского университета в Беркли и BBN; результаты использовались DARPA для выбора реализации TCP для 4.3BSD.

Существует множество совместимых реализаций и производных утилит, включая широко используемую Iperf[3].

Тестирование возможно между любыми платформами, например между Windows и Linux, при условии, что ttcp установлен на обеих системах. Обычно ttcp запускается на двух машинах: одна становится отправителем, другая — получателем. Приёмник запускается первым и ожидает соединения; после установления соединения отправитель передаёт данные и отображает общую пропускную способность используемой сети. Объём отправляемых данных и другие параметры настраиваются через командную строку. Статистика программы учитывает только полезную нагрузку TCP/UDP (без учёта служебных данных протокола) и по умолчанию показывает скорость в КиБ/c (кибибайт в секунду), а не кбит/c (килобит в секунду), однако в некоторых реализациях отображение можно изменить. Передача оценивается точнее на стороне получателя, поскольку операция отправки может завершиться до фактической передачи всех байтов.

Общие сведения
Ttcp
Тип управление пропускной способностью
Автор Excelan
Разработчики Mike Muuss и Терри Слэттери
Написана на C
Операционная система Unix
Репозиторий web.archive.org/web/2009…
Лицензия Лицензия BSD
Сайт ftp.arl.army.mil/~mike/t…
nuttcp
Разработчики Билл Финк и Роб Скотт
Написана на C
Операционная система многоплатформенная
Последняя версия 8.2.2 (5 сентября 2018)
Лицензия GPLv2
Сайт nuttcp.net

Реализации и производные

Изначально разработанная для Unix, утилита ttcp была портирована и заново реализована для многих других систем, включая Windows[3][4][5][6][7].

ttcp

Оригинальная реализация для Unix, разработанная Майком Мууссом и Терри Слэттери, версия 1.10 от 2 сентября 1987 года. По умолчанию использует порт 2000, если не задан иной через параметр -p[3].

nttcp

Разработана компанией Silicon Graphics, вносит несколько изменений, сохранившихся в следующих реализациях: по умолчанию порт 5001 вместо 2000, обратное значение параметра -s (по умолчанию используется приёмник sink), а также добавлен параметр -w для задания размера окна[3].

nuttcp

Разработана в Лаборатории вычислительной физики и гидродинамики при Военно-морской исследовательской лаборатории (NRL). Обеспечивает дополнительную информацию о передаче данных: время пользователя, системное и общее «стеновое» время, загрузку ЦП отправителя и получателя, а также процент потерь (для UDP)[8].

Iperf

Разработан командой Distributed Applications Support Team (DAST) Национальной лаборатории прикладных сетевых исследований (NLANR). Широко используется и портирован, включает новые функции, такие как поддержка двунаправленного трафика.

ntttcp

Разработана компанией Microsoft, используется для профилирования производительности сетей Windows. NTttcp — основной инструмент тестирования сетевых функций в инженерных командах Microsoft.

undefined

ntttcp-for-linux

Разработана Сихуа Сяо (Microsoft), предназначена для измерения производительности сетей Linux. Поддерживает многопоточную передачу и потенциально совместима с Windows-версией ntttcp[9].

PCATTCP

Нативная Windows-версия, разработчик — PCAUSA[7].

Cisco IOS

Cisco IOS включает ttcp как скрытую команду, которую можно использовать как отправитель или приёмник начиная с версии 11.2 и выше с наборами функций IP Plus (is- images) или Service Provider (p- images)[10].

undefined

EnGenius

Многие точки доступа EnGenius содержат встроенную реализацию на базе Iperf под названием Speed Test, доступную через вкладку Diagnostics в веб- и командном интерфейсе[11].

Примечания

  1. ttcp(1): тест TCP/UDP производительности — man-страница Linux (англ.). linux.die.net. Дата обращения: 30 декабря 2022. Архивировано 14 апреля 2025 года.
  2. Terry Slattery. The Origin of TTCP (Test TCP) (англ.). netcraftsmen.com. Дата обращения: 30 декабря 2022. Архивировано 25 марта 2015 года.
  3. 1 2 3 4 ttcp/nttcp/nuttcp/iperf — версии (англ.). Distributed Computing IT Journal (10 мая 2008). Дата обращения: 30 декабря 2022. Архивировано 15 марта 2025 года.
  4. История программы TTCP (англ.). ftp.arl.army.mil. Дата обращения: 30 декабря 2022. Архивировано 23 августа 2000 года.
  5. Java и C исходные коды (англ.). netcordia.com. Дата обращения: 30 декабря 2022. Архивировано 12 февраля 2007 года.
  6. ttcp (англ.). GitHub (10 ноября 2022). Дата обращения: 30 декабря 2022. Архивировано 15 марта 2025 года.
  7. 1 2 Утилиты (англ.). www.pcausa.com. Дата обращения: 30 декабря 2022. Архивировано 2 марта 2000 года.
  8. сайт nuttcp (англ.). nuttcp.net. Дата обращения: 30 декабря 2022.
  9. NTTTCP for Linux (англ.). Дата обращения: 30 декабря 2022. Архивировано 30 сентября 2025 года.
  10. Использование Test TCP (TTCP) для проверки пропускной способности (англ.). Cisco. Дата обращения: 30 декабря 2022. Архивировано 21 апреля 2025 года.
  11. Diagnostics speed test не работает? (англ.). Дата обращения: 26 мая 2014. Архивировано 28 мая 2014 года.