rfc8762xml2.original.xml | rfc8762.xml | |||
---|---|---|---|---|
<?xml version="1.0" encoding="US-ASCII"?> | <?xml version="1.0" encoding="utf-8"?> | |||
<!DOCTYPE rfc SYSTEM "rfc2629.dtd"> | <!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent"> | |||
<?rfc toc="yes"?> | <rfc xmlns:xi="http://www.w3.org/2001/XInclude" number="8762" consensus="true" c | |||
<?rfc tocompact="yes"?> | ategory="std" docName="draft-ietf-ippm-stamp-10" ipr="trust200902" obsoletes="" | |||
<?rfc tocdepth="3"?> | updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" sy | |||
<?rfc tocindent="yes"?> | mRefs="true" sortRefs="true" version="3"> | |||
<?rfc symrefs="yes"?> | <!-- xml2rfc v2v3 conversion 2.39.0 --> | |||
<?rfc sortrefs="yes"?> | ||||
<?rfc comments="yes"?> | ||||
<?rfc inline="yes"?> | ||||
<?rfc compact="yes"?> | ||||
<?rfc subcompact="no"?> | ||||
<rfc category="std" docName="draft-ietf-ippm-stamp-10" ipr="trust200902"> | ||||
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?> | ||||
<front> | <front> | |||
<title abbrev="STAMP">Simple Two-Way Active Measurement Protocol</title> | ||||
<title abbrev="STAMP">Simple Two-way Active Measurement Protocol</title> | <seriesInfo name="RFC" value="8762"/> | |||
<author fullname="Greg Mirsky" initials="G." surname="Mirsky"> | <author fullname="Greg Mirsky" initials="G." surname="Mirsky"> | |||
<organization>ZTE Corp.</organization> | <organization>ZTE Corp.</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | <street/> | |||
<city/> | <city/> | |||
<code/> | <code/> | |||
<country/> | <country/> | |||
</postal> | </postal> | |||
<email>gregimirsky@gmail.com</email> | <email>gregimirsky@gmail.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Guo Jun" initials="G." surname="Jun"> | ||||
<author fullname="Guo Jun" initials="G." surname="Jun"> | <organization>ZTE Corp.</organization> | |||
<organization>ZTE Corporation</organization> | ||||
<address> | <address> | |||
<postal> | <postal> | |||
<street>68# Zijinghua Road</street> | <street>68# Zijinghua Road</street> | |||
<city>Nanjing</city> | <city>Nanjing</city> | |||
<region>Jiangsu</region> | <region>Jiangsu</region> | |||
<code>210012</code> | <code>210012</code> | |||
<country>P.R.China</country> | <country>China</country> | |||
</postal> | </postal> | |||
<phone>+86 18105183663</phone> | <phone>+86 18105183663</phone> | |||
<email>guo.jun2@zte.com.cn</email> | <email>guo.jun2@zte.com.cn</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author fullname="Henrik Nydell" initials="H." surname="Nydell"> | ||||
<author fullname="Henrik Nydell" initials="H." surname="Nydell"> | ||||
<organization>Accedian Networks</organization> | <organization>Accedian Networks</organization> | |||
<address> | <address> | |||
<postal> | <postal> | |||
<street/> | <street/> | |||
<city/> | <city/> | |||
<code/> | <code/> | |||
<country/> | <country/> | |||
</postal> | </postal> | |||
<email>hnydell@accedian.com</email> | <email>hnydell@accedian.com</email> | |||
</address> | </address> | |||
</author> | </author> | |||
<author initials="R." surname="Foote" fullname="Richard Foote"> | ||||
<author initials="R." surname="Foote" fullname="Richard Foote"> | <organization>Nokia</organization> | |||
<organization>Nokia</organization> | <address> | |||
<address> | <email>footer.foote@nokia.com </email> | |||
<email>footer.foote@nokia.com </email> | </address> | |||
</address> | </author> | |||
</author> | <date month="March" year="2020"/> | |||
<date year="2019"/> | ||||
<area>Transport</area> | <area>Transport</area> | |||
<workgroup>Network Working Group</workgroup> | <workgroup>Network Working Group</workgroup> | |||
<keyword>IPPM</keyword> | ||||
<keyword>Internet-Draft</keyword> | <keyword>Performance Measurement </keyword> | |||
<abstract> | ||||
<keyword>IPPM</keyword> | <t> | |||
This document describes the Simple Two-way Active Measurement | ||||
<keyword>Performance Measurement </keyword> | Protocol (STAMP), which enables the measurement of both one-way and round | |||
-trip | ||||
<abstract> | performance metrics, like delay, delay variation, and packet loss. | |||
<t> | </t> | |||
This document describes a Simple Two-way Active Measurement Protocol whic | </abstract> | |||
h enables | </front> | |||
the measurement of both one-way and round-trip performance metrics like d | <middle> | |||
elay, delay variation, and packet loss. | <section anchor="intro" numbered="true" toc="default"> | |||
</t> | <name>Introduction</name> | |||
</abstract> | <t> | |||
</front> | Development and deployment of the Two-Way Active Measurement Protocol (TWAMP) | |||
<xref target="RFC5357" format="default"/> and its extensions (e.g., | ||||
<middle> | <xref target="RFC6038" format="default"/>, which defines Symmetrical Size for TW | |||
<section anchor="intro" title="Introduction"> | AMP) | |||
<t> | provided invaluable experience. Several independent implementations of both | |||
Development and deployment of the Two-Way Active Measurement Protocol (TWAMP) <x | TWAMP and TWAMP Light exist, have been deployed, and provide | |||
ref target="RFC5357"/> and its extensions, e.g., | ||||
<xref target="RFC6038"/> that defined Symmetrical Size for TWAMP, | ||||
provided invaluable experience. Several independent implementations of both TWAM | ||||
P and TWAMP Light exist, have been deployed, and provide | ||||
important operational performance measurements. | important operational performance measurements. | |||
</t> | </t> | |||
<t> | <t> | |||
At the same time, there has been noticeable interest in using a more straightfor ward | At the same time, there has been noticeable interest in using a more straightfor ward | |||
mechanism for active performance monitoring that can provide deterministic behav | mechanism for active performance monitoring that can provide deterministic | |||
ior and inherent separation of control | behavior and inherent separation of control | |||
(vendor-specific configuration or orchestration) and test functions. Recent | (vendor-specific configuration or orchestration) and test functions. | |||
work on IP Edge to Customer Equipment using TWAMP Light from Broadband Forum <xr | Recent work on "Performance Measurement from IP Edge to Customer Equipment using | |||
ef target="BBF.TR-390"/> | TWAMP Light" | |||
demonstrated that interoperability among implementations of TWAMP Light is diffi | <xref target="BBF.TR-390" format="default"/> by the | |||
cult because the composition | Broadband Forum demonstrates that interoperability among | |||
and operation of TWAMP Light were not sufficiently specified in <xref target="RF | implementations of TWAMP Light is difficult because the composition | |||
C5357"/>. | and operation of TWAMP Light were not sufficiently specified in <xref target="RF | |||
According to <xref target="RFC8545"/>, TWAMP Light includes a sub-set of TWAMP-T | C5357" format="default"/>. | |||
est | According to <xref target="RFC8545" format="default"/>, TWAMP Light includes a s | |||
ubset of TWAMP-Test | ||||
functions. Thus, to have a comprehensive tool to measure packet loss and delay r equires | functions. Thus, to have a comprehensive tool to measure packet loss and delay r equires | |||
support by other applications that provide, for example, control and security. | support by other applications that provide, for example, control and security. | |||
</t> | </t> | |||
<t> | <t> | |||
This document defines an active performance measurement test protocol, Simple Tw | This document defines an active performance measurement test protocol, Simple | |||
o-way Active Measurement Protocol (STAMP), | Two-way Active Measurement Protocol (STAMP), | |||
that enables measurement of both one-way and round-trip performance metrics like | that enables measurement of both one-way and round-trip performance metrics, | |||
delay, delay variation, and packet loss. Some | like delay, delay variation, and packet loss. Support of some | |||
TWAMP extensions, e.g., <xref target="RFC7750"/> are supported by the extensions | optional TWAMP extensions, e.g., <xref target="RFC7750" format="default"/>, is d | |||
to STAMP base specification in <xref target="I-D.ietf-ippm-stamp-option-tlv"/>. | iscussed in <xref target="I-D.ietf-ippm-stamp-option-tlv" format="default"/>. | |||
</t> | </t> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section title="Conventions used in this document"> | <name>Conventions Used in This Document</name> | |||
<section title="Terminology"> | <section numbered="true" toc="default"> | |||
<name>Terminology</name> | ||||
<t>STAMP - Simple Two-way Active Measurement Protocol</t> | <dl newline="false" spacing="normal" indent="12"> | |||
<t>NTP - Network Time Protocol</t> | <dt>STAMP:</dt> | |||
<t>PTP - Precision Time Protocol</t> | <dd>Simple Two-way Active Measurement Protocol</dd> | |||
<t>HMAC Hashed Message Authentication Code</t> | <dt>NTP:</dt> | |||
<t>OWAMP One-Way Active Measurement Protocol</t> | <dd>Network Time Protocol</dd> | |||
<t>TWAMP Two-Way Active Measurement Protocol</t> | <dt>PTP:</dt> | |||
<t>MBZ Must be Zero</t> | <dd>Precision Time Protocol</dd> | |||
</section> | <dt>HMAC:</dt> | |||
<dd>Hashed Message Authentication Code</dd> | ||||
<section title="Requirements Language"> | <dt>OWAMP:</dt> | |||
<t> | <dd>One-Way Active Measurement Protocol</dd> | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL | <dt>TWAMP:</dt> | |||
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", | <dd>Two-Way Active Measurement Protocol</dd> | |||
"MAY", and "OPTIONAL" in this document are to be interpreted as | <dt>MBZ:</dt> | |||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | <dd>Must be Zero</dd> | |||
when, and only when, they appear in all capitals, as shown here. | <dt>PDU:</dt> | |||
</t> | <dd>Protocol Data Unit</dd> | |||
</section> | </dl> | |||
</section> | </section> | |||
<section numbered="true" toc="default"> | ||||
<section anchor="simple-pm-section" title="Operation and Management of Performan | <name>Requirements Language</name> | |||
ce Measurement Based on STAMP"> | <t> | |||
<t> | The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", | |||
<xref target="STAMP-ref-model"/> presents the Simple Two-way Active Measurement | "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL | |||
Protocol (STAMP) | NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", | |||
Session-Sender, and Session-Reflector with a measurement session. In this docume | "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>", | |||
nt, a measurement session | "<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to | |||
also referred to as STAMP session, is the bi-directional | be interpreted as | |||
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> | ||||
when, and only when, they appear in all capitals, as shown here. | ||||
</t> | ||||
</section> | ||||
</section> | ||||
<section anchor="simple-pm-section" numbered="true" toc="default"> | ||||
<name>Operation and Management of Performance Measurement Based on STAMP</ | ||||
name> | ||||
<t> | ||||
<xref target="STAMP-ref-model" format="default"/> presents the Simple Two-way | ||||
Active Measurement Protocol (STAMP) | ||||
Session-Sender and Session-Reflector with a measurement session. In this | ||||
document, a measurement session, | ||||
also referred to as a "STAMP session", is the bidirectional | ||||
packet flow between one specific Session-Sender and one particular | packet flow between one specific Session-Sender and one particular | |||
Session-Reflector for a time duration. | Session-Reflector for a time duration. | |||
The configuration and management of the STAMP Session-Sender, Session-Reflector, | The configuration and management of the STAMP Session-Sender, | |||
and | Session-Reflector, and sessions are outside the scope of this | |||
management of the STAMP sessions are outside the scope of this document and can | document and can be achieved through various means. | |||
be achieved through various means. | A few examples are Command Line Interface, telecommunication | |||
A few examples are:  Command Line Interface, telecommunication | services' Operational Support System (OSS) / Business Support System (BSS), | |||
services' OSS/BSS systems, SNMP, and Netconf/YANG-based SDN controllers. | SNMP, and NETCONF/YANG-based Software-Defined Networking (SDN) controllers. | |||
</t> | </t> | |||
<figure anchor="STAMP-ref-model"> | ||||
<figure align="left" anchor="STAMP-ref-model" title="STAMP Reference Mod | <name>STAMP Reference Model</name> | |||
el"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<artwork> | ||||
<![CDATA[ | ||||
o----------------------------------------------------------o | o----------------------------------------------------------o | |||
| Configuration and | | | Configuration and | | |||
| Management | | | Management | | |||
o----------------------------------------------------------o | o----------------------------------------------------------o | |||
|| || | || || | |||
|| || | || || | |||
|| || | || || | |||
+----------------------+ +-------------------------+ | +----------------------+ +-------------------------+ | |||
| STAMP Session-Sender | <--- STAMP---> | STAMP Session-Reflector | | | STAMP Session-Sender | <--- STAMP---> | STAMP Session-Reflector | | |||
+----------------------+ +-------------------------+ | +----------------------+ +-------------------------+ | |||
]]> | ]]></artwork> | |||
</artwork> | </figure> | |||
</figure> | </section> | |||
<section anchor="stamp-section" numbered="true" toc="default"> | ||||
</section> | <name>Theory of Operation</name> | |||
<t> | ||||
<section anchor="stamp-section" title="Theory of Operation"> | The STAMP Session-Sender transmits test packets over UDP transport | |||
<t> | toward the STAMP Session-Reflector. The STAMP Session-Reflector | |||
STAMP Session-Sender transmits test packets over UDP transport | receives the Session-Sender's packet and acts according to the configuration. | |||
toward STAMP Session-Reflector. STAMP Session-Reflector | ||||
receives Session-Sender's packet and acts according to the configuration. | ||||
Two modes of STAMP Session-Reflector characterize the expected beha | Two modes of the STAMP Session-Reflector characterize the expected | |||
vior and, consequently, performance metrics that can be measured: | behavior and, consequently, performance metrics that can be | |||
<list style="symbols"> | measured: | |||
<t> | </t> | |||
Stateless - STAMP Session-Reflector does not maintain test | <dl newline="true" spacing="normal"> | |||
<dt>Stateless:</dt> | ||||
<dd>The STAMP Session-Reflector does not maintain test | ||||
state and will use the value in the Sequence Number field in | state and will use the value in the Sequence Number field in | |||
the received packet as the value for the Sequence Number field | the received packet as the value for the Sequence Number field | |||
in the reflected packet. | in the reflected packet. | |||
As a result, values in Sequence Number and Session-Sender Sequence | As a result, values in the Sequence Number and Session-Sender | |||
Number fields | Sequence Number fields | |||
are the same, and only round-trip packet loss can be calculated whi | are the same, and only round-trip packet loss can be calculated | |||
le the reflector | while the reflector is operating in stateless mode. | |||
is operating in stateless mode. | </dd> | |||
</t> | <dt>Stateful:</dt> | |||
<t> | <dd> STAMP Session-Reflector maintains the test state, thus | |||
Stateful - STAMP Session-Reflector maintains test state thus enabl | allowing the Session-Sender to determine directionality of loss using | |||
ing the ability | the combination of gaps recognized in the Session Sender Sequence | |||
to determine forward loss, gaps recognized in the received sequence | Number and Sequence Number fields, respectively. | |||
number. | As a result, both near-end (forward) and far-end (backward) packet loss can be | |||
As a result, both near-end (forward) and far-end (backward) packet loss can be c | computed. | |||
omputed. That implies that the STAMP Session-Reflector MUST | That implies that the STAMP Session-Reflector <bcp14>MUST</bcp14> maintain | |||
keep a state for each configured STAMP-test session, uniquely ident | a state | |||
ifying STAMP-test packets to one such session instance, and enabling | for each configured STAMP-Test session, thereby uniquely associating | |||
adding a sequence number in the test reply that is individually inc | STAMP-Test packets with one such session instance and, thus, enabling | |||
remented on a per-session basis. | the addition of a sequence number in the test reply that is individually | |||
</t> | incremented by one on a per-session basis. | |||
</list> | ||||
</t> | ||||
<t> | </dd> | |||
</dl> | ||||
<t> | ||||
STAMP supports two authentication modes: | STAMP supports two authentication modes: | |||
unauthenticated and authenticated. Unauthenticated STAMP test packets, | unauthenticated and authenticated. Unauthenticated STAMP-Test packets, | |||
defined in <xref target="session-sender-packet-unauthenticated-section"/> and | defined in Sections <xref target="session-sender-packet-unauthenticated-secti | |||
<xref target="session-reflector-packet-unauthenticated-section"/>, ensure int | on" format="counter"/> and | |||
erworking | <xref target="session-reflector-packet-unauthenticated-section" format="count | |||
between STAMP and TWAMP Light as described in <xref target="interoperation-tw | er"/>, ensure interworking | |||
amp"/> | between STAMP and TWAMP Light, as described in <xref target="interoperation-t | |||
wamp" format="default"/> regarding | ||||
packet formats. | packet formats. | |||
</t> | </t> | |||
<t> | <t> | |||
By default, STAMP uses symmetrical packets, i.e., size of the packet transmitted | By default, STAMP uses symmetrical packets, i.e., the size of the packet | |||
by Session-Reflector equals the size of | transmitted by the Session-Reflector equals the size of | |||
the packet received by the Session-Reflector. | the packet received by the Session-Reflector. | |||
</t> | </t> | |||
<section anchor="stamp-port-sec" numbered="true" toc="default"> | ||||
<section anchor="stamp-port-sec" title="UDP Port Numbers in STAMP Testing"> | <name>UDP Port Numbers in STAMP Testing</name> | |||
<t> | <t> | |||
A STAMP Session-Sender MUST use | A STAMP Session-Sender <bcp14>MUST</bcp14> use | |||
UDP port 862 (TWAMP-Test Receiver Port) as the default destination UDP port numb | UDP port 862 (TWAMP-Test Receiver Port) as the default destination UDP port | |||
er. | number. A STAMP implementation of the Session-Sender <bcp14>MUST</bcp14> | |||
A STAMP implementation of Session-Sender MUST | be able to be used as the destination UDP port numbers from the User Ports | |||
be able to use as the destination UDP port numbers from User, a.k.a. Registered, | (aka Registered Ports) and Dynamic Ports (aka Private or Ephemeral Ports) | |||
Ports and | ranges defined in <xref target="RFC6335" format="default"/>. Before using | |||
Dynamic, a.k.a. Private or Ephemeral, Ports ranges defined | numbers from the User Ports range, the possible impact on the network | |||
in <xref target="RFC6335"/>. Before using numbers from the User Ports range, the | <bcp14>MUST</bcp14> be carefully studied and agreed on by all users of the | |||
possible | network domain where the test has been planned. | |||
impact on the network MUST be carefully studied and agreed by all users of the n | ||||
etwork domain | ||||
where the test has been planned. | ||||
</t> | </t> | |||
<t> | <t> | |||
An implementation of STAMP Session-Reflector by default | By default, an implementation of the STAMP Session-Reflector | |||
MUST receive STAMP test packets on UDP port 862. An implementation of Session-Re | <bcp14>MUST</bcp14> receive STAMP-Test packets on UDP port 862. | |||
flector | ||||
that supports this specification MUST be able to define the port number to recei | ||||
ve STAMP test packets | ||||
from User Ports and Dynamic Ports ranges that are defined in <xref target="RFC63 | ||||
35"/>. | ||||
STAMP defines two different test packet formats, one for | ||||
packets transmitted by the STAMP-Session-Sender and one for packets | ||||
transmitted by the STAMP-Session-Reflector. | ||||
</t> | ||||
</section> | ||||
<section anchor="stamp-session-sender" title="Session-Sender Behavior | An | |||
and Packet Format"> | implementation of the Session-Reflector | |||
<t> | that supports this specification <bcp14>MUST</bcp14> be able to define the | |||
port number to receive STAMP-Test packets | ||||
from User Ports and Dynamic Ports ranges, which are defined in <xref target="RFC | ||||
6335" format="default"/>. | ||||
STAMP defines two different test packet formats: one for | ||||
packets transmitted by the STAMP Session-Sender and one for packets | ||||
transmitted by the STAMP Session-Reflector. | ||||
</t> | ||||
</section> | ||||
<section anchor="stamp-session-sender" numbered="true" toc="default"> | ||||
<name>Session-Sender Behavior and Packet Format</name> | ||||
<t> | ||||
A STAMP Session-Reflector supports the symmetrical size of test pac kets, | A STAMP Session-Reflector supports the symmetrical size of test pac kets, | |||
as defined in Section 3 <xref target="RFC6038"/>, as the default be | as defined in <xref target="RFC6038" sectionFormat="of" section="3" | |||
havior. | />, as the default behavior. | |||
A reflected test packet includes more information and thus is large | A reflected base test packet includes information from | |||
r. | the Session-Reflector and, thus, is larger. | |||
Because of that, the base STAMP Session-Sender packet | To maintain the symmetry between base STAMP packets, | |||
is padded to match the size of a reflected STAMP test packet. | the base STAMP Session-Sender packet includes the Must-Be-Zero (MBZ) field to | |||
match to the size of a base reflected STAMP test packet. | ||||
Hence, the base STAMP Session-Sender packet has a minimum | Hence, the base STAMP Session-Sender packet has a minimum | |||
size of 44 octets in unauthenticated mode, see <xref target="sessio | size of 44 octets in unauthenticated mode (see <xref target="sessio | |||
n-sender-unauthenticated-format"/>, | n-sender-unauthenticated-format" format="default"/>) | |||
and 112 octets in the authenticated mode, see <xref target="session | and 112 octets in the authenticated mode (see <xref target="session | |||
-sender-authenticated-format"/>. | -sender-authenticated-format" format="default"/>). | |||
The variable length of a test packet in STAMP is supported by using | Generating variable length of a test packet in STAMP is defined in | |||
Extra Padding TLV defined in <xref target="I-D.ietf-ippm-stamp-opti | <xref target="I-D.ietf-ippm-stamp-option-tlv" format="default"/>. | |||
on-tlv"/>. | </t> | |||
</t> | <section anchor="session-sender-packet-unauthenticated-section" numbered | |||
="true" toc="default"> | ||||
<section anchor="session-sender-packet-unauthenticated-section" tit | <name>Session-Sender Packet Format in Unauthenticated Mode</name> | |||
le="Session-Sender Packet Format in Unauthenticated Mode"> | <figure anchor="session-sender-unauthenticated-format"> | |||
<name>STAMP Session-Sender Test Packet Format in Unauthenticated Mod | ||||
<t> | e</name> | |||
STAMP Session-Sender packet format in unauthenticated mode: | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<figure align="left" anchor="session-sender-unauthenticated-format" tit | ||||
le=" STAMP Session-Sender test packet format in unauthenticated mode"> | ||||
<artwork><![CDATA[ | ||||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sequence Number | | | Sequence Number | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Timestamp | | | Timestamp | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Error Estimate | | | | Error Estimate | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | |||
| | | | | | |||
| | | | | | |||
| Reserved (30 octets) | | | MBZ (30 octets) | | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
where fields are defined as the following: | <t> | |||
<list style="symbols"> | The fields are defined as following: | |||
<t> | </t> | |||
Sequence Number is four octets long field. For each new session | <ul spacing="normal"> | |||
its value starts at zero and is incremented with each transmitted packet | <li> | |||
. | The Sequence Number field is four octets long. For each new session, | |||
</t> | its value starts at zero and is incremented by one with each transmitted | |||
<t> | packet. | |||
Timestamp is eight octets long field. STAMP node MUST support Network | </li> | |||
Time Protocol (NTP) version 4 64-bit timestamp format <xref target="RFC5 | <li> | |||
905"/>, | The Timestamp field is eight octets long. The STAMP node | |||
the format used in <xref target="RFC5357"/>. STAMP node MAY support | <bcp14>MUST</bcp14> support the Network | |||
Time Protocol (NTP) version 4 64-bit timestamp format <xref target="RFC5 | ||||
905" format="default"/>, | ||||
the format used in <xref target="RFC5357" format="default"/>. The STAMP | ||||
node <bcp14>MAY</bcp14> support the | ||||
IEEE 1588v2 Precision Time Protocol (PTP) truncated 64-bit timestamp | IEEE 1588v2 Precision Time Protocol (PTP) truncated 64-bit timestamp | |||
format <xref target="IEEE.1588.2008"/>, the format used in <xref target= | format <xref target="IEEE.1588.2008" format="default"/>, the format | |||
"RFC8186"/>. | used in <xref target="RFC8186" format="default"/>. | |||
The use of the specific format, NTP or PTP, is part of configuration of | The use of the specific format, NTP or PTP, is part of configuration | |||
the Session-Sender | of the Session-Sender or the particular test session. | |||
or the particular test session. | </li> | |||
</t> | <li> | |||
<t> | <t> | |||
Error Estimate is two octets long field with format displayed in <xref t | The Error Estimate field is two octets long with the format displayed in | |||
arget="error-estimate-format"/> | <xref target="error-estimate-format" format="default"/>: | |||
<figure align="left" anchor="error-estimate-format" title=" Error Estim | </t> | |||
ate Format"> | <figure anchor="error-estimate-format"> | |||
<artwork><![CDATA[ | <name>Error Estimate Format</name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
0 1 | 0 1 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|S|Z| Scale | Multiplier | | |S|Z| Scale | Multiplier | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
where S, Scale, and Multiplier fields are interpreted as they have been | <t> | |||
defined in section 4.1.2 <xref target="RFC4656"/>; | The S, Scale, and Multiplier fields are interpreted as they are | |||
and Z field - as has been defined in section 2.3 <xref target="RFC8186"/ | defined in <xref target="RFC4656" sectionFormat="of" section="4.1.2"/>. T | |||
>: | he Z field is interpreted as it is defined in | |||
<list style="symbols"> | <xref target="RFC8186" sectionFormat="of" section="2.3"/>: | |||
<t>0 - NTP 64 bit format of a timestamp;</t> | </t> | |||
<t>1 - PTPv2 truncated format of a timestamp.</t> | <dl spacing="normal"> | |||
</list> | <dt>0:</dt><dd>NTP 64-bit format of a timestamp</dd> | |||
<!-- | <dt>1:</dt><dd>PTPv2 truncated format of a timestamp</dd> | |||
The STAMP Session-Sender and Session-Reflector MAY use, not use, or | </dl> | |||
set value of the Z field | <t> | |||
in accordance with the timestamp format in use. This optional field | ||||
is to enhance operations, | ||||
but local configuration or defaults could be used in its place. | ||||
The default behavior of the STAMP Session-Sender and | The default behavior of the STAMP Session-Sender and | |||
Session-Reflector is to use the NTP 64-bit timestamp format | Session-Reflector is to use the NTP 64-bit timestamp format | |||
(Z field value of 0) An operator, using configuration/management function, | (Z field value of 0). An operator using configuration/management function | |||
MAY configure STAMP Session-Sender and Session-Reflector | <bcp14>MAY</bcp14> configure the STAMP Session-Sender and Session-Reflector | |||
to using the PTPv2 truncated format of a timestamp (Z field value of 1). | to use the PTPv2 truncated format of a timestamp (Z field value of 1). | |||
Note, that an implementation of a Session-Sender that supports this specificatio | Note that an implementation of a Session-Sender that supports this specification | |||
n | <bcp14>MAY</bcp14> be configured to use the PTPv2 format of a timestamp even | |||
MAY be configured to use PTPv2 format of a timestamp even though the Session-Ref | though the Session-Reflector is | |||
lector is | ||||
configured to use NTP format. | configured to use NTP format. | |||
</t> | ||||
</t> | </li> | |||
<t> | <li> | |||
Reserved field in the Session-Sender unauthenticated packet is 30 octets | The MBZ field in the Session-Sender unauthenticated packet is 30 | |||
long. | octets long. It <bcp14>MUST</bcp14> be all zeroed on the transmission | |||
It MUST be all zeroed on the transmission and MUST be ignored on receipt | and <bcp14>MUST</bcp14> be ignored on receipt. | |||
. | </li> | |||
</t> | </ul> | |||
<!-- | ||||
<t> | ||||
Comp.MBZ is variable length field used to achieve alignment on a word bo | ||||
undary. 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 rec | ||||
eipt. | ||||
</t> | ||||
--> | ||||
</list> | ||||
</t> | ||||
<!-- | ||||
<t> | ||||
The unauthenticated STAMP Session-Sender packet MAY include Type-Length- | ||||
Value encodings that immediately follow the Comp. MBZ field. | ||||
<list style="symbols"> | ||||
<t> | ||||
Type field is two octets long. The value of the Type field is the codepo | ||||
int allocated by IANA | ||||
<xref target="iana-consider"/> that identifies data in the Value field. | ||||
</t> | ||||
<t> | ||||
Length is two octets long field, and its value is the length of the Valu | ||||
e field in octets. | ||||
</t> | ||||
<t> | ||||
Value field contains the application specific information. The length of | ||||
the Value field MUST be four octets aligned. | ||||
</t> | ||||
</list> | ||||
</t> | ||||
</section> | </section> | |||
<section anchor="session-sender-packet-authenticated-section" title="Session-Sen | <section anchor="session-sender-packet-authenticated-section" numbered=" | |||
der Packet Format in Authenticated Mode"> | true" toc="default"> | |||
<t> | <name>Session-Sender Packet Format in Authenticated Mode</name> | |||
STAMP Session-Sender packet format in authenticated mode: | ||||
<figure align="left" anchor="session-sender-authenticated-format" title | <figure anchor="session-sender-authenticated-format"> | |||
=" STAMP Session-Sender test packet format in authenticated mode"> | <name>STAMP Session-Sender Test Packet Format in Authenticated Mode< | |||
<artwork><![CDATA[ | /name> | |||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sequence Number | | | Sequence Number | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
| MBZ (12 octets) | | | MBZ (12 octets) | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Timestamp | | | Timestamp | | |||
skipping to change at line 392 ¶ | skipping to change at line 379 ¶ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + | |||
~ ~ | ~ ~ | |||
| MBZ (70 octets) | | | MBZ (70 octets) | | |||
~ ~ | ~ ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
| HMAC (16 octets) | | | HMAC (16 octets) | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
<t> | ||||
</t> | The field definitions are the same as the unauthenticated mode, listed in | |||
<xref target="session-sender-packet-unauthenticated-section" format="default"/ | ||||
<t> | >. Also, MBZ fields are used to make | |||
The field definitions are the same as the unauthenticated mode, listed in <xre | the packet length a multiple of 16 octets. The value of the field | |||
f target="session-sender-packet-unauthenticated-section"/>. | <bcp14>MUST</bcp14> be zeroed on transmission and <bcp14>MUST</bcp14> be | |||
Also, Must-Be-Zero (MBZ) fields are used to to make the packet length a multip | ignored on receipt. | |||
le of 16 octets. | Note, that both MBZ fields are used to calculate a key hashed message | |||
The value of the field MUST be zeroed on transmission and MUST be ignored on r | authentication code (HMAC) <xref target="RFC2104" format="default"/> hash. | |||
eceipt. Note, that the MBZ field is used to calculate | Also, the packet includes an HMAC hash at the end of the PDU. The detailed | |||
a key-hashed message authentication code (HMAC) (<xref target="RFC2104"/>) has | use of the HMAC field is described in <xref target="integrity-section" format=" | |||
h. | default"/>. | |||
Also, the packet includes HMAC hash at the end of the PDU. | </t> | |||
The detailed use of the HMAC field is described in <xref target="integrity-sect | ||||
ion"/>. | ||||
</t> | ||||
<!-- | ||||
<t> | ||||
The STAMP Session-Sender-packet format (<xref target="session-sender-authenti | ||||
cated-format"/>) is the same in authenticated and | ||||
encrypted modes. The encryption and authentication operations are, | ||||
however, different and protect the data as follows: | ||||
<list> | ||||
<t>in the authenticated mode the Sequence Number is protected while the | ||||
Timestamp and the Error Estimate are sent in clear text; | ||||
</t> | ||||
<t> | ||||
in encrypted mode all fields, including the timestamp and Error Estimate, | ||||
are protected to provide maximum data confidentiality and integrity protectio | ||||
n. | ||||
</t></list> | ||||
Sending the Timestamp in clear text | ||||
in authenticated mode allows more consistent reading of time by a Session-Sen | ||||
der | ||||
on the transmission of the test packet. | ||||
Reading of the time in encrypted mode must be followed by its encryption whic | ||||
h introduces | ||||
variable delay thus affecting calculated timing metrics. | ||||
</t> | ||||
</section> | </section> | |||
</section> | ||||
</section> | <section anchor="stamp-session-reflector" numbered="true" toc="default"> | |||
<name>Session-Reflector Behavior and Packet Format</name> | ||||
<section anchor="stamp-session-reflector" title="Session-Reflector Beh | <t> | |||
avior and Packet Format"> | The Session-Reflector receives the STAMP-Test packet and verifies | |||
<t> | it. If the base STAMP-Test packet is validated, | |||
The Session-Reflector receives the STAMP test packet and verifies i | the Session-Reflector that supports this specification | |||
t. If the base STAMP test packet validated, | prepares and transmits the reflected test packet symmetric | |||
the Session-Reflector, that supports this specification, prepares | to the packet received from the Session-Sender copying the | |||
and transmits the reflected test packet symmetric | content beyond the size of the base STAMP packet | |||
to the packet received from the Session-Sender copying the content | (see <xref target="stamp-session-sender" format="default"/>). | |||
beyond the size of the base STAMP packet | </t> | |||
(see <xref target="stamp-session-sender"/>). | <section anchor="session-reflector-packet-unauthenticated-section" numbe | |||
</t> | red="true" toc="default"> | |||
<name>Session-Reflector Packet Format in Unauthenticated Mode</name> | ||||
<section anchor="session-reflector-packet-unauthenticated-section" t | <t> | |||
itle="Session-Reflector Packet Format in Unauthenticated Mode"> | </t> | |||
<t> | ||||
</t> | ||||
<t> | <figure anchor="session-reflector-unauthenticated-format"> | |||
For unauthenticated mode: | <name>STAMP Session-Reflector Test Packet Format in | |||
<figure align="left" anchor="session-reflector-unauthenticated-format" | Unauthenticated Mode</name> | |||
title="STAMP Session-Reflector test packet format in unauthenticated mode"> | <artwork name="" type="" align="left" alt=""><![CDATA[ | |||
<artwork><![CDATA[ | ||||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sequence Number | | | Sequence Number | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Timestamp | | | Timestamp | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Error Estimate | MBZ | | | Error Estimate | MBZ | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Receive Timestamp | | | Receive Timestamp | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Session-Sender Sequence Number | | | Session-Sender Sequence Number | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Session-Sender Timestamp | | | Session-Sender Timestamp | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Session-Sender Error Estimate | MBZ | | | Session-Sender Error Estimate | MBZ | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|Ses-Sender TTL | Reserved | | |Ses-Sender TTL | MBZ | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ]]></artwork> | |||
</figure> | </figure> | |||
where fields are defined as the following: | ||||
<list style="symbols"> | ||||
<t> | <t> | |||
Sequence Number is four octets long field. The value of the Sequence Num | Fields are defined as the following: | |||
ber field is set according to the mode of the STAMP Session-Reflector: | </t> | |||
<list> | <ul spacing="normal"> | |||
<t> | <li> | |||
in the stateless mode, the Session-Reflector copies the value from the r | <t> | |||
eceived STAMP test packet's Sequence Number field; | The Sequence Number field is four octets long. The value of the Sequence | |||
</t> | Number field is set according to the mode of the STAMP | |||
<t> | Session-Reflector: | |||
in the stateful mode, the Session-Reflector counts the transmitted STAMP | </t> | |||
test packets. | <ul spacing="normal"> | |||
<li> | ||||
In the stateless mode, the Session-Reflector copies the value from the | ||||
received STAMP-Test packet's Sequence Number field. | ||||
</li> | ||||
<li> | ||||
In the stateful mode, the Session-Reflector counts the transmitted | ||||
STAMP-Test packets. | ||||
It starts with zero and is incremented by one | It starts with zero and is incremented by one | |||
for each subsequent packet for each test session. | for each subsequent packet for each test session. | |||
The Session-Reflector uses that counter to set the value of the Sequence Numb er field. | The Session-Reflector uses that counter to set the value of the Sequence Numb er field. | |||
</t> | </li> | |||
</list> | </ul> | |||
</t> | </li> | |||
<t> | <li> | |||
Timestamp and Receive Timestamp fields are each eight octets long. The f | The Timestamp and Receive Timestamp fields are each eight octets long. T | |||
ormat of these fields, NTP or PTPv2, | he | |||
indicated by the Z field of the Error Estimate field as described in <xr | format of these fields, NTP or PTPv2, is | |||
ef target="stamp-session-sender"/>. | indicated by the Z field of the Error Estimate field, as described in | |||
Receive Timestamp is the time the test packet was received by the Sessio | <xref target="session-sender-packet-unauthenticated-section" format="defa | |||
n-Reflector. Timestamp - | ult"/>. | |||
the time taken by the Session-Reflector at the start of transmitting the | Receive Timestamp is the time the test packet was received by the | |||
test packet. | Session-Reflector. Timestamp is | |||
</t> | the time taken by the Session-Reflector at the start of transmitting | |||
<t> | the test packet. | |||
Error Estimate has the same size and interpretation as described in <xre | </li> | |||
f target="stamp-session-sender"/>. | <li> | |||
The Error Estimate field has the same size and interpretation as | ||||
described in <xref target="session-sender-packet-unauthenticated-section" | ||||
format="default"/>. | ||||
It is applicable to both Timestamp and Receive Timestamp. | It is applicable to both Timestamp and Receive Timestamp. | |||
</t> | </li> | |||
<t> | <li> | |||
Session-Sender Sequence Number, Session-Sender Timestamp, and Session-Se | The Session-Sender Sequence Number, Session-Sender Timestamp, and | |||
nder Error Estimate | Session-Sender Error Estimate fields | |||
are copies of the corresponding fields in the STAMP test packet sent by | are copies of the corresponding fields in the STAMP-Test packet sent | |||
the Session-Sender. | by the Session-Sender. | |||
</t> | </li> | |||
<t> | <li> | |||
Session-Sender TTL is one octet long field, and its value is the copy of | The Session-Sender TTL field is one octet long, and its value is the cop | |||
the | y of the | |||
TTL field in IPv4 (or Hop Limit in IPv6) from the received STAMP test pa | TTL field in IPv4 (or Hop Limit in IPv6) from the received STAMP-Test pa | |||
cket. | cket. | |||
</t> | </li> | |||
<!-- | ||||
<t> | ||||
Packet Padding (reflected) is an optional variable length field. The len | ||||
gth of the Packet Padding (reflected) field MUST be equal to the value | ||||
of the Server Octets field (<xref target="session-sender-unauthenticated | ||||
-format"/>). If the value is non-zero, | ||||
the Session-Reflector MUST copy number of octets equal to the value of S | ||||
erver Octets field starting with | ||||
the Server Octets field. | ||||
</t> | ||||
--> | ||||
<t> | ||||
MBZ is used to achieve alignment of fields within the packet on a four o | ||||
ctets boundary. | ||||
The value of the field MUST be zeroed on transmission and MUST be ignore | ||||
d on receipt. | ||||
</t> | ||||
<t> | ||||
Reserved field in the Session-Reflector unauthenticated packet i | ||||
s three octets long. | ||||
It MUST be all zeroed on the transmission and MUST be ignored on receipt | ||||
. | ||||
</t> | ||||
</list> | ||||
</t> | ||||
</section> | ||||
<section anchor="session-reflector-packet-authenticated-section" title="Session- | <li> | |||
Reflector Packet Format in Authenticated Mode"> | The MBZ fields are used to achieve alignment of fields within the packet | |||
<t> | on a four-octet boundary. | |||
For the authenticated mode: | The value of each MBZ field <bcp14>MUST</bcp14> be zeroed on transmissio | |||
<figure align="left" anchor="session-reflector-authenticated-format" ti | n | |||
tle=" STAMP Session-Reflector test packet format in authenticated mode"> | and <bcp14>MUST</bcp14> be ignored on receipt. | |||
<artwork><![CDATA[ | </li> | |||
</ul> | ||||
</section> | ||||
<section anchor="session-reflector-packet-authenticated-section" numbere | ||||
d="true" toc="default"> | ||||
<name>Session-Reflector Packet Format in Authenticated Mode</name> | ||||
<figure anchor="session-reflector-authenticated-format"> | ||||
<name>STAMP Session-Reflector Test Packet Format in Authenticated Mo | ||||
de</name> | ||||
<artwork name="" type="" align="left" alt=""><![CDATA[ | ||||
0 1 2 3 | 0 1 2 3 | |||
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sequence Number | | | Sequence Number | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| MBZ (12 octets) | | | MBZ (12 octets) | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Timestamp | | | Timestamp | | |||
skipping to change at line 574 ¶ | skipping to change at line 549 ¶ | |||
+-+-+-+-+-+-+-+-+ + | +-+-+-+-+-+-+-+-+ + | |||
| | | | | | |||
| MBZ (15 octets) | | | MBZ (15 octets) | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| HMAC (16 octets) | | | HMAC (16 octets) | | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
]]></artwork> | ||||
]]></artwork> | </figure> | |||
</figure> | <t> | |||
The field definitions are the same as the unauthenticated mode, listed in | ||||
</t> | <xref target="session-reflector-packet-unauthenticated-section" format="defaul | |||
t"/>. | ||||
<t> | Additionally, the MBZ field is used to make the packet length a multiple of 16 | |||
The field definitions are the same as the unauthenticated mode, listed in <xre | octets. | |||
f target="session-reflector-packet-unauthenticated-section"/>. | The value of the field <bcp14>MUST</bcp14> be zeroed on transmission and | |||
Additionally, the MBZ field is used to to make the packet length a multiple of | <bcp14>MUST</bcp14> be ignored on receipt. | |||
16 octets. | Note that the MBZ field is used to calculate the HMAC hash value. | |||
The value of the field MUST be zeroed on transmission and MUST be ignored on r | Also, the STAMP Session-Reflector test packet format in authenticated mode | |||
eceipt. | includes the HMAC <xref target="RFC2104" format="default"/> hash at the end of | |||
Note, that the MBZ field is used to calculate HMAC hash value. | the PDU. | |||
Also, STAMP Session-Reflector test packet format in authenticated mode | The detailed use of the HMAC field is in <xref target="integrity-section" form | |||
includes HMAC (<xref target="RFC2104"/>) hash at the end of the PDU. | at="default"/>. | |||
The detailed use of the HMAC field is in <xref target="integrity-section"/>. | </t> | |||
</t> | </section> | |||
</section> | ||||
</section> | <section anchor="integrity-section" numbered="true" toc="default"> | |||
<name>Integrity Protection in STAMP</name> | ||||
</section> | <t> | |||
Authenticated mode provides integrity protection to each STAMP | ||||
<section anchor="integrity-section" title="Integrity Protection in | message by adding | |||
STAMP"> | ||||
<t> | ||||
Authenticated mode provides integrity protection to each STAMP m | ||||
essage by adding | ||||
Hashed Message Authentication Code (HMAC). STAMP | Hashed Message Authentication Code (HMAC). STAMP | |||
uses HMAC-SHA-256 truncated to 128 bits (similarly to the use of | uses HMAC-SHA-256 truncated to 128 bits (similarly to the use | |||
it in IPSec defined in <xref target="RFC4868"/>); hence | of it in IPsec defined in <xref target="RFC4868" format="default" | |||
the length of the HMAC field is 16 octets. In the Authenticated | />); hence, | |||
mode, | the length of the HMAC field is 16 octets. In the authenticated | |||
HMAC covers the first six blocks (96 octets). HMAC uses its own | mode, | |||
key that may be unique for each STAMP test session; | HMAC covers the first six blocks (96 octets). HMAC uses its | |||
key management and the mechanisms to distribute the HMAC key are | own key, which may be unique for each STAMP-Test session; | |||
outside the scope of this specification. One example is to | key management and the mechanisms to distribute the HMAC key | |||
use an orchestrator to configure HMAC key based on STAMP YANG da | are outside the scope of this specification. One example is to | |||
ta model <xref target="I-D.ietf-ippm-stamp-yang"/>. | use an orchestrator to configure the HMAC key based on the STAMP | |||
HMAC MUST be verified as early as possible to avoid using or pro | YANG | |||
pagating corrupted data. | data model <xref target="I-D.ietf-ippm-stamp-yang" format="defaul | |||
</t> | t"/>. | |||
<t> | HMAC <bcp14>MUST</bcp14> be verified as early as possible to | |||
Future specifications may define the use of other, more advanced | avoid using or propagating corrupted data. | |||
cryptographic algorithms, | </t> | |||
possibly providing an update to the STAMP YANG data model <xref | <t> | |||
target="I-D.ietf-ippm-stamp-yang"/>. | Future specifications may define the use of other, more | |||
</t> | advanced cryptographic algorithms, | |||
</section> | possibly providing an update to the STAMP YANG data model | |||
<xref target="I-D.ietf-ippm-stamp-yang" format="default"/>. | ||||
<section anchor="vonfidentiality-section" title="Confidentiality | </t> | |||
Protection in STAMP"> | </section> | |||
<t> | <section anchor="vonfidentiality-section" numbered="true" toc="default"> | |||
If confidentiality protection for STAMP is required, a STAMP | <name>Confidentiality Protection in STAMP</name> | |||
test session MUST use a secured transport. For example, | <t> | |||
STAMP packets could be transmitted in the dedicated IPsec tunnel | If confidentiality protection for STAMP is required, a | |||
or share the IPsec tunnel with the | STAMP-Test session <bcp14>MUST</bcp14> use a secured | |||
monitored flow. Also, Datagram Transport Layer Security protocol | transport. For example, | |||
STAMP packets could be transmitted in the dedicated IPsec | ||||
tunnel or share the IPsec tunnel with the | ||||
monitored flow. Also, the Datagram Transport Layer Security prot | ||||
ocol | ||||
would provide the desired confidentiality protection. | would provide the desired confidentiality protection. | |||
</t> | </t> | |||
</section> | </section> | |||
<section anchor="interoperation-twamp" numbered="true" toc="default"> | ||||
<section anchor="interoperation-twamp" title="Interoperability with TWAMP Li | <name>Interoperability with TWAMP Light</name> | |||
ght"> | <t> | |||
<t> | One of the essential requirements to STAMP is the ability to interwork with a | |||
One of the essential requirements to STAMP is the ability to interwork with a TW | TWAMP Light device. Because STAMP and TWAMP use different algorithms in | |||
AMP Light device. | authenticated mode (HMAC-SHA-256 versus HMAC-SHA-1), interoperability is only | |||
Because STAMP and TWAMP use different algorithms in Authenticated mode (HMAC-SHA | considered for unauthenticated mode. There are two possible combinations for | |||
-256 vs. HMAC-SHA-1), | such a use case: | |||
interoperability is only considered for Unauthenticated mode. There are two poss | </t> | |||
ible | <ul spacing="normal"> | |||
combinations for such use case: | <li>STAMP Session-Sender with TWAMP Light Session-Reflector</li> | |||
<list style="symbols"> | <li>TWAMP Light Session-Sender with STAMP Session-Reflector</li> | |||
<t>STAMP Session-Sender with TWAMP Light Session-Reflector;</t> | </ul> | |||
<t>TWAMP Light Session-Sender with STAMP Session-Reflector.</t> | <t> | |||
</list> | In the former case, the Session-Sender might not be aware that its Session-Re | |||
</t> | flector | |||
<t> | does not support STAMP. For example, a TWAMP Light Session-Reflector may not | |||
In the former case, the Session-Sender might not be aware that its Session-R | support the use of UDP port 862, as specified in <xref target="RFC8545" forma | |||
eflector | t="default"/>. | |||
does not support STAMP. For example, a TWAMP Light Session-Reflector may not | Thus, <xref target="stamp-section" format="default"/> permits a STAMP | |||
support the use of UDP port 862 as specified in <xref target="RFC8545"/>. | Session-Sender to use alternative ports. If any of STAMP extensions are | |||
Thus <xref target="stamp-section"/>. permits a STAMP Session-Sender to use a | used, the TWAMP Light Session-Reflector will view them as the Packet | |||
lternative ports. | Padding field. | |||
If any of STAMP extensions are used, the TWAMP Light Session-Reflector | </t> | |||
will view them as Packet Padding field. | <t> | |||
<!-- The Session-Sender | ||||
SHOULD use the default format for its timestamps - NTP. And it MAY | ||||
use PTPv2 timestamp format. --> | ||||
</t> | ||||
<t> | ||||
In the latter scenario, if a TWAMP Light Session-Sender does not support | In the latter scenario, if a TWAMP Light Session-Sender does not support | |||
the use of UDP port 862, the test management system MUST set STAMP | the use of UDP port 862, the test management system <bcp14>MUST</bcp14> set | |||
Session-Reflector to use UDP port number, as permitted by <xref target="stamp | the STAMP Session-Reflector to use UDP port number, as permitted by <xref tar | |||
-section"/>. | get="stamp-section" format="default"/>. The Session-Reflector | |||
The Session-Reflector MUST be set to use the default format for its timestamp | <bcp14>MUST</bcp14> be set to use the default format for its timestamps, | |||
s, NTP. | NTP. | |||
</t> | </t> | |||
<t> | ||||
<t> | ||||
A STAMP Session-Reflector that supports this specification will transmit the bas e packet | A STAMP Session-Reflector that supports this specification will transmit the bas e packet | |||
(<xref target="session-reflector-unauthenticated-format"/>) if it receives a pac | (<xref target="session-reflector-unauthenticated-format" format="default"/>) | |||
ket smaller than | if it receives a packet smaller than | |||
the STAMP base packet. If the packet received from TWAMP Session-Sender is larg | the STAMP base packet. If the packet received from the TWAMP Session-Sender is | |||
er than the STAMP base packet, | larger than the STAMP base packet, | |||
the STAMP Session-Reflector that supports this specification will copy the conte | the STAMP Session-Reflector that supports this specification will copy the | |||
nt of the remainder of the received packet | content of the remainder of the received packet to transmit a reflected packet | |||
to transmit reflected packet of symmetrical size. | of symmetrical size. | |||
</t> | </t> | |||
</section> | ||||
</section> | </section> | |||
<section anchor="operation-sec" numbered="true" toc="default"> | ||||
</section> | <name>Operational Considerations</name> | |||
<t> | ||||
<section anchor="operation-sec" title="Operational Considerations"> | ||||
<t> | ||||
STAMP is intended to be used on production networks to enable | STAMP is intended to be used on production networks to enable | |||
the operator to assess service level agreements based on packet delay, | the operator to assess service level agreements based on packet delay, | |||
delay variation, and loss. When using STAMP over the Internet, especially | delay variation, and loss. When using STAMP over the Internet, especially | |||
when STAMP test packets are transmitted with the destination UDP port number fr | when STAMP-Test packets are transmitted with the destination UDP port number fr | |||
om | om | |||
the User Ports range, the possible impact of the STAMP test packets MUST be | the User Ports range, the possible impact of the STAMP-Test packets | |||
thoroughly analyzed. | <bcp14>MUST</bcp14> be thoroughly analyzed. | |||
The use of STAMP for each case MUST be agreed by users of | The use of STAMP for each case <bcp14>MUST</bcp14> be agreed by users of | |||
nodes hosting the Session-Sender and Session-Reflector before starting the | nodes hosting the Session-Sender and Session-Reflector before starting | |||
STAMP test session. | the STAMP-Test session. | |||
</t> | </t> | |||
<t> | <t> | |||
Also, the use of the well-known port number as | Also, the use of the well-known port number as | |||
the destination UDP port number in STAMP test packets transmitted | the destination UDP port number in STAMP-Test packets transmitted | |||
by a Session-Sender would not impede | by a Session-Sender would not impede | |||
the ability to measure performance in an Equal Cost Multipath environment | the ability to measure performance in an Equal-Cost Multipath environment, | |||
and analysis in Section 5.3 <xref target="RFC8545"/> fully applies to STAMP. | and analysis in <xref target="RFC8545" sectionFormat="of" section="5.3"/> | |||
</t> | fully applies to STAMP. | |||
</section> | </t> | |||
<section anchor="iana-consider" title="IANA Considerations"> | ||||
<t> | ||||
This document doesn't have any IANA action. This section may be removed bef | ||||
ore the publication. | ||||
</t> | ||||
</section> | </section> | |||
<section anchor="iana-consider" numbered="true" toc="default"> | ||||
<section anchor="security" title="Security Considerations"> | <name>IANA Considerations</name> | |||
<t> | <t> | |||
<xref target="RFC5357"/> does not identify security considerations specific | This document has no IANA actions. | |||
to TWAMP-Test but refers to | </t> | |||
security considerations identified for OWAMP in <xref target="RFC4656"/>. S | </section> | |||
ince both OWAMP and TWAMP include control plane and data plane components, | <section anchor="security" numbered="true" toc="default"> | |||
only security considerations related to OWAMP-Test, discussed in Sections 6 | <name>Security Considerations</name> | |||
.2, 6.3 <xref target="RFC4656"/> apply to STAMP. | <t> | |||
</t> | <xref target="RFC5357" format="default"/> does not identify security | |||
<t> | considerations specific to TWAMP-Test but refers to | |||
STAMP uses the well-known UDP port number allocated for the OWAMP-Test/TWAM | security considerations identified for OWAMP in <xref target="RFC4656" form | |||
P-Test Receiver port. Thus | at="default"/>. Since both OWAMP and TWAMP include control-plane and | |||
the security considerations and measures to mitigate the risk of the attack | data-plane components, | |||
using the registered port number documented in | only security considerations related to OWAMP-Test discussed in Sections | |||
Section 6 <xref target="RFC8545"/> equally apply to STAMP. | <xref target="RFC4656" section="6.2" sectionFormat="bare"/> and | |||
Because of the control and management of a STAMP test being outside the sco | <xref target="RFC4656" section="6.3" sectionFormat="bare"/> of <xref target | |||
pe of this specification only the more general | ="RFC4656"/> apply to STAMP. | |||
requirement is set: | </t> | |||
<list> | <t> | |||
<t> | STAMP uses the well-known UDP port number allocated for the | |||
To mitigate the possible attack vector, the control, and management of a ST | OWAMP-Test/TWAMP-Test Receiver Port. Thus, the security considerations and | |||
AMP test session MUST use the secured transport. | measures to mitigate the risk of the attack using the registered port | |||
</t> | number documented in <xref target="RFC8545" sectionFormat="of" section="6"/ | |||
<t> | > equally apply to STAMP. Because of the control and | |||
The load of the STAMP test packets offered to a network MUST be carefully e | management of a STAMP-Test being outside the scope of this specification, | |||
stimated, | only the more general requirement is set: | |||
and the possible impact on the existing services MUST be thoroughly analyze | </t> | |||
d | <ul empty="true" spacing="normal"> | |||
before launching the test session. | <li> | |||
<xref target="RFC8085"/> section 3.1.5 provides guidance on handling networ | To mitigate the possible attack vector, the control and management of a | |||
k | STAMP-Test session <bcp14>MUST</bcp14> use the secured transport. | |||
load for UDP-based protocol. While the characteristic of test traffic depen | </li> | |||
ds on | <li> | |||
the test objective, it is highly recommended to stay in the limits as provi | The load of the STAMP-Test packets offered to a network | |||
ded in <xref target="RFC8085"/>. | <bcp14>MUST</bcp14> be carefully estimated, | |||
</t> | and the possible impact on the existing services <bcp14>MUST</bcp14> be | |||
</list> | thoroughly analyzed before launching the test session. | |||
</t> | <xref target="RFC8085" sectionFormat="of" section="3.1.5"/> provides | |||
<t> | guidance on handling network load for UDP-based protocol. While the | |||
characteristic of test traffic depends on the test objective, it is | ||||
highly recommended to stay in the limits, as provided in <xref target="RFC8 | ||||
085" format="default"/>. | ||||
</li> | ||||
</ul> | ||||
<t> | ||||
Use of HMAC-SHA-256 in the authenticated mode protects the data integrity | Use of HMAC-SHA-256 in the authenticated mode protects the data integrity | |||
of the STAMP test packets. | of the STAMP-Test packets. | |||
</t> | </t> | |||
</section> | ||||
</section> | ||||
<section title="Acknowledgments"> | ||||
<t> | ||||
Authors express their appreciation to Jose Ignacio Alvarez-Hamelin and | ||||
Brian Weis for their great insights into the security and identity protection, | ||||
and the most helpful and practical suggestions. Also, our sincere thanks to | ||||
David Ball and Rakesh Gandhi or their thorough reviews and helpful comments. | ||||
</t> | ||||
</section> | ||||
</middle> | </middle> | |||
<back> | ||||
<displayreference target="I-D.ietf-ippm-stamp-yang" to="STAMP-YANG"/> | ||||
<displayreference target="I-D.ietf-ippm-stamp-option-tlv" to="STAMP-OPTION"/ | ||||
> | ||||
<references> | ||||
<name>References</name> | ||||
<references> | ||||
<name>Normative References</name> | ||||
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
ence.RFC.2119.xml"/> | ||||
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
ence.RFC.8174.xml"/> | ||||
<!-- <?rfc include="reference.RFC.8126"?> --> | ||||
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
ence.RFC.5357.xml"/> | ||||
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
ence.RFC.5905.xml"/> | ||||
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
ence.RFC.4656.xml"/> | ||||
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
ence.RFC.8186.xml"/> | ||||
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
ence.RFC.6335.xml"/> | ||||
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
ence.RFC.6038.xml"/> | ||||
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
ence.RFC.8545.xml"/> | ||||
<back> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | |||
<references title="Normative References"> | ence.RFC.2104.xml"/> | |||
<?rfc include="reference.RFC.2119"?> | ||||
<?rfc include="reference.RFC.8174"?> | ||||
<!-- | ||||
<?rfc include="reference.RFC.8126"?> | ||||
--> | ||||
<?rfc include="reference.RFC.5357"?> | ||||
<?rfc include="reference.RFC.5905"?> | ||||
<?rfc include="reference.RFC.4656"?> | ||||
<?rfc include="reference.RFC.8186"?> | ||||
<?rfc include="reference.RFC.6335"?> | ||||
<?rfc include="reference.RFC.6038"?> | ||||
<?rfc include="reference.RFC.8545"?> | ||||
<?rfc include="reference.I-D.ietf-ippm-stamp-option-tlv"?> | ||||
<?rfc include="reference.RFC.2104"?> | ||||
<reference anchor="IEEE.1588.2008"> | <reference anchor="IEEE.1588.2008"> | |||
<front> | <front> | |||
<title>Standard for a Precision Clock Synchronization Protocol for Networked Mea | <title>IEEE Standard for a Precision Clock Synchronization Protocol | |||
surement and Control Systems</title> | for | |||
<author> | Networked Measurement and Control Systems</title> | |||
<organization/> | <author> | |||
</author> | <organization>IEEE</organization> | |||
<date month="March" year="2008"/> | </author> | |||
</front> | <date month="July" year="2008"/> | |||
<seriesInfo name="IEEE" value="Standard 1588"/> | </front> | |||
</reference> | <seriesInfo name="IEEE" value="Standard 1588"/> | |||
</reference> | ||||
</references> | </references> | |||
<references> | ||||
<references title="Informative References"> | <name>Informative References</name> | |||
<?rfc include="reference.RFC.4868"?> | ||||
<?rfc include="reference.RFC.8085"?> | ||||
<?rfc include="reference.RFC.7750"?> | ||||
<?rfc include="reference.I-D.ietf-ippm-stamp-yang"?> | ||||
<reference anchor="BBF.TR-390"> | ||||
<front> | ||||
<title>Performance Measurement from IP Edge to Customer Equipment using TWAMP Li | ||||
ght</title> | ||||
<author> | ||||
<organization/> | ||||
</author> | ||||
<date month="May" year="2017"/> | ||||
</front> | ||||
<seriesInfo name="BBF" value="TR-390"/> | ||||
</reference> | ||||
</references> | <xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | |||
ence.RFC.4868.xml"/> | ||||
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
ence.RFC.8085.xml"/> | ||||
<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/refer | ||||
ence.RFC.7750.xml"/> | ||||
<!-- I-D.draft-ietf-ippm-stamp-yang: I-D Exists --> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference. | ||||
I-D.draft-ietf-ippm-stamp-yang-05.xml"/> | ||||
<!--draft-ietf-ippm-stamp-option-tlv; I-D Exists --> | ||||
<xi:include href="https://xml2rfc.ietf.org/public/rfc/bibxml3/reference.I-D.ietf | ||||
-ippm-stamp-option-tlv.xml"/> | ||||
</back> | <reference anchor="BBF.TR-390"> | |||
</rfc> | <front> | |||
<title>Performance Measurement from IP Edge to Customer Equipment | ||||
using TWAMP Light</title> | ||||
<seriesInfo name="TR-390" value="Issue 1"/> | ||||
<author> | ||||
<organization>Broadband Forum</organization> | ||||
</author> | ||||
<date month="May" year="2017"/> | ||||
</front> | ||||
</reference> | ||||
</references> | ||||
</references> | ||||
<section numbered="false" toc="default"> | ||||
<name>Acknowledgments</name> | ||||
<t>The authors express their appreciation to <contact fullname="Jose Ignac | ||||
io Alvarez-Hamelin"/> and | ||||
<contact fullname="Brian Weis"/> for their great insights into the | ||||
security and identity protection as well as the most helpful and practical sugge | ||||
stions. Also, our sincere thanks to | ||||
<contact fullname="David Ball"/>, <contact fullname="Rakesh Gandhi"/>, and <cont | ||||
act fullname="Xiao Min"/> for | ||||
their thorough reviews and helpful comments. | ||||
</t> | ||||
</section> | ||||
</back> | ||||
</rfc> | ||||
End of changes. 72 change blocks. | ||||
708 lines changed or deleted | 605 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |