Two-Way Active Measurement Protocol (TWAMP) Overview

The Two-Way Active Measurement Protocol (TWAMP) is an open protocol for measuring network performance between any two devices in a network that supports the protocols in the TWAMP framework. It is a standard protocol framework that separates sessions based on the client/server architecture. The TWAMP client is a host that initiates the TCP connection and acts as a control-client and a session-sender, while the TWAMP server is a host that acknowledges the TCP connection and performs the roles of a server and a session-reflector. TWAMP-Control messages are exchanged between the control-client and the server and TWAMP-Test messages are exchanged between the session-sender and the session-reflector. Four different TWAMP devices can perform the four logical roles of TWAMP control-client, server, session-sender, and session-reflector.

Although four different TWAMP devices can perform the four logical roles of TWAMP Control-Client, Server, Session-Sender, and Session-Reflector, different devices can play different roles.

A common implementation combines the roles of Control-Client and Session-Sender in one device (known as the TWAMP controller or TWAMP client) and the roles of Server and Session-Reflector in the other device (known as the TWAMP responder or TWAMP server). In this case, each device runs both the TWAMP-Control (between Control-Client and Server) and TWAMP-Test (between Session-Sender and Session-Reflector) protocols.

The TWAMP client-server architecture as implemented looks like this:

TWAMP client

  • Control-Client sets up, starts and stops the TWAMP test sessions.
  • Session-Sender creates TWAMP test packets sent to the Session-Reflector in TWAMP server.
  • TWAMP server

  • Session-Reflector sends back a measurement packet when a test packet is received, but does not maintain a record of such information.
  • Server manages one or more sessions with the TWAMP client and listens for control messages on a TCP port.
  • Few simple things to keep in mind about an L2 switch are :

  • It should not have head of line blocking.
  • Flow control should be disabled.
  • It should have adequate address caching capacity to limit broadcasts intended for address learning .
  • It should filter illegal frames.
  • Test reports can be generated in both PDF and XML format and extensive configuration options are available for fine-tuning the tests.

    TWAMP and related timestamp support

    Feature

    Role

    IP Version

    Support (Y/N)

    Timestamp on Routing Engine

    Timestamp on MPC (hardware-timestamp)

    Timestamp on MPC (si-interface)

    Timestamp on MS-MIC/MPC (delegate-probes)

    TWAMP Client IPv4 Y N Y (µsec) 500 maximum probes Y (µsec) 500 maximum probes N
    TWAMP Client IPV6 N N N N N
    TWAMP SERVER IPV4 Y N Y (µsec) 500 maximum probes Y (µsec) 500 maximum probes N
    TWAMP SERVER IPV6 Y N N N N


    TWAMP on MX Series routers

    For Junos OS release 15.1, both the control client and session sender (the TWAMP client) reside on the same Aticara Networks router. However, the TWAMP client does not require that the server and the session reflector to be on the same system. Therefore, the Aticara TWAMP client is capable of working with a third-party server implementation.

    TWAMP on PTX Series routers

    Starting in Junos OS Release 19.2R1, the Two-Way Active Measurement Protocol (TWAMP) is supported on PTX series routers. The TWAMP-Control protocol is used to set up performance measurement sessions between a TWAMP client and a TWAMP server, and the TWAMP-Test protocol is used to send and receive performance measurement probes. The destination interface si-x/y/z attribute, which is meant for enabling inline services is not supported on PTX series routers for TWAMP client configurations.

    TWAMP on ACX Series routers

    The Two-Way Active Measurement Protocol (TWAMP) defines a standard for measuring IP performance between two devices in a network. You can configure TWAMP on ACX Series routers. ACX Series routers support only the reflector side of TWAMP.


    Implementation of TWAMP Elements

    A common implementation of TWAMP elements combines the roles of control-client and session-sender in one device (known as the TWAMP controller or TWAMP client) and the roles of server and session-reflector in the other device (known as the TWAMP responder or TWAMP server). In this case, each device runs both the TWAMP-Control (between control-client and server) and TWAMP-Test (between session-sender and session-reflector) protocols.

    Benefits of TWAMP

  • TWAMP configuration helps you activate, test, monitor, and troubleshoot your network end-to-end without using a dedicated testing device.
  • TWAMP-Test timestamps provide two-way or round-trip metrics with greater accuracy than other methods (processing delays can be factored as well).
  • TWAMP is often used to check service-level agreement (SLA) compliance, and the TWAMP feature is often used in that context.
  • Two-way measurements are better than one-way measurements because round-trip delays do not require host clock synchronization. This is possible because the reflector places its own sequence number in the packet.