BWPing

This task measures bandwidth and response times between a Test Agent and a network device (router or switch) using the Internet Control Message Protocol (ICMP) echo request/echo reply mechanism. The tool is based on the BWPing software, which is available at ► bwping.sourceforge.net.

../../_images/bwping.png

The primary purpose of the BWPing task is to achieve high data throughput in service activation testing or troubleshooting. It is especially useful when testing towards a host device that does not support TWAMP. Bandwidths up to 30 Mbit/s per task instance can be achieved. The BWPing task is run once, for a specified duration, and is therefore available only for use in tests (not in continuously executing monitors). A report with successive measurement results, produced at user-specified intervals, is output directly in the BWPing test view. Multiple flows for different QoS classes can be run concurrently in a BWPing test.

While based on ICMP, the BWPing task is fundamentally different from the regular Ping task, which is intended for reachability testing or (with path trace) monitoring of round-trip times, and which does not provide data rate as a result metric.

The ICMP protocol is defined in ► IETF RFC 792.

This task works with both IPv4 and IPv6.

Prerequisites

To perform BWPing measurements, you need to install at least one Test Agent. For guidance on how to deploy a new Test Agent, see the installation guides found here.

In your test or monitor, add a BWPing task and fill in the mandatory parameters below:

Parameters

See the common parameters page for the following:

  • Parameters that are set on the test step level: Duration, Fail threshold, and Wait for ready.

  • Advanced settings common to all test tasks: Delayed start.

General

  • Client: Test Agent interface that will act as sender (and receiver) of ICMP Ping packets.

  • Host: IP address of device acting as reflector.

  • Test duration (s): Duration of BWPing test.

  • Report interval (s): Interval at which new result metrics are reported.

    For each new report, a new line is written to the result table. Min: 1 s. Max: 60 s. Default: 1 s.

Class 1 … Class 6

A separate input parameter section is provided for each QoS class to be tested. These classes are distinguished by the DSCP value set for each.

  • Class name: The name of the QoS class. Default names are simply “1” … “6”. If you define your own class names, the headings “Class 1”, etc., will change accordingly.

For each class, the following parameters can be defined:

  • Rate (Mbit/s): Rate at which the sender will send Ethernet frames for this QoS class.

    Min: 0.1 Mbit/s. Max: 4000 Mbit/s. The combined rate for all classes taken together also cannot exceed 4000 Mbit/s. No default.

  • Frame size (bytes): Size of Layer 2 Ethernet frame for the flow.

    See this page. Min: 64 bytes. Max: 9018 bytes. Default: 1518 bytes.

  • DSCP: Differentiated Services Code Point or IP Precedence to be used in IP packet headers.

    See this page. The available choices are listed in the drop-down box. Default: “0 / IPP 0”.

  • Socket buffer size (bytes), optional: Socket buffer size to use for both sending and receiving. *(Optional.)* If this is not set, the BWPing software will configure the buffer sizes according to its own formula.

Thresholds (test fail criteria)

Note

These thresholds are applied to the final results of the test, that is, those reported on the “Total” line in the table. No errored seconds are computed based on intermediate test results.

  • Rate threshold (Mbit/s): Ethernet rate threshold for test failure.

    Min: 0.1 Mbit/s. Max: 4000 Mbit/s. No default.

  • Delay threshold (ms): Round-trip delay threshold for test failure.

    Min: 1 ms. Max: 1000 ms. No default.

  • Delay variation threshold (ms): Round-trip delay variation threshold for test failure.

    Min: 1 ms. Max: 1000 ms. No default.

Result metrics

The results are output as periodic reports in tables with columns as listed below. A separate table is produced for each QoS class tested. Further tables are also given, showing the general test configuration as well as the configuration for each QoS class.

The periodic reports are cumulative, showing results from the start of the test up to the indicated point in time. The last row (with “Total” in the Time column) is the final test report spanning the entire test duration.

  • Time: Time in seconds from start of test.

  • TX pkts: Number of Ping packets transmitted.

  • RX pkts: Number of Ping packets received.

  • Rate (Mbit/s): Received Ethernet packet rate. Note: Although the BWPing software operates on the IP level, Paragon Active Assurance reports Ethernet packet rate to conform to the reporting for other tasks. – It should also be mentioned that the intermediate rates reported are sometimes lower than the configured rate. This is what the BWPing software reports, and it is shown without modification in Paragon Active Assurance. The most accurate rate is that for the entire test (last row in table, “Total”). As noted above, the rate for the entire test is also what Paragon Active Assurance compares to the rate threshold for test failure.

  • Min delay (ms): Minimum round-trip delay.

  • Avg delay (ms): Average round-trip delay.

  • Max delay (ms): Maximum round-trip delay.

  • DV (ms): Round-trip delay variation.

Again, note that all of these values apply to the whole test thus far, and not to the time elapsed since the previous report.

BSD license for BWPing

Copyright © 2016 Oleg Derevenetz <oleg.derevenetz@gmail.com>. All Rights Reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

  3. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY OLEG DEREVENETZ “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.