idnits 2.17.1 draft-ietf-ippm-metric-registry-19.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 : ---------------------------------------------------------------------------- -- The document has examples using IPv4 documentation addresses according to RFC6890, but does not use any IPv6 documentation addresses. Maybe there should be IPv6 examples, too? Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). == Using lowercase 'not' together with uppercase 'MUST', 'SHALL', 'SHOULD', or 'RECOMMENDED' is not an accepted usage according to RFC 2119. Please use uppercase 'NOT' together with RFC 2119 keywords (if that is what you mean). Found 'SHALL not' in this paragraph: This entry gives the version number for the registry format used. Formats complying with this memo MUST use 1.0. The version number SHALL not change unless a new RFC is published that changes the registry format. -- The document date (March 28, 2019) is 1849 days in the past. Is this intentional? Checking references for intended status: Best Current Practice ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Unused Reference: 'RFC2141' is defined on line 1391, but no explicit reference was found in the text == Unused Reference: 'RFC2679' is defined on line 1440, but no explicit reference was found in the text == Unused Reference: 'RFC3393' is defined on line 1448, but no explicit reference was found in the text == Unused Reference: 'RFC4566' is defined on line 1468, but no explicit reference was found in the text == Unused Reference: 'RFC5481' is defined on line 1487, but no explicit reference was found in the text == Unused Reference: 'RFC5905' is defined on line 1491, but no explicit reference was found in the text == Unused Reference: 'RFC6776' is defined on line 1501, but no explicit reference was found in the text == Unused Reference: 'RFC6792' is defined on line 1507, but no explicit reference was found in the text == Unused Reference: 'RFC7003' is defined on line 1516, but no explicit reference was found in the text ** Obsolete normative reference: RFC 2141 (Obsoleted by RFC 8141) ** Downref: Normative reference to an Informational RFC: RFC 2330 ** Obsolete normative reference: RFC 4148 (Obsoleted by RFC 6248) ** Downref: Normative reference to an Informational RFC: RFC 6248 == Outdated reference: A later version (-16) exists of draft-ietf-ippm-initial-registry-10 -- Obsolete informational reference (is this intentional?): RFC 2679 (Obsoleted by RFC 7679) -- Obsolete informational reference (is this intentional?): RFC 4566 (Obsoleted by RFC 8866) Summary: 4 errors (**), 0 flaws (~~), 13 warnings (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group M. Bagnulo 3 Internet-Draft UC3M 4 Intended status: Best Current Practice B. Claise 5 Expires: September 29, 2019 Cisco Systems, Inc. 6 P. Eardley 7 BT 8 A. Morton 9 AT&T Labs 10 A. Akhter 11 Consultant 12 March 28, 2019 14 Registry for Performance Metrics 15 draft-ietf-ippm-metric-registry-19 17 Abstract 19 This document defines the format for the IANA Performance Metrics 20 Registry. This document also gives a set of guidelines for 21 Registered Performance Metric requesters and reviewers. 23 Status of This Memo 25 This Internet-Draft is submitted in full conformance with the 26 provisions of BCP 78 and BCP 79. 28 Internet-Drafts are working documents of the Internet Engineering 29 Task Force (IETF). Note that other groups may also distribute 30 working documents as Internet-Drafts. The list of current Internet- 31 Drafts is at https://datatracker.ietf.org/drafts/current/. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 This Internet-Draft will expire on September 29, 2019. 40 Copyright Notice 42 Copyright (c) 2019 IETF Trust and the persons identified as the 43 document authors. All rights reserved. 45 This document is subject to BCP 78 and the IETF Trust's Legal 46 Provisions Relating to IETF Documents 47 (https://trustee.ietf.org/license-info) in effect on the date of 48 publication of this document. Please review these documents 49 carefully, as they describe your rights and restrictions with respect 50 to this document. Code Components extracted from this document must 51 include Simplified BSD License text as described in Section 4.e of 52 the Trust Legal Provisions and are provided without warranty as 53 described in the Simplified BSD License. 55 Table of Contents 57 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 4 59 3. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 60 4. Motivation for a Performance Metrics Registry . . . . . . . . 7 61 4.1. Interoperability . . . . . . . . . . . . . . . . . . . . 7 62 4.2. Single point of reference for Performance Metrics . . . . 8 63 4.3. Side benefits . . . . . . . . . . . . . . . . . . . . . . 8 64 5. Criteria for Performance Metrics Registration . . . . . . . . 9 65 6. Performance Metric Registry: Prior attempt . . . . . . . . . 9 66 6.1. Why this Attempt Will Succeed . . . . . . . . . . . . . . 10 67 7. Definition of the Performance Metric Registry . . . . . . . . 11 68 7.1. Summary Category . . . . . . . . . . . . . . . . . . . . 12 69 7.1.1. Identifier . . . . . . . . . . . . . . . . . . . . . 12 70 7.1.2. Name . . . . . . . . . . . . . . . . . . . . . . . . 13 71 7.1.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . 16 72 7.1.4. Description . . . . . . . . . . . . . . . . . . . . . 17 73 7.1.5. Reference . . . . . . . . . . . . . . . . . . . . . . 17 74 7.1.6. Change Controller . . . . . . . . . . . . . . . . . . 17 75 7.1.7. Version (of Registry Format) . . . . . . . . . . . . 17 76 7.2. Metric Definition Category . . . . . . . . . . . . . . . 17 77 7.2.1. Reference Definition . . . . . . . . . . . . . . . . 17 78 7.2.2. Fixed Parameters . . . . . . . . . . . . . . . . . . 18 79 7.3. Method of Measurement Category . . . . . . . . . . . . . 18 80 7.3.1. Reference Method . . . . . . . . . . . . . . . . . . 18 81 7.3.2. Packet Stream Generation . . . . . . . . . . . . . . 19 82 7.3.3. Traffic Filter . . . . . . . . . . . . . . . . . . . 19 83 7.3.4. Sampling Distribution . . . . . . . . . . . . . . . . 20 84 7.3.5. Run-time Parameters . . . . . . . . . . . . . . . . . 20 85 7.3.6. Role . . . . . . . . . . . . . . . . . . . . . . . . 21 86 7.4. Output Category . . . . . . . . . . . . . . . . . . . . . 21 87 7.4.1. Type . . . . . . . . . . . . . . . . . . . . . . . . 22 88 7.4.2. Reference Definition . . . . . . . . . . . . . . . . 22 89 7.4.3. Metric Units . . . . . . . . . . . . . . . . . . . . 22 90 7.4.4. Calibration . . . . . . . . . . . . . . . . . . . . . 22 91 7.5. Administrative information . . . . . . . . . . . . . . . 23 92 7.5.1. Status . . . . . . . . . . . . . . . . . . . . . . . 23 93 7.5.2. Requester . . . . . . . . . . . . . . . . . . . . . . 23 94 7.5.3. Revision . . . . . . . . . . . . . . . . . . . . . . 23 95 7.5.4. Revision Date . . . . . . . . . . . . . . . . . . . . 23 96 7.6. Comments and Remarks . . . . . . . . . . . . . . . . . . 23 98 8. The Life-Cycle of Registered Performance Metrics . . . . . . 24 99 8.1. Adding new Performance Metrics to the Performance Metrics 100 Registry . . . . . . . . . . . . . . . . . . . . . . . . 24 101 8.2. Revising Registered Performance Metrics . . . . . . . . . 25 102 8.3. Deprecating Registered Performance Metrics . . . . . . . 27 103 9. Security considerations . . . . . . . . . . . . . . . . . . . 27 104 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 28 105 10.1. Registry Group . . . . . . . . . . . . . . . . . . . . . 28 106 10.2. Performance Metric Name Elements . . . . . . . . . . . . 28 107 10.3. New Performance Metrics Registry . . . . . . . . . . . . 29 108 11. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 30 109 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 110 12.1. Normative References . . . . . . . . . . . . . . . . . . 30 111 12.2. Informative References . . . . . . . . . . . . . . . . . 31 112 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34 114 1. Introduction 116 The IETF specifies and uses Performance Metrics of protocols and 117 applications transported over its protocols. Performance metrics are 118 such an important part of the operations of IETF protocols that 119 [RFC6390] specifies guidelines for their development. 121 The definition and use of Performance Metrics in the IETF happens in 122 various working groups (WG), most notably: 124 The "IP Performance Metrics" (IPPM) WG is the WG primarily 125 focusing on Performance Metrics definition at the IETF. 127 The "Metric Blocks for use with RTCP's Extended Report Framework" 128 (XRBLOCK) WG recently specified many Performance Metrics related 129 to "RTP Control Protocol Extended Reports (RTCP XR)" [RFC3611], 130 which establishes a framework to allow new information to be 131 conveyed in RTCP, supplementing the original report blocks defined 132 in "RTP: A Transport Protocol for Real-Time Applications", 133 [RFC3550]. 135 The "Benchmarking Methodology" WG (BMWG) defined many Performance 136 Metrics for use in laboratory benchmarking of inter-networking 137 technologies. 139 The "IP Flow Information eXport" (IPFIX) concluded WG specified an 140 IANA process for new Information Elements. Some Performance 141 Metrics related Information Elements are proposed on regular 142 basis. 144 The "Performance Metrics for Other Layers" (PMOL) a concluded WG, 145 defined some Performance Metrics related to Session Initiation 146 Protocol (SIP) voice quality [RFC6035]. 148 It is expected that more Performance Metrics will be defined in the 149 future, not only IP-based metrics, but also metrics which are 150 protocol-specific and application-specific. 152 However, despite the importance of Performance Metrics, there are two 153 related problems for the industry. First, how to ensure that when 154 one party requests another party to measure (or report or in some way 155 act on) a particular Performance Metric, then both parties have 156 exactly the same understanding of what Performance Metric is being 157 referred to. Second, how to discover which Performance Metrics have 158 been specified, so as to avoid developing a new Performance Metric 159 that is very similar, but not quite inter-operable. The problems can 160 be addressed by creating a registry of performance metrics. The 161 usual way in which IETF organizes namespaces is with Internet 162 Assigned Numbers Authority (IANA) registries, and there is currently 163 no Performance Metrics Registry maintained by the IANA. 165 This document therefore requests that IANA create and maintain a 166 Performance Metrics Registry, according to the maintenance procedures 167 and the Performance Metrics Registry format defined in this memo. 168 The resulting Performance Metrics Registry is for use by the IETF and 169 others. Although the Registry formatting specifications herein are 170 primarily for registry creation by IANA, any other organization that 171 wishes to create a Performance Metrics Registry MAY use the same 172 formatting specifications for their purposes. The authors make no 173 guarantee of the registry format's applicability to any possible set 174 of Performance Metrics envisaged by other organizations, but 175 encourage others to apply it. In the remainder of this document, 176 unless we explicitly say otherwise, we will refer to the IANA- 177 maintained Performance Metrics Registry as simply the Performance 178 Metrics Registry. 180 2. Terminology 182 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 183 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 184 "OPTIONAL" in this document are to be interpreted as described in BCP 185 14[RFC2119] [RFC8174] when, and only when, they appear in all 186 capitals, as shown here. 188 Performance Metric: A Performance Metric is a quantitative measure 189 of performance, targeted to an IETF-specified protocol or targeted 190 to an application transported over an IETF-specified protocol. 191 Examples of Performance Metrics are the FTP response time for a 192 complete file download, the DNS response time to resolve the IP 193 address, a database logging time, etc. This definition is 194 consistent with the definition of metric in [RFC2330] and broader 195 than the definition of performance metric in [RFC6390]. 197 Registered Performance Metric: A Registered Performance Metric is a 198 Performance Metric expressed as an entry in the Performance 199 Metrics Registry, administered by IANA. Such a performance metric 200 has met all the registry review criteria defined in this document 201 in order to included in the registry. 203 Performance Metrics Registry: The IANA registry containing 204 Registered Performance Metrics. 206 Proprietary Registry: A set of metrics that are registered in a 207 proprietary registry, as opposed to Performance Metrics Registry. 209 Performance Metrics Experts: The Performance Metrics Experts is a 210 group of designated experts [RFC8126] selected by the IESG to 211 validate the Performance Metrics before updating the Performance 212 Metrics Registry. The Performance Metrics Experts work closely 213 with IANA. 215 Parameter: An input factor defined as a variable in the definition 216 of a Performance Metric. A numerical or other specified factor 217 forming one of a set that defines a metric or sets the conditions 218 of its operation. All Parameters must be known to measure using a 219 metric and interpret the results. There are two types of 220 Parameters, Fixed and Run-time parameters. For the Fixed 221 Parameters, the value of the variable is specified in the 222 Performance Metrics Registry entry and different Fixed Parameter 223 values results in different Registered Performance Metrics. For 224 the Run-time Parameters, the value of the variable is defined when 225 the metric measurement method is executed and a given Registered 226 Performance Metric supports multiple values for the parameter. 227 Although Run-time Parameters do not change the fundamental nature 228 of the Performance Metric's definition, some have substantial 229 influence on the network property being assessed and 230 interpretation of the results. 232 Note: Consider the case of packet loss in the following two 233 Active Measurement Method cases. The first case is packet loss 234 as background loss where the Run-time Parameter set includes a 235 very sparse Poisson stream, and only characterizes the times 236 when packets were lost. Actual user streams likely see much 237 higher loss at these times, due to tail drop or radio errors. 238 The second case is packet loss as inverse of throughput where 239 the Run-time Parameter set includes a very dense, bursty 240 stream, and characterizes the loss experienced by a stream that 241 approximates a user stream. These are both "loss metrics", but 242 the difference in interpretation of the results is highly 243 dependent on the Run-time Parameters (at least), to the extreme 244 where we are actually using loss to infer its compliment: 245 delivered throughput. 247 Active Measurement Method: Methods of Measurement conducted on 248 traffic which serves only the purpose of measurement and is 249 generated for that reason alone, and whose traffic characteristics 250 are known a priori. The complete definition of Active Methods is 251 specified in section 3.4 of[RFC7799]. Examples of Active 252 Measurement Methods are the measurement methods for the One way 253 delay metric defined in [RFC7679] and the one for round trip delay 254 defined in [RFC2681]. 256 Passive Measurement Method: Methods of Measurement conducted on 257 network traffic, generated either from the end users or from 258 network elements that would exist regardless whether the 259 measurement was being conducted or not. The complete definition 260 of Passive Methods is specified in section 3.6 of [RFC7799]. One 261 characteristic of Passive Measurement Methods is that sensitive 262 information may be observed, and as a consequence, stored in the 263 measurement system. 265 Hybrid Measurement Method: Hybrid Methods are Methods of Measurement 266 that use a combination of Active Methods and Passive Methods, to 267 assess Active Metrics, Passive Metrics, or new metrics derived 268 from the a priori knowledge and observations of the stream of 269 interest. The complete definition of Hybrid Methods is specified 270 in section 3.8 of [RFC7799]. 272 3. Scope 274 This document is meant mainly for two different audiences. For those 275 defining new Registered Performance Metrics, it provides 276 specifications and best practices to be used in deciding which 277 Registered Performance Metrics are useful for a measurement study, 278 instructions for writing the text for each column of the Registered 279 Performance Metrics, and information on the supporting documentation 280 required for the new Performance Metrics Registry entry (up to and 281 including the publication of one or more RFCs or I-Ds describing it). 282 For the appointed Performance Metrics Experts and for IANA personnel 283 administering the new IANA Performance Metrics Registry, it defines a 284 set of acceptance criteria against which these proposed Registered 285 Performance Metrics should be evaluated. In addition, this document 286 may be useful for other organizations who are defining a Performance 287 Metric registry of their own, and may re-use the features of the 288 Performance Metrics Registry defined in this document. 290 This Performance Metrics Registry is applicable to Performance 291 Metrics issued from Active Measurement, Passive Measurement, and any 292 other form of Performance Metric. This registry is designed to 293 encompass Performance Metrics developed throughout the IETF and 294 especially for the technologies specified in the following working 295 groups: IPPM, XRBLOCK, IPFIX, and BMWG. This document analyzes an 296 prior attempt to set up a Performance Metrics Registry, and the 297 reasons why this design was inadequate [RFC6248]. Finally, this 298 document gives a set of guidelines for requesters and expert 299 reviewers of candidate Registered Performance Metrics. 301 This document makes no attempt to populate the Performance Metrics 302 Registry with initial entries. 304 Based on [RFC8126] Section 4.3, this document is processed as Best 305 Current Practice (BCP) [RFC2026]. 307 4. Motivation for a Performance Metrics Registry 309 In this section, we detail several motivations for the Performance 310 Metrics Registry. 312 4.1. Interoperability 314 As any IETF registry, the primary use for a registry is to manage a 315 namespace for its use within one or more protocols. In the 316 particular case of the Performance Metrics Registry, there are two 317 types of protocols that will use the Performance Metrics in the 318 Performance Metrics Registry during their operation (by referring to 319 the Index values): 321 o Control protocol: this type of protocols is used to allow one 322 entity to request another entity to perform a measurement using a 323 specific metric defined by the Performance Metrics Registry. One 324 particular example is the LMAP framework [RFC7594]. Using the 325 LMAP terminology, the Performance Metrics Registry is used in the 326 LMAP Control protocol to allow a Controller to request a 327 measurement task to one or more Measurement Agents. In order to 328 enable this use case, the entries of the Performance Metrics 329 Registry must be well enough defined to allow a Measurement Agent 330 implementation to trigger a specific measurement task upon the 331 reception of a control protocol message. This requirement heavily 332 constrains the type of entries that are acceptable for the 333 Performance Metrics Registry. 335 o Report protocol: This type of protocols is used to allow an entity 336 to report measurement results to another entity. By referencing 337 to a specific Performance Metrics Registry, it is possible to 338 properly characterize the measurement result data being reported. 339 Using the LMAP terminology, the Performance Metrics Registry is 340 used in the Report protocol to allow a Measurement Agent to report 341 measurement results to a Collector. 343 It should be noted that the LMAP framework explicitly allows for 344 using not only the IANA-maintained Performance Metrics Registry but 345 also other registries containing Performance Metrics, either defined 346 by other organizations or private ones. However, others who are 347 creating Registries to be used in the context of an LMAP framework 348 are encouraged to use the Registry format defined in this document, 349 because this makes it easier for developers of LMAP Measurement 350 Agents (MAs) to programmatically use information found in those other 351 Registries' entries. 353 4.2. Single point of reference for Performance Metrics 355 A Performance Metrics Registry serves as a single point of reference 356 for Performance Metrics defined in different working groups in the 357 IETF. As we mentioned earlier, there are several WGs that define 358 Performance Metrics in the IETF and it is hard to keep track of all 359 them. This results in multiple definitions of similar Performance 360 Metrics that attempt to measure the same phenomena but in slightly 361 different (and incompatible) ways. Having a registry would allow 362 both the IETF community and external people to have a single list of 363 relevant Performance Metrics defined by the IETF (and others, where 364 appropriate). The single list is also an essential aspect of 365 communication about Performance Metrics, where different entities 366 that request measurements, execute measurements, and report the 367 results can benefit from a common understanding of the referenced 368 Performance Metric. 370 4.3. Side benefits 372 There are a couple of side benefits of having such a registry. 373 First, the Performance Metrics Registry could serve as an inventory 374 of useful and used Performance Metrics, that are normally supported 375 by different implementations of measurement agents. Second, the 376 results of measurements using the Performance Metrics would be 377 comparable even if they are performed by different implementations 378 and in different networks, as the Performance Metric is properly 379 defined. BCP 176 [RFC6576] examines whether the results produced by 380 independent implementations are equivalent in the context of 381 evaluating the completeness and clarity of metric specifications. 382 This BCP defines the standards track advancement testing for (active) 383 IPPM metrics, and the same process will likely suffice to determine 384 whether Registered Performance Metrics are sufficiently well 385 specified to result in comparable (or equivalent) results. 386 Registered Performance Metrics which have undergone such testing 387 SHOULD be noted, with a reference to the test results. 389 5. Criteria for Performance Metrics Registration 391 It is neither possible nor desirable to populate the Performance 392 Metrics Registry with all combinations of Parameters of all 393 Performance Metrics. The Registered Performance Metrics should be: 395 1. interpretable by the user. 397 2. implementable by the software designer, 399 3. deployable by network operators, 401 4. accurate, for interoperability and deployment across vendors, 403 5. Operationally useful, so that it has significant industry 404 interest and/or has seen deployment, 406 6. Sufficiently tightly defined, so that different values for the 407 Run-time Parameters does not change the fundamental nature of the 408 measurement, nor change the practicality of its implementation. 410 In essence, there needs to be evidence that a candidate Registered 411 Performance Metric has significant industry interest, or has seen 412 deployment, and there is agreement that the candidate Registered 413 Performance Metric serves its intended purpose. 415 6. Performance Metric Registry: Prior attempt 417 There was a previous attempt to define a metric registry RFC 4148 418 [RFC4148]. However, it was obsoleted by RFC 6248 [RFC6248] because 419 it was "found to be insufficiently detailed to uniquely identify IPPM 420 metrics... [there was too much] variability possible when 421 characterizing a metric exactly" which led to the RFC4148 registry 422 having "very few users, if any". 424 A couple of interesting additional quotes from RFC 6248 might help 425 understand the issues related to that registry. 427 1. "It is not believed to be feasible or even useful to register 428 every possible combination of Type P, metric parameters, and 429 Stream parameters using the current structure of the IPPM Metrics 430 Registry." 432 2. "The registry structure has been found to be insufficiently 433 detailed to uniquely identify IPPM metrics." 435 3. "Despite apparent efforts to find current or even future users, 436 no one responded to the call for interest in the RFC 4148 437 registry during the second half of 2010." 439 The current approach learns from this by tightly defining each 440 Registered Performance Metric with only a few variable (Run-time) 441 Parameters to be specified by the measurement designer, if any. The 442 idea is that entries in the Performance Metrics Registry stem from 443 different measurement methods which require input (Run-time) 444 parameters to set factors like source and destination addresses 445 (which do not change the fundamental nature of the measurement). The 446 downside of this approach is that it could result in a large number 447 of entries in the Performance Metrics Registry. There is agreement 448 that less is more in this context - it is better to have a reduced 449 set of useful metrics rather than a large set of metrics, some with 450 with questionable usefulness. 452 6.1. Why this Attempt Will Succeed 454 As mentioned in the previous section, one of the main issues with the 455 previous registry was that the metrics contained in the registry were 456 too generic to be useful. This document specifies stricter criteria 457 for performance metric registration (see section 6), and imposes a 458 group of Performance Metrics Experts that will provide guidelines to 459 assess if a Performance Metric is properly specified. 461 Another key difference between this attempt and the previous one is 462 that in this case there is at least one clear user for the 463 Performance Metrics Registry: the LMAP framework and protocol. 464 Because the LMAP protocol will use the Performance Metrics Registry 465 values in its operation, this actually helps to determine if a metric 466 is properly defined. In particular, since we expect that the LMAP 467 control protocol will enable a controller to request a measurement 468 agent to perform a measurement using a given metric by embedding the 469 Performance Metrics Registry value in the protocol, a metric is 470 properly specified if it is defined well-enough so that it is 471 possible (and practical) to implement the metric in the measurement 472 agent. This was the failure of the previous attempt: a registry 473 entry with an undefined Type-P (section 13 of RFC 2330 [RFC2330]) 474 allows implementation to be ambiguous. 476 7. Definition of the Performance Metric Registry 478 This Performance Metrics Registry is applicable to Performance 479 Metrics used for Active Measurement, Passive Measurement, and any 480 other form of Performance Metric. Each category of measurement has 481 unique properties, so some of the columns defined below are not 482 applicable for a given metric category. In this case, the column(s) 483 SHOULD be populated with the "NA" value (Non Applicable). However, 484 the "NA" value MUST NOT be used by any metric in the following 485 columns: Identifier, Name, URI, Status, Requester, Revision, Revision 486 Date, Description. In the future, a new category of metrics could 487 require additional columns, and adding new columns is a recognized 488 form of registry extension. The specification defining the new 489 column(s) MUST give guidelines to populate the new column(s) for 490 existing entries (in general). 492 The columns of the Performance Metrics Registry are defined below. 493 The columns are grouped into "Categories" to facilitate the use of 494 the registry. Categories are described at the 7.x heading level, and 495 columns are at the 7.x.y heading level. The Figure below illustrates 496 this organization. An entry (row) therefore gives a complete 497 description of a Registered Performance Metric. 499 Each column serves as a check-list item and helps to avoid omissions 500 during registration and expert review. 502 Registry Categories and Columns, shown as 504 Category 505 ------------------ 506 Column | Column | 508 Summary 509 ------------------------------------------------------------------------ 510 Identifier | Name | URIs | Desc. | Reference | Change Controller | Ver | 512 Metric Definition 513 ----------------------------------------- 514 Reference Definition | Fixed Parameters | 516 Method of Measurement 517 --------------------------------------------------------------------- 518 Reference | Packet | Traffic | Sampling | Run-time | Role | 519 Method | Stream | Filter | Distribution | Parameters | | 520 | Generation | 521 Output 522 ----------------------------------------- 523 Type | Reference | Units | Calibration | 524 | Definition | | | 526 Administrative Information 527 ---------------------------------- 528 Status |Request | Rev | Rev.Date | 530 Comments and Remarks 531 -------------------- 533 7.1. Summary Category 535 7.1.1. Identifier 537 A numeric identifier for the Registered Performance Metric. This 538 identifier MUST be unique within the Performance Metrics Registry. 540 The Registered Performance Metric unique identifier is an unbounded 541 integer (range 0 to infinity). 543 The Identifier 0 should be Reserved. The Identifier values from 544 64512 to 65536 are reserved for private use. 546 When adding newly Registered Performance Metrics to the Performance 547 Metrics Registry, IANA SHOULD assign the lowest available identifier 548 to the new Registered Performance Metric. 550 If a Performance Metrics Expert providing review determines that 551 there is a reason to assign a specific numeric identifier, possibly 552 leaving a temporary gap in the numbering, then the Performance Expert 553 SHALL inform IANA of this decision. 555 7.1.2. Name 557 As the name of a Registered Performance Metric is the first thing a 558 potential human implementor will use when determining whether it is 559 suitable for their measurement study, it is important to be as 560 precise and descriptive as possible. In future, users will review 561 the names to determine if the metric they want to measure has already 562 been registered, or if a similar entry is available as a basis for 563 creating a new entry. 565 Names are composed of the following elements, separated by an 566 underscore character "_": 568 MetricType_Method_SubTypeMethod_... Spec_Units_Output 570 o MetricType: a combination of the directional properties and the 571 metric measured, such as: 573 RTDelay (Round Trip Delay) 575 RTDNS (Response Time Domain Name Service) 577 RLDNS (Response Loss Domain Name Service) 579 OWDelay (One Way Delay) 581 RTLoss (Round Trip Loss) 583 OWLoss (One Way Loss) 585 OWPDV (One Way Packet Delay Variation) 587 OWIPDV (One Way Inter-Packet Delay Variation) 589 OWReorder (One Way Packet Reordering) 591 OWDuplic (One Way Packet Duplication) 593 OWBTC (One Way Bulk Transport Capacity) 595 OWMBM (One Way Model Based Metric) 597 SPMonitor (Single Point Monitor) 598 MPMonitor (Multi-Point Monitor) 600 o Method: One of the methods defined in [RFC7799], such as: 602 Active (depends on a dedicated measurement packet stream and 603 observations of the stream) 605 Passive (depends *solely* on observation of one or more 606 existing packet streams) 608 HybridType1 (obervations on one stream that combine both active 609 and passive methods) 611 HybridType2 (obervations on two or more streams that combine 612 both active and passive methods) 614 Spatial (Spatial Metric of RFC5644) 616 o SubTypeMethod: One or more sub-types to further describe the 617 features of the entry, such as: 619 ICMP (Internet Control Message Protocol) 621 IP (Internet Protocol) 623 DSCPxx (where xx is replaced by a Diffserv code point) 625 UDP (User Datagram Protocol) 627 TCP (Transport Control Protocol) 629 QUIC (QUIC transport protocol) 631 HS (Hand-Shake, such as TCP's 3-way HS) 633 Poisson (Packet generation using Poisson distribution) 635 Periodic (Periodic packet generation) 637 SendOnRcv (Sender keeps one packet in-transit by sending when 638 previous packet arrives) 640 PayloadxxxxB (where xxxx is replaced by an integer, the number 641 of octets in the Payload)) 643 SustainedBurst (Capacity test, worst case) 645 StandingQueue (test of bottleneck queue behavior) 647 SubTypeMethod values are separated by a hyphen "-" character, 648 which indicates that they belong to this element, and that their 649 order is unimportant when considering name uniqueness. 651 o Spec: RFC number and major section number that specifies this 652 Registry entry in the form RFCXXXXsecY, such as RFC7799sec3. 653 Note: the RFC number is not the Primary Reference specification 654 for the metric definition, such as [RFC7679] for One-way Delay; it 655 will contain the placeholder "RFCXXXXsecY" until the RFC number is 656 assigned to the specifying document, and would remain blank in 657 private registry entries without a corresponding RFC. 659 o Units: The units of measurement for the output, such as: 661 Seconds 663 Ratio (unitless) 665 Percent (value multiplied by 100) 667 Logical (1 or 0) 669 Packets 671 BPS (Bits per Second) 673 PPS (Packets per Second) 675 EventTotal (for unit-less counts) 677 Multiple (more than one type of unit) 679 Enumerated (a list of outcomes) 681 Unitless 683 o Output: The type of output resulting from measurement, such as: 685 Singleton 687 Raw (multiple Singletons) 689 Count 691 Minimum 693 Maximum 694 Median 696 Mean 698 95Percentile (95th Percentile) 700 99Percentile (99th Percentile) 702 StdDev (Standard Deviation) 704 Variance 706 PFI (Pass, Fail, Inconclusive) 708 FlowRecords (descriptions of flows observed) 710 LossRatio (lost packets to total packets, <=1) 712 An example is: 714 RTDelay_Active_IP-UDP-Periodic_RFCXXXXsecY_Seconds_95Percentile 716 as described in section 4 of [I-D.ietf-ippm-initial-registry]. 718 Note that private registries following the format described here 719 SHOULD use the prefix "Priv_" on any name to avoid unintended 720 conflicts (further considerations are described in section 10). 721 Private registry entries usually have no specifying RFC, thus the 722 Spec: element has no clear interpretation. 724 7.1.3. URIs 726 The URIs column MUST contain a URL [RFC3986] and uniquely identifies 727 and locates the metric entry so it is accessible through the 728 Internet. The URL points to a file containing all the human-readable 729 information for one registry entry. The URL SHALL reference a target 730 file that is HTML-formated and contains URLs to referenced sections 731 of HTML-ized RFCs. These target files for different entries can be 732 more easily edited and re-used when preparing new entries. The exact 733 form of the URL for each target file will be determined by IANA and 734 reside on "iana.org". The major sections of 735 [I-D.ietf-ippm-initial-registry] provide an example of a target file 736 in HTML form (sections 4 and higher). 738 7.1.4. Description 740 A Registered Performance Metric description is a written 741 representation of a particular Performance Metrics Registry entry. 742 It supplements the Registered Performance Metric name to help 743 Performance Metrics Registry users select relevant Registered 744 Performance Metrics. 746 7.1.5. Reference 748 This entry gives the specification containing the candidate registry 749 entry which was reviewed and agreed, if such an RFC or other 750 specification exists. 752 7.1.6. Change Controller 754 This entry names the entity responsible for approving revisions to 755 the registry entry, and SHALL provide contact information (for an 756 individual, where appropriate). 758 7.1.7. Version (of Registry Format) 760 This entry gives the version number for the registry format used. 761 Formats complying with this memo MUST use 1.0. The version number 762 SHALL not change unless a new RFC is published that changes the 763 registry format. 765 7.2. Metric Definition Category 767 This category includes columns to prompt all necessary details 768 related to the metric definition, including the RFC reference and 769 values of input factors, called fixed parameters, which are left open 770 in the RFC but have a particular value defined by the performance 771 metric. 773 7.2.1. Reference Definition 775 This entry provides a reference (or references) to the relevant 776 section(s) of the document(s) that define the metric, as well as any 777 supplemental information needed to ensure an unambiguous definition 778 for implementations. The reference needs to be an immutable 779 document, such as an RFC; for other standards bodies, it is likely to 780 be necessary to reference a specific, dated version of a 781 specification. 783 7.2.2. Fixed Parameters 785 Fixed Parameters are Parameters whose value must be specified in the 786 Performance Metrics Registry. The measurement system uses these 787 values. 789 Where referenced metrics supply a list of Parameters as part of their 790 descriptive template, a sub-set of the Parameters will be designated 791 as Fixed Parameters. As an example for active metrics, Fixed 792 Parameters determine most or all of the IPPM Framework convention 793 "packets of Type-P" as described in [RFC2330], such as transport 794 protocol, payload length, TTL, etc. An example for passive metrics 795 is for RTP packet loss calculation that relies on the validation of a 796 packet as RTP which is a multi-packet validation controlled by 797 MIN_SEQUENTIAL as defined by [RFC3550]. Varying MIN_SEQUENTIAL 798 values can alter the loss report and this value could be set as a 799 Fixed Parameter. 801 Parameters MUST have well-defined names. For human readers, the 802 hanging indent style is preferred, and any Parameter names and 803 definitions that do not appear in the Reference Method Specification 804 MUST appear in this column (or Run-time Parameters column). 806 Parameters MUST have a well-specified data format. 808 A Parameter which is a Fixed Parameter for one Performance Metrics 809 Registry entry may be designated as a Run-time Parameter for another 810 Performance Metrics Registry entry. 812 7.3. Method of Measurement Category 814 This category includes columns for references to relevant sections of 815 the RFC(s) and any supplemental information needed to ensure an 816 unambiguous method for implementations. 818 7.3.1. Reference Method 820 This entry provides references to relevant sections of the RFC(s) 821 describing the method of measurement, as well as any supplemental 822 information needed to ensure unambiguous interpretation for 823 implementations referring to the RFC text. 825 Specifically, this section should include pointers to pseudocode or 826 actual code that could be used for an unambigious implementation. 828 7.3.2. Packet Stream Generation 830 This column applies to Performance Metrics that generate traffic as 831 part of their Measurement Method, including but not necessarily 832 limited to Active metrics. The generated traffic is referred as a 833 stream and this column describes its characteristics. 835 Each entry for this column contains the following information: 837 o Value: The name of the packet stream scheduling discipline 839 o Reference: the specification where the parameters of the stream 840 are defined 842 The packet generation stream may require parameters such as the the 843 average packet rate and distribution truncation value for streams 844 with Poisson-distributed inter-packet sending times. In case such 845 parameters are needed, they should be included either in the Fixed 846 parameter column or in the run time parameter column, depending on 847 wether they will be fixed or will be an input for the metric. 849 The simplest example of stream specification is Singleton scheduling 850 (see [RFC2330]), where a single atomic measurement is conducted. 851 Each atomic measurement could consist of sending a single packet 852 (such as a DNS request) or sending several packets (for example, to 853 request a webpage). Other streams support a series of atomic 854 measurements in a "sample", with a schedule defining the timing 855 between each transmitted packet and subsequent measurement. 856 Principally, two different streams are used in IPPM metrics, Poisson 857 distributed as described in [RFC2330] and Periodic as described in 858 [RFC3432]. Both Poisson and Periodic have their own unique 859 parameters, and the relevant set of parameters names and values 860 should be included either in the Fixed Parameters column or in the 861 Run-time parameter column. 863 7.3.3. Traffic Filter 865 This column applies to Performance Metrics that observe packets 866 flowing through (the device with) the measurement agent i.e. that is 867 not necessarily addressed to the measurement agent. This includes 868 but is not limited to Passive Metrics. The filter specifies the 869 traffic that is measured. This includes protocol field values/ 870 ranges, such as address ranges, and flow or session identifiers. 872 The traffic filter itself depends on needs of the metric itself and a 873 balance of operators measurement needs and user's need for privacy. 874 Mechanics for conveying the filter criteria might be the BPF (Berkley 875 Packet Filter) or PSAMP [RFC5475] Property Match Filtering which 876 reuses IPFIX [RFC7012]. An example BPF string for matching TCP/80 877 traffic to remote destination net 192.0.2.0/24 would be "dst net 878 192.0.2.0/24 and tcp dst port 80". More complex filter engines might 879 be supported by the implementation that might allow for matching 880 using Deep Packet Inspection (DPI) technology. 882 The traffic filter includes the following information: 884 Type: the type of traffic filter used, e.g. BPF, PSAMP, OpenFlow 885 rule, etc. as defined by a normative reference 887 Value: the actual set of rules expressed 889 7.3.4. Sampling Distribution 891 The sampling distribution defines out of all the packets that match 892 the traffic filter, which one of those are actually used for the 893 measurement. One possibility is "all" which implies that all packets 894 matching the Traffic filter are considered, but there may be other 895 sampling strategies. It includes the following information: 897 Value: the name of the sampling distribution 899 Reference definition: pointer to the specification where the 900 sampling distribution is properly defined. 902 The sampling distribution may require parameters. In case such 903 parameters are needed, they should be included either in the Fixed 904 parameter column or in the run time parameter column, depending on 905 whether they will be fixed or will be an input for the metric. 907 Sampling and Filtering Techniques for IP Packet Selection are 908 documented in the PSAMP (Packet Sampling) [RFC5475], while the 909 Framework for Packet Selection and Reporting, [RFC5474] provides more 910 background information. The sampling distribution parameters might 911 be expressed in terms of the Information Model for Packet Sampling 912 Exports, [RFC5477], and the Flow Selection Techniques, [RFC7014]. 914 7.3.5. Run-time Parameters 916 Run-Time Parameters are Parameters that must be determined, 917 configured into the measurement system, and reported with the results 918 for the context to be complete. However, the values of these 919 parameters is not specified in the Performance Metrics Registry (like 920 the Fixed Parameters), rather these parameters are listed as an aid 921 to the measurement system implementer or user (they must be left as 922 variables, and supplied on execution). 924 Where metrics supply a list of Parameters as part of their 925 descriptive template, a sub-set of the Parameters will be designated 926 as Run-Time Parameters. 928 Parameters MUST have well defined names. For human readers, the 929 hanging indent style is preferred, and the names and definitions that 930 do not appear in the Reference Method Specification MUST appear in 931 this column. 933 A Data Format for each Run-time Parameter MUST be specified in this 934 column, to simplify the control and implementation of measurement 935 devices. For example, parameters that include an IPv4 address can be 936 encoded as a 32 bit integer (i.e. binary base64 encoded value) or ip- 937 address as defined in [RFC6991]. The actual encoding(s) used must be 938 explicitly defined for each Run-time parameter. IPv6 addresses and 939 options MUST be accomodated, allowing Registered Metrics to be used 940 in either address family. 942 Examples of Run-time Parameters include IP addresses, measurement 943 point designations, start times and end times for measurement, and 944 other information essential to the method of measurement. 946 7.3.6. Role 948 In some methods of measurement, there may be several roles defined, 949 e.g., for a one-way packet delay active measurement there is one 950 measurement agent that generates the packets and another agent that 951 receives the packets. This column contains the name of the Role(s) 952 for this particular entry. In the one-way delay example above, there 953 should be two entries in the Role registry column, one for each Role 954 (Source and Destination). When a measurement agent is instructed to 955 perform the "Source" Role for one-way delay metric, the agent knows 956 that it is required to generate packets. The values for this field 957 are defined in the reference method of measurement (and this 958 frequently results in abbreviated role names such as "Src"). 960 When the Role column of a registry entry defines more than one Role, 961 then the Role SHALL be treated as a Run-time Parameter and supplied 962 for execution. It should be noted that the LMAP framework [RFC7594] 963 distinguishes the Role from other Run-time Parameters, and defines a 964 special parameter "Roles" inside the registry-grouping function list 965 in the LMAP YANG model[RFC8194]. 967 7.4. Output Category 969 For entries which involve a stream and many singleton measurements, a 970 statistic may be specified in this column to summarize the results to 971 a single value. If the complete set of measured singletons is 972 output, this will be specified here. 974 Some metrics embed one specific statistic in the reference metric 975 definition, while others allow several output types or statistics. 977 7.4.1. Type 979 This column contains the name of the output type. The output type 980 defines a single type of result that the metric produces. It can be 981 the raw results (packet send times and singleton metrics), or it can 982 be a summary statistic. The specification of the output type MUST 983 define the format of the output. In some systems, format 984 specifications will simplify both measurement implementation and 985 collection/storage tasks. Note that if two different statistics are 986 required from a single measurement (for example, both "Xth percentile 987 mean" and "Raw"), then a new output type must be defined ("Xth 988 percentile mean AND Raw"). See the Naming section above for a list 989 of Output Types. 991 7.4.2. Reference Definition 993 This column contains a pointer to the specification(s) where the 994 output type and format are defined. 996 7.4.3. Metric Units 998 The measured results must be expressed using some standard dimension 999 or units of measure. This column provides the units. 1001 When a sample of singletons (see Section 11 of[RFC2330] for 1002 definitions of these terms) is collected, this entry will specify the 1003 units for each measured value. 1005 7.4.4. Calibration 1007 Some specifications for Methods of Measurement include the 1008 possibility to perform an error calibration. Section 3.7.3 of 1009 [RFC7679] is one example. In the registry entry, this field will 1010 identify a method of calibration for the metric, and when available, 1011 the measurement system SHOULD perform the calibration when requested 1012 and produce the output with an indication that it is the result of a 1013 calbration method. In-situ calibration could be enabled with an 1014 internal loopback that includes as much of the measurement system as 1015 possible, performs address manipulation as needed, and provides some 1016 form of isolation (e.g., deterministic delay) to avoid send-receive 1017 interface contention. Some portion of the random and systematic 1018 error can be characterized this way. 1020 For one-way delay measurements, the error calibration must include an 1021 assessment of the internal clock synchronization with its external 1022 reference (this internal clock is supplying timestamps for 1023 measurement). In practice, the time offsets of clocks at both the 1024 source and destination are needed to estimate the systematic error 1025 due to imperfect clock synchronization (the time offsets are 1026 smoothed, thus the random variation is not usually represented in the 1027 results). 1029 Both internal loopback calibration and clock synchronization can be 1030 used to estimate the *available accuracy* of the Output Metric Units. 1031 For example, repeated loopback delay measurements will reveal the 1032 portion of the Output result resolution which is the result of system 1033 noise, and thus inaccurate. 1035 7.5. Administrative information 1037 7.5.1. Status 1039 The status of the specification of this Registered Performance 1040 Metric. Allowed values are 'current' and 'deprecated'. All newly 1041 defined Information Elements have 'current' status. 1043 7.5.2. Requester 1045 The requester for the Registered Performance Metric. The requester 1046 MAY be a document, such as RFC, or person. 1048 7.5.3. Revision 1050 The revision number of a Registered Performance Metric, starting at 0 1051 for Registered Performance Metrics at time of definition and 1052 incremented by one for each revision. 1054 7.5.4. Revision Date 1056 The date of acceptance or the most recent revision for the Registered 1057 Performance Metric. The date SHALL be determined by the reviewing 1058 Performance Metrics Expert in the case of Expert Review, or by IANA 1059 in the case of Standards Action. 1061 7.6. Comments and Remarks 1063 Besides providing additional details which do not appear in other 1064 categories, this open Category (single column) allows for unforeseen 1065 issues to be addressed by simply updating this informational entry. 1067 8. The Life-Cycle of Registered Performance Metrics 1069 Once a Performance Metric or set of Performance Metrics has been 1070 identified for a given application, candidate Performance Metrics 1071 Registry entry specifications prepared in accordance with Section 7 1072 should be submitted to IANA to follow the process for review by the 1073 Performance Metric Experts, as defined below. This process is also 1074 used for other changes to the Performance Metrics Registry, such as 1075 deprecation or revision, as described later in this section. 1077 It is also desirable that the author(s) of a candidate Performance 1078 Metrics Registry entry seek review in the relevant IETF working 1079 group, or offer the opportunity for review on the working group 1080 mailing list. 1082 8.1. Adding new Performance Metrics to the Performance Metrics Registry 1084 Requests to add Registered Performance Metrics in the Performance 1085 Metrics Registry SHALL be submitted to IANA, which forwards the 1086 request to a designated group of experts (Performance Metric Experts) 1087 appointed by the IESG; these are the reviewers called for by the 1088 Expert Review [RFC8126]policy defined for the Performance Metrics 1089 Registry. The Performance Metric Experts review the request for such 1090 things as compliance with this document, compliance with other 1091 applicable Performance Metric-related RFCs, and consistency with the 1092 currently defined set of Registered Performance Metrics. 1094 Submission to IANA MAY be the result of IETF Standards Action, where 1095 an approved Internet Draft proposes one or more Registered 1096 Performance Metrics to be added to the Performance Metrics Registry, 1097 including the text of the proposed Registered Performance Metric(s). 1099 Authors of proposed Registered Performance Metrics SHOULD review 1100 compliance with the specifications in this document to check their 1101 submissions before sending them to IANA. 1103 At least one Performance Metric Expert should endeavor to complete 1104 referred reviews in a timely manner. If the request is acceptable, 1105 the Performance Metric Experts signify their approval to IANA, and 1106 IANA updates the Performance Metrics Registry. If the request is not 1107 acceptable, the Performance Metric Experts MAY coordinate with the 1108 requester to change the request to be compliant, otherwise IANA SHALL 1109 coordinate resolution of issues on behalf of the expert. The 1110 Performance Metric Experts MAY choose to reject clearly frivolous or 1111 inappropriate change requests outright, but such exceptional 1112 circumstances should be rare. 1114 This process should not in any way be construed as allowing the 1115 Performance Metric Experts to overrule IETF consensus. Specifically, 1116 any Registered Performance Metrics that were added to the Performance 1117 Metrics Registry with IETF consensus require IETF consensus for 1118 revision or deprecation. 1120 Decisions by the Performance Metric Experts may be appealed as in 1121 Section 7 of [RFC8126]. 1123 8.2. Revising Registered Performance Metrics 1125 A request for Revision is only permissible when the changes maintain 1126 backward-compatibility with implementations of the prior Performance 1127 Metrics Registry entry describing a Registered Performance Metric 1128 (entries with lower revision numbers, but the same Identifier and 1129 Name). 1131 The purpose of the Status field in the Performance Metrics Registry 1132 is to indicate whether the entry for a Registered Performance Metric 1133 is 'current' or 'deprecated'. 1135 In addition, no policy is defined for revising the Performance Metric 1136 entries in the IANA Regsirty or addressing errors therein. To be 1137 clear, changes and deprecations within the Performance Metrics 1138 Registry are not encouraged, and should be avoided to the extent 1139 possible. However, in recognition that change is inevitable, the 1140 provisions of this section address the need for revisions. 1142 Revisions are initiated by sending a candidate Registered Performance 1143 Metric definition to IANA, as in Section 8.1, identifying the 1144 existing Performance Metrics Registry entry, and explaining how and 1145 why the existing entry shuold be revised. 1147 The primary requirement in the definition of procedures for managing 1148 changes to existing Registered Performance Metrics is avoidance of 1149 measurement interoperability problems; the Performance Metric Experts 1150 must work to maintain interoperability above all else. Changes to 1151 Registered Performance Metrics may only be done in an interoperable 1152 way; necessary changes that cannot be done in a way to allow 1153 interoperability with unchanged implementations MUST result in the 1154 creation of a new Registered Performance Metric (with a new Name, 1155 replacing the RFCXXXXsecY portion of the name) and possibly the 1156 deprecation of the earlier metric. 1158 A change to a Registered Performance Metric SHALL be determined to be 1159 backward-compatible only when: 1161 1. it involves the correction of an error that is obviously only 1162 editorial; or 1164 2. it corrects an ambiguity in the Registered Performance Metric's 1165 definition, which itself leads to issues severe enough to prevent 1166 the Registered Performance Metric's usage as originally defined; 1167 or 1169 3. it corrects missing information in the metric definition without 1170 changing its meaning (e.g., the explicit definition of 'quantity' 1171 semantics for numeric fields without a Data Type Semantics 1172 value); or 1174 4. it harmonizes with an external reference that was itself 1175 corrected. 1177 If a Performance Metric revision is deemed permissible and backward- 1178 compatible by the Performance Metric Experts, according to the rules 1179 in this document, IANA SHOULD execute the change(s) in the 1180 Performance Metrics Registry. The requester of the change is 1181 appended to the original requester in the Performance Metrics 1182 Registry. The Name of the revised Registered Performance Metric, 1183 including the RFCXXXXsecY portion of the name, SHALL remain unchamged 1184 (even when the change is the result of IETF Standards Action; the 1185 revised registry entry SHOULD reference the new RFC in an appropriate 1186 category and column). 1188 Each Registered Performance Metric in the Performance Metrics 1189 Registry has a revision number, starting at zero. Each change to a 1190 Registered Performance Metric following this process increments the 1191 revision number by one. 1193 When a revised Registered Performance Metric is accepted into the 1194 Performance Metrics Registry, the date of acceptance of the most 1195 recent revision is placed into the revision Date column of the 1196 registry for that Registered Performance Metric. 1198 Where applicable, additions to Registered Performance Metrics in the 1199 form of text Comments or Remarks should include the date, but such 1200 additions may not constitute a revision according to this process. 1202 Older version(s) of the updated metric entries are kept in the 1203 registry for archival purposes. The older entries are kept with all 1204 fields unmodified (version, revision date) except for the status 1205 field that SHALL be changed to "Deprecated". 1207 8.3. Deprecating Registered Performance Metrics 1209 Changes that are not permissible by the above criteria for Registered 1210 Performance Metric's revision may only be handled by deprecation. A 1211 Registered Performance Metric MAY be deprecated and replaced when: 1213 1. the Registered Performance Metric definition has an error or 1214 shortcoming that cannot be permissibly changed as in Section 8.2 1215 Revising Registered Performance Metrics; or 1217 2. the deprecation harmonizes with an external reference that was 1218 itself deprecated through that reference's accepted deprecation 1219 method. 1221 A request for deprecation is sent to IANA, which passes it to the 1222 Performance Metric Experts for review. When deprecating an 1223 Performance Metric, the Performance Metric description in the 1224 Performance Metrics Registry must be updated to explain the 1225 deprecation, as well as to refer to any new Performance Metrics 1226 created to replace the deprecated Performance Metric. 1228 The revision number of a Registered Performance Metric is incremented 1229 upon deprecation, and the revision Date updated, as with any 1230 revision. 1232 The use of deprecated Registered Performance Metrics should result in 1233 a log entry or human-readable warning by the respective application. 1235 Names and Metric IDs of deprecated Registered Performance Metrics 1236 must not be reused. 1238 The deprecated entries are kept with all fields unmodified, except 1239 the version, revision date, and the status field (changed to 1240 "Deprecated"). 1242 9. Security considerations 1244 This draft defines a registry structure, and does not itself 1245 introduce any new security considerations for the Internet. The 1246 definition of Performance Metrics for this registry may introduce 1247 some security concerns, but the mandatory references should have 1248 their own considerations for secuity, and such definitions should be 1249 reviewed with security in mind if the security considerations are not 1250 covered by one or more reference standards. 1252 10. IANA Considerations 1254 With the background and processes described in earlier sections, this 1255 document requests the following IANA Actions. Note that mock-ups of 1256 the implementation of this set of requests have been prepared with 1257 IANA's help during development of this memo, and have been captured 1258 in the Proceedings of IPPM working group sessions. 1260 10.1. Registry Group 1262 The new registry group SHALL be named, "PERFORMANCE METRICS Group". 1264 10.2. Performance Metric Name Elements 1266 This document specifies the procedure for Performance Metrics Name 1267 Element Registry setup. IANA is requested to create a new set of 1268 registries for Performance Metric Name Elements called "Registered 1269 Performance Metric Name Elements". Each Registry, whose names are 1270 listed below: 1272 MetricType: 1274 Method: 1276 SubTypeMethod: 1278 Spec: 1280 Units: 1282 Output: 1284 will contain the current set of possibilities for Performance Metrics 1285 Registry Entry Names. 1287 To populate the Registered Performance Metric Name Elements at 1288 creation, the IANA is asked to use the lists of values for each name 1289 element listed in Section 7.1.2. The Name Elements in each registry 1290 are case-sensitive. 1292 When preparing a Metric entry for Registration, the developer SHOULD 1293 choose Name elements from among the registered elements. However, if 1294 the proposed metric is unique in a significant way, it may be 1295 necessary to propose a new Name element to properly describe the 1296 metric, as described below. 1298 A candidate Metric Entry RFC or document for Expert Review would 1299 propose one or more new element values required to describe the 1300 unique entry, and the new name element(s) would be reviewed along 1301 with the metric entry. New assignments for Registered Performance 1302 Metric Name Elements will be administered by IANA through Expert 1303 Review [RFC8126], i.e., review by one of a group of experts, the 1304 Performance Metric Experts, who are appointed by the IESG upon 1305 recommendation of the Transport Area Directors. 1307 10.3. New Performance Metrics Registry 1309 This document specifies the procedure for Performance Metrics 1310 Registry setup. IANA is requested to create a new registry for 1311 Performance Metrics called "Performance Metrics Registry". This 1312 Registry will contain the following Summary columns: 1314 Identifier: 1316 Name: 1318 URIs: 1320 Description: 1322 Reference: 1324 Change Controller: 1326 Version: 1328 Descriptions of these columns and additional information found in the 1329 template for registry entries (categories and columns) are further 1330 defined in section Section 7. 1332 The "Identifier" 0 should be Reserved. "The Identifier" values from 1333 64512 to 65536 are reserved for private use. 1335 Names starting with the prefix Priv_ are reserved for private use, 1336 and are not considered for registration. The "Name" column entries 1337 are further defined in section Section 7. 1339 The "URIs" column will have a URL to the full template of each 1340 registry entry. The Registry Entry text SHALL be HTML-ized to aid 1341 the reader, with links to reference RFCs (similar to the way that 1342 Internet Drafts are HTML-ized, the same tool can perform the 1343 function). 1345 The "Reference" column will include an RFC number, an approved 1346 specification designator from another standards body, or the contact 1347 person. 1349 New assignments for Performance Metrics Registry will be administered 1350 by IANA through Expert Review [RFC8126], i.e., review by one of a 1351 group of experts, the Performance Metric Experts, who are appointed 1352 by the IESG upon recommendation of the Transport Area Directors, or 1353 by Standards Action. The experts can be initially drawn from the 1354 Working Group Chairs, document editors, and members of the 1355 Performance Metrics Directorate, among other sources of experts. 1357 Extensions of the Performance Metrics Registry require IETF Standards 1358 Action. Only one form of registry extension is envisaged: 1360 1. Adding columns, or both categories and columns, to accommodate 1361 unanticipated aspects of new measurements and metric categories. 1363 If the Performance Metrics Registry is extended in this way, the 1364 Version number of future entries complying with the extension SHALL 1365 be incremented (either in the unit or tenths digit, depending on the 1366 degree of extension. 1368 11. Acknowledgments 1370 Thanks to Brian Trammell and Bill Cerveny, IPPM chairs, for leading 1371 some brainstorming sessions on this topic. Thanks to Barbara Stark 1372 and Juergen Schoenwaelder for the detailed feedback and suggestions. 1373 Thanks to Andrew McGregor for suggestions on metric naming. Thanks 1374 to Michelle Cotton for her early IANA review, and to Amanda Barber 1375 for answering questions related to the presentation of the registry 1376 and accessibility of the complete template via URL. 1378 12. References 1380 12.1. Normative References 1382 [RFC2026] Bradner, S., "The Internet Standards Process -- Revision 1383 3", BCP 9, RFC 2026, DOI 10.17487/RFC2026, October 1996, 1384 . 1386 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1387 Requirement Levels", BCP 14, RFC 2119, 1388 DOI 10.17487/RFC2119, March 1997, 1389 . 1391 [RFC2141] Moats, R., "URN Syntax", RFC 2141, DOI 10.17487/RFC2141, 1392 May 1997, . 1394 [RFC2330] Paxson, V., Almes, G., Mahdavi, J., and M. Mathis, 1395 "Framework for IP Performance Metrics", RFC 2330, 1396 DOI 10.17487/RFC2330, May 1998, 1397 . 1399 [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform 1400 Resource Identifier (URI): Generic Syntax", STD 66, 1401 RFC 3986, DOI 10.17487/RFC3986, January 2005, 1402 . 1404 [RFC4148] Stephan, E., "IP Performance Metrics (IPPM) Metrics 1405 Registry", BCP 108, RFC 4148, DOI 10.17487/RFC4148, August 1406 2005, . 1408 [RFC6248] Morton, A., "RFC 4148 and the IP Performance Metrics 1409 (IPPM) Registry of Metrics Are Obsolete", RFC 6248, 1410 DOI 10.17487/RFC6248, April 2011, 1411 . 1413 [RFC6390] Clark, A. and B. Claise, "Guidelines for Considering New 1414 Performance Metric Development", BCP 170, RFC 6390, 1415 DOI 10.17487/RFC6390, October 2011, 1416 . 1418 [RFC6576] Geib, R., Ed., Morton, A., Fardid, R., and A. Steinmitz, 1419 "IP Performance Metrics (IPPM) Standard Advancement 1420 Testing", BCP 176, RFC 6576, DOI 10.17487/RFC6576, March 1421 2012, . 1423 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1424 Writing an IANA Considerations Section in RFCs", BCP 26, 1425 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1426 . 1428 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1429 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1430 May 2017, . 1432 12.2. Informative References 1434 [I-D.ietf-ippm-initial-registry] 1435 Morton, A., Bagnulo, M., Eardley, P., and K. D'Souza, 1436 "Initial Performance Metrics Registry Entries", draft- 1437 ietf-ippm-initial-registry-10 (work in progress), March 1438 2019. 1440 [RFC2679] Almes, G., Kalidindi, S., and M. Zekauskas, "A One-way 1441 Delay Metric for IPPM", RFC 2679, DOI 10.17487/RFC2679, 1442 September 1999, . 1444 [RFC2681] Almes, G., Kalidindi, S., and M. Zekauskas, "A Round-trip 1445 Delay Metric for IPPM", RFC 2681, DOI 10.17487/RFC2681, 1446 September 1999, . 1448 [RFC3393] Demichelis, C. and P. Chimento, "IP Packet Delay Variation 1449 Metric for IP Performance Metrics (IPPM)", RFC 3393, 1450 DOI 10.17487/RFC3393, November 2002, 1451 . 1453 [RFC3432] Raisanen, V., Grotefeld, G., and A. Morton, "Network 1454 performance measurement with periodic streams", RFC 3432, 1455 DOI 10.17487/RFC3432, November 2002, 1456 . 1458 [RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. 1459 Jacobson, "RTP: A Transport Protocol for Real-Time 1460 Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550, 1461 July 2003, . 1463 [RFC3611] Friedman, T., Ed., Caceres, R., Ed., and A. Clark, Ed., 1464 "RTP Control Protocol Extended Reports (RTCP XR)", 1465 RFC 3611, DOI 10.17487/RFC3611, November 2003, 1466 . 1468 [RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session 1469 Description Protocol", RFC 4566, DOI 10.17487/RFC4566, 1470 July 2006, . 1472 [RFC5474] Duffield, N., Ed., Chiou, D., Claise, B., Greenberg, A., 1473 Grossglauser, M., and J. Rexford, "A Framework for Packet 1474 Selection and Reporting", RFC 5474, DOI 10.17487/RFC5474, 1475 March 2009, . 1477 [RFC5475] Zseby, T., Molina, M., Duffield, N., Niccolini, S., and F. 1478 Raspall, "Sampling and Filtering Techniques for IP Packet 1479 Selection", RFC 5475, DOI 10.17487/RFC5475, March 2009, 1480 . 1482 [RFC5477] Dietz, T., Claise, B., Aitken, P., Dressler, F., and G. 1483 Carle, "Information Model for Packet Sampling Exports", 1484 RFC 5477, DOI 10.17487/RFC5477, March 2009, 1485 . 1487 [RFC5481] Morton, A. and B. Claise, "Packet Delay Variation 1488 Applicability Statement", RFC 5481, DOI 10.17487/RFC5481, 1489 March 2009, . 1491 [RFC5905] Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, 1492 "Network Time Protocol Version 4: Protocol and Algorithms 1493 Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, 1494 . 1496 [RFC6035] Pendleton, A., Clark, A., Johnston, A., and H. Sinnreich, 1497 "Session Initiation Protocol Event Package for Voice 1498 Quality Reporting", RFC 6035, DOI 10.17487/RFC6035, 1499 November 2010, . 1501 [RFC6776] Clark, A. and Q. Wu, "Measurement Identity and Information 1502 Reporting Using a Source Description (SDES) Item and an 1503 RTCP Extended Report (XR) Block", RFC 6776, 1504 DOI 10.17487/RFC6776, October 2012, 1505 . 1507 [RFC6792] Wu, Q., Ed., Hunt, G., and P. Arden, "Guidelines for Use 1508 of the RTP Monitoring Framework", RFC 6792, 1509 DOI 10.17487/RFC6792, November 2012, 1510 . 1512 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 1513 RFC 6991, DOI 10.17487/RFC6991, July 2013, 1514 . 1516 [RFC7003] Clark, A., Huang, R., and Q. Wu, Ed., "RTP Control 1517 Protocol (RTCP) Extended Report (XR) Block for Burst/Gap 1518 Discard Metric Reporting", RFC 7003, DOI 10.17487/RFC7003, 1519 September 2013, . 1521 [RFC7012] Claise, B., Ed. and B. Trammell, Ed., "Information Model 1522 for IP Flow Information Export (IPFIX)", RFC 7012, 1523 DOI 10.17487/RFC7012, September 2013, 1524 . 1526 [RFC7014] D'Antonio, S., Zseby, T., Henke, C., and L. Peluso, "Flow 1527 Selection Techniques", RFC 7014, DOI 10.17487/RFC7014, 1528 September 2013, . 1530 [RFC7594] Eardley, P., Morton, A., Bagnulo, M., Burbridge, T., 1531 Aitken, P., and A. Akhter, "A Framework for Large-Scale 1532 Measurement of Broadband Performance (LMAP)", RFC 7594, 1533 DOI 10.17487/RFC7594, September 2015, 1534 . 1536 [RFC7679] Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, 1537 Ed., "A One-Way Delay Metric for IP Performance Metrics 1538 (IPPM)", STD 81, RFC 7679, DOI 10.17487/RFC7679, January 1539 2016, . 1541 [RFC7799] Morton, A., "Active and Passive Metrics and Methods (with 1542 Hybrid Types In-Between)", RFC 7799, DOI 10.17487/RFC7799, 1543 May 2016, . 1545 [RFC8194] Schoenwaelder, J. and V. Bajpai, "A YANG Data Model for 1546 LMAP Measurement Agents", RFC 8194, DOI 10.17487/RFC8194, 1547 August 2017, . 1549 Authors' Addresses 1551 Marcelo Bagnulo 1552 Universidad Carlos III de Madrid 1553 Av. Universidad 30 1554 Leganes, Madrid 28911 1555 SPAIN 1557 Phone: 34 91 6249500 1558 Email: marcelo@it.uc3m.es 1559 URI: http://www.it.uc3m.es 1561 Benoit Claise 1562 Cisco Systems, Inc. 1563 De Kleetlaan 6a b1 1564 1831 Diegem 1565 Belgium 1567 Email: bclaise@cisco.com 1569 Philip Eardley 1570 BT 1571 Adastral Park, Martlesham Heath 1572 Ipswich 1573 ENGLAND 1575 Email: philip.eardley@bt.com 1576 Al Morton 1577 AT&T Labs 1578 200 Laurel Avenue South 1579 Middletown, NJ 1580 USA 1582 Email: acmorton@att.com 1584 Aamer Akhter 1585 Consultant 1586 118 Timber Hitch 1587 Cary, NC 1588 USA 1590 Email: aakhter@gmail.com