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