idnits 2.17.00 (12 Aug 2021) /tmp/idnits1365/draft-ietf-ippm-metric-registry-18.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 11, 2019) is 1166 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: '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: draft-ietf-ippm-initial-registry has been published as RFC 8912 -- 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 (~~), 12 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 12, 2019 Cisco Systems, Inc. 6 P. Eardley 7 BT 8 A. Morton 9 AT&T Labs 10 A. Akhter 11 Consultant 12 March 11, 2019 14 Registry for Performance Metrics 15 draft-ietf-ippm-metric-registry-18 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 12, 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 . . . . . . . 26 103 9. Security considerations . . . . . . . . . . . . . . . . . . . 27 104 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 105 10.1. New Namespace Assignments . . . . . . . . . . . . . . . 27 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 a 16-bit 541 integer (range 0 to 65535). 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 that specifies this entry in the form RFCXXXXsecY, such 652 as RFC7799sec3. Note: this is not the Primary Reference 653 specification for the metric definition; it will contain the 654 placeholder "RFCXXXXsecY" until the RFC number is assigned to the 655 specifying document, and would remain blank in private registry 656 entries without a corresponding RFC. 658 o Units: The units of measurement for the output, such as: 660 Seconds 662 Ratio (unitless) 664 Percent (value multiplied by 100) 666 Logical (1 or 0) 668 Packets 670 BPS (Bits per Second) 672 PPS (Packets per Second) 674 EventTotal (for unit-less counts) 676 Multiple (more than one type of unit) 678 Enumerated (a list of outcomes) 680 Unitless 682 o Output: The type of output resulting from measurement, such as: 684 Singleton 686 Raw (multiple Singletons) 688 Count 690 Minimum 692 Maximum 694 Median 695 Mean 697 95Percentile (95th Percentile) 699 99Percentile (99th Percentile) 701 StdDev (Standard Deviation) 703 Variance 705 PFI (Pass, Fail, Inconclusive) 707 FlowRecords (descriptions of flows observed) 709 LossRatio (lost packets to total packets, <=1) 711 An example is: 713 RTDelay_Active_IP-UDP-Periodic_RFCXXXXsecY_Seconds_95Percentile 715 as described in section 4 of [I-D.ietf-ippm-initial-registry]. 717 Note that private registries following the format described here 718 SHOULD use the prefix "Priv_" on any name to avoid unintended 719 conflicts (further considerations are described in section 10). 720 Private registry entries usually have no specifying RFC, thus the 721 Spec: element has no clear interpretation. 723 7.1.3. URIs 725 The URIs column MUST contain a URI [RFC3986] that uniquely identifies 726 the metric. This URI is a URN [RFC2141]. The URI is automatically 727 generated by prepending the prefix 729 urn:ietf:metrics:perf: 731 to the metric name. The resulting URI is globally unique. 733 The URIs column MUST contain a second URI which is a URL [RFC3986] 734 and uniquely identifies and locates the metric entry so it is 735 accessible through the Internet. The URL points to a file containing 736 all the human-readable information for one registry entry. The URL 737 SHALL reference a target file that is HTML-formated and contains URLs 738 to referenced sections of HTML-ized RFCs. These target files for 739 different entries can be more easily edited and re-used when 740 preparing new entries. The exact form of the URL for each target 741 file will be determined by IANA and reside on "iana.org". The major 742 sections of [I-D.ietf-ippm-initial-registry] provide an example of a 743 target file in HTML form (sections 4 and higher). 745 7.1.4. Description 747 A Registered Performance Metric description is a written 748 representation of a particular Performance Metrics Registry entry. 749 It supplements the Registered Performance Metric name to help 750 Performance Metrics Registry users select relevant Registered 751 Performance Metrics. 753 7.1.5. Reference 755 This entry gives the specification containing the candidate registry 756 entry which was reviewed and agreed, if such an RFC or other 757 specification exists. 759 7.1.6. Change Controller 761 This entry names the entity responsible for approving revisions to 762 the registry entry, and SHALL provide contact information (for an 763 individual, where appropriate). 765 7.1.7. Version (of Registry Format) 767 This entry gives the version number for the registry format used. 768 Formats complying with this memo MUST use 1.0. The version number 769 SHALL not change unless a new RFC is published that changes the 770 registry format. 772 7.2. Metric Definition Category 774 This category includes columns to prompt all necessary details 775 related to the metric definition, including the RFC reference and 776 values of input factors, called fixed parameters, which are left open 777 in the RFC but have a particular value defined by the performance 778 metric. 780 7.2.1. Reference Definition 782 This entry provides a reference (or references) to the relevant 783 section(s) of the document(s) that define the metric, as well as any 784 supplemental information needed to ensure an unambiguous definition 785 for implementations. The reference needs to be an immutable 786 document, such as an RFC; for other standards bodies, it is likely to 787 be necessary to reference a specific, dated version of a 788 specification. 790 7.2.2. Fixed Parameters 792 Fixed Parameters are Parameters whose value must be specified in the 793 Performance Metrics Registry. The measurement system uses these 794 values. 796 Where referenced metrics supply a list of Parameters as part of their 797 descriptive template, a sub-set of the Parameters will be designated 798 as Fixed Parameters. As an example for active metrics, Fixed 799 Parameters determine most or all of the IPPM Framework convention 800 "packets of Type-P" as described in [RFC2330], such as transport 801 protocol, payload length, TTL, etc. An example for passive metrics 802 is for RTP packet loss calculation that relies on the validation of a 803 packet as RTP which is a multi-packet validation controlled by 804 MIN_SEQUENTIAL as defined by [RFC3550]. Varying MIN_SEQUENTIAL 805 values can alter the loss report and this value could be set as a 806 Fixed Parameter. 808 Parameters MUST have well-defined names. For human readers, the 809 hanging indent style is preferred, and any Parameter names and 810 definitions that do not appear in the Reference Method Specification 811 MUST appear in this column (or Run-time Parameters column). 813 Parameters MUST have a well-specified data format. 815 A Parameter which is a Fixed Parameter for one Performance Metrics 816 Registry entry may be designated as a Run-time Parameter for another 817 Performance Metrics Registry entry. 819 7.3. Method of Measurement Category 821 This category includes columns for references to relevant sections of 822 the RFC(s) and any supplemental information needed to ensure an 823 unambiguous method for implementations. 825 7.3.1. Reference Method 827 This entry provides references to relevant sections of the RFC(s) 828 describing the method of measurement, as well as any supplemental 829 information needed to ensure unambiguous interpretation for 830 implementations referring to the RFC text. 832 Specifically, this section should include pointers to pseudocode or 833 actual code that could be used for an unambigious implementation. 835 7.3.2. Packet Stream Generation 837 This column applies to Performance Metrics that generate traffic as 838 part of their Measurement Method, including but not necessarily 839 limited to Active metrics. The generated traffic is referred as a 840 stream and this column describes its characteristics. 842 Each entry for this column contains the following information: 844 o Value: The name of the packet stream scheduling discipline 846 o Reference: the specification where the parameters of the stream 847 are defined 849 The packet generation stream may require parameters such as the the 850 average packet rate and distribution truncation value for streams 851 with Poisson-distributed inter-packet sending times. In case such 852 parameters are needed, they should be included either in the Fixed 853 parameter column or in the run time parameter column, depending on 854 wether they will be fixed or will be an input for the metric. 856 The simplest example of stream specification is Singleton scheduling 857 (see [RFC2330]), where a single atomic measurement is conducted. 858 Each atomic measurement could consist of sending a single packet 859 (such as a DNS request) or sending several packets (for example, to 860 request a webpage). Other streams support a series of atomic 861 measurements in a "sample", with a schedule defining the timing 862 between each transmitted packet and subsequent measurement. 863 Principally, two different streams are used in IPPM metrics, Poisson 864 distributed as described in [RFC2330] and Periodic as described in 865 [RFC3432]. Both Poisson and Periodic have their own unique 866 parameters, and the relevant set of parameters names and values 867 should be included either in the Fixed Parameters column or in the 868 Run-time parameter column. 870 7.3.3. Traffic Filter 872 This column applies to Performance Metrics that observe packets 873 flowing through (the device with) the measurement agent i.e. that is 874 not necessarily addressed to the measurement agent. This includes 875 but is not limited to Passive Metrics. The filter specifies the 876 traffic that is measured. This includes protocol field values/ 877 ranges, such as address ranges, and flow or session identifiers. 879 The traffic filter itself depends on needs of the metric itself and a 880 balance of operators measurement needs and user's need for privacy. 881 Mechanics for conveying the filter criteria might be the BPF (Berkley 882 Packet Filter) or PSAMP [RFC5475] Property Match Filtering which 883 reuses IPFIX [RFC7012]. An example BPF string for matching TCP/80 884 traffic to remote destination net 192.0.2.0/24 would be "dst net 885 192.0.2.0/24 and tcp dst port 80". More complex filter engines might 886 be supported by the implementation that might allow for matching 887 using Deep Packet Inspection (DPI) technology. 889 The traffic filter includes the following information: 891 Type: the type of traffic filter used, e.g. BPF, PSAMP, OpenFlow 892 rule, etc. as defined by a normative reference 894 Value: the actual set of rules expressed 896 7.3.4. Sampling Distribution 898 The sampling distribution defines out of all the packets that match 899 the traffic filter, which one of those are actually used for the 900 measurement. One possibility is "all" which implies that all packets 901 matching the Traffic filter are considered, but there may be other 902 sampling strategies. It includes the following information: 904 Value: the name of the sampling distribution 906 Reference definition: pointer to the specification where the 907 sampling distribution is properly defined. 909 The sampling distribution may require parameters. In case such 910 parameters are needed, they should be included either in the Fixed 911 parameter column or in the run time parameter column, depending on 912 whether they will be fixed or will be an input for the metric. 914 Sampling and Filtering Techniques for IP Packet Selection are 915 documented in the PSAMP (Packet Sampling) [RFC5475], while the 916 Framework for Packet Selection and Reporting, [RFC5474] provides more 917 background information. The sampling distribution parameters might 918 be expressed in terms of the Information Model for Packet Sampling 919 Exports, [RFC5477], and the Flow Selection Techniques, [RFC7014]. 921 7.3.5. Run-time Parameters 923 Run-Time Parameters are Parameters that must be determined, 924 configured into the measurement system, and reported with the results 925 for the context to be complete. However, the values of these 926 parameters is not specified in the Performance Metrics Registry (like 927 the Fixed Parameters), rather these parameters are listed as an aid 928 to the measurement system implementer or user (they must be left as 929 variables, and supplied on execution). 931 Where metrics supply a list of Parameters as part of their 932 descriptive template, a sub-set of the Parameters will be designated 933 as Run-Time Parameters. 935 Parameters MUST have well defined names. For human readers, the 936 hanging indent style is preferred, and the names and definitions that 937 do not appear in the Reference Method Specification MUST appear in 938 this column. 940 A Data Format for each Run-time Parameter MUST be specified in this 941 column, to simplify the control and implementation of measurement 942 devices. For example, parameters that include an IPv4 address can be 943 encoded as a 32 bit integer (i.e. binary base64 encoded value) or ip- 944 address as defined in [RFC6991]. The actual encoding(s) used must be 945 explicitly defined for each Run-time parameter. IPv6 addresses and 946 options MUST be accomodated, allowing Registered Metrics to be used 947 in either address family. 949 Examples of Run-time Parameters include IP addresses, measurement 950 point designations, start times and end times for measurement, and 951 other information essential to the method of measurement. 953 7.3.6. Role 955 In some methods of measurement, there may be several roles defined, 956 e.g., for a one-way packet delay active measurement there is one 957 measurement agent that generates the packets and another agent that 958 receives the packets. This column contains the name of the Role(s) 959 for this particular entry. In the one-way delay example above, there 960 should be two entries in the Role registry column, one for each Role 961 (Source and Destination). When a measurement agent is instructed to 962 perform the "Source" Role for one-way delay metric, the agent knows 963 that it is required to generate packets. The values for this field 964 are defined in the reference method of measurement (and this 965 frequently results in abbreviated role names such as "Src"). 967 When the Role column of a registry entry defines more than one Role, 968 then the Role SHALL be treated as a Run-time Parameter and supplied 969 for execution. It should be noted that the LMAP framework [RFC7594] 970 distinguishes the Role from other Run-time Parameters, and defines a 971 special parameter "Roles" inside the registry-grouping function list 972 in the LMAP YANG model[RFC8194]. 974 7.4. Output Category 976 For entries which involve a stream and many singleton measurements, a 977 statistic may be specified in this column to summarize the results to 978 a single value. If the complete set of measured singletons is 979 output, this will be specified here. 981 Some metrics embed one specific statistic in the reference metric 982 definition, while others allow several output types or statistics. 984 7.4.1. Type 986 This column contains the name of the output type. The output type 987 defines a single type of result that the metric produces. It can be 988 the raw results (packet send times and singleton metrics), or it can 989 be a summary statistic. The specification of the output type MUST 990 define the format of the output. In some systems, format 991 specifications will simplify both measurement implementation and 992 collection/storage tasks. Note that if two different statistics are 993 required from a single measurement (for example, both "Xth percentile 994 mean" and "Raw"), then a new output type must be defined ("Xth 995 percentile mean AND Raw"). See the Naming section above for a list 996 of Output Types. 998 7.4.2. Reference Definition 1000 This column contains a pointer to the specification(s) where the 1001 output type and format are defined. 1003 7.4.3. Metric Units 1005 The measured results must be expressed using some standard dimension 1006 or units of measure. This column provides the units. 1008 When a sample of singletons (see Section 11 of[RFC2330] for 1009 definitions of these terms) is collected, this entry will specify the 1010 units for each measured value. 1012 7.4.4. Calibration 1014 Some specifications for Methods of Measurement include the 1015 possibility to perform an error calibration. Section 3.7.3 of 1016 [RFC7679] is one example. In the registry entry, this field will 1017 identify a method of calibration for the metric, and when available, 1018 the measurement system SHOULD perform the calibration when requested 1019 and produce the output with an indication that it is the result of a 1020 calbration method. In-situ calibration could be enabled with an 1021 internal loopback that includes as much of the measurement system as 1022 possible, performs address manipulation as needed, and provides some 1023 form of isolation (e.g., deterministic delay) to avoid send-receive 1024 interface contention. Some portion of the random and systematic 1025 error can be characterized this way. 1027 For one-way delay measurements, the error calibration must include an 1028 assessment of the internal clock synchronization with its external 1029 reference (this internal clock is supplying timestamps for 1030 measurement). In practice, the time offsets of clocks at both the 1031 source and destination are needed to estimate the systematic error 1032 due to imperfect clock synchronization (the time offsets are 1033 smoothed, thus the random variation is not usually represented in the 1034 results). 1036 Both internal loopback calibration and clock synchronization can be 1037 used to estimate the *available accuracy* of the Output Metric Units. 1038 For example, repeated loopback delay measurements will reveal the 1039 portion of the Output result resolution which is the result of system 1040 noise, and thus inaccurate. 1042 7.5. Administrative information 1044 7.5.1. Status 1046 The status of the specification of this Registered Performance 1047 Metric. Allowed values are 'current' and 'deprecated'. All newly 1048 defined Information Elements have 'current' status. 1050 7.5.2. Requester 1052 The requester for the Registered Performance Metric. The requester 1053 MAY be a document, such as RFC, or person. 1055 7.5.3. Revision 1057 The revision number of a Registered Performance Metric, starting at 0 1058 for Registered Performance Metrics at time of definition and 1059 incremented by one for each revision. 1061 7.5.4. Revision Date 1063 The date of acceptance or the most recent revision for the Registered 1064 Performance Metric. The date SHALL be determined by the reviewing 1065 Performance Metrics Expert in the case of Expert Review, or by IANA 1066 in the case of Standards Action. 1068 7.6. Comments and Remarks 1070 Besides providing additional details which do not appear in other 1071 categories, this open Category (single column) allows for unforeseen 1072 issues to be addressed by simply updating this informational entry. 1074 8. The Life-Cycle of Registered Performance Metrics 1076 Once a Performance Metric or set of Performance Metrics has been 1077 identified for a given application, candidate Performance Metrics 1078 Registry entry specifications prepared in accordance with Section 7 1079 should be submitted to IANA to follow the process for review by the 1080 Performance Metric Experts, as defined below. This process is also 1081 used for other changes to the Performance Metrics Registry, such as 1082 deprecation or revision, as described later in this section. 1084 It is also desirable that the author(s) of a candidate Performance 1085 Metrics Registry entry seek review in the relevant IETF working 1086 group, or offer the opportunity for review on the working group 1087 mailing list. 1089 8.1. Adding new Performance Metrics to the Performance Metrics Registry 1091 Requests to add Registered Performance Metrics in the Performance 1092 Metrics Registry are submitted to IANA, which forwards the request to 1093 a designated group of experts (Performance Metric Experts) appointed 1094 by the IESG; these are the reviewers called for by the Expert Review 1095 [RFC8126]policy defined for the Performance Metrics Registry. The 1096 Performance Metric Experts review the request for such things as 1097 compliance with this document, compliance with other applicable 1098 Performance Metric-related RFCs, and consistency with the currently 1099 defined set of Registered Performance Metrics. 1101 Authors are expected to review compliance with the specifications in 1102 this document to check their submissions before sending them to IANA. 1104 At least one Performance Metric Expert should endeavor to complete 1105 referred reviews in a timely manner. If the request is acceptable, 1106 the Performance Metric Experts signify their approval to IANA, and 1107 IANA updates the Performance Metrics Registry. If the request is not 1108 acceptable, the Performance Metric Experts MAY coordinate with the 1109 requester to change the request to be compliant, otherwise IANA SHALL 1110 coordinate resolution of issues on behalf of the expert. The 1111 Performance Metric Experts MAY choose to reject clearly frivolous or 1112 inappropriate change requests outright, but such exceptional 1113 circumstances should be rare. 1115 This process should not in any way be construed as allowing the 1116 Performance Metric Experts to overrule IETF consensus. Specifically, 1117 any Registered Performance Metrics that were added to the Performance 1118 Metrics Registry with IETF consensus require IETF consensus for 1119 revision or deprecation. 1121 Decisions by the Performance Metric Experts may be appealed as in 1122 Section 7 of [RFC8126]. 1124 8.2. Revising Registered Performance Metrics 1126 A request for Revision is only permissible when the changes maintain 1127 backward-compatibility with implementations of the prior Performance 1128 Metrics Registry entry describing a Registered Performance Metric 1129 (entries with lower revision numbers, but the same Identifier and 1130 Name). 1132 The purpose of the Status field in the Performance Metrics Registry 1133 is to indicate whether the entry for a Registered Performance Metric 1134 is 'current' or 'deprecated'. 1136 In addition, no policy is defined for revising the Performance Metric 1137 entries in the IANA Regsirty or addressing errors therein. To be 1138 certain, changes and deprecations within the Performance Metrics 1139 Registry are not encouraged, and should be avoided to the extent 1140 possible. However, in recognition that change is inevitable, the 1141 provisions of this section address the need for revisions. 1143 Revisions are initiated by sending a candidate Registered Performance 1144 Metric definition to IANA, as in Section 8, identifying the existing 1145 Performance Metrics Registry entry. 1147 The primary requirement in the definition of a policy for managing 1148 changes to existing Registered Performance Metrics is avoidance of 1149 interoperability problems; Performance Metric Experts must work to 1150 maintain interoperability above all else. Changes to Registered 1151 Performance Metrics may only be done in an inter-operable way; 1152 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 and possibly the 1155 deprecation of the earlier metric. 1157 A change to a Registered Performance Metric SHALL be determined to be 1158 backward-compatible only when: 1160 1. it involves the correction of an error that is obviously only 1161 editorial; or 1163 2. it corrects an ambiguity in the Registered Performance Metric's 1164 definition, which itself leads to issues severe enough to prevent 1165 the Registered Performance Metric's usage as originally defined; 1166 or 1168 3. it corrects missing information in the metric definition without 1169 changing its meaning (e.g., the explicit definition of 'quantity' 1170 semantics for numeric fields without a Data Type Semantics 1171 value); or 1173 4. it harmonizes with an external reference that was itself 1174 corrected. 1176 If an Performance Metric revision is deemed permissible by the 1177 Performance Metric Experts, according to the rules in this document, 1178 IANA makes the change in the Performance Metrics Registry. The 1179 requester of the change is appended to the requester in the 1180 Performance Metrics Registry. 1182 Each Registered Performance Metric in the Performance Metrics 1183 Registry has a revision number, starting at zero. Each change to a 1184 Registered Performance Metric following this process increments the 1185 revision number by one. 1187 When a revised Registered Performance Metric is accepted into the 1188 Performance Metrics Registry, the date of acceptance of the most 1189 recent revision is placed into the revision Date column of the 1190 registry for that Registered Performance Metric. 1192 Where applicable, additions to Registered Performance Metrics in the 1193 form of text Comments or Remarks should include the date, but such 1194 additions may not constitute a revision according to this process. 1196 Older version(s) of the updated metric entries are kept in the 1197 registry for archival purposes. The older entries are kept with all 1198 fields unmodified (version, revision date) except for the status 1199 field that SHALL be changed to "Deprecated". 1201 8.3. Deprecating Registered Performance Metrics 1203 Changes that are not permissible by the above criteria for Registered 1204 Performance Metric's revision may only be handled by deprecation. A 1205 Registered Performance Metric MAY be deprecated and replaced when: 1207 1. the Registered Performance Metric definition has an error or 1208 shortcoming that cannot be permissibly changed as in Section 8.2 1209 Revising Registered Performance Metrics; or 1211 2. the deprecation harmonizes with an external reference that was 1212 itself deprecated through that reference's accepted deprecation 1213 method. 1215 A request for deprecation is sent to IANA, which passes it to the 1216 Performance Metric Experts for review. When deprecating an 1217 Performance Metric, the Performance Metric description in the 1218 Performance Metrics Registry must be updated to explain the 1219 deprecation, as well as to refer to any new Performance Metrics 1220 created to replace the deprecated Performance Metric. 1222 The revision number of a Registered Performance Metric is incremented 1223 upon deprecation, and the revision Date updated, as with any 1224 revision. 1226 The use of deprecated Registered Performance Metrics should result in 1227 a log entry or human-readable warning by the respective application. 1229 Names and Metric IDs of deprecated Registered Performance Metrics 1230 must not be reused. 1232 The deprecated entries are kept with all fields unmodified, except 1233 the version, revision date, and the status field (changed to 1234 "Deprecated"). 1236 9. Security considerations 1238 This draft defines a registry structure, and does not itself 1239 introduce any new security considerations for the Internet. The 1240 definition of Performance Metrics for this registry may introduce 1241 some security concerns, but the mandatory references should have 1242 their own considerations for secuity, and such definitions should be 1243 reviewed with security in mind if the security considerations are not 1244 covered by one or more reference standards. 1246 10. IANA Considerations 1248 This document requests the following IANA Actions. 1250 10.1. New Namespace Assignments 1252 This document requests the allocation of the URI prefix 1253 urn:ietf:metrics for the purpose of generating URIs for metrics in 1254 general. The registration procedure for the new "metrics" URN sub- 1255 namespace is IETF Review. 1257 This document requests the allocation of the URI prefix 1258 urn:ietf:metrics:perf for the purpose of generating URIs for 1259 Registered Performance Metrics. The registration procedures for the 1260 new "perf" URN sub-namespace are Expert Review or IETF Standards 1261 Action, and coordinated with the entries added to the New Performance 1262 Metrics Registry (see below). 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 "IETF URN Sub- 1269 namespace for Registered Performance Metric Name Elements" 1270 (urn:ietf:metrics:perf). Each Registry, whose names are listed 1271 below: 1273 MetricType: 1275 Method: 1277 SubTypeMethod: 1279 Spec: 1281 Units: 1283 Output: 1285 will contain the current set of possibilities for Performance Metrics 1286 Registry Entry Names. 1288 To populate the IETF URN Sub-namespace for Registered Performance 1289 Metric Name Elements at creation, the IANA is asked to use the lists 1290 of values for each name element listed in Section 7.1.2. The Name 1291 Elements in each registry are case-sensitive. 1293 When preparing a Metric entry for Registration, the developer SHOULD 1294 choose Name elements from among the registered elements. However, if 1295 the proposed metric is unique in a significant way, it may be 1296 necessary to propose a new Name element to properly describe the 1297 metric, as described below. 1299 A candidate Metric Entry RFC or document for Expert Review would 1300 propose one or more new element values required to describe the 1301 unique entry, and the new name element(s) would be reviewed along 1302 with the metric entry. New assignments for IETF URN Sub-namespace 1303 for Registered Performance Metric Name Elements will be administered 1304 by IANA through Expert Review [RFC8126], i.e., review by one of a 1305 group of experts, the Performance Metric Experts, who are appointed 1306 by the IESG upon recommendation of the Transport Area Directors. 1308 10.3. New Performance Metrics Registry 1310 This document specifies the procedure for Performance Metrics 1311 Registry setup. IANA is requested to create a new registry for 1312 Performance Metrics called "Performance Metrics Registry". This 1313 Registry will contain the following Summary columns: 1315 Identifier: 1317 Name: 1319 URIs: 1321 Description: 1323 Reference: 1325 Change Controller: 1327 Version: 1329 Descriptions of these columns and additional information found in the 1330 template for registry entries (categories and columns) are further 1331 defined in section Section 7. 1333 The "Identifier" 0 should be Reserved. "The Identifier" values from 1334 64512 to 65536 are reserved for private use. 1336 Names starting with the prefix Priv_ are reserved for private use, 1337 and are not considered for registration. The "Name" column entries 1338 are further defined in section Section 7. 1340 The "URIs" column will have a URL to the full template of each 1341 registry entry, and the linked text may be the URN itself. The 1342 template shall be HTML-ized to aid the reader, with links to 1343 reference RFCs (similar to the way that Internet Drafts are HTML- 1344 ized, the same tool can perform the function). 1346 The "Reference" column will include an RFC, an approved specification 1347 from another standards body, or the contact 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 Metric Registry Entries", draft-ietf- 1437 ippm-initial-registry-09 (work in progress), December 1438 2018. 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 1577 Al Morton 1578 AT&T Labs 1579 200 Laurel Avenue South 1580 Middletown, NJ 1581 USA 1583 Email: acmorton@att.com 1585 Aamer Akhter 1586 Consultant 1587 118 Timber Hitch 1588 Cary, NC 1589 USA 1591 Email: aakhter@gmail.com