Introduction to TWAMP testing

Paragon Active Assurance supports the use of TWAMP and TWAMP Light for measuring two-way (and in part also one-way) loss and delay.

TWAMP is short for “Two-way Active Measurement Protocol” and is defined in ► IETF RFC 5357. TWAMP is based on OWAMP (One-way Measurement Protocol, ► IETF RFC 4656), to which it adds two-way measurement capabilities. Since TWAMP is a Layer 3 protocol, Layer 3 connectivity is required between the Test Agent and the target device.

The difference between TWAMP Light (defined in Appendix I of RFC 5357) and “regular” TWAMP is that the Light version does not require support for the TWAMP control protocol, which performs a handshake between initiator and reflector.

When used for TWAMP testing the Test Agent is typically placed in the core part of the network, or in the data center, and initiates UDP flows towards TWAMP-capable routers or other devices. These reflect the flows back to the Test Agent, which collects measurements and calculates various network KPIs.

../../_images/twamp-test.png

The scenario just described is handled by the task TWAMP/TWAMP Light. The main benefit of this setup is that you can activation test, monitor, and troubleshoot your network end-to-end without the need for a dedicated test device at the customer site. This saves time and money. The limitation compared to using a Test Agent at both ends is that the testing capabilities are more restricted.

Although TWAMP is a two-way measurement protocol, it is still possible to measure one-way packet loss, that is, separate loss values for the forward and backward directions. This is possible since the reflector places its own sequence number in the packet. In fact, the loss values are always one-way, and the loss threshold always refers to one-way loss.

The formula used to calculate forward and backward packet loss is aligned with the ► ITU-T G.8013/Y.1731 standard. This has the consequence that duplicates and misorderings can give rise to negative loss values.

Thanks to the reflector timestamps it is also possible to measure one-way delay and delay variation. This is enabled by setting the Time sync parameter to Yes. However, for this measurement the sender Test Agent and the reflector must have their clocks synchronized. Round-trip delay is measured in this case, too; however, when time sync is enabled, the delay thresholds are applied to one-way delay values rather than to round-trip delay.

The default timestamping of TWAMP packets is software-based. Alternatively, hardware timestamping can be used for higher accuracy if your NIC supports it.

Test Agents as TWAMP reflectors

Test Agents can act not only as TWAMP senders but also as TWAMP reflectors. This is an option in the TWAMP/TWAMP Light task. Further, a distinct task type called TWAMP Reflector is provided where Test Agents reflect TWAMP traffic initiated by a third-party device.

Test Agent TWAMP reflectors support the TWAMP Light protocol only.

../../_images/twamp-reflector.png

To illustrate the versatility of this feature it is instructive to give a summary of possible use cases:

“Normal” use case

A Test Agent TWAMP reflector is started using the TWAMP/TWAMP Light task. Test Agents act as both TWAMP senders and TWAMP reflectors. External TWAMP reflectors can also be included in this setup.

All Test Agent TWAMP reflectors are forced to use the same port. If you want to differentiate port usage, follow the section TWAMP reflectors on different ports below.

External TWAMP senders

To use third-party devices as TWAMP senders rather than Test Agents, use the TWAMP Reflector task and configure the external senders to send traffic towards the Test Agent acting as reflector.

TWAMP reflectors on different ports

If you want to run multiple Test Agent TWAMP reflectors but with each one using a different port, you can start multiple TWAMP Reflector tasks, each with a different port selected. Add all of these reflectors to the TWAMP inventory, and then direct Test Agent TWAMP senders towards them using the TWAMP/TWAMP Light task.

Collecting TWAMP data from Junos routers

Test Agents can also collect measurements from TWAMP sessions running on Junos devices. This is covered here.