< draft-ietf-ippm-stamp-option-tlv-06.txt | draft-ietf-ippm-stamp-option-tlv-07.txt > | |||
---|---|---|---|---|
Network Working Group G. Mirsky | Network Working Group G. Mirsky | |||
Internet-Draft X. Min | Internet-Draft X. Min | |||
Updates: 8762 (if approved) ZTE Corp. | Updates: 8762 (if approved) ZTE Corp. | |||
Intended status: Standards Track H. Nydell | Intended status: Standards Track H. Nydell | |||
Expires: December 24, 2020 Accedian Networks | Expires: January 3, 2021 Accedian Networks | |||
R. Foote | R. Foote | |||
Nokia | Nokia | |||
A. Masputra | A. Masputra | |||
Apple Inc. | Apple Inc. | |||
E. Ruffini | E. Ruffini | |||
OutSys | OutSys | |||
June 22, 2020 | July 2, 2020 | |||
Simple Two-way Active Measurement Protocol Optional Extensions | Simple Two-way Active Measurement Protocol Optional Extensions | |||
draft-ietf-ippm-stamp-option-tlv-06 | draft-ietf-ippm-stamp-option-tlv-07 | |||
Abstract | Abstract | |||
This document describes optional extensions to Simple Two-way Active | This document describes optional extensions to Simple Two-way Active | |||
Measurement Protocol (STAMP) which enable measurement performance | Measurement Protocol (STAMP) which enable measurement performance | |||
metrics in addition to ones supported by the STAMP base | metrics in addition to ones supported by the STAMP base | |||
specification. The document also defines a STAMP Test Session | specification. The document also defines a STAMP Test Session | |||
Identifier and thus updates RFC 8762. | Identifier and thus updates RFC 8762. | |||
Status of This Memo | Status of This Memo | |||
skipping to change at page 1, line 42 ¶ | skipping to change at page 1, line 42 ¶ | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on December 24, 2020. | This Internet-Draft will expire on January 3, 2021. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2020 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
skipping to change at page 2, line 23 ¶ | skipping to change at page 2, line 23 ¶ | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | |||
2.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 3 | 2.1. Acronyms . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 | 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 | |||
3. STAMP Test Session Identifier . . . . . . . . . . . . . . . . 4 | 3. STAMP Test Session Identifier . . . . . . . . . . . . . . . . 4 | |||
4. TLV Extensions to STAMP . . . . . . . . . . . . . . . . . . . 8 | 4. TLV Extensions to STAMP . . . . . . . . . . . . . . . . . . . 8 | |||
4.1. Extra Padding TLV . . . . . . . . . . . . . . . . . . . . 9 | 4.1. Extra Padding TLV . . . . . . . . . . . . . . . . . . . . 11 | |||
4.2. Location TLV . . . . . . . . . . . . . . . . . . . . . . 10 | 4.2. Location TLV . . . . . . . . . . . . . . . . . . . . . . 11 | |||
4.3. Timestamp Information TLV . . . . . . . . . . . . . . . . 11 | 4.3. Timestamp Information TLV . . . . . . . . . . . . . . . . 13 | |||
4.4. Class of Service TLV . . . . . . . . . . . . . . . . . . 12 | 4.4. Class of Service TLV . . . . . . . . . . . . . . . . . . 14 | |||
4.5. Direct Measurement TLV . . . . . . . . . . . . . . . . . 14 | 4.5. Direct Measurement TLV . . . . . . . . . . . . . . . . . 15 | |||
4.6. Access Report TLV . . . . . . . . . . . . . . . . . . . . 15 | 4.6. Access Report TLV . . . . . . . . . . . . . . . . . . . . 17 | |||
4.7. Follow-up Telemetry TLV . . . . . . . . . . . . . . . . . 16 | 4.7. Follow-up Telemetry TLV . . . . . . . . . . . . . . . . . 18 | |||
4.8. HMAC TLV . . . . . . . . . . . . . . . . . . . . . . . . 18 | 4.8. HMAC TLV . . . . . . . . . . . . . . . . . . . . . . . . 20 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | |||
5.1. STAMP TLV Registry . . . . . . . . . . . . . . . . . . . 19 | 5.1. STAMP TLV Registry . . . . . . . . . . . . . . . . . . . 21 | |||
5.2. Synchronization Source Sub-registry . . . . . . . . . . . 20 | 5.2. STAMP TLV Flags Sub-registry . . . . . . . . . . . . . . 22 | |||
5.3. Timestamping Method Sub-registry . . . . . . . . . . . . 20 | 5.3. Synchronization Source Sub-registry . . . . . . . . . . . 22 | |||
5.4. Return Code Sub-registry . . . . . . . . . . . . . . . . 21 | 5.4. Timestamping Method Sub-registry . . . . . . . . . . . . 23 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 22 | 5.5. Return Code Sub-registry . . . . . . . . . . . . . . . . 24 | |||
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 22 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 25 | |||
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 22 | 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 22 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 23 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 26 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | 9.2. Informative References . . . . . . . . . . . . . . . . . 26 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 27 | ||||
1. Introduction | 1. Introduction | |||
Simple Two-way Active Measurement Protocol (STAMP) [RFC8762] supports | Simple Two-way Active Measurement Protocol (STAMP) [RFC8762] supports | |||
the use of optional extensions that use Type-Length-Value (TLV) | the use of optional extensions that use Type-Length-Value (TLV) | |||
encoding. Such extensions enhance the STAMP base functions, such as | encoding. Such extensions enhance the STAMP base functions, such as | |||
measurement of one-way and round-trip delay, latency, packet loss, | measurement of one-way and round-trip delay, latency, packet loss, | |||
and the ability to detect packet duplication and out-of- order | and the ability to detect packet duplication and out-of-order | |||
delivery of the test packets. This specification defines optional | delivery of the test packets. This specification defines optional | |||
STAMP extensions, their formats, and the theory of operation. Also, | STAMP extensions, their formats, and the theory of operation. Also, | |||
a STAMP Test Session Identifier is defined as an update of the base | a STAMP Test Session Identifier is defined as an update of the base | |||
STAMP specification [RFC8762]. | STAMP specification [RFC8762]. | |||
2. Conventions Used in This Document | 2. Conventions Used in This Document | |||
2.1. Acronyms | 2.1. Acronyms | |||
STAMP Simple Two-way Active Measurement Protocol | BDS BeiDou Navigation Satellite System | |||
BITS Building Integrated Timing Supply | ||||
CoS Class of Service | ||||
DSCP Differentiated Services Code Point | DSCP Differentiated Services Code Point | |||
ECN Explicit Congestion Notification | ECN Explicit Congestion Notification | |||
NTP Network Time Protocol | GLONASS Global Orbiting Navigation Satellite System | |||
PTP Precision Time Protocol | GPS Global Positioning System [GPS] | |||
HMAC Hashed Message Authentication Code | HMAC Hashed Message Authentication Code | |||
TLV Type-Length-Value | ||||
BITS Building Integrated Timing Supply | ||||
SSU Synchronization Supply Unit | ||||
GPS Global Positioning System | ||||
GLONASS Global Orbiting Navigation Satellite System | ||||
LORAN-C Long Range Navigation System Version C | LORAN-C Long Range Navigation System Version C | |||
MBZ Must Be Zero | MBZ Must Be Zero | |||
CoS Class of Service | NTP Network Time Protocol [RFC5905] | |||
PMF Performance Measurement Function | PMF Performance Measurement Function | |||
PTP Precision Time Protocol [IEEE.1588.2008] | ||||
TLV Type-Length-Value | ||||
SSID STAMP Session Identifier | SSID STAMP Session Identifier | |||
SSU Synchronization Supply Unit | ||||
STAMP Simple Two-way Active Measurement Protocol | ||||
2.2. Requirements Language | 2.2. Requirements Language | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
3. STAMP Test Session Identifier | 3. STAMP Test Session Identifier | |||
skipping to change at page 5, line 23 ¶ | skipping to change at page 5, line 23 ¶ | |||
| Error Estimate | SSID | | | Error Estimate | SSID | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
| | | | | | |||
| MBZ (28 octets) | | | MBZ (28 octets) | | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | ~ TLVs ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
~ Value ~ | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 1: An example of an extended STAMP Session-Sender test packet | Figure 1: An example of an extended STAMP Session-Sender test packet | |||
format in unauthenticated mode | format in unauthenticated mode | |||
An implementation of STAMP Session-Reflector that supports this | An implementation of STAMP Session-Reflector that supports this | |||
specification SHOULD identify a STAMP Session using the SSID in | specification SHOULD identify a STAMP Session using the SSID in | |||
combination with elements of the usual 4-tuple for the session. | combination with elements of the usual 4-tuple for the session. | |||
Before a test session commences, a Session-Reflector MUST be | Before a test session commences, a Session-Reflector MUST be | |||
provisioned with all the elements that identify the STAMP Session. A | provisioned with all the elements that identify the STAMP Session. A | |||
skipping to change at page 6, line 27 ¶ | skipping to change at page 6, line 27 ¶ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| 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 | MBZ | | |Ses-Sender TTL | MBZ | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | ~ TLVs ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
~ Value ~ | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 2: An example of an extended STAMP Session-Reflector test | Figure 2: An example of an extended STAMP Session-Reflector test | |||
packet format in unauthenticated mode | packet format in unauthenticated mode | |||
A STAMP Session-Reflector that does not support this specification, | A STAMP Session-Reflector that does not support this specification, | |||
will return the zeroed SSID field in the reflected STAMP test packet. | will return the zeroed SSID field in the reflected STAMP test packet. | |||
The Session-Sender MAY stop the session if it receives a zeroed SSID | The Session-Sender MAY stop the session if it receives a zeroed SSID | |||
field. An implementation of a Session-Sender MUST support control of | field. An implementation of a Session-Sender MUST support control of | |||
its behavior in such a scenario. If the test session is not stopped, | its behavior in such a scenario. If the test session is not stopped, | |||
skipping to change at page 8, line 47 ¶ | skipping to change at page 8, line 47 ¶ | |||
field in the STAMP test packet. Multiple TLVs MAY be placed in the | field in the STAMP test packet. Multiple TLVs MAY be placed in the | |||
STAMP test packet. A TLV MAY be enclosed in a TLV. TLVs have the | STAMP test packet. A TLV MAY be enclosed in a TLV. TLVs have the | |||
two octets long Type field, two octets long Length field that is | two octets long Type field, two octets long Length field that is | |||
equal to the length of the Value field in octets. If a Type value | equal to the length of the Value field in octets. If a Type value | |||
for TLV or sub-TLV is in the range for Vendor Private Use, the Length | for TLV or sub-TLV is in the range for Vendor Private Use, the Length | |||
MUST be at least 4, and the first four octets MUST be that vendor's | MUST be at least 4, and the first four octets MUST be that vendor's | |||
the Structure of Management Information (SMI) Private Enterprise | the Structure of Management Information (SMI) Private Enterprise | |||
Codes, as recorded in IANA's SMI Private Enterprise Codes sub- | Codes, as recorded in IANA's SMI Private Enterprise Codes sub- | |||
registry, in network octet order. The rest of the Value field is | registry, in network octet order. The rest of the Value field is | |||
private to the vendor. The following sections describe the use of | private to the vendor. The following sections describe the use of | |||
TLVs for STAMP that extend STAMP capability beyond its base | TLVs for STAMP that extends STAMP capability beyond its base | |||
specification. | specification. | |||
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 | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
|STAMP TLV Flags| Type | Length | | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
~ Value ~ | ||||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ||||
Figure 5: TLV Format in a STAMP Extended Packet | ||||
where fields are defined as the following: | ||||
o STAMP TLV Flags - eight-bit long field. Detailed format and | ||||
interpretation of flags defined in this specification is below. | ||||
o Type - one-octet long field that characterizes the interpretation | ||||
of the Value field. It is allocated by IANA, as specified in | ||||
Section 5.1 | ||||
o Length - two-octets long field equals length on the Value field in | ||||
octets. | ||||
o Value - a variable-length field. Its interpretation and encoding | ||||
determined by the value of the Type field. | ||||
The format of the STAMP TLV Flags displayed in Figure 6 and the | ||||
location of flags is according to Section 5.2. | ||||
0 1 2 3 4 5 6 7 | ||||
+-+-+-+-+-+-+-+-+ | ||||
|U|L|A|R|R|R|R|R| | ||||
+-+-+-+-+-+-+-+-+ | ||||
Figure 6: STAMP TLV Flags Format | ||||
where fields are defined as the following: | ||||
o U - a one-bit flag. A Session-Sender MUST set the U flag to 0 | ||||
before transmitting an extended STAMP test packet. A Session- | ||||
Reflector MUST set the U flag to 1 if the Session-Reflector has | ||||
not understood the TLV. | ||||
o L - a one-bit flag. A Session-Sender MUST set the L flag to 0 | ||||
before transmitting an extended STAMP test packet. A Session- | ||||
Reflector MUST set the L flag to 1 if the Session-Reflector | ||||
determined the TLV is malformed, i.e., the Length field value of | ||||
the fixed-size TLV is not equal to the value defined for the | ||||
particular type, or the remaining length of the extended STAMP | ||||
packet is less than the size of the TLV. | ||||
o A - a one-bit flag. A Session-Sender MUST set the A flag to 0 | ||||
before transmitting an extended STAMP test packet. A Session- | ||||
Reflector MUST set the A flag to 1 if the STAMP extensions have | ||||
failed HMAC verification (Section 4.8). | ||||
o R - reserved flags for future use. These flags MUST be zeroed on | ||||
transmit and ignored on receipt. | ||||
A STAMP node, whether Session-Sender or Session-Reflector, receiving | A STAMP node, whether Session-Sender or Session-Reflector, receiving | |||
a test packet MUST determine whether the packet is a base STAMP | a test packet MUST determine whether the packet is a base STAMP | |||
packet or includes one or more TLVs. The node MUST compare the value | packet or includes one or more TLVs. The node MUST compare the value | |||
in the Length field of the UDP header and the length of the base | in the Length field of the UDP header and the length of the base | |||
STAMP test packet in the mode, unauthenticated or authenticated based | STAMP test packet in the mode, unauthenticated or authenticated based | |||
on the configuration of the particular STAMP test session. If the | on the configuration of the particular STAMP test session. If the | |||
difference between the two values is larger than the length of UDP | difference between the two values is larger than the length of UDP | |||
header, then the test packet includes one or more STAMP TLVs that | header, then the test packet includes one or more STAMP TLVs that | |||
immediately follow the base STAMP test packet. | immediately follow the base STAMP test packet. A Session-Reflector | |||
that does not support STAMP extensions is not expected to compare the | ||||
value in the Length field of the UDP header and the length of the | ||||
STAMP base packet. Hence the Session-Reflector will transmit the | ||||
base STAMP packet. It is the local policy on the Session-Sender | ||||
(similar to the handling of SSID == 0 scenario described in | ||||
Section 3) that will control the sender's behavior. | ||||
A system that has received a STAMP test packet with extension TLVs | A system that has received a STAMP test packet with extension TLVs | |||
MUST validate each TLV: | MUST validate each TLV: | |||
if an implementation does not recognize the value in the Type | If the U flag is set, the STAMP system MUST skip the processing of | |||
field it MUST include the Extra Padding TLV into the reflected | the TLV. The implementation MUST try to process the next TLV if | |||
STAMP packet. The Length field MUST be set equal to the value of | present in the extended STAMP packet. | |||
the Length field of that TLV. The size of the Value field MUST | ||||
equal the value of the Length field. Then proceed to process the | ||||
next TLV if any present; | ||||
fixed-size TLVs are verified that the Length field value equals | If the L flag is set, the STAMP system MUST stop processing the | |||
the value defined for the particular type. If the values are not | remainder of the extended STAMP packet. | |||
equal, the processing of extension TLVs MUST be stopped. Also, if | ||||
the system is the Session-Reflector, it MUST send the ICMP | ||||
Parameter Problem message with Code set to 0 and the Pointer | ||||
referring to the Length field of the TLV. | ||||
Detected error events MUST be logged. Note that transmission of ICMP | If the A flag is set, the STAMP system MUST discard all TLVs and | |||
Error messages and logging SHOULD be throttled. | MUST stop processing the remainder of the extended STAMP packet. | |||
If an implementation of a Session-Reflector does not recognize the | ||||
Type field value, it MUST include the copy of the TLV into the | ||||
reflected STAMP packet. The Session-Reflector MUST set the U flag | ||||
to 1. The Session-Reflector MUST try to process the next TLV in | ||||
the extended STAMP packet. | ||||
If a TLV is malformed, the processing of extension TLVs MUST be | ||||
stopped. The Session-Reflector MUST copy the remainder of the | ||||
received extended STAMP packet into the reflected STAMP packet. | ||||
The Session-Reflector MUST set the L flag to 1. | ||||
Detected error events MUST be logged. Note that rate of logging MUST | ||||
be controlled. | ||||
4.1. Extra Padding TLV | 4.1. Extra Padding TLV | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Extra Padding Type | Length | | |STAMP TLV Flags|Extra Pad Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
~ Extra Padding ~ | ~ Extra Padding ~ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 5: Extra Padding TLV | Figure 7: Extra Padding TLV | |||
where fields are defined as the following: | where fields are defined as the following: | |||
o Extra Padding Type - TBA1 allocated by IANA Section 5.1 | o STAMP TLV Flags - is eight-bit long field. Its format presented | |||
in Figure 6. | ||||
o Extra Padding Type - is one octet long field, value TBA1 allocated | ||||
by IANA Section 5.1. | ||||
o Length - two octets long field equals length on the Extra Padding | o Length - two octets long field equals length on the Extra Padding | |||
field in octets. | field in octets. | |||
o Extra Padding - a pseudo-random sequence of numbers. The field | o Extra Padding - a pseudo-random sequence of numbers. The field | |||
MAY be filled with all zeros. | MAY be filled with all zeros. | |||
The Extra Padding TLV is similar to the Packet Padding field in | The Extra Padding TLV is similar to the Packet Padding field in | |||
TWAMP-Test packet [RFC5357]. The use of the Extra Padding TLV is | TWAMP-Test packet [RFC5357]. The use of the Extra Padding TLV is | |||
RECOMMENDED to perform STAMP test using test packets of larger size | RECOMMENDED to perform a STAMP test using test packets of larger size | |||
than the base STAMP packet [RFC8762]. The length of the base STAMP | than the base STAMP packet [RFC8762]. The length of the base STAMP | |||
is 44 octets in the unauthenticated mode or 112 octets in the | packet is 44 octets in the unauthenticated mode or 112 octets in the | |||
authenticated mode. The Extra Padding TLV MAY be present more than | authenticated mode. The Extra Padding TLV MAY be present more than | |||
one time in an extended STAMP test packet. | one time in an extended STAMP test packet. | |||
4.2. Location TLV | 4.2. Location TLV | |||
STAMP Session-Sender MAY include the Location TLV to request | STAMP Session-Sender MAY include the Location TLV to request | |||
information from the Session-Reflector. The Session-Sender SHOULD | information from the Session-Reflector. The Session-Sender SHOULD | |||
NOT fill any information fields except for Type and Length. The | NOT fill any information fields except for Type and Length. The | |||
Session-Reflector MUST validate the Length value against the address | Session-Reflector MUST validate the Length value against the address | |||
family of the transport encapsulating the STAMP test packet. If the | family of the transport encapsulating the STAMP test packet. If the | |||
Length field's value is invalid, the Session-Reflector MUST zero all | Length field's value is invalid, the Session-Reflector MUST zero all | |||
fields and MUST NOT return any information to the Session-Sender. | fields and MUST NOT return any information to the Session-Sender. | |||
The Session-Reflector MUST ignore all other fields of the received | The Session-Reflector MUST ignore all other fields of the received | |||
Location TLV. | Location TLV. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Location Type | Length | | |STAMP TLV Flags| Location Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Source MAC | | | Source MAC | | |||
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Reserved | | | | Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
~ Destination IP Address ~ | ~ Destination IP Address ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
~ Source IP Address ~ | ~ Source IP Address ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Destination Port | Source Port | | | Destination Port | Source Port | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 6: Session-Reflector Location TLV | Figure 8: Session-Reflector Location TLV | |||
where fields are defined as the following: | where fields are defined as the following: | |||
o Location Type - TBA2 allocated by IANA Section 5.1 | o STAMP TLV Flags - is eight-bit long field. Its format presented | |||
in Figure 6. | ||||
o Location Type - is one octet long field, value TBA2 allocated by | ||||
IANA Section 5.1. | ||||
o Length - two octets long field equals the length of the Value | o Length - two octets long field equals the length of the Value | |||
field in octets. The Length field value MUST equal 20 octets for | field in octets. The Length field value MUST equal 20 octets for | |||
the IPv4 address family. For the IPv6 address family, the value | the IPv4 address family. For the IPv6 address family, the value | |||
of the Length field MUST equal 44 octets. All other values are | of the Length field MUST equal 44 octets. All other values are | |||
invalid. | invalid. | |||
o Source MAC - 6 octets 48 bits long field. The Session-Reflector | o Source MAC - 6 octets 48 bits long field. The Session-Reflector | |||
MUST copy Source MAC of received STAMP packet into this field. | MUST copy Source MAC of received STAMP packet into this field. | |||
o Reserved - two octets long field. MUST be zeroed on transmission | o Reserved - two octets long field. MUST be zeroed on transmission | |||
skipping to change at page 12, line 8 ¶ | skipping to change at page 13, line 35 ¶ | |||
request information from the Session-Reflector. The Session-Sender | request information from the Session-Reflector. The Session-Sender | |||
SHOULD NOT fill any information fields except for Type and Length. | SHOULD NOT fill any information fields except for Type and Length. | |||
The Session-Reflector MUST validate the Length value of the STAMP | The Session-Reflector MUST validate the Length value of the STAMP | |||
test packet. If the value of the Length field is invalid, the | test packet. If the value of the Length field is invalid, the | |||
Session-Reflector MUST zero all fields and MUST NOT return any | Session-Reflector MUST zero all fields and MUST NOT return any | |||
information to the Session-Sender. | information to the Session-Sender. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Timestamp Information Type | Length | | |STAMP TLV Flags|Times Info Type| Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sync. Src In | Timestamp In | Sync. Src Out | Timestamp Out | | | Sync. Src In | Timestamp In | Sync. Src Out | Timestamp Out | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 7: Timestamp Information TLV | Figure 9: Timestamp Information TLV | |||
where fields are defined as the following: | where fields are defined as the following: | |||
o Timestamp Information Type - TBA3 allocated by IANA Section 5.1 | o STAMP TLV Flags - is eight-bit long field. Its format presented | |||
in Figure 6. | ||||
o Timestamp Information Type - is one octet long field, value TBA3 | ||||
allocated by IANA Section 5.1. | ||||
o Length - two octets long field, set equal to the value 4. | o Length - two octets long field, set equal to the value 4. | |||
o Sync Src In - one octet long field that characterizes the source | o Sync Src In - one octet long field that characterizes the source | |||
of clock synchronization at the ingress of Session-Reflector. | of clock synchronization at the ingress of Session-Reflector. | |||
There are several methods to synchronize the clock, e.g., Network | There are several methods to synchronize the clock, e.g., Network | |||
Time Protocol (NTP) [RFC5905]. The value is one of those listed | Time Protocol (NTP) [RFC5905]. The value is one of those listed | |||
in Table 4. | in Table 5. | |||
o Timestamp In - one octet long field that characterizes the method | o Timestamp In - one octet long field that characterizes the method | |||
by which the ingress of Session-Reflector obtained the timestamp | by which the ingress of Session-Reflector obtained the timestamp | |||
T2. A timestamp may be obtained with hardware assistance, via | T2. A timestamp may be obtained with hardware assistance, via | |||
software API from a local wall clock, or from a remote clock (the | software API from a local wall clock, or from a remote clock (the | |||
latter is referred to as "control plane"). The value is one of | latter is referred to as "control plane"). The value is one of | |||
those listed in Table 6. | those listed in Table 7. | |||
o Sync Src Out - one octet long field that characterizes the source | o Sync Src Out - one octet long field that characterizes the source | |||
of clock synchronization at the egress of Session-Reflector. The | of clock synchronization at the egress of Session-Reflector. The | |||
value is one of those listed in Table 4. | value is one of those listed in Table 5. | |||
o Timestamp Out - one octet long field that characterizes the method | o Timestamp Out - one octet long field that characterizes the method | |||
by which the egress of Session-Reflector obtained the timestamp | by which the egress of Session-Reflector obtained the timestamp | |||
T3. The value is one of those listed in Table 6. | T3. The value is one of those listed in Table 7. | |||
4.4. Class of Service TLV | 4.4. Class of Service TLV | |||
The STAMP Session-Sender MAY include Class of Service (CoS) TLV in | The STAMP Session-Sender MAY include Class of Service (CoS) TLV in | |||
the STAMP test packet. The format of the CoS TLV is presented in | the STAMP test packet. The format of the CoS TLV is presented in | |||
Figure 8. | Figure 10. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Class of Service Type | Length | | |STAMP TLV Flags| CoS Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| DSCP1 | DSCP2 |ECN| Reserved | | | DSCP1 | DSCP2 |ECN| Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 8: Class of Service TLV | Figure 10: Class of Service TLV | |||
where fields are defined as the following: | where fields are defined as the following: | |||
o Class of Service Type - TBA4 allocated by IANA Section 5.1 | o STAMP TLV Flags - is eight-bit long field. Its format presented | |||
in Figure 6. | ||||
o CoS (Class of Service) Type - is one octet long field, value TBA4 | ||||
allocated by IANA Section 5.1. | ||||
o Length - two octets long field, set equal to the value 4. | o Length - two octets long field, set equal to the value 4. | |||
o DSCP1 - The Differentiated Services Code Point (DSCP) intended by | o DSCP1 - The Differentiated Services Code Point (DSCP) intended by | |||
the Session-Sender to be used as the DSCP value of the reflected | the Session-Sender to be used as the DSCP value of the reflected | |||
by the Session-Reflector test packet. | by the Session-Reflector test packet. | |||
o DSCP2 - The received value in the DSCP field at the Session- | o DSCP2 - The received value in the DSCP field at the Session- | |||
Reflector in the forward direction. | Reflector in the forward direction. | |||
skipping to change at page 14, line 16 ¶ | skipping to change at page 16, line 8 ¶ | |||
The Direct Measurement TLV enables collection of "in profile" packets | The Direct Measurement TLV enables collection of "in profile" packets | |||
that had been transmitted and received by the Session-Sender and | that had been transmitted and received by the Session-Sender and | |||
Session-Reflector respectfully. The definition of "in-profile | Session-Reflector respectfully. The definition of "in-profile | |||
packet" is outside the scope of this document and is left to the test | packet" is outside the scope of this document and is left to the test | |||
operators to determine. | operators to determine. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Direct Measurement Type | Length | | |STAMP TLV Flags| Direct Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Session-Sender Tx counter (S_TxC) | | | Session-Sender Tx counter (S_TxC) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Session-Reflector Rx counter (R_RxC) | | | Session-Reflector Rx counter (R_RxC) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Session-Reflector Tx counter (R_TxC) | | | Session-Reflector Tx counter (R_TxC) | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 9: Direct Measurement TLV | Figure 11: Direct Measurement TLV | |||
where fields are defined as the following: | where fields are defined as the following: | |||
o Direct Measurement Type - TBA5 allocated by IANA Section 5.1 | o STAMP TLV Flags - is eight-bit long field. Its format presented | |||
in Figure 6. | ||||
o Direct (Measurement) Type - is one octet long field, value TBA5 | ||||
allocated by IANA Section 5.1. | ||||
o Length - two octets long field equals length on the Value field in | o Length - two octets long field equals length on the Value field in | |||
octets. Length field value MUST equal 12 octets. | octets. Length field value MUST equal 12 octets. | |||
o Session-Sender Tx counter (S_TxC) is four octets long field. | o Session-Sender Tx counter (S_TxC) is four octets long field. The | |||
Session-Reflector MUST set its value equal to the number of the | ||||
transmitted in-profile packets. | ||||
o Session-Reflector Rx counter (R_RxC) is four octets long field. | o Session-Reflector Rx counter (R_RxC) is four octets long field. | |||
MUST be zeroed by the Session-Sender and filled by the Session- | MUST be zeroed by the Session-Sender on transmit and ignored by | |||
Reflector. | the Session-Reflector on receipt. The Session-Reflector MUST fill | |||
it with the value of in-profile packets received. | ||||
o Session-Reflector Tx counter (R_TxC) is four octets long field. | o Session-Reflector Tx counter (R_TxC) is four octets long field. | |||
MUST be zeroed by the Session-Sender and filled by the Session- | MUST be zeroed by the Session-Sender and ignored by the Session- | |||
Reflector. | Reflector on receipt. The Session-Reflector MUST fill with the | |||
value of the transmitted in-profile packets. | ||||
A Session-Sender MAY include the Direct Measurement TLV in a STAMP | A Session-Sender MAY include the Direct Measurement TLV in a STAMP | |||
test packet. The Session-Sender MUST zero R_RxC and R_TxC fields | test packet. The Session-Sender MUST zero R_RxC and R_TxC fields | |||
before the transmission of the STAMP test packet. If the received | before the transmission of the STAMP test packet. If the received | |||
STAMP test packet includes the Direct Measurement TLV, the Session- | STAMP test packet includes the Direct Measurement TLV, the Session- | |||
Reflector MUST include it in the reflected test packet. The Session- | Reflector MUST include it in the reflected test packet. The Session- | |||
Reflector MUST copy the value from the S_TxC field of the received | Reflector MUST copy the value from the S_TxC field of the received | |||
test packet into the same field of the reflected packet before its | test packet into the same field of the reflected packet before its | |||
transmission. | transmission. | |||
4.6. Access Report TLV | 4.6. Access Report TLV | |||
A STAMP Session-Sender MAY include Access Report TLV (Figure 10) to | A STAMP Session-Sender MAY include Access Report TLV (Figure 12) to | |||
indicate changes to the access network status to the Session- | indicate changes to the access network status to the Session- | |||
Reflector. The definition of an access network is outside the scope | Reflector. The definition of an access network is outside the scope | |||
of this document. | of this document. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Access Report Type | Length | | |STAMP TLV Flags|Acc Report Type| Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| ID | Resv | Return Code | Reserved | | | ID | Resv | Return Code | Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 10: Access Report TLV | Figure 12: Access Report TLV | |||
where fields are defined as follows: | where fields are defined as follows: | |||
o Access Report Type - TBA6 allocated by IANA Section 5.1. | o STAMP TLV Flags - is eight-bit long field. Its format presented | |||
in Figure 6. | ||||
o Access Report Type - is one octet long field, value TBA6 allocated | ||||
by IANA Section 5.1. | ||||
o Length - two octets long field, set equal to the value 4. | o Length - two octets long field, set equal to the value 4. | |||
o ID (Access ID) - four bits long field that identifies the access | o ID (Access ID) - four bits long field that identifies the access | |||
network, e.g., 3GPP (Radio Access Technologies specified by 3GPP) | network, e.g., 3GPP (Radio Access Technologies specified by 3GPP) | |||
or Non-3GPP (accesses that are not specified by 3GPP) [TS23501]. | or Non-3GPP (accesses that are not specified by 3GPP) [TS23501]. | |||
The value is one of those listed below: | The value is one of those listed below: | |||
* 1 - 3GPP Network | * 1 - 3GPP Network | |||
* 2 - Non-3GPP Network | * 2 - Non-3GPP Network | |||
All other values are invalid and the TLV that contains it MUST be | All other values are invalid and the TLV that contains it MUST be | |||
discarded. | discarded. | |||
o Resv - four bits long field, must be zeroed on transmission and | o Resv - four bits long field, MUST be zeroed on transmission and | |||
ignored on receipt. | ignored on receipt. | |||
o Return Code - one octet long field that identifies the report | o Return Code - one octet long field that identifies the report | |||
signal, e.g., available, unavailable. The value is passed, | signal, e.g., available, unavailable. The value is passed, | |||
supplied to the STAMP end-point through some mechanism that is | supplied to the STAMP end-point through some mechanism that is | |||
outside the scope of this document. The value is one of those | outside the scope of this document. The value is one of those | |||
listed in Section 5.4. | listed in Section 5.5. | |||
o Reserved - two octets long field, must be zeroed on transmission | o Reserved - two octets long field, MUST be zeroed on transmission | |||
and ignored on receipt. | and ignored on receipt. | |||
The STAMP Session-Sender that includes the Access Report TLV sets the | The STAMP Session-Sender that includes the Access Report TLV sets the | |||
value of the Access ID field according to the type of access network | value of the Access ID field according to the type of access network | |||
it reports on. Also, the Session-Sender sets the value of the Return | it reports on. Also, the Session-Sender sets the value of the Return | |||
Code field to reflect the operational state of the access network. | Code field to reflect the operational state of the access network. | |||
The mechanism to determine the state of the access network is outside | The mechanism to determine the state of the access network is outside | |||
the scope of this specification. A STAMP Session-Reflector that | the scope of this specification. A STAMP Session-Reflector that | |||
received the test packet with the Access Report TLV MUST include the | received the test packet with the Access Report TLV MUST include the | |||
Access Report TLV in the reflected test packet. The Session- | Access Report TLV in the reflected test packet. The Session- | |||
skipping to change at page 16, line 39 ¶ | skipping to change at page 18, line 42 ¶ | |||
The Access Report TLV is used by the Performance Measurement Function | The Access Report TLV is used by the Performance Measurement Function | |||
(PMF) components of the Access Steering, Switching and Splitting | (PMF) components of the Access Steering, Switching and Splitting | |||
feature for 5G networks [TS23501]. The PMF component in the User | feature for 5G networks [TS23501]. The PMF component in the User | |||
Equipment acts as the STAMP Session-Sender, and the PMF component in | Equipment acts as the STAMP Session-Sender, and the PMF component in | |||
the User Plane Function acts as the STAMP Session-Reflector. | the User Plane Function acts as the STAMP Session-Reflector. | |||
4.7. Follow-up Telemetry TLV | 4.7. Follow-up Telemetry TLV | |||
A Session-Reflector might be able to put in the Timestamp field only | A Session-Reflector might be able to put in the Timestamp field only | |||
an "SW Local" (see Table 6) timestamp. But the hosting system might | an "SW Local" (see Table 7) timestamp. But the hosting system might | |||
provide the timestamp closer to the start of the actual packet | provide the timestamp closer to the start of the actual packet | |||
transmission even though when it is not possible to deliver the | transmission even though when it is not possible to deliver the | |||
information to the Session-Sender in the packet itself. This | information to the Session-Sender in the packet itself. This | |||
timestamp might nevertheless be important for the Session-Sender, as | timestamp might nevertheless be important for the Session-Sender, as | |||
it improves the accuracy of measuring network delay by minimizing the | it improves the accuracy of measuring network delay by minimizing the | |||
impact of egress queuing delays on the measurement. | impact of egress queuing delays on the measurement. | |||
A STAMP Session-Sender MAY include the Follow-up Telemetry TLV to | A STAMP Session-Sender MAY include the Follow-up Telemetry TLV to | |||
request information from the Session-Reflector. The Session-Sender | request information from the Session-Reflector. The Session-Sender | |||
MUST set the Follow-up Telemetry Type and Length fields to their | MUST set the Follow-up Telemetry Type and Length fields to their | |||
skipping to change at page 17, line 14 ¶ | skipping to change at page 19, line 17 ¶ | |||
the Follow-up Telemetry TLV. The Session-Reflector MUST validate the | the Follow-up Telemetry TLV. The Session-Reflector MUST validate the | |||
Length value of the STAMP test packet. If the value of the Length | Length value of the STAMP test packet. If the value of the Length | |||
field is invalid, the Session-Reflector MUST zero Sequence Number and | field is invalid, the Session-Reflector MUST zero Sequence Number and | |||
Timestamp fields. If the Session-Reflector is in stateless mode | Timestamp fields. If the Session-Reflector is in stateless mode | |||
(defined in Section 4.2 [RFC8762]), it MUST zero Sequence Number and | (defined in Section 4.2 [RFC8762]), it MUST zero Sequence Number and | |||
Timestamp fields. | Timestamp fields. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Follow-up Telemetry Type | Length | | |STAMP TLV Flags| Follow-up Type| Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sequence Number | | | Sequence Number | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Follow-up Timestamp | | | Follow-up Timestamp | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Timestamp M | Reserved | | | Timestamp M | Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 11: Follow-up Telemetry TLV | Figure 13: Follow-up Telemetry TLV | |||
where fields are defined as follows: | where fields are defined as follows: | |||
o Follow-up Telemetry Type - TBA7 allocated by IANA Section 5.1. | o STAMP TLV Flags - is eight-bit long field. Its format presented | |||
in Figure 6. | ||||
o Follow-up (Telemetry) Type - is one octet long field, value TBA7 | ||||
allocated by IANA Section 5.1. | ||||
o Length - two octets long field, set equal to the value 16 octets. | o Length - two octets long field, set equal to the value 16 octets. | |||
o Sequence Number - four octets long field indicating the sequence | o Sequence Number - four octets long field indicating the sequence | |||
number of the last packet reflected in the same STAMP-test | number of the last packet reflected in the same STAMP-test | |||
session. Since the Session-Reflector runs in the stateful mode | session. Since the Session-Reflector runs in the stateful mode | |||
(defined in Section 4.2 [RFC8762]), it is the Session-Reflector's | (defined in Section 4.2 [RFC8762]), it is the Session-Reflector's | |||
Sequence Number of the previous reflected packet. | Sequence Number of the previous reflected packet. | |||
o Follow-up Timestamp - eight octets long field, with the format | o Follow-up Timestamp - eight octets long field, with the format | |||
indicated by the Z flag of the Error Estimate field of the packet | indicated by the Z flag of the Error Estimate field of the packet | |||
transmitted by a Session-Reflector, as described in Section 4.1 | transmitted by a Session-Reflector, as described in Section 4.1 | |||
[RFC8762]. It carries the timestamp when the reflected packet | [RFC8762]. It carries the timestamp when the reflected packet | |||
with the specified sequence number was sent. | with the specified sequence number was sent. | |||
o Timestamp M(ode) - one octet long field that characterizes the | o Timestamp M(ode) - one octet long field that characterizes the | |||
method by which the entity that transmits a reflected STAMP packet | method by which the entity that transmits a reflected STAMP packet | |||
obtained the Follow-up Timestamp. The value is one of those | obtained the Follow-up Timestamp. The value is one of those | |||
listed in Table 6. | listed in Table 7. | |||
o Reserved - the three octets-long field. Its value MUST be zeroed | o Reserved - the three octets-long field. Its value MUST be zeroed | |||
on transmission and ignored on receipt. | on transmission and ignored on receipt. | |||
4.8. HMAC TLV | 4.8. HMAC TLV | |||
The STAMP authenticated mode protects the integrity of data collected | The STAMP authenticated mode protects the integrity of data collected | |||
in the STAMP base packet. STAMP extensions are designed to provide | in the STAMP base packet. STAMP extensions are designed to provide | |||
valuable information about the condition of a network, and protecting | valuable information about the condition of a network, and protecting | |||
the integrity of that data is also essential. The keyed Hashed | the integrity of that data is also essential. The keyed Hashed | |||
Message Authentication Code (HMAC) TLV MUST be included in a STAMP | Message Authentication Code (HMAC) TLV MUST be included in a STAMP | |||
test packet in the authenticated mode, excluding when the only TLV | test packet in the authenticated mode, excluding when the only TLV | |||
present is Extra Padding TLV. The HMAC TLV MUST follow all TLVs | present is Extra Padding TLV. The HMAC TLV MUST follow all TLVs | |||
included in a STAMP test packet, except for the Extra Padding TLV. | included in a STAMP test packet, except for the Extra Padding TLV. | |||
The HMAC TLV MAY be used to protect the integrity of STAMP extensions | The HMAC TLV MAY be used to protect the integrity of STAMP extensions | |||
in STAMP unauthenticated mode. | in STAMP unauthenticated mode. | |||
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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| HMAC Type | Length | | |STAMP TLV Flags| HMAC Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
| HMAC | | | HMAC | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 12: HMAC TLV | Figure 14: HMAC TLV | |||
where fields are defined as follows: | where fields are defined as follows: | |||
o HMAC Type - is two octets long field, value TBA8 allocated by IANA | o STAMP TLV Flags - is eight-bit long field. Its format presented | |||
in Figure 6. | ||||
o HMAC Type - is one octet long field, value TBA8 allocated by IANA | ||||
Section 5.1. | Section 5.1. | |||
o Length - two octets long field, set equal to the value 16 octets. | o Length - two octets long field, set equal to the value 16 octets. | |||
o HMAC - is 16 octets long field that carries HMAC digest of the | o HMAC - is 16 octets long field that carries HMAC digest of the | |||
text of all preceding TLVs. | text of all preceding TLVs. | |||
As defined in [RFC8762], STAMP uses HMAC-SHA-256 truncated to 128 | As defined in [RFC8762], STAMP uses HMAC-SHA-256 truncated to 128 | |||
bits ([RFC4868]). All considerations regarding using the key and key | bits ([RFC4868]). All considerations regarding using the key and key | |||
distribution and management listed in Section 4.4 of [RFC8762] are | distribution and management listed in Section 4.4 of [RFC8762] are | |||
fully applicable to the use of the HMAC TLV. HMAC is calculated as | fully applicable to the use of the HMAC TLV. HMAC is calculated as | |||
defined in [RFC2104] over text as the concatenation of all preceding | defined in [RFC2104] over text as the concatenation of all preceding | |||
TLVs. The digest then MUST be truncated to 128 bits and written into | TLVs. The digest then MUST be truncated to 128 bits and written into | |||
the HMAC field. In the authenticated mode, HMAC MUST be verified | the HMAC field. In the authenticated mode, HMAC MUST be verified | |||
before using any data in the included STAMP TLVs. If HMAC | before using any data in the included STAMP TLVs. If HMAC | |||
verification by the Session-Reflector fails, then an ICMP Parameter | verification by the Session-Reflector fails, then the Session- | |||
Problem message MUST be generated (with consideration of limiting the | Reflector MUST stop processing the received extended STAMP test | |||
rate of error messages). The Code value MUST be set to 0 and the | packet. The Session-Reflector MUST copy the remainder of the | |||
Pointer identifying HMAC Type. Also, both Session-Sender and | extended STAMP test packet into the reflected packet. The Session- | |||
Session-Reflector SHOULD log the notification that HMAC verification | Reflector MUST set the A flag copy of the HMAC TLV in the reflected | |||
of STAMP TLVs failed. The packet that failed HMAC verification MUST | packet to 1 before transmitting the reflected test packet. Also, | |||
be dropped. | both Session-Sender and Session-Reflector SHOULD log the notification | |||
that HMAC verification of STAMP TLVs failed. | ||||
5. IANA Considerations | 5. IANA Considerations | |||
5.1. STAMP TLV Registry | 5.1. STAMP TLV Registry | |||
IANA is requested to create the STAMP TLV Type registry. All code | IANA is requested to create the STAMP TLV Type registry. All code | |||
points in the range 1 through 32759 in this registry shall be | points in the range 1 through 32759 in this registry shall be | |||
allocated according to the "IETF Review" procedure as specified in | allocated according to the "IETF Review" procedure as specified in | |||
[RFC8126]. Code points in the range 32760 through 65279 in this | [RFC8126]. Code points in the range 32760 through 65279 in this | |||
registry shall be allocated according to the "First Come First | registry shall be allocated according to the "First Come First | |||
Served" procedure as specified in [RFC8126]. Remaining code points | Served" procedure as specified in [RFC8126]. Remaining code points | |||
are allocated according to Table 1: | are allocated according to Table 1: | |||
+---------------+---------------------------------+---------------+ | +-----------+--------------+-------------------------+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+---------------+---------------------------------+---------------+ | +-----------+--------------+-------------------------+ | |||
| 0 | Reserved | This document | | | 0 | Reserved | This document | | |||
| 1- 65279 | STAMP extension TLV, unassigned | IETF Review | | | 1- 175 | Unassigned | IETF Review | | |||
| 65280 - 65519 | Experimental | This document | | | 176 - 239 | Unassigned | First Come First Served | | |||
| 65520 - 65534 | Private Use | This document | | | 240 - 251 | Experimental | This document | | |||
| 65535 | Reserved | This document | | | 252 - 254 | Private Use | This document | | |||
+---------------+---------------------------------+---------------+ | | 255 | Reserved | This document | | |||
+-----------+--------------+-------------------------+ | ||||
Table 1: STAMP TLV Type Registry | Table 1: STAMP TLV Type Registry | |||
This document defines the following new values in the STAMP Extension | This document defines the following new values in the STAMP Extension | |||
TLV range of the STAMP TLV Type registry: | TLV range of the STAMP TLV Type registry: | |||
+-------+-----------------------+---------------+ | +-------+-----------------------+---------------+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+-------+-----------------------+---------------+ | +-------+-----------------------+---------------+ | |||
| TBA1 | Extra Padding | This document | | | TBA1 | Extra Padding | This document | | |||
skipping to change at page 20, line 5 ¶ | skipping to change at page 22, line 20 ¶ | |||
| TBA3 | Timestamp Information | This document | | | TBA3 | Timestamp Information | This document | | |||
| TBA4 | Class of Service | This document | | | TBA4 | Class of Service | This document | | |||
| TBA5 | Direct Measurement | This document | | | TBA5 | Direct Measurement | This document | | |||
| TBA6 | Access Report | This document | | | TBA6 | Access Report | This document | | |||
| TBA7 | Follow-up Telemetry | This document | | | TBA7 | Follow-up Telemetry | This document | | |||
| TBA8 | HMAC | This document | | | TBA8 | HMAC | This document | | |||
+-------+-----------------------+---------------+ | +-------+-----------------------+---------------+ | |||
Table 2: STAMP Types | Table 2: STAMP Types | |||
5.2. Synchronization Source Sub-registry | 5.2. STAMP TLV Flags Sub-registry | |||
IANA is requested to create STAMP TLV Flags sub-registry as part of | ||||
the STAMP TLV Type registry. The registration procedure is "IETF | ||||
Review" [RFC8126]. Flags are 8 bits. This document defines the | ||||
following bit positions in the STAMP TLV Flags sub-registry: | ||||
+--------------+--------+-----------------------+---------------+ | ||||
| Bit position | Symbol | Description | Reference | | ||||
+--------------+--------+-----------------------+---------------+ | ||||
| 0 | U | Unrecognized TLV | This document | | ||||
| 1 | L | Malformed TLV | This document | | ||||
| 2 | A | Authentication failed | This document | | ||||
+--------------+--------+-----------------------+---------------+ | ||||
Table 3: STAMP TLV Flags | ||||
5.3. Synchronization Source Sub-registry | ||||
IANA is requested to create Synchronization Source sub-registry as | IANA is requested to create Synchronization Source sub-registry as | |||
part of the STAMP TLV Type registry. All code points in the range 1 | part of the STAMP TLV Type registry. All code points in the range 1 | |||
through 127 in this registry shall be allocated according to the | through 127 in this registry shall be allocated according to the | |||
"IETF Review" procedure as specified in [RFC8126]. Code points in | "IETF Review" procedure as specified in [RFC8126]. Code points in | |||
the range 128 through 239 in this registry shall be allocated | the range 128 through 239 in this registry shall be allocated | |||
according to the "First Come First Served" procedure as specified in | according to the "First Come First Served" procedure as specified in | |||
[RFC8126]. Remaining code points are allocated according to Table 1: | [RFC8126]. Remaining code points are allocated according to Table 4: | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
| 0 | Reserved | This document | | | 0 | Reserved | This document | | |||
| 1- 127 | Unassigned | IETF Review | | | 1- 127 | Unassigned | IETF Review | | |||
| 128 - 239 | Unassigned | First Come First Served | | | 128 - 239 | Unassigned | First Come First Served | | |||
| 240 - 249 | Experimental | This document | | | 240 - 249 | Experimental | This document | | |||
| 250 - 254 | Private Use | This document | | | 250 - 254 | Private Use | This document | | |||
| 255 | Reserved | This document | | | 255 | Reserved | This document | | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
Table 3: Synchronization Source Sub-registry | Table 4: Synchronization Source Sub-registry | |||
This document defines the following new values in the Synchronization | This document defines the following new values in the Synchronization | |||
Source sub-registry: | Source sub-registry: | |||
+-------+---------------------+---------------+ | +-------+-------------------------+---------------+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+-------+---------------------+---------------+ | +-------+-------------------------+---------------+ | |||
| 1 | NTP | This document | | | 1 | NTP | This document | | |||
| 2 | PTP | This document | | | 2 | PTP | This document | | |||
| 3 | SSU/BITS | This document | | | 3 | SSU/BITS | This document | | |||
| 4 | GPS/GLONASS/LORAN-C | This document | | | 4 | GPS/GLONASS/LORAN-C/BDS | This document | | |||
| 5 | Local free-running | This document | | | 5 | Local free-running | This document | | |||
+-------+---------------------+---------------+ | +-------+-------------------------+---------------+ | |||
Table 4: Synchronization Sources | Table 5: Synchronization Sources | |||
5.3. Timestamping Method Sub-registry | 5.4. Timestamping Method Sub-registry | |||
IANA is requested to create Timestamping Method sub-registry as part | IANA is requested to create Timestamping Method sub-registry as part | |||
of the STAMP TLV Type registry. All code points in the range 1 | of the STAMP TLV Type registry. All code points in the range 1 | |||
through 127 in this registry shall be allocated according to the | through 127 in this registry shall be allocated according to the | |||
"IETF Review" procedure as specified in [RFC8126]. Code points in | "IETF Review" procedure as specified in [RFC8126]. Code points in | |||
the range 128 through 239 in this registry shall be allocated | the range 128 through 239 in this registry shall be allocated | |||
according to the "First Come First Served" procedure as specified in | according to the "First Come First Served" procedure as specified in | |||
[RFC8126]. Remaining code points are allocated according to Table 1: | [RFC8126]. Remaining code points are allocated according to Table 6: | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
| 0 | Reserved | This document | | | 0 | Reserved | This document | | |||
| 1- 127 | Unassigned | IETF Review | | | 1- 127 | Unassigned | IETF Review | | |||
| 128 - 239 | Unassigned | First Come First Served | | | 128 - 239 | Unassigned | First Come First Served | | |||
| 240 - 249 | Experimental | This document | | | 240 - 249 | Experimental | This document | | |||
| 250 - 254 | Private Use | This document | | | 250 - 254 | Private Use | This document | | |||
| 255 | Reserved | This document | | | 255 | Reserved | This document | | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
Table 5: Timestamping Method Sub-registry | Table 6: Timestamping Method Sub-registry | |||
This document defines the following new values in the Timestamping | This document defines the following new values in the Timestamping | |||
Methods sub-registry: | Methods sub-registry: | |||
+-------+---------------+---------------+ | +-------+---------------+---------------+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+-------+---------------+---------------+ | +-------+---------------+---------------+ | |||
| 1 | HW Assist | This document | | | 1 | HW Assist | This document | | |||
| 2 | SW local | This document | | | 2 | SW local | This document | | |||
| 3 | Control plane | This document | | | 3 | Control plane | This document | | |||
+-------+---------------+---------------+ | +-------+---------------+---------------+ | |||
Table 6: Timestamping Methods | Table 7: Timestamping Methods | |||
5.4. Return Code Sub-registry | 5.5. Return Code Sub-registry | |||
IANA is requested to create Return Code sub-registry as part of STAMP | IANA is requested to create Return Code sub-registry as part of STAMP | |||
TLV Type registry. All code points in the range 1 through 127 in | TLV Type registry. All code points in the range 1 through 127 in | |||
this registry shall be allocated according to the "IETF Review" | this registry shall be allocated according to the "IETF Review" | |||
procedure as specified in [RFC8126]. Code points in the range 128 | procedure as specified in [RFC8126]. Code points in the range 128 | |||
through 239 in this registry shall be allocated according to the | through 239 in this registry shall be allocated according to the | |||
"First Come First Served" procedure as specified in [RFC8126]. | "First Come First Served" procedure as specified in [RFC8126]. | |||
Remaining code points are allocated according to Table 7: | Remaining code points are allocated according to Table 8: | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
| 0 | Reserved | This document | | | 0 | Reserved | This document | | |||
| 1- 127 | Unassigned | IETF Review | | | 1- 127 | Unassigned | IETF Review | | |||
| 128 - 239 | Unassigned | First Come First Served | | | 128 - 239 | Unassigned | First Come First Served | | |||
| 240 - 249 | Experimental | This document | | | 240 - 249 | Experimental | This document | | |||
| 250 - 254 | Private Use | This document | | | 250 - 254 | Private Use | This document | | |||
| 255 | Reserved | This document | | | 255 | Reserved | This document | | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
Table 7: Return Code Sub-registry | Table 8: Return Code Sub-registry | |||
This document defines the following new values in the Return Code | This document defines the following new values in the Return Code | |||
sub-registry: | sub-registry: | |||
+-------+---------------------+---------------+ | +-------+---------------------+---------------+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+-------+---------------------+---------------+ | +-------+---------------------+---------------+ | |||
| 1 | Network available | This document | | | 1 | Network available | This document | | |||
| 2 | Network unavailable | This document | | | 2 | Network unavailable | This document | | |||
+-------+---------------------+---------------+ | +-------+---------------------+---------------+ | |||
Table 8: Return Codes | Table 9: Return Codes | |||
6. Security Considerations | 6. Security Considerations | |||
This document defines extensions to STAMP [RFC8762] and inherits all | This document defines extensions to STAMP [RFC8762] and inherits all | |||
the security considerations applicable to the base protocol. | the security considerations applicable to the base protocol. | |||
Additionally, the HMAC TLV is defined in this document to protect the | Additionally, the HMAC TLV is defined in this document to protect the | |||
integrity of optional STAMP extensions. The use of HMAC TLV is | integrity of optional STAMP extensions. The use of HMAC TLV is | |||
discussed in detail in Section 4.8. | discussed in detail in Section 4.8. | |||
7. Acknowledgments | 7. Acknowledgments | |||
Authors much appreciate the thorough review and thoughtful comments | Authors much appreciate the thorough review and thoughtful comments | |||
received from Tianran Zhou, Rakesh Gandhi, Yuezhong Song and Yali | received from Tianran Zhou, Rakesh Gandhi, Yuezhong Song and Yali | |||
Wang. Authors express their gratitude to Al Morton for his comments | Wang. The authors express their gratitude to Al Morton for his | |||
and the most valuable suggestions. Authors greatly appreciate | comments and the most valuable suggestions. The authors greatly | |||
comments and thoughtful suggestions received from Martin Duke. | appreciate comments and thoughtful suggestions received from Martin | |||
Duke. | ||||
8. Contributors | 8. Contributors | |||
The following people contributed text to this document: | The following people contributed text to this document: | |||
Guo Jun | Guo Jun | |||
ZTE Corporation | ZTE Corporation | |||
68# Zijinghua Road | 68# Zijinghua Road | |||
Nanjing, Jiangsu 210012 | Nanjing, Jiangsu 210012 | |||
P.R.China | P.R.China | |||
skipping to change at page 23, line 29 ¶ | skipping to change at page 26, line 30 ¶ | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8762] Mirsky, G., Jun, G., Nydell, H., and R. Foote, "Simple | [RFC8762] Mirsky, G., Jun, G., Nydell, H., and R. Foote, "Simple | |||
Two-Way Active Measurement Protocol", RFC 8762, | Two-Way Active Measurement Protocol", RFC 8762, | |||
DOI 10.17487/RFC8762, March 2020, | DOI 10.17487/RFC8762, March 2020, | |||
<https://www.rfc-editor.org/info/rfc8762>. | <https://www.rfc-editor.org/info/rfc8762>. | |||
[TS23501] 3GPP (3rd Generation Partnership Project), "Technical | ||||
Specification Group Services and System Aspects; System | ||||
Architecture for the 5G System; Stage 2 (Release 16)", | ||||
3GPP TS23501, 2019. | ||||
9.2. Informative References | 9.2. Informative References | |||
[GPS] "Global Positioning System (GPS) Standard Positioning | ||||
Service (SPS) Performance Standard", GPS SPS 5th Edition, | ||||
April 2020. | ||||
[IEEE.1588.2008] | ||||
"Standard for a Precision Clock Synchronization Protocol | ||||
for Networked Measurement and Control Systems", | ||||
IEEE Standard 1588, March 2008. | ||||
[RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- | [RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed- | |||
Hashing for Message Authentication", RFC 2104, | Hashing for Message Authentication", RFC 2104, | |||
DOI 10.17487/RFC2104, February 1997, | DOI 10.17487/RFC2104, February 1997, | |||
<https://www.rfc-editor.org/info/rfc2104>. | <https://www.rfc-editor.org/info/rfc2104>. | |||
[RFC4868] Kelly, S. and S. Frankel, "Using HMAC-SHA-256, HMAC-SHA- | [RFC4868] Kelly, S. and S. Frankel, "Using HMAC-SHA-256, HMAC-SHA- | |||
384, and HMAC-SHA-512 with IPsec", RFC 4868, | 384, and HMAC-SHA-512 with IPsec", RFC 4868, | |||
DOI 10.17487/RFC4868, May 2007, | DOI 10.17487/RFC4868, May 2007, | |||
<https://www.rfc-editor.org/info/rfc4868>. | <https://www.rfc-editor.org/info/rfc4868>. | |||
[RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, | [RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, | |||
"Network Time Protocol Version 4: Protocol and Algorithms | "Network Time Protocol Version 4: Protocol and Algorithms | |||
Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, | Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, | |||
<https://www.rfc-editor.org/info/rfc5905>. | <https://www.rfc-editor.org/info/rfc5905>. | |||
[TS23501] 3GPP (3rd Generation Partnership Project), "Technical | ||||
Specification Group Services and System Aspects; System | ||||
Architecture for the 5G System; Stage 2 (Release 16)", | ||||
3GPP TS23501, 2019. | ||||
Authors' Addresses | Authors' Addresses | |||
Greg Mirsky | Greg Mirsky | |||
ZTE Corp. | ZTE Corp. | |||
Email: gregimirsky@gmail.com | Email: gregimirsky@gmail.com | |||
Xiao Min | Xiao Min | |||
ZTE Corp. | ZTE Corp. | |||
End of changes. 80 change blocks. | ||||
148 lines changed or deleted | 284 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |