Two-Way Active Measurement Protocol (TWAMP) Light
This features is the light version of TWAMP, which is an industry standard (RFC 5357) for measuring round-trip performance between two devices that support the TWAMP protocols. TWAMP defines two protocols: the TWAMP-Control protocol and the TWAMP-Test protocol. The TWAMP-Control protocol is used to set up test sessions. The test sessions use the TWAMP-Test protocol to transmit and reflect performance measurement packets. The TWAMP-Control protocol uses TCP for communication, while the TWAMP-Test protocol uses UDP.
TWAMP defines four logical roles; Session-Sender, Session-Reflector, Server, and Control-Client. These logical roles can be split between two entities to form a client/server paradigm (referred to as the two-host implementation in the RFC). The logical roles of the Control-Client and the Server communicate using the TWAMP-Control protocol to set up test sessions. Each test session consists of a transmitter and a reflector, fulfilled by the logical roles of Session-Sender and Session-Reflector respectively.
The Control-Client initiates a TCP connection to the well-known TWAMP-Control port 862. After the TCP connection is established, the Server transmits the first message by sending the ?Server Greetings‘ message. The Control-Client responds with a ?Setup Response‘ message. The three-way TWAMP-Control handshake is completed when the Server responds with the ?Server Start‘ message. The ?Control-Client‘ is now able to transmit command messages to the Server.
The test sessions are set up using the ?Request-Session‘ command message, sent from the Control-Client to the Server. The Server replies with an ?Accept Session‘ message, which indicates if the Server is capable of accommodating the request. The Control-Client may send several ?Request-Session‘ command messages to set up multiple test sessions. To begin the tests, the Control-Client transmits a ?Start-Session‘ command message. The Server replies with a ?Start-Ack‘ message. The Control-Client does not begin its test until it receives the ?Start-Ack‘ message. This allows the Server ample time to configure the test sessions. The Control-Client stops the test sessions with a ?Stop-Sessions‘ message. The Server does not respond to this message.
This feature, TWAMP Light, consists of the TWAMP logical role of the Session-Reflector as defined in Appendix I of RFC 5357. This light version of TWAMP contains two entities: the Client entity takes on the TWAMP logical roles of Session-Sender, Server, and Control-Client, while the Server takes on the TWAMP logical role of the Session-Reflector. To establish TWAMP Light, you must configure endpoints, which define the destination of TWAMP-Test packets generated by the Client. An endpoint receiving a new TWAMP-Test packet creates a test session consisting of the following four-part tuple; client IP address, client UDP port, endpoint IP address, and endpoint UDP port. The tuple does not include the VR because it requires the Default VR for the first phase. A session timeout value, configured globally, determines the amount of time test sessions exist after the last reception of a TWAMP-Test packet. Test sessions are used to keep track of the session data, such as the sequence number. The Session-Reflector still responds to TWAMP-Test packets that do not match an existing test session or if a new test session cannot be created due to lack of resources.
Platforms Supported
- Summit X440, X460
- BlackDiamond 8800 with MSM128, MSM48c, and MSM-96
Limitations
- Endpoints may only be created on the default virtual router (VR-Default)
- Limit of 256 endpoints Maximum of 2,000 test sessions
- TWAMP-Test error-estimate field does not reflect Network Time Protocol (NTP) or Simple Network Time Protocol (SNTP) timing values
New CLI Commands
[enable | disable] twamp reflector
This command enables or disables the Session-Reflector. If you disable the Session-Reflector, the application terminates all current TWAMP test sessions.
configure twamp reflector sessions count timeout ref_wait
- <count>: range 0 – 2000 entries; default 2000
- <ref_wait>: range 30 – 3600 seconds; default 900 seconds
(un)configure twamp [add|delete] endpoint {vr name} ipaddress ip port udp_port
This command allows you to configure (and unconfigure using unconfgure) the TWAMP endpoints. You specify the IP address and UDP port number for the endpoint. Removing the endpoint terminates all test sessions associated with the endpoint.
- <ip>: The endpoint IP address, either IPv4 or IPv6
- <udp_port>: The UDP port the endpoint listens on; range is 1,025–65,535
- <name>: An optional VR may be used; default is VR-Default
show twamp reflector
This command displays the configured values and runtime information of the Session-Reflector and its endpoints:
Session Information Used: 165 of 200 Timeout: 300 seconds Endpoints Port Sessions Rx Packets Tx Packets ---------------------------------------------------------- 19.1.1.100 5000 5 3091 3091 19.1.1.100 5001 40 5521 5521 19.1.1.100 5002 40 4728 4728 19.1.1.100 5003 40 3916 3916 18.1.1.100 5000 40 9266 9266 Displayed 5 endpoints
show twamp endpoint ipaddress ip port udp_port
This command displays the endpoint configured values, runtime data, and test session information. Specifying an IP address and port are optional:
TWAMP Endpoint Endpoint Information Local Address: 19.1.1.100 Listening Port: 5000 Received Packets: 7948 Transmitted Packets: 7948 Active Sessions: 5 Session created on Thu Nov 13 15:41:49 2014 Peer Address: 19.1.1.2 Port: 11001 Sequence Number: 1575 Last recv'd packet: 84ms Session created on Thu Nov 13 15:41:49 2014 Peer Address: 19.1.1.2 Port: 11002 Sequence Number: 1555 Last recv'd packet: 16ms Session created on Thu Nov 13 15:41:49 2014 Peer Address: 19.1.1.2 Port: 11003 Sequence Number: 1595 Last recv'd packet: 241ms Session created on Thu Nov 13 15:41:49 2014 Peer Address: 19.1.1.2 Port: 11004 Sequence Number: 1729 Last recv'd packet: 249ms Session created on Thu Nov 13 15:41:49 2014 Peer Address: 19.1.1.2 Port: 11005 Sequence Number: 1489 Last recv'd packet: 15ms Displayed 5 sessions