Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/oleg-derevenetz/bwping

ICMP-based network bandwidth measurement tool
https://github.com/oleg-derevenetz/bwping

bandwidth bandwidth-test icmp icmpv6 ip ipv4 ipv6 network network-analysis network-monitoring ping

Last synced: 7 days ago
JSON representation

ICMP-based network bandwidth measurement tool

Awesome Lists containing this project

README

        

bwping(8) System Manager's Manual bwping(8)

NAME
bwping and bwping6 are tools to measure bandwidth and response times
between two hosts using Internet Control Message Protocol (ICMP) echo
request/echo reply mechanism.

SYNOPSIS
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

OPTIONS
-4 Forces IPv4 mode. Default mode of operation is IPv4 for bwping and
IPv6 for bwping6 otherwise.

-6 Forces IPv6 mode. Default mode of operation is IPv4 for bwping and
IPv6 for bwping6 otherwise.

-B bind_addr
Sets the source address of outgoing ip packets. By default the
address of the outgoing interface will be used.

-I ident
Sets the Identifier value of outgoing ICMP Echo Request packets.
If zero, the value of the lower 16 bits of the process ID will be
used (default).

-T tos(v4) | traf_class(v6)
Sets the TOS (in IPv4 mode) or Traffic Class (in IPv6 mode) value
of outgoing ip packets. Default value is zero.

-r reporting_period
Sets the interval time in seconds between periodic bandwidth, RTT,
and loss reports. If zero, there will be no periodic reports
(default).

-u buf_size
Sets the size of the socket send/receive buffer in bytes. If zero
(default), the system default will be used. Tune this parameter if
the speed measurement results are unexpectedly low or packet loss
occurs.

-b kbps
Sets the transfer speed in kilobits per second.

-s pkt_size
Sets the size of ICMP packet (excluding IPv4/IPv6 header) in
bytes.

-v volume
Sets the volume to transfer in bytes.

AUTHORS
Oleg Derevenetz

BUGS
None known.

NOTES
These tools use raw sockets to deal with ICMP messages, so they may
require root privileges or extended capabilities (such as CAP_NET_RAW
on Linux) to run. They can also be run as setuid root.

Although bwping and bwping6 does not require any special software on
the remote host (only the ability to respond on ICMP echo request
messages), there are some special requirements to network
infrastructure, local and remote host performance:

1. There should be no ICMP echo request/reply filtering on the network.
This includes QoS mechanisms (which often affects ICMP) at any point in
the testing path;

2. Local host should have enough CPU resources to send ICMP echo
request messages with given rate, and remote host should quickly
respond on these messages and should have no ICMP bandwidth limiting
turned on.

3. Each bwping and bwping6 process should use its own ICMP Echo Request
Identifier value to reliably distinguish between ICMP Echo Reply
packets destined for each of these processes.

If some of these requirements are not satisfied then the measurement
results will be inadequate or fail completely. In general, for testing
bandwidth where QoS is implemented, always test with traffic that
matches the QoS class to be tested.

SEE ALSO
netstat(1), ping(8)

bwping(8)