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.

Примечания

  1. 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.
  2. Juniper Paragon Active Assurance Datasheet (англ.). Дата обращения: 9 июня 2024. Архивировано 11 июля 2025 года.
  3. Design and Implementation of a Measurement-Based Policy-Driven Resource Management Framework For Converged Networks (англ.) (1 июня 2011). Дата обращения: 9 июня 2024.
  4. Bruce Simpson. Multihoming with ILNP in FreeBSD (англ.). University of St Andrews Research Repository (21 июня 2016). Дата обращения: 9 июня 2024. Архивировано 15 мая 2025 года.

Ссылки