idnits 2.17.1 draft-mirsky-ippm-stamp-option-tlv-01.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (April 12, 2018) is 2198 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: A later version (-10) exists of draft-ietf-ippm-stamp-01 Summary: 0 errors (**), 0 flaws (~~), 2 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group G. Mirsky 3 Internet-Draft X. Min 4 Intended status: Standards Track ZTE Corp. 5 Expires: October 14, 2018 G. Jun 6 ZTE Corporation 7 H. Nydell 8 Accedian Networks 9 R. Foote 10 Nokia 11 April 12, 2018 13 Simple Two-way Active Measurement Protocol Optional Extensions 14 draft-mirsky-ippm-stamp-option-tlv-01 16 Abstract 18 This document describes optional extensions to Simple Two-way Active 19 Measurement Protocol (STAMP) which enable measurement performance 20 metrics in addition to ones enabled by the STAMP base specification. 22 Status of This Memo 24 This Internet-Draft is submitted in full conformance with the 25 provisions of BCP 78 and BCP 79. 27 Internet-Drafts are working documents of the Internet Engineering 28 Task Force (IETF). Note that other groups may also distribute 29 working documents as Internet-Drafts. The list of current Internet- 30 Drafts is at https://datatracker.ietf.org/drafts/current/. 32 Internet-Drafts are draft documents valid for a maximum of six months 33 and may be updated, replaced, or obsoleted by other documents at any 34 time. It is inappropriate to use Internet-Drafts as reference 35 material or to cite them other than as "work in progress." 37 This Internet-Draft will expire on October 14, 2018. 39 Copyright Notice 41 Copyright (c) 2018 IETF Trust and the persons identified as the 42 document authors. All rights reserved. 44 This document is subject to BCP 78 and the IETF Trust's Legal 45 Provisions Relating to IETF Documents 46 (https://trustee.ietf.org/license-info) in effect on the date of 47 publication of this document. Please review these documents 48 carefully, as they describe your rights and restrictions with respect 49 to this document. Code Components extracted from this document must 50 include Simplified BSD License text as described in Section 4.e of 51 the Trust Legal Provisions and are provided without warranty as 52 described in the Simplified BSD License. 54 Table of Contents 56 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 57 2. Conventions used in this document . . . . . . . . . . . . . . 2 58 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 2 59 2.2. Requirements Language . . . . . . . . . . . . . . . . . . 3 60 3. Theory of Operation . . . . . . . . . . . . . . . . . . . . . 3 61 4. TLV Extensions to STAMP . . . . . . . . . . . . . . . . . . . 3 62 4.1. Extra Padding TLV . . . . . . . . . . . . . . . . . . . . 3 63 4.2. Location TLV . . . . . . . . . . . . . . . . . . . . . . 4 64 4.3. Timestamp Information TLV . . . . . . . . . . . . . . . . 6 65 4.4. Class of Service TLV . . . . . . . . . . . . . . . . . . 6 66 4.5. Direct Measurement TLV . . . . . . . . . . . . . . . . . 7 67 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 68 5.1. STAMP TLV Registry . . . . . . . . . . . . . . . . . . . 8 69 5.2. Synchronization Source Sub-registry . . . . . . . . . . . 9 70 5.3. Timestamp Method Sub-registry . . . . . . . . . . . . . . 9 71 5.4. CoS Operation Sub-registry . . . . . . . . . . . . . . . 9 72 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 73 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 10 74 8. Normative References . . . . . . . . . . . . . . . . . . . . 10 75 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 77 1. Introduction 79 Simple Two-way Active Measurement Protocol (STAMP) 80 [I-D.ietf-ippm-stamp] supports the use of optional extensions that 81 use Type-Length-Value (TLV) encoding. Such extensions are to enhance 82 the STAMP base functions, such as measurement of one-way and round- 83 trip delay, latency, packet loss, as well as ability to detect packet 84 duplication and out-of-order delivery of the test packets. This 85 specification provides definitions of optional STAMP extensions, 86 their formats, and theory of operation. 88 2. Conventions used in this document 90 2.1. Terminology 92 STAMP - Simple Two-way Active Measurement Protocol 94 DSCP - Differentiated Services Code Point 96 ECN - Explicit Congestion Notification 97 NTP - Network Time Protocol 99 PTP - Precision Time Protocol 101 HMAC Hashed Message Authentication Code 103 TLV Type-Length-Value 105 2.2. Requirements Language 107 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 108 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 109 "OPTIONAL" in this document are to be interpreted as described in BCP 110 14 [RFC2119] [RFC8174] when, and only when, they appear in all 111 capitals, as shown here. 113 3. Theory of Operation 115 STAMP Session-Sender transmits test packets to STAMP Session- 116 Reflector. STAMP Session-Reflector receives Session-Sender's packet 117 and acts according to the configuration and optional control 118 information communicated in the Session-Sender's test packet. STAMP 119 defines two different test packet formats, one for packets 120 transmitted by the STAMP-Session-Sender and one for packets 121 transmitted by the STAMP-Session-Reflector. STAMP supports three 122 modes: unauthenticated, authenticated, and encrypted. 123 Unauthenticated STAMP test packets are compatible on the wire with 124 unauthenticated TWAMP-Test [RFC5357] packet formats. 126 By default, STAMP uses symmetrical packets, i.e. size of the packet 127 transmitted by Session-Reflector equals to the size of the packet 128 received by the Session-Reflector. 130 4. TLV Extensions to STAMP 132 TBA 134 4.1. Extra Padding TLV 136 TBA 137 0 1 2 3 138 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 139 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 140 | Extra Padding Type | Length | 141 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 142 | | 143 ~ Extra Padding ~ 144 | | 145 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 147 Figure 1: Extra Padding TLV 149 where fields are defined as the following: 151 o Extra Padding Type - TBA1 allocated by IANA Section 5.1 153 o Length - 2 octets long field equals length on the Extra Padding 154 field in octets. 156 o Extra Padding - a pseudo-random sequence of numbers. The field 157 MAY be filled with all zeroes. 159 4.2. Location TLV 161 STAMP session-sender MAY include the Location TLV to request 162 information from the session-reflector. The session-sender SHOULD 163 NOT fill any information fields except for Type and Length. The 164 session-reflector MUST validate the Length value against address 165 family of the transport encapsulating the STAMP test packet. If the 166 value of the Length field is invalid, the session-reflector MUST zero 167 all fields and MUST NOT return any information to the session-sender. 168 The session-reflector MUST ignore all other fields of the received 169 Location TLV. 171 0 1 2 3 172 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 173 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 174 | Location Type | Length | 175 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 176 | Source MAC | 177 + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 178 | | Reserved A | 179 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 180 ~ Destination IP Address ~ 181 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 182 ~ Source IP Address ~ 183 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 184 | Dest.port | Src.Port | Reserved B | 185 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 187 Figure 2: Session-Reflector Location TLV 189 where fields are defined as the following: 191 o Location Type - TBA2 allocated by IANA Section 5.1 193 o Length - 2 octets long field equals length on the Value field in 194 octets. Length field value MUST be 20 octets for the IPv4 address 195 family. For the IPv6 address family value of the Length field 196 MUST be 44 octets. All other values are invalid 198 o Source MAC - 6 octets 48 bits long field. The session-reflector 199 MUST copy Source MAC of received STAMP packet into this field. 201 o Reserved A - two octets long field. MUST be zeroed on 202 transmission and ignored on reception. 204 o Destination IP Address - IPv4 or IPv6 destination address of the 205 received by the session-reflector STAMP packet. 207 o Source IP Address - IPv4 or IPv6 source address of the received by 208 the session-reflector STAMP packet. 210 o Dest.port - one octet long UDP destination port number of the 211 received STAMP packet. 213 o Src.port - one octet long UDP source port number of the received 214 STAMP packet. 216 o Reserved B - two octets long field. MUST be zeroed on 217 transmission and ignored on reception. 219 4.3. Timestamp Information TLV 221 STAMP session-sender MAY include the Timestamp Information TLV to 222 request information from the session-reflector. The session-sender 223 SHOULD NOT fill any information fields except for Type and Length. 224 The session-reflector MUST validate the Length value of the STAMP 225 test packet. If the value of the Length field is invalid, the 226 session-reflector MUST zero all fields and MUST NOT return any 227 information to the session-sender. 229 0 1 2 3 230 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 231 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 232 | Timestamp Information Type | Length | 233 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 234 | Synchronization Source | Timestamp Method | 235 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 237 Figure 3: Timestamp Information TLV 239 where fields are defined as the following: 241 o Timestamp Information Type - TBA3 allocated by IANA Section 5.1 243 o Length - 2 octets long field, equals 4 octets. 245 o Synchronization Source - two octets long field that characterizes 246 the source of clock synchronization at the session-reflector. The 247 value is one of Section 5.2. 249 o Timestamp Method - two octets long field that characterizes 250 timestamping method at the session-reflector. The value is one of 251 Section 5.3. [Ed.note: Should it be split for ingress and 252 egress?] 254 4.4. Class of Service TLV 256 The STAMP session-sender MAY include Class of Service TLV in the 257 STAMP test packet. If the Class of Service TLV is present in the 258 STAMP test packet and the value of the Op field equals Report (TBA5) 259 value Section 5.4, then the STAMP session-reflector MUST copy 260 Differentiated Services Code Point (DSCP) and Explicit Congestion 261 Notification (ECN) values from the received STAMP test packet into 262 DSCP and ECN fields of the Class of Service TLV of the reflected 263 STAMP test packet. If the value of the Op field equals Set and 264 Report (TBA6) Section 5.4, then the STAMP session-reflector MUST use 265 DSCP value from the Class of Service TLV in the received STAMP test 266 packet as DSCP value of STAMP reflected test packet and MUST copy 267 DSCP and ECN values of the received STAMP test packet into DSCP and 268 ECN fields of Class of Service TLV in the STAMP reflected a packet. 270 0 1 2 3 271 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 272 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 273 | Class of Service Type | Length | 274 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 275 | Op | Reserved | DSCP |ECN| 276 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 278 Figure 4: Class of Service TLV 280 where fields are defined as the following: 282 o Class of Service Type - TBA4 allocated by IANA Section 5.1 284 o Length - 2 octets long field, equals 4 octets. 286 o Op - 4 bits long field with the value set to operation code point: 288 * TBA5 - Report CoS values by STAMP Session-Reflector 290 * TBA6 - Set and Report CoS values to be used for reflected STAMP 291 test packet 293 o Reserved - 20 bits long field, must be zeroed in transmission and 294 ignored on receipt. 296 o DSCP - Differentiated Services Code Point (DSCP). 298 o ECN - Explicit Congestion Notification. 300 4.5. Direct Measurement TLV 302 The Direct Measurement TLV enables collection of "in profile" IP 303 packets that had been transmitted and received by the Session-Sender 304 and Session-Reflector respectfully. The definition of "in-profile 305 packet" is outside the scope of this document. 307 0 1 2 3 308 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 309 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 310 | Direct Measurement Type | Length | 311 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 312 | Session-Sender Tx counter (S_TxC) | 313 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 314 | Session-Reflector Rx counter (R_RxC) | 315 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 316 | Session-Reflector Tx counter (R_TxC) | 317 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 319 Figure 5: Direct Measurement TLV 321 where fields are defined as the following: 323 o Direct Measurement Type - TBA5 allocated by IANA Section 5.1 325 o Length - 2 octets long field equals length on the Value field in 326 octets. Length field value MUST be 12 octets. 328 o Session-Sender Tx counter (S_TxC) is four octets long field. 330 o Session-Reflector Rx counter (R_RxC) is four octets long field. 331 MUST be zeroed by the Session-Sender and filled by the Session- 332 Reflector. 334 o Session-Reflector Tx counter (R_TxC).is four octets long field. 335 MUST be zeroed by the Session-Sender and filled by the Session- 336 Reflector. 338 5. IANA Considerations 340 5.1. STAMP TLV Registry 342 IANA is requested to create STAMP TLV Type registry. All code points 343 in the range 1 through 32759 in this registry shall be allocated 344 according to the "IETF Review" procedure as specified in [RFC8126]. 345 Code points in the range 32760 through 65279 in this registry shall 346 be allocated according to the "First Come First Served" procedure as 347 specified in [RFC8126]. Remaining code points are allocated 348 according to the Table 1: 350 +---------------+--------------+-------------------------+ 351 | Value | Description | Reference | 352 +---------------+--------------+-------------------------+ 353 | 0 | Reserved | This document | 354 | 1- 32759 | Unassigned | IETF Review | 355 | 32760 - 65279 | Unassigned | First Come First Served | 356 | 65280 - 65519 | Experimental | This document | 357 | 65520 - 65534 | Private Use | This document | 358 | 65535 | Reserved | This document | 359 +---------------+--------------+-------------------------+ 361 Table 1: STAMP TLV Type Registry 363 This document defines the following new values in STAMP TLV Type 364 registry: 366 +-------+-----------------------+---------------+ 367 | Value | Description | Reference | 368 +-------+-----------------------+---------------+ 369 | TBA1 | Extra Padding | This document | 370 | TBA2 | Location | This document | 371 | TBA3 | Timestamp Information | This document | 372 | TBA4 | Class of Service | This document | 373 | TBA5 | Direct Measurement | This document | 374 +-------+-----------------------+---------------+ 376 Table 2: STAMP Types 378 5.2. Synchronization Source Sub-registry 380 TBD 382 5.3. Timestamp Method Sub-registry 384 TBD 386 5.4. CoS Operation Sub-registry 388 TBD 390 6. Security Considerations 392 Use of HMAC in authenticated and encrypted modes may be used to 393 simultaneously verify both the data integrity and the authentication 394 of the STAMP test packets. 396 7. Acknowledgments 398 TBD 400 8. Normative References 402 [I-D.ietf-ippm-stamp] 403 Mirsky, G., Jun, G., Nydell, H., and R. Foote, "Simple 404 Two-way Active Measurement Protocol", draft-ietf-ippm- 405 stamp-01 (work in progress), March 2018. 407 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 408 Requirement Levels", BCP 14, RFC 2119, 409 DOI 10.17487/RFC2119, March 1997, 410 . 412 [RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J. 413 Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)", 414 RFC 5357, DOI 10.17487/RFC5357, October 2008, 415 . 417 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 418 Writing an IANA Considerations Section in RFCs", BCP 26, 419 RFC 8126, DOI 10.17487/RFC8126, June 2017, 420 . 422 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 423 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 424 May 2017, . 426 Authors' Addresses 428 Greg Mirsky 429 ZTE Corp. 431 Email: gregimirsky@gmail.com 433 Xiao Min 434 ZTE Corp. 436 Email: xiao.min2@zte.com.cn 437 Guo Jun 438 ZTE Corporation 439 68# Zijinghua Road 440 Nanjing, Jiangsu 210012 441 P.R.China 443 Phone: +86 18105183663 444 Email: guo.jun2@zte.com.cn 446 Henrik Nydell 447 Accedian Networks 449 Email: hnydell@accedian.com 451 Richard Foote 452 Nokia 454 Email: footer.foote@nokia.com