Internet Engineering Task Force (IETF) A. Morton Request for Comments: 6673 AT&T Labs Category: Standards Track August 2012 ISSN: 2070-1721 Round-Trip Packet Loss MetricsAbstract
Many user applications (and the transport protocols that make them possible) require two-way communications. To assess this capability, and to achieve test system simplicity, round-trip loss measurements are frequently conducted in practice. The Two-Way Active Measurement Protocol specified in RFC 5357 establishes a round-trip loss measurement capability for the Internet. However, there is currently no round-trip packet loss metric specified according to the RFC 2330 framework. This memo adds round-trip loss to the set of IP Performance Metrics (IPPM). Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6673.
Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
Table of Contents
1. Introduction ....................................................3 1.1. Motivation .................................................4 1.2. Requirements Language ......................................5 2. Scope ...........................................................5 3. Common Specifications for Round-Trip Metrics ....................5 3.1. Name: Type-P-* .............................................5 3.2. Metric Parameters ..........................................5 3.3. Metric Definition ..........................................6 3.4. Metric Units ...............................................6 4. A Singleton Round-Trip Loss Metric ..............................7 4.1. Name: Type-P-Round-trip-Loss ...............................7 4.2. Metric Parameters ..........................................7 4.3. Definition and Metric Units ................................7 4.4. Discussion and Other Details ...............................8 5. A Sample Round-Trip Loss Metric .................................9 5.1. Name: Type-P-Round-trip-Loss-<Sample>-Stream ...............9 5.2. Metric Parameters ..........................................9 5.3. Definition and Metric Units ................................9 5.4. Discussion and Other Details ..............................10 6. Round-Trip Loss Statistic ......................................10 6.1. Type-P-Round-trip-Loss-<Sample>-Ratio .....................10 7. Round-Trip Testing and One-Way Reporting .......................11 8. Measurement Considerations and Calibration .....................11 9. Security Considerations ........................................12 9.1. Denial-of-Service Attacks .................................12 9.2. User Data Confidentiality .................................12 9.3. Interference with the Metrics .............................12 10. IANA Considerations ...........................................13 11. Acknowledgements ..............................................13 12. References ....................................................13 12.1. Normative References .....................................13 12.2. Informative References ...................................141. Introduction
This memo defines a metric to quantify an IP network's ability to transfer packets in both directions from one host to another host. Two-way communication is almost always needed; thus, failure to transfer a packet in either direction constitutes a round-trip packet loss. This memo defines a metric for round-trip packet loss on Internet paths. It builds on the notions and conventions introduced in the IP Performance Metrics (IPPM) framework [RFC2330]. Also, the specifications of the one-way packet loss metric for IPPM [RFC2680] and the round-trip delay metric for IPPM [RFC2681] are frequently
referenced and modified to match the round-trip circumstances addressed here. However, this memo assumes that the reader is familiar with the references; thus, it does not repeat material as was done in [RFC2681]. This memo uses the terms "two-way" and "round-trip" synonymously.1.1. Motivation
Many user applications and the transport protocols that make them possible require two-way communications. For example, the TCP SYN->, <-SYN-ACK, ACK-> three-way handshake attempted billions of times each day cannot be completed without two-way connectivity in a near- simultaneous time interval. Thus, measurements of Internet round- trip packet loss performance provide a basis to infer application performance more easily. Measurement system designers have also recognized advantages of system simplicity when one host simply echoes or reflects test packets to the sender. Round-trip packet loss measurements are frequently conducted and reported in practice. The ubiquitous "ping" tools allow the measurement of round-trip packet loss and delay but usually require ICMP Echo-Request/Reply support, and ICMP packets may encounter exceptional treatment on the measurement path (see Section 2.6 of [RFC2681]). The Two-Way Active Measurement Protocol (TWAMP) specified in [RFC5357] establishes a round-trip packet loss measurement capability for the Internet. However, there is currently no round-trip packet loss metric specified according to the [RFC2330] framework. [RFC2681] indicates that round-trip measurements may sometimes encounter "asymmetric" paths. When loss is observed using a round- trip measurement, there is often a desire to ascertain which of the two directional paths "lost" the packet. Under some circumstances, it is possible to make this inference. The round-trip measurement method raises a few complications when interpreting the embedded one- way results, and the user should be aware of them. [RFC2681] also points out that loss measurement conducted sequentially in both directions of a path and reported as a round- trip result may be exactly the desired metric. On the other hand, it may be difficult to derive the state of round-trip packet loss from one-way measurements conducted in each direction unless a method to match the appropriate one-way measurements has been pre-arranged. Finally, many measurement systems report statistics on a conditional delay distribution, where the condition is packet arrival at the destination. This condition is encouraged in [RFC3393], [RFC5481],
and [RFC6703]. As a result, lost packets need to be reported separately, according to a standardized metric. This memo defines such a metric. See Section 1.1 of [RFC2680] for additional motivation of the packet loss metric.1.2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119].2. Scope
This memo defines a round-trip packet loss metric using the conventions of the IPPM framework [RFC2330]. The memo defines a singleton metric, a sample metric, and a statistic, as per [RFC2330]. The [RFC2330] framework is for active measurement methods. Although this metric MAY be applicable in passive measurement as well, discussion of additional considerations for the passive scenario are beyond the normative scope of this memo. The memo also investigates the topic of one-way loss inference from a two-way measurement and lists some key considerations.3. Common Specifications for Round-Trip Metrics
To reduce the redundant information presented in the detailed metrics sections that follow, this section presents the specifications that are common to two or more metrics. The section is organized using the same subsections as the individual metrics, to simplify comparisons.3.1. Name: Type-P-*
All metrics use the Type-P convention as described in [RFC2330]. The rest of the name is unique to each metric.3.2. Metric Parameters
o Src, the IP address of a host o Dst, the IP address of a host o T, a time (start of test interval)
o Tf, a time (end of test interval) o lambda, a rate in reciprocal seconds (for Poisson Streams) o incT, the nominal duration of inter-packet interval, first bit to first bit (for Periodic Streams) o T0, a time that MUST be selected at random from the interval [T, T+dT] to start generating packets and taking measurements (for Periodic Streams) o TstampSrc, the wire time of the packet as measured at MP(Src) as it leaves for Dst. o TstampDst, the wire time of the packet as measured at MP(Dst), assigned to packets that arrive within a "reasonable" time (less than Tmax). o Tmax, a maximum waiting time for packets to arrive at Src, set sufficiently long to disambiguate packets with long delays from packets that are discarded (lost). o M, the total number of packets sent between T0 and Tf o N, the total number of packets received at Dst (sent between T0 and Tf) o Type-P, as defined in [RFC2330], which includes any field that may affect a packet's treatment as it traverses the network3.3. Metric Definition
This section is specific to each metric.3.4. Metric Units
The metric units are logical (1 or 0) when describing a single packet's loss performance, where a 0 indicates successful packet transmission and a 1 indicates packet loss. Units of time are as specified in [RFC2330]. Other units used are defined in the associated section where needed (e.g., Section 6.1 in the case of Type-P-Round-trip-Loss-<Sample>-Ratio).
4. A Singleton Round-Trip Loss Metric
4.1. Name: Type-P-Round-trip-Loss
4.2. Metric Parameters
See Section 3.2.4.3. Definition and Metric Units
Type-P-Round-trip-Loss SHALL be represented by the binary logical values (or their equivalents) when the following conditions are met: Type-P-Round-trip-Loss = 0: o Src sent the first bit of a Type-P packet to Dst at wire-time TstampSrc, o that Dst received that packet, o the Dst sent a Type-P packet back to the Src as quickly as possible (certainly less than Tmax, and fast enough for the intended purpose), and o that Src received the last bit of the reflected packet prior to wire-time TstampSrc + Tmax. Type-P-Round-trip-Loss = 1: o Src sent the first bit of a Type-P packet to Dst at wire-time TstampSrc, o that Src did not receive the last bit of the reflected packet before the waiting time lapsed at TstampSrc + Tmax. Possible causes for the Loss = 1 outcome are as follows: o the Dst did not receive that packet, o the Dst did not send a Type-P packet back to the Src, or o the Src did not receive a reflected Type-P packet sent from the Dst.
Following the precedent of Section 2.4 of [RFC2681], we make the simplifying assertion that round-trip loss measured between two hosts is equal regardless of the host that originates the test: Type-P-Round-trip-Loss(Src->Dst->Src) = Type-P-Round-trip-Loss(Dst->Src->Dst) (and agree with the rationale presented there -- that the ambiguity introduced is a small price to pay for measurement efficiency). Therefore, each singleton can be represented by pairs of elements as follows: o TstampSrc, the wire time of the packet at the Src (beginning the round-trip journey). o L, either zero or one (or some logical equivalent), where L=1 indicates loss and L=0 indicates successful round-trip arrival prior to TstampSrc + Tmax.4.4. Discussion and Other Details
See [RFC2680] and [RFC2681] for extensive discussion, methods of measurement, errors and uncertainties, and other fundamental considerations that need not be repeated here. We add the following guidance regarding the responder process to "send a Type-P packet back to the Src as quickly as possible". A response that was not generated within Tmax is inadequate for any realistic test, and the Src will discard such responses. A responder that serves typical round-trip packet loss testing (which is relevant to higher-layer application performance) SHOULD produce a response in 1 second or less. A responder that is unable to satisfy this requirement SHOULD log the fact so that an operator can adjust the load and priorities as necessary. Analysis of responder timestamps [RFC5357] that finds responses are not generated in a timely fashion SHOULD result in operator notification, and the operator SHOULD suspend tests to the responder, since it may be overloaded. Additional measurement considerations are described in Section 8 below.
5. A Sample Round-Trip Loss Metric
Given the singleton metric Type-P-Round-trip-Loss, we now define one particular sample of such singletons. The idea of the sample is to select a particular binding of the parameters Src, Dst, and Type-P, then define a sample of values of parameter TstampSrc. This can be done in several ways, including the following: 1. Poisson: a pseudo-random Poisson process of rate lambda, whose values fall between T and Tf. The time interval between successive values of TstampSrc will then average 1/lambda, as per Section 11.1.1 of [RFC2330]. 2. Periodic: a periodic stream process with pseudo-random start time T0 between T and dT, and nominal inter-packet interval incT, as per [RFC3432]. In the metric name, the variable <Sample> SHALL be replaced with the process used to define the sample, using one of the above processes (or another sample process meeting the criteria in Section 11.1 of [RFC2330], the details of which MUST be reported with the results if used).5.1. Name: Type-P-Round-trip-Loss-<Sample>-Stream
5.2. Metric Parameters
See Section 3.2.5.3. Definition and Metric Units
Given one of the methods for defining the test interval -- the sample of times (TstampSrc) and other metric parameters -- we obtain a sequence of Type-P-Round-trip-Loss singletons as defined in Section 4.3. Type-P-Round-trip-Loss-<Sample>-Stream SHALL be a sequence of pairs with elements as follows: o TstampSrc, as above o L, either zero or one (or some logical equivalent), where L=1 indicates loss and L=0 indicates successful round-trip arrival prior to TstampSrc + Tmax and where <Sample> SHALL be replaced with "Poisson", "Periodic", or an appropriate term to designate another sample method as described in Section 5 above.
5.4. Discussion and Other Details
See [RFC2680] and [RFC2681] for extensive discussion, methods of measurement, errors and uncertainties, and other fundamental considerations that need not be repeated here. However, when these references were approved, the packet reordering metrics in [RFC4737] had not yet been defined, nor had reordering been addressed in IPPM methodologies. [RFC4737] defines packets that arrive "late" with respect to their sending order as reordered -- for example, when packets arrive with sequence numbers 4, 7, 5, 6, then packets 5 and 6 are reordered, and they are obviously not lost because they have arrived within some reasonable waiting time threshold. The presence of reordering on a round-trip path has several likely effects on the measurement. 1. Methods of measurement should continue to wait the specified time for packets and avoid prematurely declaring round-trip packet loss when a sequence gap or error is observed. 2. The time distribution of the singletons in the sample has been significantly changed. 3. Either the original packet stream or the reflected packet stream experienced path instability, and the original conditions may no longer be present. Measurement implementations MUST address the possibility of packet reordering and avoid related errors in their processes.6. Round-Trip Loss Statistic
This section gives the primary and overall statistic for loss performance. Additional statistics and metrics originally prepared for one-way loss MAY also be applicable.6.1. Type-P-Round-trip-Loss-<Sample>-Ratio
Given a Type-P-Round-trip-Loss-<Sample>-Stream, the average of all the logical values, L, in the stream is the Type-P-Round-trip-Loss-<Sample>-Ratio. This ratio is in units of lost packets per round-trip transmissions actually attempted. In addition, the Type-P-Round-trip-Loss-<Sample>-Ratio is undefined if the sample is empty.
7. Round-Trip Testing and One-Way Reporting
This section raises considerations for results collected using a round-trip measurement architecture, such as in TWAMP [RFC5357]. The sampling process for the reverse path (Dst->Src) is a conditional process that depends on successful packet arrival at the Dst and correct operation at the Dst to generate the reflected packet. Therefore, the sampling process for the reverse path will be significantly affected when appreciable loss occurs on the Src->Dst path, making an attempt to assess the reverse path performance invalid (for loss or possibly any metric). Further, the sampling times for the reverse path (Dst->Src) are a random process that depends on the original sample times (TstampSrc), the one-way delay for successful packet arrival at the Dst, and time taken at the Dst to generate the reflected packet. Therefore, the sampling process for the reverse path will be significantly affected when appreciable delay variation occurs on the Src->Dst path, making an attempt to assess the reverse path performance invalid (for loss or possibly any metric). As discussed above in Section 5.4, packet reordering is always a possibility. In addition to the severe delay variation that usually accompanies it, reordering on the Src->Dst path will cause a misalignment of sequence numbers applied at the Dst when compared to the sender numbers. Measurement implementations MUST address this possible outcome.8. Measurement Considerations and Calibration
Prior to conducting this measurement, the participating hosts MUST be configured to send and receive test packets of the chosen Type-P. Standard measurement protocols are capable of this task [RFC5357], but any reliable method is sufficient (e.g., if the issues with ICMP discussed in Section 2.6 of [RFC2681] can be alleviated, and the requirements of Sections 4.3 and 4.4 above are met, then ICMP could be used). Two key features of the host that receives test packets and returns them to the originating host are described in Section 4.2 of [RFC5357]. Every received test packet MUST result in a responding packet, and the response MUST be generated as quickly as possible. This implies that interface buffers will be serviced promptly and that buffer discards will be extremely rare. These features of the
measurement equipment MUST be calibrated according to Section 3.7.3 of [RFC2679] when operating under a representative measurement load (as defined by the user). Both unexpected test packet discards, and the systematic and random errors and uncertainties, MUST be recorded. We note that Section 4.2.1 of [RFC5357] specifies a method to collect all four significant timestamps needed to describe a packet's round- trip delay [RFC2681] and remove the processing time incurred at the responding host. This information supports the measurement of the corresponding one-way delays encountered on the round-trip path, which can identify path asymmetry or unexpected processing time at the responding host.9. Security Considerations
9.1. Denial-of-Service Attacks
This metric requires a stream of packets sent from one host (source) to another host (destination) through intervening networks, and back. This method could be abused for denial-of-service attacks directed at the destination and/or the intervening network(s). Administrators of source, destination, and intervening network(s) should establish bilateral or multilateral agreements regarding the timing, size, and frequency of collection of sample metrics. Use of this method in excess of the terms agreed upon by the participants may be cause for immediate rejection or discard of packets, or other escalation procedures as defined between the affected parties.9.2. User Data Confidentiality
Active use of this method generates packets for a sample, rather than taking samples based on user data, and does not threaten user data confidentiality. Passive measurement must restrict attention to the headers of interest. Since user payloads may be temporarily stored for length analysis, suitable precautions MUST be taken to keep this information safe and confidential. In most cases, a hashing function will produce a value suitable for payload comparisons.9.3. Interference with the Metrics
It may be possible to identify that a certain packet or stream of packets is part of a sample. With that knowledge at the destination and/or the intervening networks, it is possible to change the processing of the packets (e.g., increasing or decreasing delay) in a way that may distort the measured performance. It may also be
possible to generate additional packets that appear to be part of the sample metric. These additional packets are likely to perturb the results of the sample measurement. Authentication or encryption techniques, such as digital signatures, MAY be used where appropriate to guard against injected traffic attacks. [RFC5357] includes both authentication and encryption features.10. IANA Considerations
Metrics previously defined in the IETF were registered in the IANA IPPM Metrics Registry; however, this process was discontinued when the registry structure was found to be inadequate, and the registry was declared obsolete [RFC6248]. Although the metrics in this document may be considered for some form of registration in the future, no IANA action is requested at this time.11. Acknowledgements
The author thanks Tiziano Ionta for his careful review of this memo, primarily resulting in the development of measurement considerations using TWAMP [RFC5357] as an example method. The reviews of Adrian Farrel and Benoit Claise also contributed to the clarity of the memo.12. References
12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [RFC2330] Paxson, V., Almes, G., Mahdavi, J., and M. Mathis, "Framework for IP Performance Metrics", RFC 2330, May 1998. [RFC2679] Almes, G., Kalidindi, S., and M. Zekauskas, "A One-way Delay Metric for IPPM", RFC 2679, September 1999. [RFC2680] Almes, G., Kalidindi, S., and M. Zekauskas, "A One-way Packet Loss Metric for IPPM", RFC 2680, September 1999. [RFC2681] Almes, G., Kalidindi, S., and M. Zekauskas, "A Round-trip Delay Metric for IPPM", RFC 2681, September 1999.
[RFC3393] Demichelis, C. and P. Chimento, "IP Packet Delay Variation Metric for IP Performance Metrics (IPPM)", RFC 3393, November 2002. [RFC3432] Raisanen, V., Grotefeld, G., and A. Morton, "Network performance measurement with periodic streams", RFC 3432, November 2002. [RFC4737] Morton, A., Ciavattone, L., Ramachandran, G., Shalunov, S., and J. Perser, "Packet Reordering Metrics", RFC 4737, November 2006. [RFC5357] Hedayat, K., Krzanowski, R., Morton, A., Yum, K., and J. Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)", RFC 5357, October 2008.12.2. Informative References
[RFC5481] Morton, A. and B. Claise, "Packet Delay Variation Applicability Statement", RFC 5481, March 2009. [RFC6248] Morton, A., "RFC 4148 and the IP Performance Metrics (IPPM) Registry of Metrics Are Obsolete", RFC 6248, April 2011. [RFC6703] Morton, A., Ramachandran, G., and G. Maguluri, "Reporting IP Network Performance Metrics: Different Points of View", RFC 6703, August 2012.Author's Address
Al Morton AT&T Labs 200 Laurel Avenue South Middletown, NJ 07748 USA Phone: +1 732 420 1571 Fax: +1 732 368 1192 EMail: acmorton@att.com URI: http://home.comcast.net/~acmacm/