draft-ietf-ippm-stamp-option-tlv-04.txt | draft-ietf-ippm-stamp-option-tlv-05.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: September 23, 2020 Accedian Networks | Expires: December 14, 2020 Accedian Networks | |||
R. Foote | R. Foote | |||
Nokia | Nokia | |||
A. Masputra | A. Masputra | |||
Apple Inc. | Apple Inc. | |||
E. Ruffini | E. Ruffini | |||
OutSys | OutSys | |||
March 22, 2020 | June 12, 2020 | |||
Simple Two-way Active Measurement Protocol Optional Extensions | Simple Two-way Active Measurement Protocol Optional Extensions | |||
draft-ietf-ippm-stamp-option-tlv-04 | draft-ietf-ippm-stamp-option-tlv-05 | |||
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 September 23, 2020. | This Internet-Draft will expire on December 14, 2020. | |||
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 28 ¶ | skipping to change at page 2, line 28 ¶ | |||
2. Conventions used in this document . . . . . . . . . . . . . . 3 | 2. Conventions used in this document . . . . . . . . . . . . . . 3 | |||
2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 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 . . . . . . . . . . . . . . . . . . . . 9 | |||
4.2. Location TLV . . . . . . . . . . . . . . . . . . . . . . 10 | 4.2. Location TLV . . . . . . . . . . . . . . . . . . . . . . 10 | |||
4.3. Timestamp Information TLV . . . . . . . . . . . . . . . . 11 | 4.3. Timestamp Information TLV . . . . . . . . . . . . . . . . 11 | |||
4.4. Class of Service TLV . . . . . . . . . . . . . . . . . . 12 | 4.4. Class of Service TLV . . . . . . . . . . . . . . . . . . 12 | |||
4.5. Direct Measurement TLV . . . . . . . . . . . . . . . . . 14 | 4.5. Direct Measurement TLV . . . . . . . . . . . . . . . . . 14 | |||
4.6. Access Report TLV . . . . . . . . . . . . . . . . . . . . 14 | 4.6. Access Report TLV . . . . . . . . . . . . . . . . . . . . 15 | |||
4.7. Follow-up Telemetry TLV . . . . . . . . . . . . . . . . . 16 | 4.7. Follow-up Telemetry TLV . . . . . . . . . . . . . . . . . 16 | |||
4.8. HMAC TLV . . . . . . . . . . . . . . . . . . . . . . . . 17 | 4.8. HMAC TLV . . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19 | |||
5.1. STAMP TLV Registry . . . . . . . . . . . . . . . . . . . 19 | 5.1. STAMP TLV Registry . . . . . . . . . . . . . . . . . . . 19 | |||
5.2. Synchronization Source Sub-registry . . . . . . . . . . . 20 | 5.2. Synchronization Source Sub-registry . . . . . . . . . . . 20 | |||
5.3. Timestamping Method Sub-registry . . . . . . . . . . . . 20 | 5.3. Timestamping Method Sub-registry . . . . . . . . . . . . 20 | |||
5.4. Access ID Sub-registry . . . . . . . . . . . . . . . . . 21 | 5.4. Return Code Sub-registry . . . . . . . . . . . . . . . . 21 | |||
5.5. Return Code Sub-registry . . . . . . . . . . . . . . . . 22 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 22 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23 | 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 23 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 22 | |||
9.1. Normative References . . . . . . . . . . . . . . . . . . 23 | 9.2. Informative References . . . . . . . . . . . . . . . . . 23 | |||
9.2. Informative References . . . . . . . . . . . . . . . . . 24 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
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 are to enhance the STAMP base functions, | encoding. Such extensions enhance the STAMP base functions, such as | |||
such as measurement of one-way and round-trip delay, latency, packet | measurement of one-way and round-trip delay, latency, packet loss, | |||
loss, as well as ability to detect packet duplication and out-of- | and the ability to detect packet duplication and out-of- order | |||
order delivery of the test packets. This specification provides | delivery of the test packets. This specification defines optional | |||
definitions of optional STAMP extensions, their formats, and theory | STAMP extensions, their formats, and the theory of operation. Also, | |||
of operation. Also, a STAMP Test Session Identifier is defined for | a STAMP Test Session Identifier is defined as an update of the base | |||
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. Terminology | 2.1. Terminology | |||
STAMP - Simple Two-way Active Measurement Protocol | STAMP - Simple Two-way Active Measurement Protocol | |||
DSCP - Differentiated Services Code Point | DSCP - Differentiated Services Code Point | |||
ECN - Explicit Congestion Notification | ECN - Explicit Congestion Notification | |||
skipping to change at page 3, line 36 ¶ | skipping to change at page 3, line 35 ¶ | |||
BITS Building Integrated Timing Supply | BITS Building Integrated Timing Supply | |||
SSU Synchronization Supply Unit | SSU Synchronization Supply Unit | |||
GPS Global Positioning System | GPS Global Positioning System | |||
GLONASS Global Orbiting Navigation Satellite 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 Zeroed | MBZ Must Be Zero | |||
CoS Class of Service | CoS Class of Service | |||
PMF Performance Measurement Function | PMF Performance Measurement Function | |||
SSID STAMP Session Identifier | SSID STAMP Session Identifier | |||
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", | |||
skipping to change at page 4, line 24 ¶ | skipping to change at page 4, line 24 ¶ | |||
modes: unauthenticated and authenticated. Unauthenticated STAMP test | modes: unauthenticated and authenticated. Unauthenticated STAMP test | |||
packets are compatible on the wire with unauthenticated TWAMP-Test | packets are compatible on the wire with unauthenticated TWAMP-Test | |||
[RFC5357] packet formats. | [RFC5357] packet formats. | |||
By default, STAMP uses symmetrical packets, i.e., the size of the | By default, STAMP uses symmetrical packets, i.e., the size of the | |||
packet transmitted by Session-Reflector equals the size of the packet | packet transmitted by Session-Reflector equals the size of the packet | |||
received by the Session-Reflector. | received by the Session-Reflector. | |||
A STAMP Session is identified using 4-tuple (source and destination | A STAMP Session is identified using 4-tuple (source and destination | |||
IP addresses, source and destination UDP port numbers). A STAMP | IP addresses, source and destination UDP port numbers). A STAMP | |||
Session-Sender MAY generate locally unique STAMP Session Identifier | Session-Sender MAY generate a locally unique STAMP Session Identifier | |||
(SSID). SSID is two octets long non-zero unsigned integer. A | (SSID). SSID is two octets long non-zero unsigned integer. A | |||
Session-Sender MAY use SSID to identify a STAMP test session. If | Session-Sender MAY use SSID to identify a STAMP test session. If | |||
SSID is used, it MUST be present in each test packet of the given | SSID is used, it MUST be present in each test packet of the given | |||
test session. In the unauthenticated mode, SSID is located, as | test session. In the unauthenticated mode, SSID is located, as | |||
displayed in Figure 1. | displayed in Figure 1. | |||
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 | | |||
skipping to change at page 5, line 28 ¶ | skipping to change at page 5, line 28 ¶ | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
~ Value ~ | ~ Value ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 1: STAMP Session-Sender test packet format with TLV in | Figure 1: An example of an extended STAMP Session-Sender test packet | |||
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. A conforming | combination with elements of the usual 4-tuple for the session. | |||
implementation of STAMP Session-Reflector MUST copy the SSID value | Before a test session commenced, a Session-Reflector MUST be | |||
from the received test packet and put it into the reflected packet as | provisioned with all the elements that identify the STAMP Session. A | |||
displayed in Figure 2. | STAMP Session-Reflector MUST discard the non-matching STAMP test | |||
packet(s). The means of provisioning the STAMP Session | ||||
identification is outside the scope of this specification. A | ||||
conforming implementation of STAMP Session-Reflector MUST copy the | ||||
SSID value from the received test packet and put it into the | ||||
reflected packet, as displayed in Figure 2. | ||||
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 | SSID | | | Error Estimate | SSID | | |||
skipping to change at page 6, line 32 ¶ | skipping to change at page 6, line 32 ¶ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Session-Sender Error Estimate | MBZ | | | Session-Sender Error Estimate | MBZ | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
|Ses-Sender TTL | MBZ | | |Ses-Sender TTL | MBZ | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Type | Length | | | Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
~ Value ~ | ~ Value ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 2: STAMP Session-Reflector test packet format with TLV in | Figure 2: An example of an extended STAMP Session-Reflector test | |||
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 MUST NOT stop the session if it receives a zeroed | The Session-Sender MUST stop the session if it receives a zeroed SSID | |||
SSID field. | field. | |||
In the authenticated mode, location of SSID field is shown in | In the authenticated mode, location of SSID field is shown in | |||
Figure 3 and Figure 4. | Figure 3 and Figure 4. | |||
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 | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
skipping to change at page 7, line 29 ¶ | skipping to change at page 7, line 29 ¶ | |||
~ ~ | ~ ~ | |||
| MBZ (68 octets) | | | MBZ (68 octets) | | |||
~ ~ | ~ ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
| HMAC (16 octets) | | | HMAC (16 octets) | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 3: STAMP Session-Sender test packet format in authenticated | Figure 3: Base STAMP Session-Sender test packet format in | |||
mode | authenticated 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 | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Sequence Number | | | Sequence Number | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| MBZ (12 octets) | | | MBZ (12 octets) | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
skipping to change at page 8, line 30 ¶ | skipping to change at page 8, line 30 ¶ | |||
| | | | | | |||
| MBZ (15 octets) | | | MBZ (15 octets) | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| HMAC (16 octets) | | | HMAC (16 octets) | | |||
| | | | | | |||
| | | | | | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 4: STAMP Session-Reflector test packet format in authenticated | Figure 4: Base STAMP Session-Reflector test packet format in | |||
mode | authenticated mode | |||
4. TLV Extensions to STAMP | 4. TLV Extensions to STAMP | |||
Type-Length-Value (TLV) encoding scheme provides flexible extension | Type-Length-Value (TLV) encoding scheme provides a flexible extension | |||
mechanism for optional informational elements. TLV is an optional | mechanism for optional informational elements. TLV is an optional | |||
field in the STAMP test packet. TLVs have the two octets long Type | field in the STAMP test packet. Multiple TLVs MAY be placed in the | |||
field, two octets long Length field that is the length of the Value | STAMP test packet. A TLV MAY be enclosed in a TLV. TLVs have the | |||
field in octets. Type values, see Section 5.1, less than 32768 | two octets long Type field, two octets long Length field that is | |||
identify mandatory TLVs that MUST be supported by an implementation. | equal to the length of the Value field in octets. Type values, see | |||
Type values greater than or equal to 32768 identify optional TLVs | Section 5.1, less than 32768 identify mandatory TLVs that MUST be | |||
that SHOULD be ignored if the implementation does not understand or | supported by an implementation. Type values greater than or equal to | |||
support them. If a Type value for TLV or sub-TLV is in the range for | 32768 identify optional TLVs that SHOULD be ignored if the | |||
Vendor Private Use, the Length MUST be at least 4, and the first four | implementation does not understand or support them. If a Type value | |||
octets MUST be that vendor's the Structure of Management Information | for TLV or sub-TLV is in the range for Vendor Private Use, the Length | |||
(SMI) Private Enterprise Number, in network octet order. The rest of | MUST be at least 4, and the first four octets MUST be that vendor's | |||
the Value field is private to the vendor. Following sections | the Structure of Management Information (SMI) Private Enterprise | |||
describe the use of TLVs for STAMP that extend STAMP capability | Number, in network octet order. The rest of the Value field is | |||
beyond its base specification. | private to the vendor. The following sections describe the use of | |||
TLVs for STAMP that extend STAMP capability beyond its base | ||||
specification. | ||||
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 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 fixed-size TLV by verifying that the value in the | MUST validate each TLV: | |||
Length field equals the value defined for the particular type. If | ||||
the values are not equal, the processing of extension TLVs MUST be | if the value of the Type field is one from the Mandatory TLV range | |||
stopped and the event logged (logging SHOULD be throttled). Also, if | (Table 1) that the system does not support, the processing of the | |||
the system is the Session-Reflector in that test, it MUST send | TLV MUST be stopped. If the system is the Session-Reflector, it | |||
(transmission of ICMP Error messages SHOULD be throttled) the ICMP | MUST send the ICMP Parameter Problem message with Code set to 0 | |||
Parameter Problem message with Code set to 0 and the Pointer | and the Pointer referring to the Type field of the TLV; | |||
referring to the Length field of the TLV. | ||||
fixed-size TLVs are verified that the Length field value equals | ||||
the value defined for the particular type. If the values are not | ||||
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 | ||||
Error messages and logging SHOULD be throttled. | ||||
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 | | | Extra Padding Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | | | | | |||
~ Extra Padding ~ | ~ Extra Padding ~ | |||
skipping to change at page 9, line 47 ¶ | skipping to change at page 10, line 11 ¶ | |||
Figure 5: Extra Padding TLV | Figure 5: 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 Extra Padding Type - 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 zeroes. | 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 Extra Padding TLV MUST be used to | TWAMP-Test packet [RFC5357]. The Extra Padding TLV MUST be used to | |||
create STAMP test packets of larger size. The Extra Padding TLV MUST | create STAMP test packets of larger size that the base STAMP packet | |||
be the last TLV in a STAMP test packet. | [RFC8762]. The length of the base STAMP is 44 octets in the | |||
unauthenticated mode or 112 octets in the authenticated mode. The | ||||
Extra Padding TLV MUST be the last TLV in a 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 | |||
value of the Length field is invalid, the session-reflector MUST zero | Length field's value is invalid, the Session-Reflector MUST zero all | |||
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 | | | Location Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Source MAC | | | Source MAC | | |||
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| | Reserved | | | | Reserved | | |||
skipping to change at page 10, line 38 ¶ | skipping to change at page 11, line 4 ¶ | |||
~ Source IP Address ~ | ~ Source IP Address ~ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Destination Port | Source Port | | | Destination Port | Source Port | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 6: Session-Reflector Location TLV | Figure 6: 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 Location Type - TBA2 allocated by IANA Section 5.1 | |||
o Length - two octets long field equals the length of the Value | ||||
field in octets. The Length field value MUST equal 20 octets for | ||||
the IPv4 address family. For the IPv6 address family, the value | ||||
of the Length field MUST equal 44 octets. All other values are | ||||
invalid. | ||||
o Length - two octets long field equals length on the Value field in | o Source MAC - 6 octets 48 bits long field. The Session-Reflector | |||
octets. Length field value MUST be 20 octets for the IPv4 address | ||||
family. For the IPv6 address family value of the Length field | ||||
MUST be 44 octets. All other values are invalid. | ||||
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 | |||
and ignored on reception. | and ignored on reception. | |||
o Destination IP Address - IPv4 or IPv6 destination address of the | o Destination IP Address - IPv4 or IPv6 destination address of the | |||
received by the session-reflector STAMP packet. | packet received by the STAMP Session-Reflector. | |||
o Source IP Address - IPv4 or IPv6 source address of the received by | o Source IP Address - IPv4 or IPv6 source address of the packet | |||
the session-reflector STAMP packet. | received by the STAMP Session-Reflector. | |||
o Destination Port - two octets long UDP destination port number of | o Destination Port - two octets long UDP destination port number of | |||
the received STAMP packet. | the received STAMP packet. | |||
o Source Port - two octets long UDP source port number of the | o Source Port - two octets long UDP source port number of the | |||
received STAMP packet. | received STAMP packet. | |||
The Location TLV MAY be used to determine the last-hop addressing for | The Location TLV MAY be used to determine the last-hop addressing for | |||
STAMP packets including source and destination IP addresses as well | STAMP packets including source and destination IP addresses as well | |||
as the MAC address of the last-hop router. Last-hop MAC address MAY | as the MAC address of the last-hop router. Last-hop MAC address MAY | |||
be monitored by the Session-Sender whether there has been a path | be monitored by the Session-Sender whether there has been a path | |||
switch on the last hop, closest to the Session-Reflector. The IP | switch on the last hop, closest to the Session-Reflector. The IP | |||
addresses and UDP port will indicate if there is a NAT router on the | addresses and UDP port will indicate if there is a NAT router on the | |||
path, and allows the Session-Sender to identify the IP address of the | path, and allows the Session-Sender to identify the IP address of the | |||
Session-Reflector behind the NAT, detect changes in the NAT mapping | Session-Reflector behind the NAT, detect changes in the NAT mapping | |||
that could cause sending the STAMP packets to the wrong Session- | that could cause sending the STAMP packets to the wrong Session- | |||
Reflector. | Reflector. | |||
4.3. Timestamp Information TLV | 4.3. Timestamp Information TLV | |||
STAMP session-sender MAY include the Timestamp Information TLV to | STAMP Session-Sender MAY include the Timestamp Information TLV to | |||
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 | | | Timestamp Information 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 7: 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 Timestamp Information Type - TBA3 allocated by IANA Section 5.1 | |||
o Length - two octets long field, equals four octets. | 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 of methods to synchronize the clock, e.g., | Time Protocol (NTP) [RFC5905], Precision Time Protocol (PTP) | |||
Network Time Protocol (NTP) [RFC5905], Precision Time Protocol | [IEEE.1588.2008], Synchronization Supply Unit (SSU) or Building | |||
(PTP) [IEEE.1588.2008], Synchronization Supply Unit (SSU) or | Integrated Timing Supply (BITS), or Global Positioning System | |||
Building Integrated Timing Supply (BITS), or Global Positioning | (GPS), Global Orbiting Navigation Satellite System (GLONASS) and | |||
System (GPS), Global Orbiting Navigation Satellite System | Long Range Navigation System Version C (LORAN-C). The value is | |||
(GLONASS) and Long Range Navigation System Version C (LORAN-C). | one of those listed in Table 4. | |||
The value is one of the listed in Table 4. | ||||
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 assist, 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 referred to as "control plane"). The value is one of the | latter is referred to as "control plane"). The value is one of | |||
listed in Table 6. | those listed in Table 6. | |||
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 the listed in Table 4. | value is one of those listed in Table 4. | |||
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 the listed in Table 6. | T3. The value is one of those listed in Table 6. | |||
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. If the CoS TLV is present in the STAMP test | the STAMP test packet. If the CoS TLV is present in the STAMP test | |||
packet and the value of the DSCP1 field is zero, then the STAMP | packet and the value of the DSCP1 field is zero, then the STAMP | |||
session-reflector MUST copy the values of Differentiated Services | Session-Reflector MUST copy the values of Differentiated Services | |||
Code Point (DSCP) ECN fields from the received STAMP test packet into | Code Point (DSCP) ECN fields from the received STAMP test packet into | |||
DSCP2 and ECN fields respectively of the CoS TLV of the reflected | DSCP2 and ECN fields respectively of the CoS TLV of the reflected | |||
STAMP test packet. If the value of the DSCP1 field is non-zero, then | STAMP test packet. If the value of the DSCP1 field is non-zero, then | |||
the STAMP session-reflector MUST use DSCP1 value from the CoS TLV in | the STAMP Session-Reflector MUST use DSCP1 value from the CoS TLV in | |||
the received STAMP test packet as DSCP value of STAMP reflected test | the received STAMP test packet as DSCP value of STAMP reflected test | |||
packet and MUST copy DSCP and ECN values of the received STAMP test | packet and MUST copy DSCP and ECN values of the received STAMP test | |||
packet into DSCP2 and ECN fields of Class of Service TLV in the STAMP | packet into DSCP2 and ECN fields of Class of Service TLV in the STAMP | |||
reflected a packet. The Session-Sender, upon receiving the reflected | reflected a packet. Upon receiving the reflected packet, the | |||
packet, will save the DSCP and ECN values for analysis of the CoS in | Session-Sender,will save the DSCP and ECN values for analysis of the | |||
the reverse direction. | CoS in the reverse direction. | |||
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 | | | Class of Service Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| DSCP1 | DSCP2 |ECN| Reserved | | | DSCP1 | DSCP2 |ECN| Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 8: Class of Service TLV | Figure 8: 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 Class of Service Type - TBA4 allocated by IANA Section 5.1 | |||
o Length - two octets long field, equals four octets. | 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 return DSCP from the | the Session-Sender. To be used as the return DSCP from the | |||
Session-Reflector. | Session-Reflector. | |||
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. | |||
o ECN - The received value in the ECN field at the Session-Reflector | o ECN - The received value in the ECN field at the Session-Reflector | |||
in the forward direction. | in the forward direction. | |||
o Reserved - 18 bits long field, must be zeroed in transmission and | o Reserved - 18 bits long field, must be zeroed in transmission and | |||
ignored on receipt. | ignored on receipt. | |||
A STAMP Session-Sender that includes the CoS TLV sets the value of | A STAMP Session-Sender that includes the CoS TLV sets the value of | |||
the DSCP1 field and zeroes the value of the DSCP2 field. A STAMP | the DSCP1 field and zeroes the value of the DSCP2 field. A STAMP | |||
Session-Reflector that received the test packet with the CoS TLV MUST | Session-Reflector that received the test packet with the CoS TLV MUST | |||
include the CoS TLV in the reflected test packet. Also, the Session- | include the CoS TLV in the reflected test packet. Also, the Session- | |||
Reflector MUST copy the value of the DSCP field of the IP header of | Reflector MUST copy the value of the DSCP field of the IP header of | |||
the received STAMP test packet into the DSCP2 field in the reflected | the received STAMP test packet into the DSCP2 field in the reflected | |||
test packet. And, at last, the Session-Reflector MUST set the value | test packet. At last, the Session-Reflector MUST set the value of | |||
of the DSCP field in the IP header of the reflected test packet equal | DSCP field's value in the IP header of the reflected test packet | |||
to the value of the DSCP1 field of the test packet it has received. | equal to the value of the DSCP1 field of the received test packet. | |||
Re-mapping of CoS in some use cases, for example, in mobile backhaul | Re-mapping of CoS in some use cases, for example, in mobile backhaul | |||
networks is used to provide multiple services, i.e., 2G, 3G, LTE, | networks is used to provide multiple services, i.e., 2G, 3G, LTE, | |||
over the same network. But if it is misconfigured, then it is often | over the same network. But if it is misconfigured, then it is often | |||
difficult to diagnose the root cause of the problem that is viewed as | difficult to diagnose the root cause of the problem that is viewed as | |||
an excessive packet drop of higher level service while packet drop | an excessive packet drop of higher-level service while packet drop | |||
for lower service packets is at a normal level. Using CoS TLV in | for lower service packets is at a normal level. Using CoS TLV in | |||
STAMP test helps to troubleshoot the existing problem and also verify | STAMP test helps to troubleshoot the existing problem and also verify | |||
whether DiffServ policies are processing CoS as required by the | whether DiffServ policies are processing CoS as required by the | |||
configuration. | configuration. | |||
4.5. Direct Measurement TLV | 4.5. Direct Measurement TLV | |||
The Direct Measurement TLV enables collection of "in profile" IP | The Direct Measurement TLV enables collection of "in profile" IP | |||
packets that had been transmitted and received by the Session-Sender | packets that had been transmitted and received by the Session-Sender | |||
and Session-Reflector respectfully. The definition of "in-profile | and Session-Reflector respectfully. The definition of "in-profile | |||
packet" is outside the scope of this document. | packet" is outside the scope of this document and is left to the test | |||
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 | | | Direct Measurement 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 9: 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 Direct Measurement Type - 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 be 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. | |||
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 and filled by the Session- | |||
Reflector. | Reflector. | |||
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 filled by the Session- | |||
Reflector. | Reflector. | |||
skipping to change at page 15, line 10 ¶ | skipping to change at page 15, line 17 ¶ | |||
A STAMP Session-Sender MAY include Access Report TLV (Figure 10) to | A STAMP Session-Sender MAY include Access Report TLV (Figure 10) 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 | | | Access Report Type | Length | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Access ID | Return Code | Reserved | | | ID | Resv | Return Code | Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 10: Access Report TLV | Figure 10: 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 Access Report Type - TBA6 allocated by IANA Section 5.1. | |||
o Length - two octets long field, equals four octets. | o Length - two octets long field, set equal to the value 4. | |||
o Access ID - one octet 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 Section 5.4. | The value is one of those listed below: | |||
* 1 - 3GPP Network | ||||
* 2 - Non-3GPP Network | ||||
All other values are invalid and the TLV that contains it MUST be | ||||
discarded. | ||||
o Resv - four bits long field, must be zeroed on transmission and | ||||
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 one of | signal, e.g., available, unavailable. The value is passed, | |||
Section 5.5. | supplied to the STAMP end-point through some mechanism that is | |||
outside the scope of this document. The value is one of those | ||||
listed in Section 5.4. | ||||
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 | |||
skipping to change at page 16, line 18 ¶ | skipping to change at page 16, line 39 ¶ | |||
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 | |||
a "SW Local" (see Table 6) timestamp. But the hosting system might | an "SW Local" (see Table 6) timestamp. But the hosting system might | |||
provide the timestamp closer to the start of 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 helps in to improve the accuracy of measuring network delay by | it improves the accuracy of measuring network delay by minimizing the | |||
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 | |||
appropriate values. Sequence Number and Timestamp fields MUST be | appropriate values. Sequence Number and Timestamp fields MUST be | |||
zeroed on transmission by the Session-Sender and ignored by the | zeroed on transmission by the Session-Sender and ignored by the | |||
Session-Reflector upon receipt of the STAMP test packet that includes | Session-Reflector upon receipt of the STAMP test packet that includes | |||
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 | |||
skipping to change at page 17, line 24 ¶ | skipping to change at page 17, line 30 ¶ | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
| Timestamp M | Reserved | | | Timestamp M | Reserved | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 11: Follow-up Telemetry TLV | Figure 11: 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 Follow-up Telemetry Type - TBA7 allocated by IANA Section 5.1. | |||
o Length - two octets long field, equals 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 the listed | obtained the Follow-up Timestamp. The value is one of those | |||
in Table 6. | listed in Table 6. | |||
o Reserved - the three octest-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 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 | |||
skipping to change at page 18, line 28 ¶ | skipping to change at page 18, line 36 ¶ | |||
| | | | | | |||
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | |||
Figure 12: HMAC TLV | Figure 12: 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 HMAC Type - is two octets long field, value TBA8 allocated by IANA | |||
Section 5.1. | Section 5.1. | |||
o Length - two octets long field, equals 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 | |||
skipping to change at page 19, line 32 ¶ | skipping to change at page 19, line 35 ¶ | |||
| | unassigned | | | | | unassigned | | | |||
| 32768 - 65279 | Optional TLV, | First Come First Served | | | 32768 - 65279 | Optional TLV, | First Come First Served | | |||
| | unassigned | | | | | unassigned | | | |||
| 65280 - 65519 | Experimental | This document | | | 65280 - 65519 | Experimental | This document | | |||
| 65520 - 65534 | Private Use | This document | | | 65520 - 65534 | Private Use | This document | | |||
| 65535 | Reserved | This document | | | 65535 | 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 TLV Type | This document defines the following new values in the Mandatory TLV | |||
registry: | range of the STAMP TLV Type registry: | |||
+-------+-----------------------+---------------+ | +-------+-----------------------+---------------+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+-------+-----------------------+---------------+ | +-------+-----------------------+---------------+ | |||
| TBA1 | Extra Padding | This document | | | TBA1 | Extra Padding | This document | | |||
| TBA2 | Location | This document | | | TBA2 | Location | This document | | |||
| 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. 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 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 1: | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
| Value | Description | Reference | | | Value | Description | Reference | | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
| 0 | Reserved | This document | | | 0 | Reserved | This document | | |||
skipping to change at page 20, line 46 ¶ | skipping to change at page 20, line 46 ¶ | |||
| 3 | SSU/BITS | This document | | | 3 | SSU/BITS | This document | | |||
| 4 | GPS/GLONASS/LORAN-C | This document | | | 4 | GPS/GLONASS/LORAN-C | This document | | |||
| 5 | Local free-running | This document | | | 5 | Local free-running | This document | | |||
+-------+---------------------+---------------+ | +-------+---------------------+---------------+ | |||
Table 4: Synchronization Sources | Table 4: Synchronization Sources | |||
5.3. Timestamping Method Sub-registry | 5.3. 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 STAMP TLV Type registry. All code points in the range 1 through | of the STAMP TLV Type registry. All code points in the range 1 | |||
127 in this registry shall be allocated according to the "IETF | through 127 in this registry shall be allocated according to the | |||
Review" procedure as specified in [RFC8126]. Code points in the | "IETF Review" procedure as specified in [RFC8126]. Code points in | |||
range 128 through 239 in this registry shall be allocated according | the range 128 through 239 in this registry shall be allocated | |||
to the "First Come First Served" procedure as specified in [RFC8126]. | according to the "First Come First Served" procedure as specified in | |||
Remaining code points are allocated according to Table 1: | [RFC8126]. Remaining code points are allocated according to Table 1: | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
| 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 | | |||
skipping to change at page 21, line 31 ¶ | skipping to change at page 21, line 31 ¶ | |||
+-------+---------------+---------------+ | +-------+---------------+---------------+ | |||
| 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 6: Timestamping Methods | |||
5.4. Access ID Sub-registry | 5.4. Return Code Sub-registry | |||
IANA is requested to create Access ID sub-registry as part of STAMP | ||||
TLV Type registry. All code points in the range 1 through 127 in | ||||
this registry shall be allocated according to the "IETF Review" | ||||
procedure as specified in [RFC8126]. Code points in the range 128 | ||||
through 239 in this registry shall be allocated according to the | ||||
"First Come First Served" procedure as specified in [RFC8126]. | ||||
Remaining code points are allocated according to Table 7: | ||||
+-----------+--------------+-------------------------+ | ||||
| Value | Description | Reference | | ||||
+-----------+--------------+-------------------------+ | ||||
| 0 | Reserved | This document | | ||||
| 1- 127 | Unassigned | IETF Review | | ||||
| 128 - 239 | Unassigned | First Come First Served | | ||||
| 240 - 249 | Experimental | This document | | ||||
| 250 - 254 | Private Use | This document | | ||||
| 255 | Reserved | This document | | ||||
+-----------+--------------+-------------------------+ | ||||
Table 7: Access ID Sub-registry | ||||
This document defines the following new values in the Access ID sub- | ||||
registry: | ||||
+-------+-------------+---------------+ | ||||
| Value | Description | Reference | | ||||
+-------+-------------+---------------+ | ||||
| 1 | 3GPP | This document | | ||||
| 2 | Non-3GPP | This document | | ||||
+-------+-------------+---------------+ | ||||
Table 8: Access IDs | ||||
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 7: | |||
+-----------+--------------+-------------------------+ | +-----------+--------------+-------------------------+ | |||
| 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 9: Return Code Sub-registry | Table 7: 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 10: Return Codes | Table 8: Return Codes | |||
6. Security Considerations | 6. Security Considerations | |||
Use of HMAC in authenticated mode may be used to simultaneously | This document defines extensions to STAMP [RFC8762] and inherits all | |||
verify both the data integrity and the authentication of the STAMP | the security considerations applicable to the base protocol. | |||
test packets. | Additionally, the HMAC TLV is defined in this document to protect the | |||
integrity of optional STAMP extensions. The use of HMAC TLV is | ||||
discussed in detail in Section 4.8. | ||||
7. Acknowledgments | 7. Acknowledgments | |||
Authors much appreciate the thorough review and thoughful comments | Authors much appreciate the thorough review and thoughtful comments | |||
received from Tianran Zhou. | received from Tianran Zhou, Rakesh Gandhi, Yuezhong Song and Yali | |||
Wang. Authors express their gratitude to Al Morton for his comments | ||||
and the most valuable suggestions. | ||||
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 | |||
End of changes. 67 change blocks. | ||||
178 lines changed or deleted | 176 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/ |