BWPing
BWPing — это утилита для измерения пропускной способности и времени отклика между двумя узлами с помощью механизма эхо-запроса/эхо-ответа протокола Internet Control Message Protocol (ICMP)[1].[2] Для работы BWPing на удалённом узле не требуется дополнительное программное обеспечение — достаточно поддерживать ответы на ICMP-эхо-запросы[3]. BWPing поддерживает работу в сетях как IPv4, так и IPv6[4].
Общие сведения
| BWPing | |
|---|---|
| Тип | имитация сетевого трафика |
| Разработчик | Oleg Derevenetz |
| Написана на | C |
| Операционная система | мультиплатформенное |
| Языки интерфейса | английский |
| Последняя версия | 2.6 (2 июня 2025) |
| Лицензия | BSD |
| Сайт | bwping.sourceforge.io |
Синтаксис команд
bwping [ -4 | -6 ] [ -B bind_addr ] [ -I ident ] [ -T tos(v4) | traf_class(v6) ] [ -r reporting_period ] [ -u buf_size ] -b kbps -s pkt_size -v volume target bwping6 [ -4 | -6 ] [ -B bind_addr ] [ -I ident ] [ -T tos(v4) | traf_class(v6) ] [ -r reporting_period ] [ -u buf_size ] -b kbps -s pkt_size -v volume target
Доступные параметры:
- −4 — принудительно использовать режим IPv4. По умолчанию для bwping используется IPv4, для bwping6 — IPv6.
- −6 — принудительно использовать режим IPv6. По умолчанию для bwping используется IPv4, для bwping6 — IPv6.
- -B — указание исходного адреса для исходящих IP-пакетов. По умолчанию используется адрес исходящего интерфейса.
- -I — установка значения идентификатора для исходящих ICMP Echo Request-пакетов. Если задано 0, используется младшие 16 бит идентификатора процесса (по умолчанию).
- -T — установка значения TOS для IPv4-пакетов или Traffic Class для IPv6-пакетов. Значение по умолчанию — 0.
- -r — установка интервала (в секундах) между периодическими отчётами по пропускной способности, RTT и потерям. Если 0 — периодические отчёты не выводятся (по умолчанию).
- -u — установка размера буфера отправки/приёма сокета в байтах. Если 0 (по умолчанию), используется системное значение. Имеет смысл для ручной настройки в случае занижения измеряемой скорости или потерь.
- -b — установка скорости передачи данных (в килобитах в секунду).
- -s — установка размера ICMP-пакета (без учёта заголовка IPv4/IPv6) в байтах.
- -v — установка объёма передаваемых данных в байтах.
Лицензия
Утилита распространяется под лицензией BSD.
Примечания по использованию
Хотя BWPing не требует специального программного обеспечения на удалённом узле (только поддержки ICMP-эхо-ответов), для корректной работы должны быть выполнены определённые требования к сетевой инфраструктуре, а также к производительности локального и удалённого хоста:
- На пути следования трафика не должно быть фильтрации ICMP-эхо-запросов/ответов, включая механизмы QoS (которые часто влияют на ICMP).
- Локальный хост должен обеспечивать достаточную производительность ЦП для генерации ICMP-эхо-запросов с заданной скоростью, а удалённый — оперативно отвечать на них и не иметь ограничений полосы пропускания для ICMP.
- Каждый процесс bwping и bwping6 должен использовать свой уникальный идентификатор ICMP Echo Request для точной идентификации ответов, предназначенных каждому процессу.
При невыполнении описанных условий измерения могут быть некорректными или невозможными. При тестировании пропускной способности в средах с активным QoS рекомендуется использовать классы трафика, соответствующие проверяемой политике QoS.
Примечания
- ↑ Aaron McConnell. CloudState: End-to-end WAN Monitoring for Cloud-based Applications : [англ.] / Aaron McConnell, Gerard Parr, Sally McClean … [et al.]. — 2013-05-27. — P. 195–200. — ISBN 9781612082714.
- ↑ Juniper Paragon Active Assurance Datasheet (англ.). Дата обращения: 9 июня 2024. Архивировано 11 июля 2025 года.
- ↑ Design and Implementation of a Measurement-Based Policy-Driven Resource Management Framework For Converged Networks (англ.) (1 июня 2011). Дата обращения: 9 июня 2024.
- ↑ Bruce Simpson. Multihoming with ILNP in FreeBSD (англ.). University of St Andrews Research Repository (21 июня 2016). Дата обращения: 9 июня 2024. Архивировано 15 мая 2025 года.