What is TWAMP
TWAMP stands for two-way active measurement protocol as described in RFC 5357. It is a protocol used for measuring network performance between any two devices or endpoints in an IP network. TWAMP is designed to execute roundtrip performance measurements and provide QoS analysis on layer 3.
Simply put, TWAMP sends test packets to a device that reflects them back to help identify performance issues such as delay and packet loss.
OWAMP VS TWAMP
TWAMP is based on the same methodology as OWAMP, one-way measurement protocol from RFC 4656, however OWAMP is only unidirectional whereas TWAMP is bidirectional and adds two-way measurement capabilities.
Two-way metrics are beneficial because round-trip delays do not require source and destination clock synchronization and the remote support can be a simple echo function. The Internet Control Message Protocol (ICMP) Echo Request/Reply (AKA ping) may seem like a feasible alternative, but it has too many errors and uncertainties to be reliable.
TWAMP utilizes time stamps applied at the echo destination which provides greater accuracy since processing delays can be accounted for.
TWAMP measurement architecture typically consists of two protocols: control and test, and two hosts: client and server, each with distinct tasks.
- One host, the TWAMP client, acts as both the control-client and session-sender. The control-client sets up, starts and stops test sessions while the Session-sender generates the test packets to exchange between the two network devices.
- The other host is a TWAMP server that acts as both the server and the session-reflector. The Server receives control messages and manages test sessions. The Session-Reflector timestamps and transmits a measurement packet back to the session-sender for each test packet it receives. Unlike in an OWAMP architecture, the server does not maintain a record of the packet information or test results.
In this scenario, both hosts run the Control protocols (between Control-Client and Server) and the Test protocols (between Session-Sender and Session-Reflector) as shown in the diagram below.
A traffic generator can be used as the TWAMP client, controlling both the test initiation process and the packets being generated. A router can be used as the session-reflector. The traffic generator sends test packets to the session-reflector or router, and receives timestamped measurement packets in return.
Benefits of Running TWAMP Tests with a Traffic Generator
- Emulate multiple TWAMP sessions at once to measure key performance metrics at scale such as loss, latency and jitter
- Streamline test configuration with an easy-to-use graphic user interface and simplify reporting and analysis of complex performance metrics
- Generate a mix of authorized and malicious traffic to ensure there is no performance loss during a cybersecurity attack
- Perform network QoS for individual emulated clients across multiple devices and application types to ensure SLA requirements are being met