draft-ietf-ippm-stamp-option-tlv-02.txt   draft-ietf-ippm-stamp-option-tlv-03.txt 
Network Working Group G. Mirsky Network Working Group G. Mirsky
Internet-Draft X. Min Internet-Draft X. Min
Intended status: Standards Track ZTE Corp. Intended status: Standards Track ZTE Corp.
Expires: May 3, 2020 H. Nydell Expires: August 24, 2020 H. Nydell
Accedian Networks Accedian Networks
R. Foote R. Foote
Nokia Nokia
A. Masputra A. Masputra
Apple Inc. Apple Inc.
E. Ruffini E. Ruffini
OutSys OutSys
October 31, 2019 February 21, 2020
Simple Two-way Active Measurement Protocol Optional Extensions Simple Two-way Active Measurement Protocol Optional Extensions
draft-ietf-ippm-stamp-option-tlv-02 draft-ietf-ippm-stamp-option-tlv-03
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. specification.
Status of This Memo Status of This Memo
skipping to change at page 1, line 41 skipping to change at page 1, line 41
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 May 3, 2020. This Internet-Draft will expire on August 24, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2019 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
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
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. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3
3. Theory of Operation . . . . . . . . . . . . . . . . . . . . . 3 3. STAMP Test Session Identifier . . . . . . . . . . . . . . . . 4
4. TLV Extensions to STAMP . . . . . . . . . . . . . . . . . . . 4 4. TLV Extensions to STAMP . . . . . . . . . . . . . . . . . . . 8
4.1. Extra Padding TLV . . . . . . . . . . . . . . . . . . . . 6 4.1. Extra Padding TLV . . . . . . . . . . . . . . . . . . . . 9
4.2. Location TLV . . . . . . . . . . . . . . . . . . . . . . 6 4.2. Location TLV . . . . . . . . . . . . . . . . . . . . . . 10
4.3. Timestamp Information TLV . . . . . . . . . . . . . . . . 8 4.3. Timestamp Information TLV . . . . . . . . . . . . . . . . 11
4.4. Class of Service TLV . . . . . . . . . . . . . . . . . . 9 4.4. Class of Service TLV . . . . . . . . . . . . . . . . . . 12
4.5. Direct Measurement TLV . . . . . . . . . . . . . . . . . 10 4.5. Direct Measurement TLV . . . . . . . . . . . . . . . . . 14
4.6. Access Report TLV . . . . . . . . . . . . . . . . . . . . 11 4.6. Access Report TLV . . . . . . . . . . . . . . . . . . . . 14
4.7. Follow-up Telemetry TLV . . . . . . . . . . . . . . . . . 13 4.7. Follow-up Telemetry TLV . . . . . . . . . . . . . . . . . 16
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 4.8. HMAC TLV . . . . . . . . . . . . . . . . . . . . . . . . 17
5.1. STAMP TLV Registry . . . . . . . . . . . . . . . . . . . 14 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 19
5.2. Synchronization Source Sub-registry . . . . . . . . . . . 15 5.1. STAMP TLV Registry . . . . . . . . . . . . . . . . . . . 19
5.3. Timestamping Method Sub-registry . . . . . . . . . . . . 16 5.2. Synchronization Source Sub-registry . . . . . . . . . . . 20
5.4. Access ID Sub-registry . . . . . . . . . . . . . . . . . 17 5.3. Timestamping Method Sub-registry . . . . . . . . . . . . 20
5.5. Return Code Sub-registry . . . . . . . . . . . . . . . . 17 5.4. Access ID Sub-registry . . . . . . . . . . . . . . . . . 21
6. Security Considerations . . . . . . . . . . . . . . . . . . . 18 5.5. Return Code Sub-registry . . . . . . . . . . . . . . . . 22
7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 18 6. Security Considerations . . . . . . . . . . . . . . . . . . . 23
8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 18 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 23
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 19 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 23
9.1. Normative References . . . . . . . . . . . . . . . . . . 19 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 23
9.2. Informative References . . . . . . . . . . . . . . . . . 19 9.1. Normative References . . . . . . . . . . . . . . . . . . 23
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 9.2. Informative References . . . . . . . . . . . . . . . . . 24
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24
1. Introduction 1. Introduction
Simple Two-way Active Measurement Protocol (STAMP) Simple Two-way Active Measurement Protocol (STAMP)
[I-D.ietf-ippm-stamp] supports the use of optional extensions that [I-D.ietf-ippm-stamp] supports the use of optional extensions that
use Type-Length-Value (TLV) encoding. Such extensions are to enhance use Type-Length-Value (TLV) encoding. Such extensions are to enhance
the STAMP base functions, such as measurement of one-way and round- the STAMP base functions, such as measurement of one-way and round-
trip delay, latency, packet loss, as well as ability to detect packet trip delay, latency, packet loss, as well as ability to detect packet
duplication and out-of-order delivery of the test packets. This duplication and out-of-order delivery of the test packets. This
specification provides definitions of optional STAMP extensions, specification provides definitions of optional STAMP extensions,
skipping to change at page 3, line 39 skipping to change at page 3, line 39
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 Zeroed
CoS Class of Service CoS Class of Service
PMF Performance Measurement Function PMF Performance Measurement Function
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",
"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. Theory of Operation 3. STAMP Test Session Identifier
STAMP Session-Sender transmits test packets to STAMP Session- STAMP Session-Sender transmits test packets to STAMP Session-
Reflector. STAMP Session-Reflector receives Session-Sender's packet Reflector. STAMP Session-Reflector receives Session-Sender's packet
and acts according to the configuration and optional control and acts according to the configuration and optional control
information communicated in the Session-Sender's test packet. STAMP information communicated in the Session-Sender's test packet. STAMP
defines two different test packet formats, one for packets defines two different test packet formats, one for packets
transmitted by the STAMP-Session-Sender and one for packets transmitted by the STAMP-Session-Sender and one for packets
transmitted by the STAMP-Session-Reflector. STAMP supports two transmitted by the STAMP-Session-Reflector. STAMP supports two
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.
4. TLV Extensions to STAMP A STAMP Session is identified using 4-tuple (source and destination
IP addresses, source and destination UDP port numbers). A STAMP
Figure 1 displays the format of STAMP Session-Sender test packet in Session-Sender MAY generate locally unique STAMP Session Identifier
unauthenticated mode that includes a TLV. (SSID). SSID is two octets long non-zero unsigned integer. A
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
test session. In the unauthenticated mode, SSID is located, as
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Timestamp | | Timestamp |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Error Estimate | | | Error Estimate | SSID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
| | | |
| MBZ (30 octets) | | MBZ (28 octets) |
| | | |
| | | |
| | | |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Value ~ ~ Value ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: STAMP Session-Sender test packet format with TLV in Figure 1: STAMP Session-Sender test packet format with TLV in
unauthenticated mode unauthenticated mode
The MBZ (Must Be Zeroed) field of a test packet transmitted by a An implementation of STAMP Session-Reflector that supports this
STAMP Session-Sender MUST be 30 octets long. A STAMP Session-Sender specification SHOULD identify a STAMP Session using the SSID in
test packet MUST NOT use the Reflect Octets capability defined in combination with elements of the usual 4-tuple. A conforming
[RFC6038]. implementation of STAMP Session-Reflector MUST copy the SSID value
from the received test packet and put it into the reflected packet as
TLVs (Type-Length-Value tuples) have the two octets long Type field, displayed in Figure 2.
two octets long Length field that is the length of the Value field in
octets. Type values, see Section 5.1, less than 32768 identify
mandatory TLVs that MUST be supported by an implementation. Type
values greater than or equal to 32768 identify optional TLVs that
SHOULD be ignored if the implementation does not understand or
support them. If a Type value 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 the Structure of Management Information
(SMI) Private Enterprise Number, in network octet order. The rest of
the Value field is private to the vendor. Following sections
describe the use of TLVs for STAMP that extend STAMP capability
beyond its base specification.
Figure 2 displays the format of STAMP Session-Reflector test packet
in unauthenticated mode that includes a 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number | | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Timestamp | | Timestamp |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Error Estimate | MBZ | | Error Estimate | SSID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receive Timestamp | | Receive Timestamp |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Session-Sender Sequence Number | | Session-Sender Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Session-Sender Timestamp | | Session-Sender Timestamp |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Session-Sender Error Estimate | MBZ | | Session-Sender Error Estimate | MBZ |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ses-Sender TTL | MBZ2 | |Ses-Sender TTL | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | | Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Value ~ ~ Value ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: STAMP Session-Reflector test packet format with TLV in Figure 2: STAMP Session-Reflector test packet format with TLV in
unauthenticated mode unauthenticated mode
The MBZ2 field of a test packet transmitted by a STAMP Session- A STAMP Session-Reflector that does not support this specification,
Reflector MUST be 3 octets long. 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
SSID field.
In the authenticated mode, location of SSID field is shown in
Figure 3 and Figure 4.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| MBZ (12 octets) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Timestamp |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Error Estimate | SSID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ ~
| MBZ (68 octets) |
~ ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| HMAC (16 octets) |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: STAMP Session-Sender test packet format in authenticated
mode
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MBZ (12 octets) |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Timestamp |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Error Estimate | SSID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MBZ (4 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Receive Timestamp |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MBZ (8 octets) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Session-Sender Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MBZ (12 octets) |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Session-Sender Timestamp |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Session-Sender Error Estimate | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +
| MBZ (6 octets) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|Ses-Sender TTL | |
+-+-+-+-+-+-+-+-+ +
| |
| MBZ (15 octets) |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| HMAC (16 octets) |
| |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: STAMP Session-Reflector test packet format in authenticated
mode
4. TLV Extensions to STAMP
Type-Length-Value (TLV) encoding scheme provides flexible extension
mechanism for optional informational elements. TLV is an optional
field in the STAMP test packet. TLVs have the two octets long Type
field, two octets long Length field that is the length of the Value
field in octets. Type values, see Section 5.1, less than 32768
identify mandatory TLVs that MUST be supported by an implementation.
Type values greater than or equal to 32768 identify optional TLVs
that SHOULD be ignored if the implementation does not understand or
support them. If a Type value 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 the Structure of Management Information
(SMI) Private Enterprise Number, in network octet order. The rest of
the Value field is private to the vendor. 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
MUST validate each fixed-size TLV by verifying that the value in the
Length field equals the value defined for the particular type. If
the values are not equal, the processing of extension TLVs MUST be
stopped and the event logged (logging SHOULD be throttled). Also, if
the system is the Session-Reflector in that test, it MUST send
(transmission of ICMP Error messages SHOULD be throttled) the ICMP
Parameter Problem message with Code set to 0 and the Pointer
referring to the Length field of the TLV.
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 ~
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 3: 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 zeroes.
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 in STAMP the Packet Padding field TWAMP-Test packet [RFC5357]. The Extra Padding TLV MUST be used to
is used to ensure symmetrical size between Session-Sender and create STAMP test packets of larger size. The Extra Padding TLV MUST
Session-Reflector test packets. Extra Padding TLV MUST be used to be the last TLV in a STAMP test packet.
create STAMP test packets of larger size.
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 value of the Length field is invalid, the session-reflector MUST zero
all fields and MUST NOT return any information to the session-sender. all 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 A | | | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Destination IP Address ~ ~ Destination IP Address ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
~ Source IP Address ~ ~ Source IP Address ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Dest.port | Src.Port | Reserved B | | Destination Port | Source Port |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: 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 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 20 octets for the IPv4 address octets. Length field value MUST be 20 octets for the IPv4 address
family. For the IPv6 address family value of the Length field family. For the IPv6 address family value of the Length field
MUST be 44 octets. All other values are invalid. MUST be 44 octets. All other values are 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 A - two octets long field. MUST be zeroed on o Reserved - two octets long field. MUST be zeroed on transmission
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. received by the session-reflector STAMP packet.
o Source IP Address - IPv4 or IPv6 source address of the received by o Source IP Address - IPv4 or IPv6 source address of the received by
the session-reflector STAMP packet. the session-reflector STAMP packet.
o Dest.port - one octet long UDP destination port number of the o Destination Port - two octets long UDP destination port number of
received STAMP packet. the received STAMP packet.
o Src.port - one octet long UDP source port number of the received
STAMP packet.
o Reserved B - two octets long field. MUST be zeroed on o Source Port - two octets long UDP source port number of the
transmission and ignored on reception. 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-
skipping to change at page 8, line 40 skipping to change at page 11, line 43
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 5: 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, equals four octets.
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 of methods to synchronize the clock, e.g., There are several of methods to synchronize the clock, e.g.,
Network Time Protocol (NTP) [RFC5905], Precision Time Protocol Network Time Protocol (NTP) [RFC5905], Precision Time Protocol
(PTP) [IEEE.1588.2008], Synchronization Supply Unit (SSU) or (PTP) [IEEE.1588.2008], Synchronization Supply Unit (SSU) or
Building Integrated Timing Supply (BITS), or Global Positioning Building Integrated Timing Supply (BITS), or Global Positioning
System (GPS), Global Orbiting Navigation Satellite System System (GPS), Global Orbiting Navigation Satellite System
(GLONASS) and Long Range Navigation System Version C (LORAN-C). (GLONASS) and Long Range Navigation System Version C (LORAN-C).
The value is one of the 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
skipping to change at page 9, line 49 skipping to change at page 13, line 13
the reverse direction. 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 6: 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, equals four octets.
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.
skipping to change at page 11, line 17 skipping to change at page 14, line 24
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 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 7: 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 be 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.
4.6. Access Report TLV 4.6. Access Report TLV
A STAMP Session-Sender MAY include Access Report TLV (Figure 8) 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 | | Access ID | Return Code | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 8: 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, equals four octets.
o Access ID - one octet long field that identifies the access o Access ID - one octet 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].
skipping to change at page 13, line 36 skipping to change at page 17, line 12
(defined in Section 4.2 [I-D.ietf-ippm-stamp]), it MUST zero Sequence (defined in Section 4.2 [I-D.ietf-ippm-stamp]), it MUST zero Sequence
Number and Timestamp fields. Number and 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 | | Follow-up Telemetry Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number | | Sequence Number |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Timestamp | | Follow-up Timestamp |
| | | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Timestamp M | Reserved | | Timestamp M | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 9: 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 12 octets. o Length - two octets long field, equals 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 [I-D.ietf-ippm-stamp]), it is the Session- (defined in Section 4.2 [I-D.ietf-ippm-stamp]), it is the Session-
Reflector's Sequence Number of the previous reflected packet. Reflector's Sequence Number of the previous reflected packet.
o Timestamp - eight octets long field, with the format indicated by o Follow-up Timestamp - eight octets long field, with the format
the Z flag of the Error Estimate field as described in Section 4.1 indicated by the Z flag of the Error Estimate field of the packet
transmitted by a Session-Reflector, as described in Section 4.1
[I-D.ietf-ippm-stamp]. It carries the timestamp when the [I-D.ietf-ippm-stamp]. It carries the timestamp when the
reflected packet with the specified sequence number was sent.. reflected packet 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 timestamp. The value is one of the listed in obtained the Follow-up Timestamp. The value is one of the listed
Table 6. in Table 6.
o Reserved - the field MUST be zeroed on transmission and ignored on o Reserved - the three octest-long field. Its value MUST be zeroed
receipt. on transmission and ignored on receipt.
4.8. HMAC TLV
The STAMP authenticated mode protects the integrity of data collected
in STAMP base packet. STAMP extensions are designed to provide
valuable information about the condition of a network, and protecting
the integrity of that data is also essential. The keyed Hashed
Message Authentication Code (HMAC) TLV MUST be included in a STAMP
test packet in the authenticated mode, excluding when the only TLV
present is Extra Padding TLV. The HMAC TLV MUST follow all TLVs
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
in STAMP unauthenticated mode.
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| HMAC Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
| HMAC |
| |
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 12: HMAC TLV
where fields are defined as follows:
o HMAC Type - is two octets long field, value TBA8 allocated by IANA
Section 5.1.
o Length - two octets long field, equals 16 octets.
o HMAC - is 16 octets long field that carries HMAC digest of the
text of all preceding TLVs.
As defined in [I-D.ietf-ippm-stamp], STAMP uses HMAC-SHA-256
truncated to 128 bits ([RFC4868]). All considerations regarding
using the key and key distribution and management listed in
Section 4.4 of [I-D.ietf-ippm-stamp] are fully applicable to the use
of the HMAC TLV. HMAC is calculated as defined in [RFC2104] over
text as the concatenation of all preceding TLVs. The digest then
MUST be truncated to 128 bits and written into the HMAC field. In
the authenticated mode, HMAC MUST be verified before using any data
in the included STAMP TLVs. If HMAC verification by the Session-
Reflector fails, then an ICMP Parameter Problem message MUST be
generated (with consideration of limiting the rate of error
messages). The Code value MUST be set to 0 and the Pointer
identifying HMAC Type. Also, both Session-Sender and Session-
Reflector SHOULD log the notification that HMAC verification of STAMP
TLVs failed. The packet that failed HMAC verification MUST be
dropped.
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
skipping to change at page 15, line 12 skipping to change at page 19, line 42
This document defines the following new values in the STAMP TLV Type This document defines the following new values in the STAMP TLV Type
registry: 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 |
| 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 |
+-------+-----------------------+---------------+ +-------+-----------------------+---------------+
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 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
skipping to change at page 19, line 12 skipping to change at page 23, line 36
Phone: +86 18105183663 Phone: +86 18105183663
Email: guo.jun2@zte.com.cn Email: guo.jun2@zte.com.cn
9. References 9. References
9.1. Normative References 9.1. Normative References
[I-D.ietf-ippm-stamp] [I-D.ietf-ippm-stamp]
Mirsky, G., Jun, G., Nydell, H., and R. Foote, "Simple Mirsky, G., Jun, G., Nydell, H., and R. Foote, "Simple
Two-way Active Measurement Protocol", draft-ietf-ippm- Two-way Active Measurement Protocol", draft-ietf-ippm-
stamp-09 (work in progress), October 2019. stamp-10 (work in progress), October 2019.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J. [RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J.
Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)", Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)",
RFC 5357, DOI 10.17487/RFC5357, October 2008, RFC 5357, DOI 10.17487/RFC5357, October 2008,
<https://www.rfc-editor.org/info/rfc5357>. <https://www.rfc-editor.org/info/rfc5357>.
[RFC6038] Morton, A. and L. Ciavattone, "Two-Way Active Measurement
Protocol (TWAMP) Reflect Octets and Symmetrical Size
Features", RFC 6038, DOI 10.17487/RFC6038, October 2010,
<https://www.rfc-editor.org/info/rfc6038>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26, Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>. <https://www.rfc-editor.org/info/rfc8126>.
[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>.
9.2. Informative References 9.2. Informative References
[IEEE.1588.2008] [IEEE.1588.2008]
"Standard for a Precision Clock Synchronization Protocol "Standard for a Precision Clock Synchronization Protocol
for Networked Measurement and Control Systems", for Networked Measurement and Control Systems",
IEEE Standard 1588, March 2008. IEEE Standard 1588, March 2008.
[RFC2104] Krawczyk, H., Bellare, M., and R. Canetti, "HMAC: Keyed-
Hashing for Message Authentication", RFC 2104,
DOI 10.17487/RFC2104, February 1997,
<https://www.rfc-editor.org/info/rfc2104>.
[RFC4868] Kelly, S. and S. Frankel, "Using HMAC-SHA-256, HMAC-SHA-
384, and HMAC-SHA-512 with IPsec", RFC 4868,
DOI 10.17487/RFC4868, May 2007,
<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 [TS23501] 3GPP (3rd Generation Partnership Project), "Technical
Specification Group Services and System Aspects; System Specification Group Services and System Aspects; System
Architecture for the 5G System; Stage 2 (Release 16)", Architecture for the 5G System; Stage 2 (Release 16)",
3GPP TS23501, 2019. 3GPP TS23501, 2019.
 End of changes. 41 change blocks. 
97 lines changed or deleted 257 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/