RFC 8186
Support of the IEEE 1588 Timestamp Format in a Two-Way Active Measurement Protocol (TWAMP)
π RFC 8186: Support of the IEEE 1588 Timestamp Format in a Two-Way Active Measurement Protocol (TWAMP) π
okay bestie, let's get into this one π β¨ it's an Internet Standards Track doc (so it's official, not just vibes π), published June 2017 by the IETF. The authors are G. Mirsky (ZTE Corp.) and I. Meilik (Broadcom) π«Ά. It's category Standards Track and ISSN 2070-1721. It doesn't obsolete or update any other RFCs, so it's a fresh one πΈ.
This is part 1 of 2, so stay tuned, more coming π¦.
0. Abstract β¨
okay so the big idea π§ this doc describes an OPTIONAL feature for active performance measurement protocols. it lets you use the Precision Time Protocol timestamp format from IEEE 1588v2 instead of the Network Time Protocol one that's currently used π. it's giving upgrade energy π₯.
Status of This Memo π
this is an Internet Standards Track document π . it's a product of the IETF, it represents the consensus of the IETF community, got public review, and was approved by the IESG. if you want more info on Internet Standards, check Section 2 of RFC 7841 π. the current status, errata, and how to give feedback live at http://www.rfc-editor.org/info/rfc8186 π.
Copyright Notice πΈ
Copyright (c) 2017 IETF Trust and the persons identified as the document authors. All rights reserved π«Ά.
this doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as in effect on the date of publication. please actually read those, they describe your rights and restrictions π. code components pulled out of this doc must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License π .
Table of Contents π§
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Conventions Used in This Document . . . . . . . . . . . . 3
1.1.1. Terminology . . . . . . . . . . . . . . . . . . . . . 3
1.1.2. Requirements Language . . . . . . . . . . . . . . . . 3
2. OWAMP and TWAMP Extensions . . . . . . . . . . . . . . . . . 3
2.1. Timestamp Format Negotiation in OWAMP Connection Setup . 4
2.2. Timestamp Format Negotiation in TWAMP Connection Setup . 5
2.3. OWAMP-Test and TWAMP-Test Updates . . . . . . . . . . . . 5
2.3.1. Consideration for TWAMP Light Mode . . . . . . . . . 6
3. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
4. Security Considerations . . . . . . . . . . . . . . . . . . . 6
5. Normative References . . . . . . . . . . . . . . . . . . . . 7
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction π¦
okay so OWAMP [RFC4656] says only the NTP format [RFC5905] of a timestamp can be used in the OWAMP-Test protocol π. then TWAMP [RFC5357] took the OWAMP-Test packet format and extended it with a format for a reflected test packet β¨. both the sender's and reflector's packet timestamps are supposed to follow the 64-bit-long NTP format [RFC5905].
the thing is, NTP over the Internet usually gets clock accuracy somewhere between 5 ms and 100 ms π. recent surveys say 90% of devices hit better than 100 ms and 99% hit better than 1 sec. and here's the tea: NTP syncs clocks on the control plane, NOT the data plane π. distributing the clock inside a node might use an independent NTP domain or interprocess communication in a multiprocessor distributed system. either way, those options get hit with extra queuing delays that hurt data-plane clock accuracy π₯Ί.
PTP [IEEE.1588] has been gaining wide support since OWAMP and TWAMP were developed π₯. it uses on-path support and other mechanisms to hit sub-microsecond clock accuracy π. PTP is now in multiple fast-forwarding engine implementations, so the accuracy PTP gives you is the accuracy of the clock in the data plane π. so one big perk of this spec is the option to use a more accurate clock as the timestamp source for IP performance measurements π. another perk is simpler data-plane hardware π§. to support OWAMP or TWAMP, test protocol timestamps have to be converted from PTP to NTP, and that eats resources (microcode or extra processing elements) that are always limited π©. so this doc proposes optional extensions to the Control and Test protocols so they can use the IEEE 1588v2 timestamp format as an optional alternative to NTP π.
one of the goals here isn't just letting test session endpoints use a non-NTP timestamp format. it's also backwards compatibility with nodes that don't support this extension yet π«Άβ¨.
1.1. Conventions Used in This Document πΈ
1.1.1. Terminology π
- NTP: Network Time Protocol
- PTP: Precision Time Protocol
- TWAMP: Two-Way Active Measurement Protocol
- OWAMP: One-Way Active Measurement Protocol
1.1.2. Requirements Language π₯
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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here π.
2. OWAMP and TWAMP Extensions π§
OWAMP connection establishment follows the procedure in Section 3.1 of [RFC4656], plus the extra TWAMP steps in Section 3.1 of [RFC5357] π . in these procedures, the Modes field has been used to identify and pick specific communication capabilities. it's also been recognized and used as an extension mechanism [RFC6038] π¦. the new feature needs one bit position so the Server and Control-Client can negotiate which timestamp format can be used in some or all test sessions invoked on this control connection π.
the endpoint of the test session (Session-Sender and Session-Receiver for OWAMP, or Session-Reflector for TWAMP) that supports this extension MUST be able to interpret the NTP and PTPv2 timestamp formats β¨. if the endpoint doesn't support this extension, then the value of the PTPv2 Timestamp flag MUST be 0, because it sits in the Must Be Zero field π. and if the PTPv2 Timestamp flag is 0, the advertising node can use and interpret only the NTP timestamp format πΈ. implementations of OWAMP and/or TWAMP MAY provide a configuration knob to skip timestamp format negotiation and use locally configured values instead π.
the PTPv2 Timestamp flag usage is covered in the subsections below π. for the assigned values and bit positions, see Section 3 π.
2.1. Timestamp Format Negotiation in OWAMP Connection Setup π
in OWAMP-Test [RFC4656], the Session-Receiver and/or Fetch-Client interpret the collected timestamps π§. so the Server uses the Modes field timestamp format to say which formats the Session-Receiver can interpret π. the Control-Client looks at what the Server set for timestamp formats, then sets values in the Modes field of the Set-Up-Response message based on the formats the Session-Sender can use π¦. the rules for setting timestamp flags in the Modes field of Server Greeting and Set-Up-Response messages, and for interpreting them, are:
- if the Session-Receiver supports this extension, then the Server that sets up test sessions on its behalf MUST set the PTPv2 Timestamp flag to 1 in the Server Greeting message, per the requirement in Section 2 π«Ά. otherwise, the PTPv2 Timestamp flag will be set to 0 to say the Session-Receiver only interprets the NTP format π.
- if the Control-Client gets a greeting message with the PTPv2 Timestamp flag set to 0, then the Session-Sender MUST use the NTP format for the timestamp in the test session, and the Control-Client SHOULD set the PTPv2 Timestamp flag to 0 in accordance with [RFC4656] πΈ. if the Session-Sender can't use NTP timestamps, then the Control-Client SHOULD close the TCP connection associated with the OWAMP-Control session π.
- if the Control-Client gets a greeting message with the PTPv2 Timestamp flag set to 1 and the Session-Sender can set the timestamp in PTPv2 format, then the Control-Client MUST set the PTPv2 Timestamp flag to 1 in the Modes field of the Set-Up-Response message, and the Session-Sender MUST use the PTPv2 timestamp format π₯.
- if the Session-Sender doesn't support this extension and can only set the timestamp in NTP format, then the PTPv2 Timestamp flag in the Modes field of the Set-Up-Response message will be set to 0 as part of the Must Be Zero field, and the Session-Sender will use the NTP format π.
if OWAMP-Control uses Fetch-Session commands, then picking one timestamp format or the other is a local decision for both the Session-Sender and Session-Receiver π.
2.2. Timestamp Format Negotiation in TWAMP Connection Setup π
in TWAMP-Test [RFC5357], the Session-Sender interprets the collected timestamps π§. so in the Modes field, a Server advertises the timestamp formats the Session-Reflector can use in the TWAMP-Test message π. picking the timestamp format for the Session-Sender is a local decision π¦. the Control-Client looks at the Modes field and sets timestamp flag values to show the format the Session-Reflector will use π. the rules for setting and interpreting flag values are:
- the Server MUST set the PTPv2 Timestamp flag value to 1 in its greeting message if the Session-Reflector can set the timestamp in PTPv2 format π₯. otherwise, the PTPv2 Timestamp flag MUST be set to 0 π.
- if the PTPv2 Timestamp flag in the received Server Greeting message is 0, then the Session-Reflector doesn't support this extension and will use the NTP timestamp format πΈ. the Control-Client SHOULD set the PTPv2 Timestamp flag to 0 in the Set-Up-Response message in accordance with [RFC4656] π.
- the Control-Client MUST set the PTPv2 Timestamp flag value to 1 in the Modes field of the Set-Up-Response message if the Server advertised that the Session-Reflector can use the PTPv2 format for timestamps π. otherwise, the flag MUST be set to 0 π .
- if the PTPv2 Timestamp flag in the Set-Up-Response message is 0, then the Session-Sender can only interpret the NTP timestamp format π. so the Session-Reflector MUST use the NTP timestamp format π«Ά. if the Session-Reflector doesn't support the NTP format, then the Server MUST close the TCP connection associated with the TWAMP-Control session π.
okay that's the first half bestie π₯Ήπ part 2 is coming with the rest of section 2.3, the TWAMP Light Mode consideration, IANA, Security, and the references π¦β¨
2.3. OWAMP-Test and TWAMP-Test Updates β¨
okay so bestie, here's the big update π Participants in a test session need to say which timestamp format they're using π¦ Right now the Z field in the Error Estimate from Section 4.1.2 of [RFC4656] does that job π But this document levels up the Error Estimate so it can say the format of a collected timestamp, on top of the error and sync estimates π₯ It also changes what the Z bit field means (the one sitting between S and Scale) and calls it the Timestamp format π The value MUST be set like this:
- 0 - NTP 64-bit format of a timestamp.
- 1 - PTPv2-truncated format of a timestamp.
Because of that Z field value, the Sender Error Estimate (in TWAMP) or Send Error Estimate (in OWAMP) and the Receive Error Estimate SHOULD NOT be ignored π₯Ί They MUST be used when calculating delay and delay-variation metrics from collected timestamps π Not optional, periodt π
2.3.1. Consideration for TWAMP Light Mode πΈ
this doc doesn't say how the Session-Sender and Session-Reflector in TWAMP Light mode get told which timestamp format to use π It's just assumed that something like configuration could tell them to use the format based on their capabilities and the rules in Section 2.2 π§
3. IANA Considerations π
IANA registered a new PTPv2 Timestamp entry in the "TWAMP-Modes" registry [RFC5618] like this:
+------+-----------------------------+-----------+------------------+
| Bit | Description | Semantics | Reference |
| Pos | | | |
+------+-----------------------------+-----------+------------------+
| 9 | PTPv2 Timestamp Capability | Section 2 | RFC 8186 (this |
| | | | document) |
+------+-----------------------------+-----------+------------------+
Table 1: New Timestamp Capability
4. Security Considerations π
Okay, serious moment π Using a particular timestamp format in a test session doesn't seem to add any extra security threat for hosts talking OWAMP and/or TWAMP as defined in [RFC4656] and [RFC5357] π«Ά The security considerations for any active measurement of live networks still apply here too π Go read the Security Considerations sections in [RFC4656] and [RFC5357] and stay safe out there π‘οΈβ¨
5. Normative References π
[IEEE.1588]
IEEE, "IEEE Standard for a Precision Clock Synchronization
Protocol for Networked Measurement and Control Systems",
IEEE Std 1588-2008, DOI 10.1109/IEEESTD.2008.4579760.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC4656] Shalunov, S., Teitelbaum, B., Karp, A., Boote, J., and M.
Zekauskas, "A One-way Active Measurement Protocol
(OWAMP)", RFC 4656, DOI 10.17487/RFC4656, September 2006,
<http://www.rfc-editor.org/info/rfc4656>.
[RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J.
Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)",
RFC 5357, DOI 10.17487/RFC5357, October 2008,
<http://www.rfc-editor.org/info/rfc5357>.
[RFC5618] Morton, A. and K. Hedayat, "Mixed Security Mode for the
Two-Way Active Measurement Protocol (TWAMP)", RFC 5618,
DOI 10.17487/RFC5618, August 2009,
<http://www.rfc-editor.org/info/rfc5618>.
[RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch,
"Network Time Protocol Version 4: Protocol and Algorithms
Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010,
<http://www.rfc-editor.org/info/rfc5905>.
[RFC6038] Morton, A. and L. Ciavattone, "Two-Way Active Measurement
Protocol (TWAMP) Reflect Octets and Symmetrical Size
Features", RFC 6038, DOI 10.17487/RFC6038, October 2010,
<http://www.rfc-editor.org/info/rfc6038>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <http://www.rfc-editor.org/info/rfc8174>.
Acknowledgements π
the authors wanna thank Ramanathan Lakshmikanthan and Suchit Bansal for their insightful suggestions π They also wanna thank David Allan for his thorough review and thoughtful comments π
Authors' Addresses π
Greg Mirsky ZTE Corp.
Email: gregimirsky@gmail.com
Israel Meilik Broadcom
Email: israel@broadcom.com
π¦ where this page comes from
- ietf: rfc8186 2017-06
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms