idnits 2.17.1 draft-ietf-ippm-duplicate-07.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** The document seems to lack a License Notice according IETF Trust Provisions of 28 Dec 2009, Section 6.b.i or Provisions of 12 Sep 2009 Section 6.b -- however, there's a paragraph with a matching beginning. Boilerplate error? -- It seems you're using the 'non-IETF stream' Licence Notice instead Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document 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 (January 27, 2009) is 5539 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) ** Obsolete normative reference: RFC 2680 (Obsoleted by RFC 7680) -- Obsolete informational reference (is this intentional?): RFC 4148 (Obsoleted by RFC 6248) Summary: 2 errors (**), 0 flaws (~~), 1 warning (==), 4 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group H. Uijterwaal 3 Internet-Draft RIPE NCC 4 Intended status: Standards Track January 27, 2009 5 Expires: July 31, 2009 7 A One-Way Packet Duplication Metric 8 draft-ietf-ippm-duplicate-07.txt 10 Status of this Memo 12 This Internet-Draft is submitted to IETF in full conformance with the 13 provisions of BCP 78 and BCP 79. 15 Internet-Drafts are working documents of the Internet Engineering 16 Task Force (IETF), its areas, and its working groups. Note that 17 other groups may also distribute working documents as Internet- 18 Drafts. 20 Internet-Drafts are draft documents valid for a maximum of six months 21 and may be updated, replaced, or obsoleted by other documents at any 22 time. It is inappropriate to use Internet-Drafts as reference 23 material or to cite them other than as "work in progress." 25 The list of current Internet-Drafts can be accessed at 26 http://www.ietf.org/ietf/1id-abstracts.txt. 28 The list of Internet-Draft Shadow Directories can be accessed at 29 http://www.ietf.org/shadow.html. 31 This Internet-Draft will expire on July 31, 2009. 33 Copyright Notice 35 Copyright (c) 2009 IETF Trust and the persons identified as the 36 document authors. All rights reserved. 38 This document is subject to BCP 78 and the IETF Trust's Legal 39 Provisions Relating to IETF Documents 40 (http://trustee.ietf.org/license-info) in effect on the date of 41 publication of this document. Please review these documents 42 carefully, as they describe your rights and restrictions with respect 43 to this document. 45 Abstract 47 When a packet is sent from one host to the other, one normally 48 expects that exactly one copy of the packet that was sent arrives at 49 the destination. It is, however, possible that a packet is either 50 lost or that multiple copies arrive. 52 In earlier work a metric for packet loss has been defined. This 53 metric quantifies the case where a packet that is sent, does not 54 arrive at its destination within a reasonable time. In this memo, a 55 metric for another case is defined: a packet is sent, but multiple 56 copies arrive. The document also discusses streams and methods to 57 summarize the results of streams. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 62 1.1. Requirements notation . . . . . . . . . . . . . . . . . . 4 63 1.2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . 4 64 2. A Singleton Definition for one-way packet arrival count . . . 5 65 2.1. Metric Name . . . . . . . . . . . . . . . . . . . . . . . 5 66 2.2. Metrics Parameters . . . . . . . . . . . . . . . . . . . . 5 67 2.3. Metric Units . . . . . . . . . . . . . . . . . . . . . . . 5 68 2.4. Definition . . . . . . . . . . . . . . . . . . . . . . . . 5 69 2.5. Discussion . . . . . . . . . . . . . . . . . . . . . . . . 6 70 2.6. Methodology . . . . . . . . . . . . . . . . . . . . . . . 6 71 2.7. Errors and uncertainties . . . . . . . . . . . . . . . . . 7 72 2.8. Reporting the metric . . . . . . . . . . . . . . . . . . . 7 73 3. A Singleton Definition for one-way packet duplication . . . . 7 74 3.1. Metric Name . . . . . . . . . . . . . . . . . . . . . . . 7 75 3.2. Metrics Parameters . . . . . . . . . . . . . . . . . . . . 7 76 3.3. Metric Units . . . . . . . . . . . . . . . . . . . . . . . 7 77 3.4. Definition . . . . . . . . . . . . . . . . . . . . . . . . 7 78 3.5. Discussion . . . . . . . . . . . . . . . . . . . . . . . . 8 79 4. Definition for samples for one-way Packet Duplication . . . . 8 80 4.1. Poisson Streams . . . . . . . . . . . . . . . . . . . . . 8 81 4.1.1. Metric Name . . . . . . . . . . . . . . . . . . . . . 8 82 4.1.2. Metric Parameters . . . . . . . . . . . . . . . . . . 8 83 4.1.3. Metric Units . . . . . . . . . . . . . . . . . . . . . 8 84 4.1.4. Definition . . . . . . . . . . . . . . . . . . . . . . 8 85 4.1.5. Methodology . . . . . . . . . . . . . . . . . . . . . 9 86 4.1.6. Errors and uncertainties . . . . . . . . . . . . . . . 9 87 4.1.7. Reporting the metric . . . . . . . . . . . . . . . . . 9 88 4.2. Periodic Streams . . . . . . . . . . . . . . . . . . . . . 9 89 4.2.1. Metric Name . . . . . . . . . . . . . . . . . . . . . 9 90 4.2.2. Metric Parameters . . . . . . . . . . . . . . . . . . 9 91 4.2.3. Metric Units . . . . . . . . . . . . . . . . . . . . . 9 92 4.2.4. Definition . . . . . . . . . . . . . . . . . . . . . . 9 93 4.2.5. Methodology . . . . . . . . . . . . . . . . . . . . . 9 94 4.2.6. Errors and uncertainties . . . . . . . . . . . . . . . 10 95 4.2.7. Reporting the metric . . . . . . . . . . . . . . . . . 10 97 5. Some statistics definitions for one-way Duplication . . . . . 10 98 5.1. Type-P-one-way-packet-duplication-fraction . . . . . . . . 10 99 5.2. Type-P-one-way-replicated-packet-rate . . . . . . . . . . 10 100 5.3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 11 101 6. Security Considerations . . . . . . . . . . . . . . . . . . . 11 102 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 103 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 12 104 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 105 9.1. Normative References . . . . . . . . . . . . . . . . . . . 13 106 9.2. Informative References . . . . . . . . . . . . . . . . . . 13 107 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 13 109 1. Introduction 111 This document defines a metric for one-way packet duplication across 112 Internet paths. It builds on the IPPM Framework document [RFC2330]; 113 the reader is assumed to be familiar with that document. 115 This document follows the same structure as the document for one-way 116 Packet Loss [RFC2680]; the reader is assumed to be familiar with that 117 document as well. 119 The structure of this memo is as follows: 120 o First, a singleton metric, called Type-P-one-way-packet-arrival- 121 count, is introduced to measure the number of arriving packets for 122 each packet sent. 123 o Then, a singleton metric, called Type-P-one-way-packet- 124 duplication, is defined to describe a single instance of packet 125 duplication. 126 o Next, this singleton metric is used to define samples, Type-P-one- 127 way-Packet-Duplication-Poisson-Stream and Type-P-one-way-Packet- 128 Duplication-Periodic-Stream. These are introduced to measure 129 duplication in a series of packets sent with either Poisson- 130 distributed [RFC2680] or periodic [RFC3432] intervals between the 131 packets. 132 o Finally, statistics that summarize the properties of these samples 133 are introduced. 135 1.1. Requirements notation 137 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 138 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 139 document are to be interpreted as described in [RFC2119]. 141 Although RFC 2119 was written with protocols in mind, the key words 142 are used in this document for similar reasons. They are used to 143 ensure the results of measurements from two different implementations 144 are comparable, and to note instances when an implementation could 145 perturb the network. 147 1.2. Motivation 149 When a packet is sent from one host to the other, one normally 150 expects that exactly one copy of the packet that was sent arrives at 151 the destination. It is, however, possible that a packet is either 152 lost or that multiple copies arrive. 154 In earlier work a metric for packet loss has been defined [RFC2680]. 155 This metric distinguishes between cases where the packet arrives and 156 where the packet does not arrive within a reasonable time. In this 157 memo, a metric for a third outcome is defined: a single packet is 158 sent but multiple copies arrive. 160 As this document describes a case similar to the one discussed in 161 [RFC2680], all considerations from that document on timing and 162 accuracy apply. 164 2. A Singleton Definition for one-way packet arrival count 166 2.1. Metric Name 168 Type-P-one-way-packet-arrival-count 170 2.2. Metrics Parameters 172 o Src, the IP address of a host 173 o Dst, the IP address of a host 174 o T, the wire time of a packet at the source 175 o T0, the maximum waiting time for a packet to arrive at the 176 destination. 178 2.3. Metric Units 180 An integer number 182 2.4. Definition 184 Two packets are considered identical if and only if: 186 o Both contain identical information fields. The recipient thus 187 could take either packet and use the data in an application. The 188 other packet does not contain any additional information. 189 o Both packets appear to have been sent by one and the same host, to 190 one and the same destination. Host are identified by their IP 191 addresses. 192 o Both contain valid, but not necessarily identical IP header 193 fields. 195 The value of a Type-P-one-way-packet-arrival-count is a positive 196 integer number indicating the number of (uncorrupted and identical) 197 copies received by dst in the interval [T, T+T0] for a packet sent by 198 src at time T. 200 If a packet is sent, but it is lost or does not arrive in the 201 interval [T, T+T0], then the metric is undefined. Applications MAY 202 report an "impossible" value (for example, -1) to indicate this 203 condition instead of undefined. 205 If a packet is fragmented during transport and if, for whatever 206 reason, re-assembly does not occur, then the packet will be deemed 207 lost. It is thus not included in the Type-P-one-way-packet-arrival- 208 count. 210 2.5. Discussion 212 This metric counts the number of packets arriving for each packet 213 sent. The time-out value T0 SHOULD be set to a value when the 214 application could potentially still use the packet and would not 215 discard it automatically. 217 The IP headers do not necessarily have to be identical. This can 218 happen, for example, if two packets take a different route resulting 219 in a different TTL. 221 If this metrics is used in parallel with the Packet Loss Metric 222 [RFC2680], the value of T0 MUST be the same for both cases in order 223 to keep the results comparable. 225 The metric only counts packets that are not corrupted during 226 transmission and may have been resent automatically by lower layers 227 or intermediate devices. Packets that were corrupted during 228 transmission but nevertheless still arrived at dst are not counted. 230 Clocks do have to be synchronized between src and dst such that it is 231 possible to uniquely and accurately determine the interval [T, T+T0] 232 at both sides. 234 If this metric is used in an active measurement system, the system 235 MUST NOT send multiple packets with identical information fields, in 236 order to avoid that all packets will be declared duplicates. This 237 metric can be used inside a passive measurement system as well, using 238 packets generated by another source. However, if the source can send 239 two identical packets within the interval [T, T+T0], this will be 240 incorrectly labelled as a duplicate, resulting in a false positive. 241 It is up to the implementor to estimate if this scenario is likely to 242 happen and the rate of false positives is acceptable. 244 In IPv4, "information fields" refers to all data following the IPv4 245 header. The equivalent of this in IPv6 is all information following 246 the IPv6 header and the hop-by-hop options header. 248 2.6. Methodology 250 The basic technique to measure this metrics follows the methodology 251 described in [RFC2680], section 2.6, with one exception. 253 [RFC2680] does not specify that the receiving host should be able to 254 receive multiple copies of a single packet, as it only needs one copy 255 to determine the metrics. Implementations for this metric should 256 obviously be capable to receive multiple copies. 258 2.7. Errors and uncertainties 260 Refer to section 2.7 of [RFC2680] 262 2.8. Reporting the metric 264 Refer to section 2.8 of [RFC2680] 266 3. A Singleton Definition for one-way packet duplication 268 3.1. Metric Name 270 Type-P-one-way-packet-duplication 272 3.2. Metrics Parameters 274 o Src, the IP address of a host 275 o Dst, the IP address of a host 276 o T, the wire time of a packet at the source 277 o T0, the maximum waiting time for a packet to arrive at the 278 destination. 280 3.3. Metric Units 282 An integer number. 284 3.4. Definition 286 The value of a Type-P-one-way-packet-duplication is a positive 287 integer number indicating the number of (uncorrupted and identical) 288 additional copies of an individual packet received by dst in the 289 interval [T, T+T0] sent by src at time T. 291 If a packet is sent and only one copy arrives in the interval [T, 292 T+T0], then the metric is 0. If no copy arrives in this interval, 293 then the metric is undefined. Applications MAY report an 294 "impossible" value (for example, -1) to indicate this condition. 296 3.5. Discussion 298 This metric is equal to 300 Type-P-one-way-packet-arrival-count - 1 302 This metric is expected to be used for applications that need to know 303 duplication for an individual packet. All considerations regarding 304 methodology, errors and reporting from the previous section apply. 306 4. Definition for samples for one-way Packet Duplication 308 4.1. Poisson Streams 310 4.1.1. Metric Name 312 Type-P-one-way-Packet-Duplication-Poisson-Stream 314 4.1.2. Metric Parameters 316 o Src, the IP address of a host 317 o Dst, the IP address of a host 318 o Ts, a time 319 o Tf, a time. Ts and Tf specify the time interval when packets can 320 be sent for this stream. 321 o T0, the maximum waiting time for a packet to arrive at the 322 destination. 323 o lambda, a rate in reciprocal seconds 325 4.1.3. Metric Units 327 A sequence of pairs; the elements of each pair are: 328 o T, a time 329 o Type-P-one-way-packet-arrival-count for the packet sent at T. 331 4.1.4. Definition 333 Given Ts, Tf and lambda, we compute a pseudo-random Poisson process 334 beginning at or before Ts, with average rate lambda and ending at or 335 after Tf. Those time values greater than or equal to Ts, and less 336 than or equal to Tf are then selected. At each of the times in this 337 process, we obtain the value of Type-P-one-way-packet-arrival-count. 338 The value of the sample is the sequence made up of the resulting 339 {time, duplication} pairs. If there are no such pairs, the sequence 340 is of length zero and the sample is said to be empty. 342 4.1.5. Methodology 344 Refer to [RFC2680], section 3.6. 346 4.1.6. Errors and uncertainties 348 Refer to [RFC2680], section 3.7. 350 4.1.7. Reporting the metric 352 Refer to [RFC2680], section 3.8. 354 4.2. Periodic Streams 356 4.2.1. Metric Name 358 Type-P-one-way-Packet-Duplication-Periodic-Stream 360 4.2.2. Metric Parameters 362 o Src, the IP address of a host 363 o Dst, the IP address of a host 364 o Ts, a time 365 o Tf, a time. Ts and Tf specify the time interval when packets can 366 be sent for this stream. 367 o T0, the maximum waiting time for a packet to arrive at the 368 destination. 369 o lambda, a rate in reciprocal seconds 371 4.2.3. Metric Units 373 A sequence of pairs; the elements of each pair are: 374 o T, a time 375 o Type-P-one-way-packet-arrival-count for the packet sent at T. 377 4.2.4. Definition 379 At time Ts, we start sending packets with a constant rate lambda, 380 until time Tf. For each packet sent, we obtain the value of Type-P- 381 one-way-packet-arrival-count. The value of the sample is the 382 sequence made up of the resulting {time, duplication} pairs. If 383 there are no such pairs, the sequence is of length zero and the 384 sample is said to be empty. 386 4.2.5. Methodology 388 Refer to [RFC3432], section 4.5. 390 4.2.6. Errors and uncertainties 392 Refer to [RFC3432], section 4.6. 394 4.2.7. Reporting the metric 396 Refer to [RFC3432], section 4.7. 398 5. Some statistics definitions for one-way Duplication 400 Note: the statistics described in this section can be used for both 401 Type-P-one-way-Packet-Duplication-Poisson-Stream and Type-P-one-way- 402 Packet-Duplication-Periodic-Stream. The application SHOULD report 403 which sample was used as input. 405 5.1. Type-P-one-way-packet-duplication-fraction 407 This statistic gives the fraction of additional packets that arrived 408 in a stream. 410 Given a Type-P-one-way-Packet-Duplication-Poisson-Stream, one first 411 removes all values of Type-P-one-way-Packet-Duplication which are 412 undefined. For the remaining pairs in the stream, one calculates: 413 (Sum Type-P-one-Way-packet-arrival-count/Number of pairs left) - 1 414 (In other words, (number of packets received)/(number of packets sent 415 and not lost).) 417 The number can be expressed as a percentage. 419 Note: this statistic is the equivalent of the Y.1540 IPDR [Y1540] 421 5.2. Type-P-one-way-replicated-packet-rate 423 This statistic gives the fraction of packets that was duplicated (one 424 or more times) in a stream. 426 Given a Type-P-one-way-Packet-Duplication-Poisson-Stream, one first 427 removes all values of Type-P-one-way-packet-arrival-count which are 428 undefined. For the remaining pairs in the stream, one counts the 429 number of pairs with Type-P-one-Way-packet-arrival-count greater than 430 1. Then one calculates the fraction of packets that meet this 431 criterion as a fraction of the total. (In other words: (number of 432 duplicated packets)/(number of packets sent and not lost).). 434 The number can be expressed as a percentage. 436 Note: this statistic is the equivalent of the Y.1540 RIPR [Y1540] 438 5.3. Examples 440 Consider a stream of 4 packets, sent as: 442 (1, 2, 3, 4) 444 and arriving as: 445 o Case 1: (1, 2, 3, 4) 446 o Case 2: (1, 1, 2, 2, 3, 3, 4, 4) 447 o Case 3: (1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4) 448 o Case 4: (1, 1, 1, 2, 3, 3, 3, 4) 450 Case 1: No packets are duplicated in a stream and both the Type-P- 451 one-way-packet-duplication-fraction and the type-P-one-way-packet- 452 replicated-packet-rate are 0. 454 Case 2: Every packet is duplicated once and the Type-P-one-way- 455 packet-duplication-fraction is 100%. The type-P-one-way-replicated- 456 packet-rate is 100% too. 458 Case 3: Every packet is duplicated twice, so the Type-P-one-way- 459 packet-duplication-fraction is 200%. The type-P-one-way-replicated- 460 packet-rate is still 100%. 462 Case 4: Half the packets are duplicated twice and the other half are 463 not duplicated. The Type-P-one-way-packet-duplication-fraction is 464 again 100% and this number does not show the difference with case 2. 465 However, the type-P-one-way-packet-replicated-packet-rate is 50% in 466 this case and 100% in case 2. 468 However, the type-P-one-way-packet-duplication-rate will not show the 469 difference between case 2 and 3. For this, one has to look at the 470 Type-P-one-way-packet-duplication-fraction. 472 Finally, note that the order in which the packets arrived, do not 473 affect the results. For example, these variations of case 2: 474 o Case 2a: (1, 1, 2, 2, 3, 3, 4, 4) 475 o Case 2b: (1, 2, 3, 4, 1, 2, 3, 4) 476 o Case 2c: (1, 2, 3, 4, 4, 3, 2, 1) 477 (as well as any other permutation) all yield the same results for 478 Type-P-one-way-packet-duplication-fraction and the type-P-one-way- 479 replicated-packet-rate. 481 6. Security Considerations 483 Conducting Internet measurements raises both security and privacy 484 concerns. This memo does not specify an implementation of the 485 metrics, so it does not directly affect the security of the Internet 486 nor of applications which run on the Internet. However, 487 implementations of these metrics must be mindful of security and 488 privacy concerns. 490 There are two types of security concerns: potential harm caused by 491 the measurements, and potential harm to the measurements. The 492 measurements could cause harm because they are active, and inject 493 packets into the network. The measurement parameters MUST be 494 carefully selected so that the measurements inject trivial amounts of 495 additional traffic into the networks they measure. If they inject 496 "too much" traffic, they can skew the results of the measurement, and 497 in extreme cases cause congestion and denial of service. 499 The measurements themselves could be harmed by routers giving 500 measurement traffic a different priority than "normal" traffic, or by 501 an attacker injecting artificial measurement traffic. If routers can 502 recognize measurement traffic and treat it separately, the 503 measurements will not reflect actual user traffic. If an attacker 504 injects artificial traffic that is accepted as legitimate, the loss 505 rate will be artificially lowered. Therefore, the measurement 506 methodologies SHOULD include appropriate techniques to reduce the 507 probability measurement traffic can be distinguished from "normal" 508 traffic. Authentication techniques, such as digital signatures, may 509 be used where appropriate to guard against injected traffic attacks. 511 The privacy concerns of network measurement are limited by the active 512 measurements described in this memo. Unlike passive measurements, 513 there can be no release of existing user data. 515 7. IANA Considerations 517 IANA is asked to add this metrics to the IANA IP Performance Metrics 518 (IPPM) Metrics Registry, see [RFC4148]. This section can be removed 519 after this has been done and upon publication as a RFC. 521 8. Acknowledgements 523 The idea to write this draft came up in a meeting with Al Morton, 524 Stanislav Shalunov, Emile Stephan and the author, on the IPPM 525 reporting draft. 527 This document relies heavily on [RFC2680] and the author likes to 528 thank the authors of that document for writing it. 530 Finally, thanks are due to Lars Eggert, Al Morton, Martin Swany and 531 Matt Zekauskas for their comments. 533 9. References 535 9.1. Normative References 537 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 538 Requirement Levels", BCP 14, RFC 2119, March 1997. 540 [RFC2680] Almes, G., Kalidindi, S., and M. Zekauskas, "A One-way 541 Packet Loss Metric for IPPM", RFC 2680, September 1999. 543 [RFC3432] Raisanen, V., Grotefeld, G., and A. Morton, "Network 544 performance measurement with periodic streams", RFC 3432, 545 November 2002. 547 9.2. Informative References 549 [RFC2330] Paxson, V., Almes, G., Mahdavi, J., and M. Mathis, 550 "Framework for IP Performance Metrics", RFC 2330, 551 May 1998. 553 [RFC4148] Stephan, E., "IP Performance Metrics (IPPM) Metrics 554 Registry", BCP 108, RFC 4148, August 2005. 556 [Y1540] "Y.1540 ITU-T Recommendation Y.1540 (2007), Internet 557 protocol data communication service IP packet transfer 558 and availability performance parameters.", 2007. 560 Author's Address 562 Henk Uijterwaal 563 RIPE NCC 564 Singel 258 565 1016 AB Amsterdam 566 The Netherlands 568 Phone: +31 20 535 4444 569 Email: henk@ripe.net