Simple Two-way Active Measurement ProtocolZTE Corp.gregimirsky@gmail.comZTE Corporation68# Zijinghua RoadNanjingJiangsu210012P.R.China+86 18105183663guo.jun2@zte.com.cn
Transport
Network Working GroupInternet-DraftIPPMPerformance Measurement
This document describes a Two-way Active Measurement Protocol which enables
measurement of both one-way and round-trip performance metrics like delay, delay variation and packet loss.
STAMP - Simple Two-way Active Measurement ProtocolNTP - Network Time ProtocolPTP - Precision Time Protocol
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14
when, and only when, they appear in all capitals, as shown here.
Instance of a Simple Two-way Active Measurement Protocol (STAMP) session between a Sender and a Reflector
controlled by communication between a Configuration Client as a manager and Configuration Servers as agents
of the configuration session that configures STAMP measurement between Sender and Reflector. The Configuration
Client also issues queries to obtain operational state information and/or measurement results.
STAMP Sender transmits test packets toward STAMP Reflector. STAMP Reflector
receives Sender's packet and acts according to the configuration and optional control information
communicated in the Sender's test packet. STAMP defines two different test packet formats, one for
packets transmitted by the STAMP-Sender and one for packets
transmitted by the STAMP-Reflector. STAMP supports three modes:
unauthenticated, authenticated, and encrypted. Unauthenticated STAMP test packets
are compatible on the wire with unauthenticated TWAMP-Test
packet formats.
By default STAMP uses symmetrical packets, i.e. size of the packet transmitted by Reflector equals to the size of
the packet received by the Reflector.
Because STAMP supports symmetrical test packets, STAMP Sender packet has minimum
size of 44 octets in unauthenticated mode, see ,
and 48 octets in authenticated or encrypted modes , see .
For unauthenticated mode:
where fields are defined as the following:
Sequence Number is four octets long field. For each new session its value starts at zero and is incremented with each transmitted packet.
Timestamp is eight octets long field. STAMP node MUST support Network Time Protocol (NTP) version 4 64-bit timestamp format .
STAMP node MAY support IEEE 1588v2 Precision Time Protocol truncated 64-bit timestamp format .
Error Estimate is two octets long field with format displayed in
where S, Scale and Multiplier fields are interpreted as they have been defined in section 4.1.2 ;
and Z field - as has been defined in section 2.3 :
0 - NTP 64 bit format of a timestamp;1 - PTPv2 truncated format of a timestamp.
Must-be-Zero (MBZ) field in the sender unauthenticated packet is 27 octets long. It MUST be all zeroed on transmission and ignored on receipt.
Server Octets field is two octets long field. It MUST follow the 27 octets long MBZ field. The Reflect Octets capability
defined in .
The value in the Server Octets field equals to the number of octets the Reflector is expected to copy
back to the Sender starting with the Server Octets field. Thus the minimal non-zero value for the Server Octets field is two and value of one is invalid.
If none of Payload to be copied the value of the Server Octets field MUST be set to zero on transmit.
Remaining Packet Padding is optional field of variable length. The number of octets in the Remaining Packet Padding field is the value of the Server Octets field
less the length of the Server Octets field.
Comp.MBZ is variable length field used to achieve alignment on word boundary. Thus the length of Comp.MBZ field may be only 0, 1, 2 or 3 octets.
The value of the field MUST be zeroed on transmission and ignored on receipt.
The unauthenticated STAMP Sender packet MAY include Type-Length-Value encodings that immediately follow the Comp. MBZ field.
Type field is two octets long. The value of the Type field is the codepoint allocated by IANA
that identifies data in the Value field.
Length is two octets long field and its value is the length of the Value field in octets.
For authenticated and encrypted modes:
The Reflector receives the STAMP test packet, verifies it, prepares and transmits
the reflected test packet. [Editor note: Verification may include presence and content of TLVs in the STAMP test packet.]
For unauthenticated mode:
where fields are defined as the following:
Sequence Number is four octets long field. The value of the Sequence Number field is set according to the mode of the STAMP Reflector:
in the stateless mode the Reflector copies the value from the received STAMP test packet's Sequence Number field;in the stateful mode the Reflector counts the received STAMP test packets in each test session and uses that counter to set value of the Sequence Number field.
Timestamp and Receiver Timestamp fields are each 8 octets long. The format of these fields, NTP or PTPv2,
indicated by the Z flag of the Error Estimate field as described in .
Error Estimate has the same size and interpretation as described in .
Sender Sequence Number, Sender Timestamp, and Sender Error Estimate are copies of the corresponding fields in the STAMP test packet send by the Sender.
Sender TTL is one octet long field and its value is the copy of the TTL field from the received STAMP test packet.
Packet Padding (reflected) is optional variable length field. The length of the Packet Padding (reflected) field MUST be equal to the value
of the Server Octets field (). If the value is non-zero, the Reflector copies octets starting with
the Server Octets field.
Comp.MBZ is variable length field used to achieve alignment on word boundary. Thus the length of Comp.MBZ field may be only 0, 1, 2 or 3 octets.
The value of the field MUST be zeroed on transmission and ignored on receipt.
For authenticated and encrypted modes:
IANA is requested to create STAMP TLV Type registry.
All code points in the range 1 through 32759 in this registry shall be allocated
according to the "IETF Review" procedure as specified in .
Code points in the range
32760 through 65279 in this registry shall be allocated according to the "First Come First Served" procedure as
specified in .
Remaining code points are allocated according to the :
ValueDescriptionReference0ReservedThis document1- 32759UnassignedIETF Review32760 - 65279UnassignedFirst Come First Served65280 - 65519ExperimentalThis document65520 - 65534Private UseThis document65535ReservedThis document This document defines the following new value in STAMP TLV Type registry:ValueDescriptionReferenceTBD1PayloadThis documentTBD2Sender DSCP+ECNThis document
TBD
TBD
Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems