Ping

../../_images/ping.png

Ping is a computer network administration utility used to test the reachability of a host on an Internet Protocol (IP) network and to measure the round-trip time for messages sent from the originating host to a destination computer. The hosts can reside inside or outside your network.

By using Ping you can find out if any of the IP hosts have a problem, and correlating Ping responses from different hosts helps you pin down where problems occur.

When you start Ping testing, the Test Agents will continuously send ICMP Ping messages towards the hosts you have specified and collect statistics on round-trip delay and packet loss.

The ICMP protocol is defined in ► IETF RFC 792.

Besides ICMP-based Ping, UDP Echo is also supported. This is a UDP-based echo service, where a server listens for UDP echo requests on a UDP port. When such a frame is received, its data is sent back in an answering frame (“echo respond”). The metrics are the same as those retrievable with ICMP Ping. The UDP Echo protocol is defined in ► IETF RFC 862.

This task works with both IPv4 and IPv6.

Prerequisites

To run Ping measurements in Paragon Active Assurance you need to have at least one Test Agent installed. If you haven’t already done the installation, consult the installation guides found here.

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

Prerequisites for Test Agent Applications

If you want to run Ping on a Test Agent Application, you need to do one of the following:

Either

  • Run as root: Start the Test Agent Application using sudo. Docker is mostly run sudo, so if you are running the Test Agent in a Docker container, you probably will not need to do anything special.

or

  • Set CAP_NET_RAW capability on the Test Agent Application executable. (You cannot set this capability on the plugin executable, since that is a Python script.) Be aware that the Test Agent will then have this capability all the time, and not just when using the Ping plugin.

    sudo setcap cap_net_raw=ep paa-test-agent-application
    

The Ping plugin also needs Python 3.7 to run. In the Docker Test Agent deliverable this is included, so the Ping plugin will run fine from Docker. However, if the Test Agent Application is installed from a tarball, Ping will not work out-of-the-box unless Python 3.7 is present.

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.

  • SLA thresholds for monitors: SLA Good and SLA Acceptable.

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

General

  • Clients: Test Agents to use as clients. These can be located behind NAT.

You can either enter hosts to ping manually or select them from an inventory prepared in Paragon Active Assurance. How to set up such an inventory is covered here.

  • Hosts: Hosts: The hosts to ping as IP addresses or host names.

  • Hosts inventory: The hosts to ping from your inventory of Ping hosts.

  • Time between requests: Time to wait between consecutive Ping requests.

    Min: 0.01 s. Max: 3600 s. Default: 10 s.

Threshold for errored seconds (ES)

  • Delay (ms): Maximum tolerated Ping delay. If this value is exceeded, an errored second will be triggered.

    Min: 1 ms. Max: 30,000 ms. Default: 1000 ms.

  • DV (ms): Delay variation (jitter) threshold for triggering an errored second.

    If the jitter (delay variation) between server and clients exceeds this value during one second, an ES will be indicated. Delay variation is measured every second as the difference between the longest and shortest round trip time of ping responses received during that second. Min: 0.0 ms. Max: 10,000.0 ms. Default: 500.0 ms.

Advanced

  • Request lifetime (ms): Maximum time to wait for a Ping response before the Ping request is canceled.

    Min: 1 ms. Max: 30,000 ms. Default: 2000 ms. whitespace-below

  • TTL: Time To Live, the number of router hops an ICMP packet is allowed to traverse through the IP network before it is discarded by a router.

    For each router hop, the TTL value is decremented by one, and when TTL reaches zero, the IP packet is discarded. Min: 1. Max: 255. Default: 64. See also ► IETF RFC 792.

    Examples of default TTL values:

    • Linux 2.4 kernel: 255

    • MacOS X (10.5.6): 64

    • Windows 7: 128

    • Windows 10: 64 whitespace-below

  • Payload (bytes): Number of bytes carried in the Ping packet payload.

    Min: 0 bytes. Max: 65,000 bytes. Default: 56 bytes.

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

    See this page. Default: “0 / IPP 0”.

  • Protocol: Network protocol to use for sending Ping packets: ICMP or UDP.

    Default: ICMP.

Result metrics

  • Average round-trip delay (ms): Average round-trip delay in milliseconds during the selected time period.

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

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

  • Average round-trip DV (ms): Average round-trip delay variation (jitter) in milliseconds.

  • Loss (%): Percentage of Ping packets lost.

  • ES loss: Number of errored seconds due to lost Pings (for which reply was not received): for example, if Time-To-Live (TTL) expired and the Ping packet was dropped by a router.

  • ES delay: Number of errored seconds triggered because the Delay (Ping delay) threshold was exceeded.

  • ES response: Number of errored seconds due to unresolved hosts or payload mismatch (sent and received Ping data did not match).

  • ES DV: Number of errored seconds due to the jitter (delay variation, DV) threshold being exceeded.

  • ES: Aggregated errored seconds, taking into account all types of error.

  • SLA: Service level agreement fulfillment: equal to (100 – ES total) %.