idnits 2.17.1 draft-shalunov-ippm-reporting-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** It looks like you're using RFC 3978 boilerplate. You should update this to the boilerplate described in the IETF Trust License Policy document (see https://trustee.ietf.org/license-info), which is required now. -- Found old boilerplate from RFC 3978, Section 5.1 on line 14. -- Found old boilerplate from RFC 3978, Section 5.5 on line 403. -- Found old boilerplate from RFC 3979, Section 5, paragraph 1 on line 380. -- Found old boilerplate from RFC 3979, Section 5, paragraph 2 on line 387. -- Found old boilerplate from RFC 3979, Section 5, paragraph 3 on line 393. ** This document has an original RFC 3978 Section 5.4 Copyright Line, instead of the newer IETF Trust Copyright according to RFC 4748. ** This document has an original RFC 3978 Section 5.5 Disclaimer, instead of the newer disclaimer which includes the IETF Trust according to RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Introduction section. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (April 2006) is 6586 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) No issues found here. Summary: 4 errors (**), 0 flaws (~~), 2 warnings (==), 7 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group S. Shalunov 3 Internet-Draft Internet2 4 Expires: October 3, 2006 April 2006 6 Reporting IP Performance Metrics to Users 7 draft-shalunov-ippm-reporting-03.txt 9 Status of this Memo 11 By submitting this Internet-Draft, each author represents that any 12 applicable patent or other IPR claims of which he or she is aware 13 have been or will be disclosed, and any of which he or she becomes 14 aware will be disclosed, in accordance with Section 6 of BCP 79. 16 Internet-Drafts are working documents of the Internet Engineering 17 Task Force (IETF), its areas, and its working groups. Note that 18 other groups may also distribute working documents as Internet- 19 Drafts. 21 Internet-Drafts are draft documents valid for a maximum of six months 22 and may be updated, replaced, or obsoleted by other documents at any 23 time. It is inappropriate to use Internet-Drafts as reference 24 material or to cite them other than as "work in progress." 26 The list of current Internet-Drafts can be accessed at 27 http://www.ietf.org/ietf/1id-abstracts.txt. 29 The list of Internet-Draft Shadow Directories can be accessed at 30 http://www.ietf.org/shadow.html. 32 This Internet-Draft will expire on October 3, 2006. 34 Copyright Notice 36 Copyright (C) The Internet Society (2006). 38 Abstract 40 The aim of this document is to define a small set of metrics that are 41 robust, easy to understand, orthogonal, relevant, and easy to 42 compute. The IPPM WG has defined a large number of richly 43 parameterized metrics because network measurement has many purposes. 44 Often, the ultimate purpose is to report a concise set of metrics 45 describing a network's state to an end user. It is for this purpose 46 that the present set of metrics is defined. 48 Table of Contents 50 1. Requirements Notation . . . . . . . . . . . . . . . . . . . . 3 51 2. Goals and Motivation . . . . . . . . . . . . . . . . . . . . . 4 52 3. Reportable Metrics Set . . . . . . . . . . . . . . . . . . . . 6 53 3.1. Delay . . . . . . . . . . . . . . . . . . . . . . . . . . 6 54 3.2. Loss . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 55 3.3. Jitter . . . . . . . . . . . . . . . . . . . . . . . . . . 6 56 3.4. Duplication . . . . . . . . . . . . . . . . . . . . . . . 7 57 3.5. Reordering . . . . . . . . . . . . . . . . . . . . . . . . 7 58 4. Sample Source . . . . . . . . . . . . . . . . . . . . . . . . 8 59 4.1. One-Way Active Measurement . . . . . . . . . . . . . . . . 8 60 4.2. Round-Trip Active Measurement . . . . . . . . . . . . . . 9 61 4.3. Passive Measurement . . . . . . . . . . . . . . . . . . . 9 62 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 63 6. Internationalization Considerations . . . . . . . . . . . . . 11 64 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 65 8. Normative References . . . . . . . . . . . . . . . . . . . . . 12 66 Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . . 13 67 Appendix B. TODO . . . . . . . . . . . . . . . . . . . . . . . . 14 68 Appendix C. Revision History . . . . . . . . . . . . . . . . . . 15 69 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 16 70 Intellectual Property and Copyright Statements . . . . . . . . . . 17 72 1. Requirements Notation 74 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 75 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 76 document are to be interpreted as described in [RFC2119]. 78 2. Goals and Motivation 80 The IPPM working group has defined many richly parameterized 81 performance metrics with a number of variants (one-way delay, one-way 82 loss, delay variation, reordering, etc.) and a protocol for obtaining 83 the measurement data needed to compute these metrics (OWAMP). It 84 would be beneficial to define a standard way to report a set of 85 performance metrics to end users. Parameterization might be 86 acceptable in such a set, but there must still be defaults for 87 everything. It is especially important to get these defaults right. 88 Such a set would enable different tools to produce results that can 89 be compared against each other. 91 Existing tools already report statistic about the network. This is 92 done for varying reasons: network testing tools, such as the ping 93 program available in UNIX-derived operating systems as well as in 94 Microsoft Windows, report statistics with no knowledge of why the 95 user is running the program; networked games might report statistics 96 of the network connection to the server so users can better 97 understand why they get the results they get (e.g., if something is 98 slow, is this because of the network or the CPU?), so they can 99 compare their statistics to those of others (``you're not lagged any 100 more than I am'') or perhaps so that users can decide whether they 101 need to upgrade the connection to their home; IP telephony hardware 102 and software might report the statistics for similar reasons. While 103 existing tools report statistics all right, the particular set of 104 metrics they choose is ad hoc; some metrics are not statistically 105 robust, some are not relevant, and some are not easy to understand; 106 more important than specific shortcomings, however, is the 107 incompatibility: even if the sets of metrics were perfect, they would 108 still be all different, and, therefore, metrics reported by different 109 tools would not be comparable. 111 The set of metrics of this document is meant for human consumption. 112 It must therefore be small. Anything greater than half-dozen numbers 113 is certainly too confusing. 115 Each of the metrics must be statistically robust. Intuitively, this 116 means that having a small number of bad data points and a small 117 amount of noise must not dramatically change the metric. 119 Each metric in the set must have, qualitatively, an immediate 120 intuitive meaning that has to be obvious for an advanced end user 121 without consulting documentation (that is, it has to be clear what 122 rough meaning, intuitively, the larger values of a given metric 123 have). 125 To be small, the set has to be orthogonal: each of the metrics has to 126 express a property not covered by other metrics (otherwise, there's 127 redundancy). 129 The metrics in the set must be relevant. Partly, being easy to 130 understand will help achieve this, but additional constraint may be 131 placed by relevancy. 133 Finally, while this set will most frequently be computed for small 134 data sets, where efficiency is not a serious consideration, it must 135 be possible to compute for large data sets, too. In particular, it 136 must be possible to compute the metrics in a single pass over the 137 data using a limited amount of memory (i.e., it must be possible to 138 take a source of measurement data with a high data rate and compute 139 the metrics on the fly, discarding each data point after it is 140 processed). 142 3. Reportable Metrics Set 144 The following metrics comprise the set: 146 1. delay; 148 2. loss; 150 3. jitter; 152 4. duplication; 154 5. reordering. 156 Each of the above is represented by a single numeric quantity, 157 computed as described below. 159 3.1. Delay 161 The reported delay is the median of all delays in the sample. When a 162 packet is lost, its delay is to be considered +infinity for the 163 purposes of this computation; therefore, if more than half of all 164 packets are lost, the delay is +infinity. 166 FIXME: References. 168 3.2. Loss 170 Loss is the fraction, expressed as a percentage, of packets that did 171 not arrive intact within a given number of seconds (timeout value) 172 after being sent. Since this set of metrics often has to be reported 173 to a waiting human user, the default timeout value has to be small. 174 By default, 2 seconds MUST be the timeout value. 176 FIXME: References. 178 3.3. Jitter 180 Jitter is the interquartile spread of delay. In other words, jitter 181 is equal to the difference of the 75th and 25th percentiles of delay. 182 When both percentiles are +infinity, the value of jitter is 183 undefined. Therefore, if less than 25% of packets are lost, jitter 184 is defined and finite; if between 75% and 25% of packets are lost, 185 jitter is +infinity; finally, if more than 75% of packets are lost, 186 jitter is undefined. 188 FIXME: References. 190 3.4. Duplication 192 Duplication is the fraction of packets for which more than a single 193 copy of the packet was received within the timeout period (same 194 timeout as in the definition of loss), expressed in percentage 195 points. 197 Note: while most received packets can be ones previously seen, 198 duplication can never exceed 100%. 200 FIXME: References (tough one---IPPM hasn't defined duplication). 202 3.5. Reordering 204 Reordering is the fraction of sent packets for which the sequence 205 number of the packet received immediately before the first copy of 206 the given packet is not the decrement of the sequence number of the 207 given packet. For the purposes of determining the sequence number of 208 the preceding packet in this definition, assuming sequence numbers 209 starting with 1, an extra packet at the start of the stream of 210 received packets, with a sequence number of 0, is considered to be 211 present (this extra packet, of course, is not counted for the 212 purposes of computing the fraction). 214 FIXME: References. 216 4. Sample Source 218 Section 3 describes the metrics to compute on a sample of 219 measurements. The source of the sample in not discussed there, and, 220 indeed, the metrics discussed (delay, loss, etc.) are simply 221 estimators that could be applied to any sample whatsoever. For the 222 names of the estimators to be applicable, of course, the measurements 223 need to come from a packet delivery network. 225 The data in the samples for the set of metrics discussed in this 226 document can come from the following sources: one-way active 227 measurement, round-trip measurement, and passive measurement. There 228 infrequently is a choice between active and passive measurement, as, 229 typically, only one is available; consequently, no preference is 230 given to one over the other. In cases where clocks can be expected 231 to be synchronized, in general, one-way measurements are preferred 232 over round-trip measurements (as one-way measurements are more 233 informative). When one-way measurements cannot be obtained, or when 234 clocks cannot be expected to be synchronized, round-trip measurement 235 MAY be used. 237 4.1. One-Way Active Measurement 239 The default duration of the measurement interval is 10 seconds. 241 The default sending schedule is a Poisson stream. 243 The default sending rate is 10 packets/second on average. The 244 default sending schedule is a Poisson stream. When randomized 245 schedules, such as a Poisson stream, are used, the rate MUST be set 246 with the distribution parameter(s). With a randomized schedule, the 247 default sample size is 100 packets and the measurement window 248 duration can vary to some extent depending on the values of the 249 (pseudo-)random deviates. 251 The default packet size is the minimum necessary for the measurement. 253 Values other than the default ones MAY be used; if they are used, 254 their use, and specific values used, MUST be reported. 256 A one-way active measurement is characterized by the source IP 257 address, the destination IP address, the time when measurement was 258 taken, and the type of packets (e.g., UDP with given port numbers and 259 a given DSCP) used in the measurement. For the time, the middle of 260 the measurement interval MUST be reported. 262 4.2. Round-Trip Active Measurement 264 The same default parameters and characterization apply to round-trip 265 measurement as to one-way measurement (Section 4.1). 267 4.3. Passive Measurement 269 Passive measurement use whatever data it is natural to use. For 270 example, an IP telephony application or a networked game would use 271 the data that it sends. An analysis of performance of a link might 272 use all the packets that traversed the link in the measurement 273 interval. An analysis of performance of an Internet service 274 provider's network might use all the packets that traversed the 275 network in the measurement interval. An analysis of performance of a 276 specific service from the point of view of a given site might use an 277 appropriate filter to select only the relevant packets. In any case, 278 the source needs to be reported. 280 The same default duration applies to passive measurement as to one- 281 way active measurement (Section 4.1). 283 When the passive measurement data is reported in real time, a sliding 284 window SHOULD be used as a measurement period, so that recent data 285 become more quickly reflected. 287 5. Security Considerations 289 The reporting per se, not being a protocol, does not raise security 290 considerations. 292 An aspect of reporting relevant to security is how the reported 293 metrics are used and how they are collected. If it is important that 294 the metrics satisfy certain conditions (e.g., that the ISP whose 295 network is being measured be unable to make the metrics appear better 296 than they are), the collection mechanism MUST ensure that this is, 297 indeed, so. The exact mechanisms to do so our outside of scope of 298 this document and belong with discussion of particular measurement 299 data collection protocols. 301 6. Internationalization Considerations 303 The reported metrics, while they might occasionally be parsed by 304 machine, are primarily meant for human consumption. As such, they 305 MAY be reported in the language preferred by the user, using an 306 encoding suitable for the purpose, such as UTF-8. 308 7. IANA Considerations 310 This document requires no action from the IANA. 312 8. Normative References 314 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 315 Requirement Levels", BCP 14, RFC 2119, March 1997. 317 Appendix A. Acknowledgments 319 The author gratefully acknowledges discussion with, encouragement 320 from, and contributions of Lawrence D. Dunn, Reza Fardid, 321 Ruediger Geib, Matt Mathis, Al Morton, Carsten Schmoll, 322 Henk Uijterwaal, and Matthew J. Zekauskas. 324 Appendix B. TODO 326 FIXME: This section needs to be removed before publication. 328 o Add references 330 o Add non-normative code for illustration 332 o Add examples (code output) 334 Appendix C. Revision History 336 FIXME: This section needs to be removed before publication. 338 $Log: draft-shalunov-ippm-reporting.xml,v $ 339 Revision 1.5 2006/05/02 20:25:44 shalunov 340 Version 03: Various refinements and clarifications based on feedback 341 from Reza Fardid, Ruediger Geib, and Al Morton. 343 Revision 1.4 2006/04/25 22:38:58 shalunov 344 Version 02: Address comments from Carsten Schmoll, sent in message 345 70524A4436C03E43A293958B505008B61B9CFB@EXCHSRV.fokus.fraunhofer.de. 346 My response, with clarifications and diffs, is in message 347 8664kxwazk.fsf@abel.internet2.edu. 349 Revision 1.3 2006/04/11 22:09:47 shalunov 350 Version 01: Wording changes based on discussion with Matt Zekauskas 351 (reordering, loss). Rewrite abstract a bit. Add TODO list. 353 Revision 1.2 2006/04/04 21:39:20 shalunov 354 Convert to xml2rfc 1.30 and RFC 3978 IPR statement. 356 Revision 1.1.1.1 2006/04/02 17:07:36 shalunov 357 Initial import into CVS. 359 Author's Address 361 Stanislav Shalunov 362 Internet2 363 1000 Oakbrook Drive, Suite 300 364 Ann Arbor, MI 48104 365 US 367 Phone: +1-734-913-4260 368 Email: shalunov@internet2.edu 369 URI: http://www.internet2.edu/~shalunov/ 371 Intellectual Property Statement 373 The IETF takes no position regarding the validity or scope of any 374 Intellectual Property Rights or other rights that might be claimed to 375 pertain to the implementation or use of the technology described in 376 this document or the extent to which any license under such rights 377 might or might not be available; nor does it represent that it has 378 made any independent effort to identify any such rights. Information 379 on the procedures with respect to rights in RFC documents can be 380 found in BCP 78 and BCP 79. 382 Copies of IPR disclosures made to the IETF Secretariat and any 383 assurances of licenses to be made available, or the result of an 384 attempt made to obtain a general license or permission for the use of 385 such proprietary rights by implementers or users of this 386 specification can be obtained from the IETF on-line IPR repository at 387 http://www.ietf.org/ipr. 389 The IETF invites any interested party to bring to its attention any 390 copyrights, patents or patent applications, or other proprietary 391 rights that may cover technology that may be required to implement 392 this standard. Please address the information to the IETF at 393 ietf-ipr@ietf.org. 395 Disclaimer of Validity 397 This document and the information contained herein are provided on an 398 "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS 399 OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET 400 ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, 401 INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE 402 INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED 403 WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. 405 Copyright Statement 407 Copyright (C) The Internet Society (2006). This document is subject 408 to the rights, licenses and restrictions contained in BCP 78, and 409 except as set forth therein, the authors retain all their rights. 411 Acknowledgment 413 Funding for the RFC Editor function is currently provided by the 414 Internet Society.