idnits 2.17.1 draft-ietf-ippm-duplicate-08.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? (You're using the IETF Trust Provisions' Section 6.b License Notice from 12 Feb 2009 rather than one of the newer Notices. See https://trustee.ietf.org/license-info/.) 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 (April 17, 2009) is 5459 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 (==), 3 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 April 17, 2009 5 Expires: October 19, 2009 7 A One-Way Packet Duplication Metric 8 draft-ietf-ippm-duplicate-08.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 October 19, 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 in effect on the date of 40 publication of this document (http://trustee.ietf.org/license-info). 41 Please review these documents carefully, as they describe your rights 42 and restrictions with respect to this document. 44 Abstract 46 When a packet is sent from one host to the other, one normally 47 expects that exactly one copy of the packet that was sent arrives at 48 the destination. It is, however, possible that a packet is either 49 lost or that multiple copies arrive. 51 In earlier work a metric for packet loss has been defined. This 52 metric quantifies the case where a packet that is sent, does not 53 arrive at its destination within a reasonable time. In this memo, a 54 metric for another case is defined: a packet is sent, but multiple 55 copies arrive. The document also discusses streams and methods to 56 summarize the results of streams. 58 Table of Contents 60 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 61 1.1. Requirements notation . . . . . . . . . . . . . . . . . . 4 62 1.2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . 4 63 2. A Singleton Definition for one-way packet arrival count . . . 5 64 2.1. Metric Name . . . . . . . . . . . . . . . . . . . . . . . 5 65 2.2. Metrics Parameters . . . . . . . . . . . . . . . . . . . . 5 66 2.3. Metric Units . . . . . . . . . . . . . . . . . . . . . . . 5 67 2.4. Definition . . . . . . . . . . . . . . . . . . . . . . . . 5 68 2.5. Discussion . . . . . . . . . . . . . . . . . . . . . . . . 6 69 2.6. Methodology . . . . . . . . . . . . . . . . . . . . . . . 7 70 2.7. Errors and uncertainties . . . . . . . . . . . . . . . . . 7 71 2.8. Reporting the metric . . . . . . . . . . . . . . . . . . . 7 72 3. A Singleton Definition for one-way packet duplication . . . . 7 73 3.1. Metric Name . . . . . . . . . . . . . . . . . . . . . . . 7 74 3.2. Metrics Parameters . . . . . . . . . . . . . . . . . . . . 7 75 3.3. Metric Units . . . . . . . . . . . . . . . . . . . . . . . 7 76 3.4. Definition . . . . . . . . . . . . . . . . . . . . . . . . 7 77 3.5. Discussion . . . . . . . . . . . . . . . . . . . . . . . . 8 78 4. Definition for samples for one-way Packet Duplication . . . . 8 79 4.1. Poisson Streams . . . . . . . . . . . . . . . . . . . . . 8 80 4.1.1. Metric Name . . . . . . . . . . . . . . . . . . . . . 8 81 4.1.2. Metric Parameters . . . . . . . . . . . . . . . . . . 8 82 4.1.3. Metric Units . . . . . . . . . . . . . . . . . . . . . 8 83 4.1.4. Definition . . . . . . . . . . . . . . . . . . . . . . 8 84 4.1.5. Methodology . . . . . . . . . . . . . . . . . . . . . 9 85 4.1.6. Errors and uncertainties . . . . . . . . . . . . . . . 9 86 4.1.7. Reporting the metric . . . . . . . . . . . . . . . . . 9 87 4.2. Periodic Streams . . . . . . . . . . . . . . . . . . . . . 9 88 4.2.1. Metric Name . . . . . . . . . . . . . . . . . . . . . 9 89 4.2.2. Metric Parameters . . . . . . . . . . . . . . . . . . 9 90 4.2.3. Metric Units . . . . . . . . . . . . . . . . . . . . . 9 91 4.2.4. Definition . . . . . . . . . . . . . . . . . . . . . . 9 92 4.2.5. Methodology . . . . . . . . . . . . . . . . . . . . . 10 93 4.2.6. Errors and uncertainties . . . . . . . . . . . . . . . 10 94 4.2.7. Reporting the metric . . . . . . . . . . . . . . . . . 10 95 5. Some statistics definitions for one-way Duplication . . . . . 10 96 5.1. Type-P-one-way-packet-duplication-fraction . . . . . . . . 10 97 5.2. Type-P-one-way-replicated-packet-rate . . . . . . . . . . 10 98 5.3. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 11 99 6. Security Considerations . . . . . . . . . . . . . . . . . . . 12 100 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 12 101 8. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 13 102 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 13 103 9.1. Normative References . . . . . . . . . . . . . . . . . . . 13 104 9.2. Informative References . . . . . . . . . . . . . . . . . . 13 105 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 13 107 1. Introduction 109 This document defines a metric for one-way packet duplication across 110 Internet paths. It builds on the IPPM Framework document [RFC2330]; 111 the reader is assumed to be familiar with that document. 113 This document follows the same structure as the document for one-way 114 Packet Loss [RFC2680]; the reader is assumed to be familiar with that 115 document as well. 117 The structure of this memo is as follows: 118 o First, a singleton metric, called Type-P-one-way-packet-arrival- 119 count, is introduced to measure the number of arriving packets for 120 each packet sent. 121 o Then, a singleton metric, called Type-P-one-way-packet- 122 duplication, is defined to describe a single instance of packet 123 duplication. 124 o Next, this singleton metric is used to define samples, Type-P-one- 125 way-Packet-Duplication-Poisson-Stream and Type-P-one-way-Packet- 126 Duplication-Periodic-Stream. These are introduced to measure 127 duplication in a series of packets sent with either Poisson- 128 distributed [RFC2680] or periodic [RFC3432] intervals between the 129 packets. 130 o Finally, statistics that summarize the properties of these samples 131 are introduced. 133 1.1. Requirements notation 135 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 136 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 137 document are to be interpreted as described in [RFC2119]. 139 Although RFC 2119 was written with protocols in mind, the key words 140 are used in this document for similar reasons. They are used to 141 ensure the results of measurements from two different implementations 142 are comparable, and to note instances when an implementation could 143 perturb the network. 145 1.2. Motivation 147 When a packet is sent from one host to the other, one normally 148 expects that exactly one copy of the packet that was sent arrives at 149 the destination. It is, however, possible that a packet is either 150 lost or that multiple copies arrive. 152 In earlier work a metric for packet loss has been defined [RFC2680]. 153 This metric distinguishes between cases where the packet arrives and 154 where the packet does not arrive within a reasonable time. In this 155 memo, a metric for a third outcome is defined: a single packet is 156 sent but multiple copies arrive. 158 As this document describes a case similar to the one discussed in 159 [RFC2680], all considerations from that document on timing and 160 accuracy apply. 162 2. A Singleton Definition for one-way packet arrival count 164 2.1. Metric Name 166 Type-P-one-way-packet-arrival-count 168 2.2. Metrics Parameters 170 o Src, the IP address of a host 171 o Dst, the IP address of a host 172 o T, the wire time of a packet at the source 173 o T0, the maximum waiting time for a packet to arrive at the 174 destination. 176 2.3. Metric Units 178 An integer number 180 2.4. Definition 182 Two packets are considered identical if and only if: 184 o Both contain identical information fields (see section 2.5). The 185 recipient thus could take either packet and use the data in an 186 application. The other packet does not contain any additional 187 information. 188 o Both packets appear to have been sent by one and the same host, to 189 one and the same destination. Host are identified by their IP 190 addresses. 192 The value of a Type-P-one-way-packet-arrival-count is a positive 193 integer number indicating the number of (uncorrupted and identical) 194 copies received by dst in the interval [T, T+T0] for a packet sent by 195 src at time T. 197 If a packet is sent, but it is lost or does not arrive in the 198 interval [T, T+T0], then the metric is undefined. Applications MAY 199 report an "impossible" value (for example, -1) to indicate this 200 condition instead of undefined. 202 If a packet is fragmented during transport and if, for whatever 203 reason, re-assembly does not occur, then the packet will be deemed 204 lost. It is thus not included in the Type-P-one-way-packet-arrival- 205 count. 207 2.5. Discussion 209 This metric counts the number of packets arriving for each packet 210 sent. The time-out value T0 SHOULD be set to a value when the 211 application could potentially still use the packet and would not 212 discard it automatically. 214 If this metrics is used in parallel with the Packet Loss Metric 215 [RFC2680], the value of T0 MUST be the same for both cases in order 216 to keep the results comparable. 218 The metric only counts packets that are not corrupted during 219 transmission and may have been resent automatically by lower layers 220 or intermediate devices. Packets that were corrupted during 221 transmission but nevertheless still arrived at dst are not counted. 223 Clocks do have to be synchronized between src and dst such that it is 224 possible to uniquely and accurately determine the interval [T, T+T0] 225 at both sides. 227 If this metric is used in an active measurement system, the system 228 MUST NOT send multiple packets with identical information fields, in 229 order to avoid that all packets will be declared duplicates. This 230 metric can be used inside a passive measurement system as well, using 231 packets generated by another source. However, if the source can send 232 two identical packets within the interval [T, T+T0], this will be 233 incorrectly labelled as a duplicate, resulting in a false positive. 234 It is up to the implementor to estimate if this scenario is likely to 235 happen and the rate of false positives is acceptable. 237 The definition of identical information fields is such that two 238 packets are considered to be identical if they are sent from the same 239 source and contain the same information. This does not necessarily 240 mean that all bits in the packet are the same. For example, when a 241 packet is replicated and the copies are transferred along different 242 paths, the TTL may be different. The implementation MUST specify 243 which fields are compared when deciding if two packets are identical 244 or not. 246 In case of IPv4, these will usually be: version, ihl, identification, 247 src, dst, protocol, some or all upper layer protocol data 249 In IPv6, these will usually be: version, next header, source, 250 destination, some or all upper layer protocol data 252 Note that the use of the identification field is not present in non- 253 fragmented IPv6 packets and may not be sufficient to distinguish 254 packets from each even in IPv4, particularly at higher transmission 255 speeds 257 2.6. Methodology 259 The basic technique to measure this metrics follows the methodology 260 described in [RFC2680], section 2.6, with one exception. 262 [RFC2680] does not specify that the receiving host should be able to 263 receive multiple copies of a single packet, as it only needs one copy 264 to determine the metrics. Implementations for this metric should 265 obviously be capable to receive multiple copies. 267 2.7. Errors and uncertainties 269 Refer to section 2.7 of [RFC2680] 271 2.8. Reporting the metric 273 Refer to section 2.8 of [RFC2680] 275 3. A Singleton Definition for one-way packet duplication 277 3.1. Metric Name 279 Type-P-one-way-packet-duplication 281 3.2. Metrics Parameters 283 o Src, the IP address of a host 284 o Dst, the IP address of a host 285 o T, the wire time of a packet at the source 286 o T0, the maximum waiting time for a packet to arrive at the 287 destination. 289 3.3. Metric Units 291 An integer number. 293 3.4. Definition 295 The value of a Type-P-one-way-packet-duplication is a positive 296 integer number indicating the number of (uncorrupted and identical) 297 additional copies of an individual packet received by dst in the 298 interval [T, T+T0] sent by src at time T. 300 If a packet is sent and only one copy arrives in the interval [T, 301 T+T0], then the metric is 0. If no copy arrives in this interval, 302 then the metric is undefined. Applications MAY report an 303 "impossible" value (for example, -1) to indicate this condition. 305 3.5. Discussion 307 This metric is equal to 309 Type-P-one-way-packet-arrival-count - 1 311 This metric is expected to be used for applications that need to know 312 duplication for an individual packet. All considerations regarding 313 methodology, errors and reporting from the previous section apply. 315 4. Definition for samples for one-way Packet Duplication 317 4.1. Poisson Streams 319 4.1.1. Metric Name 321 Type-P-one-way-Packet-Duplication-Poisson-Stream 323 4.1.2. Metric Parameters 325 o Src, the IP address of a host 326 o Dst, the IP address of a host 327 o Ts, a time 328 o Tf, a time. Ts and Tf specify the time interval when packets can 329 be sent for this stream. 330 o T0, the maximum waiting time for a packet to arrive at the 331 destination. 332 o lambda, a rate in reciprocal seconds 334 4.1.3. Metric Units 336 A sequence of pairs; the elements of each pair are: 337 o T, a time 338 o Type-P-one-way-packet-arrival-count for the packet sent at T. 340 4.1.4. Definition 342 Given Ts, Tf and lambda, we compute a pseudo-random Poisson process 343 beginning at or before Ts, with average rate lambda and ending at or 344 after Tf. Those time values greater than or equal to Ts, and less 345 than or equal to Tf are then selected. At each of the times in this 346 process, we obtain the value of Type-P-one-way-packet-arrival-count. 347 The value of the sample is the sequence made up of the resulting 348 {time, duplication} pairs. If there are no such pairs, the sequence 349 is of length zero and the sample is said to be empty. 351 4.1.5. Methodology 353 Refer to [RFC2680], section 3.6. 355 4.1.6. Errors and uncertainties 357 Refer to [RFC2680], section 3.7. 359 4.1.7. Reporting the metric 361 Refer to [RFC2680], section 3.8. 363 4.2. Periodic Streams 365 4.2.1. Metric Name 367 Type-P-one-way-Packet-Duplication-Periodic-Stream 369 4.2.2. Metric Parameters 371 o Src, the IP address of a host 372 o Dst, the IP address of a host 373 o Ts, a time 374 o Tf, a time. Ts and Tf specify the time interval when packets can 375 be sent for this stream. 376 o T0, the maximum waiting time for a packet to arrive at the 377 destination. 378 o lambda, a rate in reciprocal seconds 380 4.2.3. Metric Units 382 A sequence of pairs; the elements of each pair are: 383 o T, a time 384 o Type-P-one-way-packet-arrival-count for the packet sent at T. 386 4.2.4. Definition 388 At time Ts, we start sending packets with a constant rate lambda, 389 until time Tf. For each packet sent, we obtain the value of Type-P- 390 one-way-packet-arrival-count. The value of the sample is the 391 sequence made up of the resulting {time, duplication} pairs. If 392 there are no such pairs, the sequence is of length zero and the 393 sample is said to be empty. 395 4.2.5. Methodology 397 Refer to [RFC3432], section 4.5. 399 4.2.6. Errors and uncertainties 401 Refer to [RFC3432], section 4.6. 403 4.2.7. Reporting the metric 405 Refer to [RFC3432], section 4.7. 407 5. Some statistics definitions for one-way Duplication 409 Note: the statistics described in this section can be used for both 410 Type-P-one-way-Packet-Duplication-Poisson-Stream and Type-P-one-way- 411 Packet-Duplication-Periodic-Stream. The application SHOULD report 412 which sample was used as input. 414 5.1. Type-P-one-way-packet-duplication-fraction 416 This statistic gives the fraction of additional packets that arrived 417 in a stream. 419 Given a Type-P-one-way-Packet-Duplication-Poisson-Stream, one first 420 removes all values of Type-P-one-way-Packet-Duplication which are 421 undefined. For the remaining pairs in the stream, one calculates: 422 (Sum Type-P-one-Way-packet-arrival-count/Number of pairs left) - 1 423 (In other words, (number of packets received)/(number of packets sent 424 and not lost).) 426 The number can be expressed as a percentage. 428 Note: this statistic is the equivalent of the Y.1540 IPDR [Y1540] 430 5.2. Type-P-one-way-replicated-packet-rate 432 This statistic gives the fraction of packets that was duplicated (one 433 or more times) in a stream. 435 Given a Type-P-one-way-Packet-Duplication-Poisson-Stream, one first 436 removes all values of Type-P-one-way-packet-arrival-count which are 437 undefined. For the remaining pairs in the stream, one counts the 438 number of pairs with Type-P-one-Way-packet-arrival-count greater than 439 1. Then one calculates the fraction of packets that meet this 440 criterion as a fraction of the total. (In other words: (number of 441 duplicated packets)/(number of packets sent and not lost).). 443 The number can be expressed as a percentage. 445 Note: this statistic is the equivalent of the Y.1540 RIPR [Y1540] 447 5.3. Examples 449 Consider a stream of 4 packets, sent as: 451 (1, 2, 3, 4) 453 and arriving as: 454 o Case 1: (1, 2, 3, 4) 455 o Case 2: (1, 1, 2, 2, 3, 3, 4, 4) 456 o Case 3: (1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4) 457 o Case 4: (1, 1, 1, 2, 3, 3, 3, 4) 459 Case 1: No packets are duplicated in a stream and both the Type-P- 460 one-way-packet-duplication-fraction and the type-P-one-way-packet- 461 replicated-packet-rate are 0. 463 Case 2: Every packet is duplicated once and the Type-P-one-way- 464 packet-duplication-fraction is 100%. The type-P-one-way-replicated- 465 packet-rate is 100% too. 467 Case 3: Every packet is duplicated twice, so the Type-P-one-way- 468 packet-duplication-fraction is 200%. The type-P-one-way-replicated- 469 packet-rate is still 100%. 471 Case 4: Half the packets are duplicated twice and the other half are 472 not duplicated. The Type-P-one-way-packet-duplication-fraction is 473 again 100% and this number does not show the difference with case 2. 474 However, the type-P-one-way-packet-replicated-packet-rate is 50% in 475 this case and 100% in case 2. 477 However, the type-P-one-way-packet-duplication-rate will not show the 478 difference between case 2 and 3. For this, one has to look at the 479 Type-P-one-way-packet-duplication-fraction. 481 Finally, note that the order in which the packets arrived, do not 482 affect the results. For example, these variations of case 2: 483 o Case 2a: (1, 1, 2, 2, 3, 3, 4, 4) 484 o Case 2b: (1, 2, 3, 4, 1, 2, 3, 4) 485 o Case 2c: (1, 2, 3, 4, 4, 3, 2, 1) 486 (as well as any other permutation) all yield the same results for 487 Type-P-one-way-packet-duplication-fraction and the type-P-one-way- 488 replicated-packet-rate. 490 6. Security Considerations 492 Conducting Internet measurements raises both security and privacy 493 concerns. This memo does not specify an implementation of the 494 metrics, so it does not directly affect the security of the Internet 495 nor of applications which run on the Internet. However, 496 implementations of these metrics must be mindful of security and 497 privacy concerns. 499 There are two types of security concerns: potential harm caused by 500 the measurements, and potential harm to the measurements. The 501 measurements could cause harm because they are active, and inject 502 packets into the network. The measurement parameters MUST be 503 carefully selected so that the measurements inject trivial amounts of 504 additional traffic into the networks they measure. If they inject 505 "too much" traffic, they can skew the results of the measurement, and 506 in extreme cases cause congestion and denial of service. 508 The measurements themselves could be harmed by routers giving 509 measurement traffic a different priority than "normal" traffic, or by 510 an attacker injecting artificial measurement traffic. If routers can 511 recognize measurement traffic and treat it separately, the 512 measurements will not reflect actual user traffic. If an attacker 513 injects artificial traffic that is accepted as legitimate, the loss 514 rate will be artificially lowered. Therefore, the measurement 515 methodologies SHOULD include appropriate techniques to reduce the 516 probability measurement traffic can be distinguished from "normal" 517 traffic. Authentication techniques, such as digital signatures, may 518 be used where appropriate to guard against injected traffic attacks. 520 The privacy concerns of network measurement are limited by the active 521 measurements described in this memo. Unlike passive measurements, 522 there can be no release of existing user data. 524 7. IANA Considerations 526 IANA is asked to add this metrics to the IANA IP Performance Metrics 527 (IPPM) Metrics Registry, see [RFC4148]. This section can be removed 528 after this has been done and upon publication as a RFC. 530 8. Acknowledgements 532 The idea to write this draft came up in a meeting with Al Morton, 533 Stanislav Shalunov, Emile Stephan and the author, on the IPPM 534 reporting draft. 536 This document relies heavily on [RFC2680] and the author likes to 537 thank the authors of that document for writing it. 539 Finally, thanks are due to Lars Eggert, Al Morton, Martin Swany and 540 Matt Zekauskas for their comments. 542 9. References 544 9.1. Normative References 546 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 547 Requirement Levels", BCP 14, RFC 2119, March 1997. 549 [RFC2680] Almes, G., Kalidindi, S., and M. Zekauskas, "A One-way 550 Packet Loss Metric for IPPM", RFC 2680, September 1999. 552 [RFC3432] Raisanen, V., Grotefeld, G., and A. Morton, "Network 553 performance measurement with periodic streams", RFC 3432, 554 November 2002. 556 9.2. Informative References 558 [RFC2330] Paxson, V., Almes, G., Mahdavi, J., and M. Mathis, 559 "Framework for IP Performance Metrics", RFC 2330, 560 May 1998. 562 [RFC4148] Stephan, E., "IP Performance Metrics (IPPM) Metrics 563 Registry", BCP 108, RFC 4148, August 2005. 565 [Y1540] "Y.1540 ITU-T Recommendation Y.1540 (2007), Internet 566 protocol data communication service IP packet transfer 567 and availability performance parameters.", 2007. 569 Author's Address 571 Henk Uijterwaal 572 RIPE NCC 573 Singel 258 574 1016 AB Amsterdam 575 The Netherlands 577 Phone: +31 20 535 4444 578 Email: henk@ripe.net