Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 8912

Initial Performance Metrics Registry Entries

Pages: ~71
IETF/tsv/ippm/draft-ietf-ippm-initial-registry-16
Proposed Standard

Top   ToC   RFCv3-8912
A. Morton
AT&T Labs
M. Bagnulo
Universidad Carlos III de Madrid
P. Eardley
BT
K. D'Souza
AT&T Labs
November 2021

Initial Performance Metrics Registry Entries

Abstract

This memo defines the set of initial entries for the IANA Registry of Performance Metrics. The set includes UDP Round-Trip Latency and Loss, Packet Delay Variation, DNS Response Latency and Loss, UDP Poisson One-Way Delay and Loss, UDP Periodic One-Way Delay and Loss, ICMP Round-Trip Latency and Loss, and TCP Round-Trip Delay and Loss.

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 7841.
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc8912.

Copyright Notice

Copyright (c) 2021 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 (https://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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.
Top   ToC   RFCv3-8912

Table of Contents

Top   ToC   RFCv3-8912

1.  Introduction

This memo defines an initial set of entries for the Performance Metrics Registry. It uses terms and definitions from the IP Performance Metrics (IPPM) literature, primarily [RFC 2330].
Although there are several standard templates for organizing specifications of Performance Metrics (see [RFC 7679] for an example of the traditional IPPM template, based to a large extent on the Benchmarking Methodology Working Group's traditional template in [RFC 1242], and see [RFC 6390] for a similar template), none of these templates were intended to become the basis for the columns of an IETF-wide Registry of metrics. While examining aspects of metric specifications that need to be registered, it became clear that none of the existing metric templates fully satisfy the particular needs of a Registry.
Therefore, [RFC 8911] defines the overall format for a Performance Metrics Registry. Section 5 of RFC 8911 also gives guidelines for those requesting registration of a Metric -- that is, the creation of one or more entries in the Performance Metrics Registry:

In essence, there needs to be evidence that (1) a candidate Registered Performance Metric has significant industry interest or has seen deployment and (2) there is agreement that the candidate Registered Performance Metric serves its intended purpose.

The process defined in [RFC 8911] also requires that new entries be administered by IANA through the Specification Required policy [RFC 8126], which will ensure that the metrics are tightly defined.

1.1.  Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC 2119] [RFC 8174] when, and only when, they appear in all capitals, as shown here.
Top   ToC   RFCv3-8912

2.  Scope

This document defines a set of initial Performance Metrics Registry Entries. Most are Active Performance Metrics, which are based on RFCs prepared in the IPPM Working Group of the IETF, according to their framework [RFC 2330] and its updates.
Top   ToC   RFCv3-8912

3.  Registry Categories and Columns

This memo uses the terminology defined in [RFC 8911].
This section provides the categories and columns of the Registry, for easy reference. An entry (row) therefore gives a complete description of a Registered Metric.
Registry Categories and Columns are shown below in this format:
    Category
    ------------------...
    Column |  Column |...
    
Summary
---------------------------------------------------------------
Identifier | Name | URI | Desc. | Reference | Change     | Ver |
           |      |     |       |           | Controller |

Metric Definition
-----------------------------------------
Reference Definition | Fixed Parameters |

Method of Measurement
---------------------------------------------------------------------
Reference | Packet     | Traffic | Sampling     | Runtime    | Role |
Method    | Stream     | Filter  | Distribution | Parameters |      |
          | Generation |
Output
-----------------------------------------
Type | Reference  | Units | Calibration |
     | Definition |       |             |

Administrative Information
-------------------------------------
Status |Requester | Rev | Rev. Date |

Comments and Remarks
--------------------
Top   ToC   RFCv3-8912

4.  UDP Round-Trip Latency and Loss Registry Entries

This section specifies an initial Registry Entry for UDP Round-Trip Latency and another entry for the UDP Round-Trip Loss Ratio.
Note: Each Registry Entry only produces a "raw" output or a statistical summary. To describe both "raw" and one or more statistics efficiently, the Identifier, Name, and Output categories can be split, and a single section can specify two or more closely related metrics. For example, this section specifies two Registry Entries with many common columns. See Section 7 for an example specifying multiple Registry Entries with many common columns.
All column entries besides the ID, Name, Description, and Output Reference Method categories are the same; thus, this section defines two closely related Registry Entries. As a result, IANA has also assigned a corresponding URL to each of the two Named Metrics.

4.1.  Summary

This category includes multiple indexes to the Registry Entries: the element ID and Metric Name.

4.1.1.  ID (Identifier)

IANA has allocated the numeric Identifiers 1 and 2 for the two Named Metric Entries in Section 4. See Section 4.1.2 for mapping to Names.

4.1.2.  Name

1:
RTDelay_Active_IP-UDP-Periodic_RFC8912sec4_Seconds_95Percentile
2:
RTLoss_Active_IP-UDP-Periodic_RFC8912sec4_Percent_LossRatio

4.1.3.  URI

4.1.4.  Description

RTDelay:
This metric assesses the delay of a stream of packets exchanged between two hosts (which are the two measurement points). The output is the round-trip delay for all successfully exchanged packets expressed as the 95th percentile of their conditional delay distribution.
RTLoss:
This metric assesses the loss ratio of a stream of packets exchanged between two hosts (which are the two measurement points). The output is the round-trip loss ratio for all transmitted packets expressed as a percentage.

4.1.5.  Change Controller

IETF

4.1.6.  Version (of Registry Format)

1.0

4.2.  Metric Definition

This category includes columns to prompt the entry of all necessary details related to the metric definition, including the RFC reference and values of input factors, called "Fixed Parameters".

4.2.1.  Reference Definition

For delay:
Almes, G., Kalidindi, S., and M. Zekauskas, "A Round-trip Delay Metric for IPPM", RFC 2681, DOI 10.17487/RFC2681, September 1999, <https://www.rfc-editor.org/info/rfc2681>. [RFC 2681]
Section 2.4 of RFC 2681 provides the reference definition of the singleton (single value) round-trip delay metric. Section 3.4 of RFC 2681 provides the reference definition expanded to cover a multi-singleton sample. Note that terms such as "singleton" and "sample" are defined in Section 11 of RFC 2330.
Note that although the definition of round-trip delay between the Source (Src) and the Destination (Dst) as provided in Section 2.4 of RFC 2681 is directionally ambiguous in the text, this metric tightens the definition further to recognize that the host in the Src Role will send the first packet to the host in the Dst Role and will ultimately receive the corresponding return packet from the Dst (when neither is lost).
Finally, note that the variable "dT" is used in [RFC 2681] to refer to the value of round-trip delay in metric definitions and methods. The variable "dT" has been reused in other IPPM literature to refer to different quantities and cannot be used as a global variable name.
For loss:
Morton, A., "Round-Trip Packet Loss Metrics", RFC 6673, DOI 10.17487/RFC6673, August 2012, <https://www.rfc-editor.org/info/rfc6673>. [RFC 6673]
Both Delay and Loss metrics employ a maximum waiting time for received packets, so the count of lost packets to total packets sent is the basis for the loss ratio calculation as per Section 6.1 of RFC 6673.

4.2.2.  Fixed Parameters

IPv4 header values:
DSCP:
Set to 0
TTL:
Set to 255
Protocol:
Set to 17 (UDP)
IPv6 header values:
DSCP:
Set to 0
Hop Count:
Set to 255
Next Header:
Set to 17 (UDP)
Flow Label:
Set to 0
Extension Headers:
None
UDP header values:
Checksum:
The checksum MUST be calculated and the non-zero checksum included in the header
UDP Payload:
Total of 100 bytes
Other measurement Parameters:
Tmax:
A loss threshold waiting time with value 3.0, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms), with lossless conversion to/from the 32-bit NTP timestamp as per Section 6 of RFC 5905.

4.3.  Method of Measurement

This category includes columns for references to relevant sections of the RFC(s) and any supplemental information needed to ensure an unambiguous method for implementations.

4.3.1.  Reference Methods

The methodology for this metric (equivalent to Type-P-Round-trip- Delay and Type-P-Round-trip-Delay-Poisson-Stream) is defined as in Section 2.6 of RFC 2681 (for singletons) and Section 3.6 of RFC 2681 (for samples) using the Type-P and Tmax defined in the Fixed Parameters column. However, the Periodic stream will be generated according to [RFC 3432].
The reference method distinguishes between long-delayed packets and lost packets by implementing a maximum waiting time for packet arrival. Tmax is the waiting time used as the threshold to declare a packet lost. Lost packets SHALL be designated as having undefined delay and counted for the RTLoss metric [RFC 6673].
The calculations on the delay (RTT) SHALL be performed on the conditional distribution, conditioned on successful packet arrival within Tmax. Also, when all packet delays are stored, the process that calculates the RTT value MUST enforce the Tmax threshold on stored values before calculations. See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
The reference method requires some way to distinguish between different packets in a stream to establish correspondence between sending times and receiving times for each successfully arriving packet. Sequence numbers or other send-order identification MUST be retained at the Src or included with each packet to disambiguate packet reordering if it occurs.
If a standard measurement protocol is employed, then the measurement process will determine the sequence numbers or timestamps applied to test packets after the Fixed and Runtime Parameters are passed to that process. The chosen measurement protocol will dictate the format of sequence numbers and timestamps, if they are conveyed in the packet payload.
Refer to Section 4.4 of RFC 6673 for an expanded discussion of the instruction to "send a Type-P packet back to the Src as quickly as possible" in Section 2.6 of RFC 2681. Section 8 of RFC 6673 presents additional requirements that MUST be included in the Method of Measurement for this metric.

4.3.2.  Packet Stream Generation

This section provides details regarding packet traffic, which is used as the basis for measurement. In IPPM Metrics, this is called the "stream"; this stream can easily be described by providing the list of stream Parameters.
Section 3 of RFC 3432 prescribes the method for generating Periodic streams using associated Parameters.
incT:
The nominal duration of the inter-packet interval, first bit to first bit, with value 0.0200, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms).
dT:
The duration of the interval for allowed sample start times, with value 1.0, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms).
Note: An initiation process with a number of control exchanges resulting in unpredictable start times (within a time interval) may be sufficient to avoid synchronization of periodic streams and is a valid replacement for selecting a start time at random from a fixed interval.
The T0 Parameter will be reported as a measured Parameter. Parameters incT and dT are Fixed Parameters.

4.3.3.  Traffic Filtering (Observation) Details

N/A

4.3.4.  Sampling Distribution

N/A

4.3.5.  Runtime Parameters and Data Format

Runtime Parameters are input factors that must be determined, configured into the measurement system, and reported with the results for the context to be complete.
Src:
The IP address of the host in the Src Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
Dst:
The IP address of the host in the Dst Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
T0:
A time, the start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. When T0 is "all-zeros", a start time is unspecified and Tf is to be interpreted as the duration of the measurement interval. The start time is controlled through other means.
Tf:
A time, the end of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. When T0 is "all-zeros", an ending time and date is ignored and Tf is interpreted as the duration of the measurement interval.

4.3.6.  Roles

Src:
Launches each packet and waits for return transmissions from the Dst.
Dst:
Waits for each packet from the Src and sends a return packet to the Src.

4.4.  Output

This category specifies all details of the output of measurements using the metric.

4.4.1.  Type

Percentile: For the conditional distribution of all packets with a valid value of round-trip delay (undefined delays are excluded), this is a single value corresponding to the 95th percentile, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
The percentile = 95, meaning that the reported delay, "95Percentile", is the smallest value of round-trip delay for which the Empirical Distribution Function, EDF(95Percentile), is greater than or equal to 95% of the singleton round-trip delay values in the conditional distribution. See Section 11.3 of RFC 2330 for the definition of the percentile statistic using the EDF.
For LossRatio, the count of lost packets to total packets sent is the basis for the loss ratio calculation as per Section 6.1 of RFC 6673.

4.4.2.  Reference Definition

For all outputs:
T0:
The start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330.
Tf:
The end of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330.
TotalPkts:
The count of packets sent by the Src to the Dst during the measurement interval.
95Percentile:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns).
Percent_LossRatio:
The numeric value of the result is expressed in units of lost packets to total packets times 100%, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.0000000001.

4.4.3.  Metric Units

The 95th percentile of round-trip delay is expressed in seconds.
The round-trip loss ratio is expressed as a percentage of lost packets to total packets sent.

4.4.4.  Calibration

Section 3.7.3 of RFC 7679 provides a means to quantify the systematic and random errors of a time measurement. Calibration in-situ could be enabled with an internal loopback at the Source host that includes as much of the measurement system as possible, performs address manipulation as needed, and provides some form of isolation (e.g., deterministic delay) to avoid send-receive interface contention. Some portion of the random and systematic error can be characterized in this way.
When a measurement controller requests a calibration measurement, the loopback is applied and the result is output in the same format as a normal measurement, with an additional indication that it is a calibration result.
Both internal loopback calibration and clock synchronization can be used to estimate the available accuracy of the Output Metric Units. For example, repeated loopback delay measurements will reveal the portion of the output result resolution that is the result of system noise and is thus inaccurate.

4.5.  Administrative Items

4.5.1.  Status

Current

4.5.2.  Requester

RFC 8912

4.5.3.  Revision

1.0

4.5.4.  Revision Date

2021-11-17

4.6.  Comments and Remarks

None
Top   ToC   RFCv3-8912

5.  Packet Delay Variation Registry Entry

This section gives an initial Registry Entry for a Packet Delay Variation (PDV) metric.

5.1.  Summary

This category includes multiple indexes to the Registry Entry: the element ID and Metric Name.

5.1.1.  ID (Identifier)

IANA has allocated the numeric Identifier 3 for the Named Metric Entry in Section 5. See Section 5.1.2 for mapping to Name.

5.1.2.  Name

3:
OWPDV_Active_IP-UDP-Periodic_RFC8912sec5_Seconds_95Percentile

5.1.3.  URI

5.1.4.  Description

This metric assesses packet delay variation with respect to the minimum delay observed on the periodic stream. The output is expressed as the 95th percentile of the one-way packet delay variation distribution.

5.1.5.  Change Controller

IETF

5.1.6.  Version (of Registry Format)

1.0

5.2.  Metric Definition

This category includes columns to prompt the entry of all necessary details related to the metric definition, including the RFC reference and values of input factors, called "Fixed Parameters".

5.2.1.  Reference Definition

Paxson, V., Almes, G., Mahdavi, J., and M. Mathis, "Framework for IP Performance Metrics", RFC 2330, DOI 10.17487/RFC2330, May 1998, <https://www.rfc-editor.org/info/rfc2330>. [RFC 2330]
Demichelis, C. and P. Chimento, "IP Packet Delay Variation Metric for IP Performance Metrics (IPPM)", RFC 3393, DOI 10.17487/RFC3393, November 2002, <https://www.rfc-editor.org/info/rfc3393>. [RFC 3393]
Morton, A. and B. Claise, "Packet Delay Variation Applicability Statement", RFC 5481, DOI 10.17487/RFC5481, March 2009, <https://www.rfc-editor.org/info/rfc5481>. [RFC 5481]
Mills, D., Martin, J., Ed., Burbank, J., and W. Kasch, "Network Time Protocol Version 4: Protocol and Algorithms Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010, <https://www.rfc-editor.org/info/rfc5905>. [RFC 5905]
See Sections 2.4 and 3.4 of [RFC 3393]. The measured singleton delay differences are referred to by the variable name "ddT" (applicable to all forms of delay variation). However, this Metric Entry specifies the PDV form defined in Section 4.2 of RFC 5481, where the singleton PDV for packet i is referred to by the variable name "PDV(i)".

5.2.2.  Fixed Parameters

IPv4 header values:
DSCP:
Set to 0
TTL:
Set to 255
Protocol:
Set to 17 (UDP)
IPv6 header values:
DSCP:
Set to 0
Hop Count:
Set to 255
Next Header:
Set to 17 (UDP)
Flow Label:
Set to 0
Extension Headers:
None
UDP header values:
Checksum:
The checksum MUST be calculated and the non-zero checksum included in the header
UDP Payload:
Total of 200 bytes
Other measurement Parameters:
Tmax:
A loss threshold waiting time with value 3.0, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms), with lossless conversion to/from the 32-bit NTP timestamp as per Section 6 of RFC 5905.
F:
A selection function unambiguously defining the packets from the stream selected for the metric. See Section 4.2 of RFC 5481 for the PDV form.
See the Packet Stream Generation section for two additional Fixed Parameters.

5.3.  Method of Measurement

This category includes columns for references to relevant sections of the RFC(s) and any supplemental information needed to ensure an unambiguous method for implementations.

5.3.1.  Reference Methods

See Sections 2.6 and 3.6 of [RFC 3393] for general singleton element calculations. This Metric Entry requires implementation of the PDV form defined in Section 4.2 of RFC 5481. Also see measurement considerations in Section 8 of RFC 5481.
The reference method distinguishes between long-delayed packets and lost packets by implementing a maximum waiting time for packet arrival. Tmax is the waiting time used as the threshold to declare a packet lost. Lost packets SHALL be designated as having undefined delay.
The calculations on the one-way delay SHALL be performed on the conditional distribution, conditioned on successful packet arrival within Tmax. Also, when all packet delays are stored, the process that calculates the one-way delay value MUST enforce the Tmax threshold on stored values before calculations. See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
The reference method requires some way to distinguish between different packets in a stream to establish correspondence between sending times and receiving times for each successfully arriving packet. Sequence numbers or other send-order identification MUST be retained at the Src or included with each packet to disambiguate packet reordering if it occurs.
If a standard measurement protocol is employed, then the measurement process will determine the sequence numbers or timestamps applied to test packets after the Fixed and Runtime Parameters are passed to that process. The chosen measurement protocol will dictate the format of sequence numbers and timestamps, if they are conveyed in the packet payload.

5.3.2.  Packet Stream Generation

This section provides details regarding packet traffic, which is used as the basis for measurement. In IPPM Metrics, this is called the "stream"; this stream can easily be described by providing the list of stream Parameters.
Section 3 of RFC 3432 prescribes the method for generating Periodic streams using associated Parameters.
incT:
The nominal duration of the inter-packet interval, first bit to first bit, with value 0.0200, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms).
dT:
The duration of the interval for allowed sample start times, with value 1.0, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms).
Note: An initiation process with a number of control exchanges resulting in unpredictable start times (within a time interval) may be sufficient to avoid synchronization of periodic streams and is a valid replacement for selecting a start time at random from a fixed interval.
The T0 Parameter will be reported as a measured Parameter. Parameters incT and dT are Fixed Parameters.

5.3.3.  Traffic Filtering (Observation) Details

N/A

5.3.4.  Sampling Distribution

N/A

5.3.5.  Runtime Parameters and Data Format

Src:
The IP address of the host in the Src Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
Dst:
The IP address of the host in the Dst Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
T0:
A time, the start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. When T0 is "all-zeros", a start time is unspecified and Tf is to be interpreted as the duration of the measurement interval. The start time is controlled through other means.
Tf:
A time, the end of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. When T0 is "all-zeros", an ending time and date is ignored and Tf is interpreted as the duration of the measurement interval.

5.3.6.  Roles

Src:
Launches each packet and waits for return transmissions from the Dst.
Dst:
Waits for each packet from the Src and sends a return packet to the Src (when required by the test protocol).

5.4.  Output

This category specifies all details of the output of measurements using the metric.

5.4.1.  Type

Percentile: For the conditional distribution of all packets with a valid value of one-way delay (undefined delays are excluded), this is a single value corresponding to the 95th percentile, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
The percentile = 95, meaning that the reported delay, "95Percentile", is the smallest value of one-way PDV for which the Empirical Distribution Function, EDF(95Percentile), is greater than or equal to 95% of the singleton one-way PDV values in the conditional distribution. See Section 11.3 of RFC 2330 for the definition of the percentile statistic using the EDF.

5.4.2.  Reference Definition

T0:
The start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330.
Tf:
The end of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330.
95Percentile:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.

5.4.3.  Metric Units

The 95th percentile of one-way PDV is expressed in seconds.

5.4.4.  Calibration

Section 3.7.3 of RFC 7679 provides a means to quantify the systematic and random errors of a time measurement. Calibration in-situ could be enabled with an internal loopback that includes as much of the measurement system as possible, performs address manipulation as needed, and provides some form of isolation (e.g., deterministic delay) to avoid send-receive interface contention. Some portion of the random and systematic error can be characterized in this way.
For one-way delay measurements, the error calibration must include an assessment of the internal clock synchronization with its external reference (this internal clock is supplying timestamps for measurement). In practice, the time offsets [RFC 5905] of clocks at both the Source and Destination are needed to estimate the systematic error due to imperfect clock synchronization (the time offsets are smoothed; thus, the random variation is not usually represented in the results).
time_offset:
The time value of the result is expressed in units of seconds, as a signed value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
When a measurement controller requests a calibration measurement, the loopback is applied and the result is output in the same format as a normal measurement, with an additional indication that it is a calibration result. In any measurement, the measurement function SHOULD report its current estimate of the time offset [RFC 5905] as an indicator of the degree of synchronization.
Both internal loopback calibration and clock synchronization can be used to estimate the available accuracy of the Output Metric Units. For example, repeated loopback delay measurements will reveal the portion of the output result resolution that is the result of system noise and is thus inaccurate.

5.5.  Administrative Items

5.5.1.  Status

Current

5.5.2.  Requester

RFC 8912

5.5.3.  Revision

1.0

5.5.4.  Revision Date

2021-11-17

5.6.  Comments and Remarks

Lost packets represent a challenge for delay variation metrics. See Section 4.1 of RFC 3393 and the delay variation applicability statement [RFC 5481] for extensive analysis and comparison of PDV and an alternate metric, IPDV (Inter-Packet Delay Variation).
Top   ToC   RFCv3-8912

6.  DNS Response Latency and Loss Registry Entries

This section gives initial Registry Entries for DNS Response Latency and Loss from a network user's perspective, for a specific named resource. The metric can be measured repeatedly for different named resources. [RFC 2681] defines a round-trip delay metric. We build on that metric by specifying several of the input Parameters to precisely define two metrics for measuring DNS latency and loss.
All column entries besides the ID, Name, Description, and Output Reference Method categories are the same; thus, this section defines two closely related Registry Entries. As a result, IANA has assigned corresponding URLs to each of the two Named Metrics.

6.1.  Summary

This category includes multiple indexes to the Registry Entries: the element ID and Metric Name.

6.1.1.  ID (Identifier)

IANA has allocated the numeric Identifiers 4 and 5 for the two Named Metric Entries in Section 6. See Section 6.1.2 for mapping to Names.

6.1.2.  Name

4:
RTDNS_Active_IP-UDP-Poisson_RFC8912sec6_Seconds_Raw
5:
RLDNS_Active_IP-UDP-Poisson_RFC8912sec6_Logical_Raw

6.1.3.  URI

6.1.4.  Description

This is a metric for DNS Response performance from a network user's perspective, for a specific named resource. The metric can be measured repeatedly using different resource names.
RTDNS:
This metric assesses the response time, the interval from the query transmission to the response.
RLDNS:
This metric indicates that the response was deemed lost. In other words, the response time exceeded the maximum waiting time.

6.1.5.  Change Controller

IETF

6.1.6.  Version (of Registry Format)

1.0

6.2.  Metric Definition

This category includes columns to prompt the entry of all necessary details related to the metric definition, including the RFC reference and values of input factors, called "Fixed Parameters".

6.2.1.  Reference Definition

For Delay:
Mockapetris, P., "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, November 1987, <https://www.rfc-editor.org/info/rfc1035> (and updates). [RFC 1035]
Almes, G., Kalidindi, S., and M. Zekauskas, "A Round-trip Delay Metric for IPPM", RFC 2681, DOI 10.17487/RFC2681, September 1999, <https://www.rfc-editor.org/info/rfc2681>. [RFC 2681]
Section 2.4 of RFC 2681 provides the reference definition of the singleton (single value) round-trip delay metric. Section 3.4 of RFC 2681 provides the reference definition expanded to cover a multi-singleton sample. Note that terms such as "singleton" and "sample" are defined in Section 11 of RFC 2330.
For DNS Response Latency, the entities in [RFC 1035] must be mapped to [RFC 2681]. The Local Host with its User Program and Resolver take the Role of "Src", and the Foreign Name Server takes the Role of "Dst".
Note that although the definition of round-trip delay between the Source (Src) and the Destination (Dst) at T as provided in Section 2.4 of RFC 2681 is directionally ambiguous in the text, this metric tightens the definition further to recognize that the host in the Src Role will send the first packet to the host in the Dst Role and will ultimately receive the corresponding return packet from the Dst (when neither is lost).
For Loss:
Morton, A., "Round-Trip Packet Loss Metrics", RFC 6673, DOI 10.17487/RFC6673, August 2012, <https://www.rfc-editor.org/info/rfc6673>. [RFC 6673]
For DNS Response Loss, the entities in [RFC 1035] must be mapped to [RFC 6673]. The Local Host with its User Program and Resolver take the Role of "Src", and the Foreign Name Server takes the Role of "Dst".
Both response time and Loss metrics employ a maximum waiting time for received responses, so the count of lost packets to total packets sent is the basis for the loss determination as per Section 4.3 of RFC 6673.

6.2.2.  Fixed Parameters

IPv4 header values:
DSCP:
Set to 0
TTL:
Set to 255
Protocol:
Set to 17 (UDP)
IPv6 header values:
DSCP:
Set to 0
Hop Count:
Set to 255
Next Header:
Set to 17 (UDP)
Flow Label:
Set to 0
Extension Headers:
None
UDP header values:
Source port:
53
Destination port:
53
Checksum:
The checksum MUST be calculated and the non-zero checksum included in the header
Payload:
The payload contains a DNS message as defined in [RFC 1035] with the following values:
The DNS header section contains:
Identification (see the Runtime column)
QR:
Set to 0 (Query)
OPCODE:
Set to 0 (standard query)
AA:
Not set
TC:
Not set
RD:
Set to 1 (recursion desired)
RA:
Not set
RCODE:
Not set
QDCOUNT:
Set to 1 (only one entry)
ANCOUNT:
Not set
NSCOUNT:
Not set
ARCOUNT:
Not set
The Question section contains:
QNAME:
The Fully Qualified Domain Name (FQDN) provided as input for the test; see the Runtime column
QTYPE:
The query type provided as input for the test; see the Runtime column
QCLASS:
Set to 1 for IN
The other sections do not contain any Resource Records (RRs).
Other measurement Parameters:
Tmax:
A loss threshold waiting time (and to help disambiguate queries). The value is 5.0, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms), with lossless conversion to/from the 32-bit NTP timestamp as per Section 6 of RFC 5905.
Observation:
Reply packets will contain a DNS Response and may contain RRs.

6.3.  Method of Measurement

This category includes columns for references to relevant sections of the RFC(s) and any supplemental information needed to ensure an unambiguous method for implementations.

6.3.1.  Reference Methods

The methodology for this metric (equivalent to Type-P-Round-trip-Delay-Poisson-Stream) is defined as in Section 2.6 of RFC 2681 (for singletons) and Section 3.6 of RFC 2681 (for samples) using the Type-P and Timeout defined in the Fixed Parameters column.
The reference method distinguishes between long-delayed packets and lost packets by implementing a maximum waiting time for packet arrival. Tmax is the waiting time used as the threshold to declare a response packet lost. Lost packets SHALL be designated as having undefined delay and counted for the RLDNS metric.
The calculations on the delay (RTT) SHALL be performed on the conditional distribution, conditioned on successful packet arrival within Tmax. Also, when all packet delays are stored, the process that calculates the RTT value MUST enforce the Tmax threshold on stored values before calculations. See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
The reference method requires some way to distinguish between different packets in a stream to establish correspondence between sending times and receiving times for each successfully arriving reply.
DNS messages bearing queries provide for random ID Numbers in the Identification header field, so more than one query may be launched while a previous request is outstanding when the ID Number is used. Therefore, the ID Number MUST be retained at the Src and included with each response packet to disambiguate packet reordering if it occurs.
If a DNS Response does not arrive within Tmax, the response time RTDNS is undefined, and RLDNS = 1. The Message ID SHALL be used to disambiguate the successive queries that are otherwise identical.
Since the ID Number field is only 16 bits in length, it places a limit on the number of simultaneous outstanding DNS queries during a stress test from a single Src address.
Refer to Section 4.4 of RFC 6673 for an expanded discussion of the instruction to "send a Type-P packet back to the Src as quickly as possible" in Section 2.6 of RFC 2681. However, the DNS server is expected to perform all required functions to prepare and send a response, so the response time will include processing time and network delay. Section 8 of RFC 6673 presents additional requirements that SHALL be included in the Method of Measurement for this metric.
In addition to operations described in [RFC 2681], the Src MUST parse the DNS headers of the reply and prepare the query response information for subsequent reporting as a measured result, along with the round-trip delay.

6.3.2.  Packet Stream Generation

This section provides details regarding packet traffic, which is used as the basis for measurement. In IPPM Metrics, this is called the "stream"; this stream can easily be described by providing the list of stream Parameters.
Section 11.1.3 of RFC 2330 provides three methods to generate Poisson sampling intervals. The reciprocal of lambda is the average packet spacing; thus, the Runtime Parameter is Reciprocal_lambda = 1lambda, in seconds.
Method 3 SHALL be used. Where given a start time (Runtime Parameter), the subsequent send times are all computed prior to measurement by computing the pseudorandom distribution of inter-packet send times (truncating the distribution as specified in the Parameter Trunc), and the Src sends each packet at the computed times.
Note that Trunc is the upper limit on inter-packet times in the Poisson distribution. A random value greater than Trunc is set equal to Trunc instead.

6.3.3.  Traffic Filtering (Observation) Details

N/A

6.3.4.  Sampling Distribution

N/A

6.3.5.  Runtime Parameters and Data Format

Runtime Parameters are input factors that must be determined, configured into the measurement system, and reported with the results for the context to be complete.
Src:
The IP address of the host in the Src Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
Dst:
The IP address of the host in the Dst Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
T0:
A time, the start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. When T0 is "all-zeros", a start time is unspecified and Tf is to be interpreted as the duration of the measurement interval. The start time is controlled through other means.
Tf:
A time, the end of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. When T0 is "all-zeros", an ending time and date is ignored and Tf is interpreted as the duration of the measurement interval.
Reciprocal_lambda:
Average packet interval for Poisson streams, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) with a resolution of 0.0001 seconds (0.1 ms), and with lossless conversion to/from the 32-bit NTP timestamp as per Section 6 of RFC 5905.
Trunc:
Upper limit on Poisson distribution, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) with a resolution of 0.0001 seconds (0.1 ms), and with lossless conversion to/from the 32-bit NTP timestamp as per Section 6 of RFC 5905 (values above this limit will be clipped and set to the limit value).
ID:
The 16-bit Identifier assigned by the program that generates the query. The ID value must vary in successive queries (a list of IDs is needed); see Section 4.1.1 of RFC 1035. This Identifier is copied into the corresponding reply and can be used by the requester (Src) to match replies with any outstanding queries.
QNAME:
The domain name of the query, formatted as specified in Section 4 of RFC 6991.
QTYPE:
The query type, which will correspond to the IP address family of the query (decimal 1 for IPv4 or 28 for IPv6), formatted as a uint16, as per Section 9.2 of RFC 6020.

6.3.6.  Roles

Src:
Launches each packet and waits for return transmissions from the Dst.
Dst:
Waits for each packet from the Src and sends a return packet to the Src.

6.4.  Output

This category specifies all details of the output of measurements using the metric.

6.4.1.  Type

Raw: For each DNS query packet sent, sets of values as defined in the next column, including the status of the response, only assigning delay values to successful query-response pairs.

6.4.2.  Reference Definition

For all outputs:
T:
The time the DNS query was sent during the measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330.
dT:
The time value of the round-trip delay to receive the DNS Response, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905. This value is undefined when the response packet is not received at the Src within a waiting time of Tmax seconds.
RCODE:
The value of the RCODE field in the DNS Response header, expressed as a uint64 as specified in Section 9.2 of RFC 6020. Non-zero values convey errors in the response, and such replies must be analyzed separately from successful requests.
Logical:
The numeric value of the result is expressed as a Logical value, where 1 = Lost and 0 = Received, as a positive value of type uint8 (represents integer values between 0 and 255, inclusively (see Section 9.2 of RFC 6020). Note that for queries with outcome 1 = Lost, dT and RCODE will be set to the maximum for decimal64 and uint64, respectively.

6.4.3.  Metric Units

RTDNS:
Round-trip delay, dT, is expressed in seconds.
RLDNS:
The Logical value, where 1 = Lost and 0 = Received.

6.4.4.  Calibration

Section 3.7.3 of RFC 7679 provides a means to quantify the systematic and random errors of a time measurement. Calibration in-situ could be enabled with an internal loopback at the Source host that includes as much of the measurement system as possible, performs address and payload manipulation as needed, and provides some form of isolation (e.g., deterministic delay) to avoid send-receive interface contention. Some portion of the random and systematic error can be characterized in this way.
When a measurement controller requests a calibration measurement, the loopback is applied and the result is output in the same format as a normal measurement, with an additional indication that it is a calibration result.
Both internal loopback calibration and clock synchronization can be used to estimate the available accuracy of the Output Metric Units. For example, repeated loopback delay measurements will reveal the portion of the output result resolution that is the result of system noise and is thus inaccurate.

6.5.  Administrative Items

6.5.1.  Status

Current

6.5.2.  Requester

RFC 8912

6.5.3.  Revision

1.0

6.5.4.  Revision Date

2021-11-17

6.6.  Comments and Remarks

None
Top   ToC   RFCv3-8912

7.  UDP Poisson One-Way Delay and Loss Registry Entries

This section specifies five initial Registry Entries for UDP Poisson One-Way Delay and one entry for UDP Poisson One-Way Loss.
All column entries besides the ID, Name, Description, and Output Reference Method categories are the same; thus, this section defines six closely related Registry Entries. As a result, IANA has assigned corresponding URLs to each of the Named Metrics.

7.1.  Summary

This category includes multiple indexes to the Registry Entries: the element ID and Metric Name.

7.1.1.  ID (Identifier)

IANA has allocated the numeric Identifiers 6-11 for the six Named Metric Entries in Section 7. See Section 7.1.2 for mapping to Names.

7.1.2.  Name

6:
OWDelay_Active_IP-UDP-Poisson-Payload250B_RFC8912sec7_Seconds_95Percentile
7:
OWDelay_Active_IP-UDP-Poisson-Payload250B_RFC8912sec7_Seconds_Mean
8:
OWDelay_Active_IP-UDP-Poisson-Payload250B_RFC8912sec7_Seconds_Min
9:
OWDelay_Active_IP-UDP-Poisson-Payload250B_RFC8912sec7_Seconds_Max
10:
OWDelay_Active_IP-UDP-Poisson-Payload250B_RFC8912sec7_Seconds_StdDev
11:
OWLoss_Active_IP-UDP-Poisson-Payload250B_RFC8912sec7_Percent_LossRatio

7.1.3.  URI

7.1.4.  Description

OWDelay:
This metric assesses the delay of a stream of packets exchanged between two hosts (or measurement points) and reports the <statistic> of one-way delay for all successfully exchanged packets based on their conditional delay distribution.
where <statistic> is one of:
  • 95Percentile
  • Mean
  • Min
  • Max
  • StdDev
OWLoss:
This metric assesses the loss ratio of a stream of packets exchanged between two hosts (which are the two measurement points). The output is the one-way loss ratio for all transmitted packets expressed as a percentage.

7.1.5.  Change Controller

IETF

7.1.6.  Version (of Registry Format)

1.0

7.2.  Metric Definition

This category includes columns to prompt the entry of all necessary details related to the metric definition, including the RFC reference and values of input factors, called "Fixed Parameters".

7.2.1.  Reference Definition

For delay:
Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, Ed., "A One-Way Delay Metric for IP Performance Metrics (IPPM)", STD 81, RFC 7679, DOI 10.17487/RFC7679, January 2016, <https://www.rfc-editor.org/info/rfc7679>. [RFC 7679]
Morton, A. and E. Stephan, "Spatial Composition of Metrics", RFC 6049, DOI 10.17487/RFC6049, January 2011, <https://www.rfc-editor.org/info/rfc6049>. [RFC 6049]
Section 3.4 of RFC 7679 provides the reference definition of the singleton (single value) one-way delay metric. Section 4.4 of RFC 7679 provides the reference definition expanded to cover a multi-value sample. Note that terms such as "singleton" and "sample" are defined in Section 11 of RFC 2330.
Only successful packet transfers with finite delay are included in the sample, as prescribed in Section 4.1.2 of RFC 6049.
For loss:
Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, Ed., "A One-Way Loss Metric for IP Performance Metrics (IPPM)", STD 82, RFC 7680, DOI 10.17487/RFC7680, January 2016, <https://www.rfc-editor.org/info/rfc7680>. [RFC 7680]
Section 2.4 of RFC 7680 provides the reference definition of the singleton (single value) one-way Loss metric. Section 3.4 of RFC 7680 provides the reference definition expanded to cover a multi-singleton sample. Note that terms such as "singleton" and "sample" are defined in Section 11 of RFC 2330.

7.2.2.  Fixed Parameters

Type-P:
IPv4 header values:
DSCP:
Set to 0
TTL:
Set to 255
Protocol:
Set to 17 (UDP)
IPv6 header values:
DSCP:
Set to 0
Hop Count:
Set to 255
Next Header:
Set to 17 (UDP)
Flow Label:
Set to 0
Extension Headers:
None
UDP header values:
Checksum:
The checksum MUST be calculated and the non-zero checksum included in the header
UDP Payload:
TWAMP-Test packet formats (Section 4.1.2 of RFC 5357)
  • Security features in use influence the number of Padding octets
  • 250 octets total, including the TWAMP format type, which MUST be reported
Other measurement Parameters:
Tmax:
A loss threshold waiting time with value 3.0, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms), with lossless conversion to/from the 32-bit NTP timestamp as per Section 6 of RFC 5905.
See the Packet Stream Generation section for two additional Fixed Parameters.

7.3.  Method of Measurement

This category includes columns for references to relevant sections of the RFC(s) and any supplemental information needed to ensure an unambiguous method for implementations.

7.3.1.  Reference Methods

The methodology for this metric (equivalent to Type-P-One-way-Delay-Poisson-Stream) is defined as in Section 3.6 of RFC 7679 (for singletons) and Section 4.6 of RFC 7679 (for samples) using the Type-P and Tmax defined in the Fixed Parameters column.
The reference method distinguishes between long-delayed packets and lost packets by implementing a maximum waiting time for packet arrival. Tmax is the waiting time used as the threshold to declare a packet lost. Lost packets SHALL be designated as having undefined delay and counted for the OWLoss metric.
The calculations on the one-way delay SHALL be performed on the conditional distribution, conditioned on successful packet arrival within Tmax. Also, when all packet delays are stored, the process that calculates the one-way delay value MUST enforce the Tmax threshold on stored values before calculations. See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
The reference method requires some way to distinguish between different packets in a stream to establish correspondence between sending times and receiving times for each successfully arriving packet.
Since a standard measurement protocol is employed [RFC 5357], the measurement process will determine the sequence numbers or timestamps applied to test packets after the Fixed and Runtime Parameters are passed to that process. The measurement protocol dictates the format of sequence numbers and timestamps conveyed in the TWAMP-Test packet payload.

7.3.2.  Packet Stream Generation

This section provides details regarding packet traffic, which is used as the basis for measurement. In IPPM Metrics, this is called the "stream"; this stream can easily be described by providing the list of stream Parameters.
Section 11.1.3 of RFC 2330 provides three methods to generate Poisson sampling intervals. The reciprocal of lambda is the average packet spacing; thus, the Runtime Parameter is Reciprocal_lambda = 1lambda, in seconds.
Method 3 SHALL be used. Where given a start time (Runtime Parameter), the subsequent send times are all computed prior to measurement by computing the pseudorandom distribution of inter-packet send times (truncating the distribution as specified in the Parameter Trunc), and the Src sends each packet at the computed times.
Note that Trunc is the upper limit on inter-packet times in the Poisson distribution. A random value greater than Trunc is set equal to Trunc instead.
Reciprocal_lambda:
Average packet interval for Poisson streams, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) with a resolution of 0.0001 seconds (0.1 ms), and with lossless conversion to/from the 32-bit NTP timestamp as per Section 6 of RFC 5905. Reciprocal_lambda = 1 second.
Trunc:
Upper limit on Poisson distribution, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) with a resolution of 0.0001 seconds (0.1 ms), and with lossless conversion to/from the 32-bit NTP timestamp as per Section 6 of RFC 5905 (values above this limit will be clipped and set to the limit value). Trunc = 30.0000 seconds.

7.3.3.  Traffic Filtering (Observation) Details

N/A

7.3.4.  Sampling Distribution

N/A

7.3.5.  Runtime Parameters and Data Format

Runtime Parameters are input factors that must be determined, configured into the measurement system, and reported with the results for the context to be complete.
Src:
The IP address of the host in the Src Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
Dst:
The IP address of the host in the Dst Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
T0:
A time, the start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. When T0 is "all-zeros", a start time is unspecified and Tf is to be interpreted as the duration of the measurement interval. The start time is controlled through other means.
Tf:
A time, the end of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. When T0 is "all-zeros", an ending time and date is ignored and Tf is interpreted as the duration of the measurement interval.

7.3.6.  Roles

Src:
Launches each packet and waits for return transmissions from the Dst. An example is the TWAMP Session-Sender.
Dst:
Waits for each packet from the Src and sends a return packet to the Src. An example is the TWAMP Session-Reflector.

7.4.  Output

This category specifies all details of the output of measurements using the metric.

7.4.1.  Type

Types are discussed in the subsections below.

7.4.2.  Reference Definition

For all output types:
T0:
The start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330.
Tf:
The end of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330.
For LossRatio, the count of lost packets to total packets sent is the basis for the loss ratio calculation as per Section 4.1 of RFC 7680.
For each <statistic> or Percent_LossRatio, one of the following subsections applies.
7.4.2.1.  Percentile95
The 95th percentile SHALL be calculated using the conditional distribution of all packets with a finite value of one-way delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.3 of RFC 3393 for details on the percentile statistic (where round-trip delay should be substituted for "ipdv").
The percentile = 95, meaning that the reported delay, "95Percentile", is the smallest value of one-way delay for which the Empirical Distribution Function, EDF(95Percentile), is greater than or equal to 95% of the singleton one-way delay values in the conditional distribution. See Section 11.3 of RFC 2330 for the definition of the percentile statistic using the EDF.
95Percentile:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
7.4.2.2.  Mean
The mean SHALL be calculated using the conditional distribution of all packets with a finite value of one-way delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.2.2 of RFC 6049 for details on calculating this statistic; see also Section 4.2.3 of RFC 6049.
Mean:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
7.4.2.3.  Min
The minimum SHALL be calculated using the conditional distribution of all packets with a finite value of one-way delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.3.2 of RFC 6049 for details on calculating this statistic; see also Section 4.3.3 of RFC 6049.
Min:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
7.4.2.4.  Max
The maximum SHALL be calculated using the conditional distribution of all packets with a finite value of one-way delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.3.2 of RFC 6049 for a closely related method for calculating this statistic; see also Section 4.3.3 of RFC 6049. The formula is as follows:
   Max = (FiniteDelay[j])
  • such that for some index, j, where 1 <= j <= N FiniteDelay[j] >= FiniteDelay[n] for all n
Max:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
7.4.2.5.  Std_Dev
The standard deviation (Std_Dev) SHALL be calculated using the conditional distribution of all packets with a finite value of one-way delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 6.1.4 of RFC 6049 for a closely related method for calculating this statistic. The formula is the classic calculation for the standard deviation of a population.
Define Population Std_Dev_Delay as follows:
                     _                                       _
                    |            N                            |
                    |           ---                           |
                    |     1     \                          2  |
    Std_Dev = SQRT  |  -------   >   (Delay[n] - MeanDelay)   |
                    |    (N)    /                             |
                    |           ---                           |
                    |          n = 1                          |
                    |_                                       _|
where all packets n = 1 through N have a value for Delay[n], MeanDelay is calculated per Section 7.4.2.2, and SQRT[] is the Square Root function:
Std_Dev:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
7.4.2.6.  Percent_LossRatio
Percent_LossRatio:
The numeric value of the result is expressed in units of lost packets to total packets times 100%, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.0000000001.

7.4.3.  Metric Units

The <statistic> of one-way delay is expressed in seconds, where <statistic> is one of:
  • 95Percentile
  • Mean
  • Min
  • Max
  • StdDev
The one-way loss ratio is expressed as a percentage of lost packets to total packets sent.

7.4.4.  Calibration

Section 3.7.3 of RFC 7679 provides a means to quantify the systematic and random errors of a time measurement. Calibration in-situ could be enabled with an internal loopback that includes as much of the measurement system as possible, performs address manipulation as needed, and provides some form of isolation (e.g., deterministic delay) to avoid send-receive interface contention. Some portion of the random and systematic error can be characterized in this way.
For one-way delay measurements, the error calibration must include an assessment of the internal clock synchronization with its external reference (this internal clock is supplying timestamps for measurement). In practice, the time offsets [RFC 5905] of clocks at both the Source and Destination are needed to estimate the systematic error due to imperfect clock synchronization (the time offsets [RFC 5905] are smoothed; thus, the random variation is not usually represented in the results).
time_offset:
The time value of the result is expressed in units of seconds, as a signed value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
When a measurement controller requests a calibration measurement, the loopback is applied and the result is output in the same format as a normal measurement, with an additional indication that it is a calibration result. In any measurement, the measurement function SHOULD report its current estimate of the time offset [RFC 5905] as an indicator of the degree of synchronization.
Both internal loopback calibration and clock synchronization can be used to estimate the available accuracy of the Output Metric Units. For example, repeated loopback delay measurements will reveal the portion of the output result resolution that is the result of system noise and is thus inaccurate.

7.5.  Administrative Items

7.5.1.  Status

Current

7.5.2.  Requester

RFC 8912

7.5.3.  Revision

1.0

7.5.4.  Revision Date

2021-11-17

7.6.  Comments and Remarks

None
Top   ToC   RFCv3-8912

8.  UDP Periodic One-Way Delay and Loss Registry Entries

This section specifies five initial Registry Entries for UDP Periodic One-Way Delay and one entry for UDP Periodic One-Way Loss.
All column entries besides the ID, Name, Description, and Output Reference Method categories are the same; thus, this section defines six closely related Registry Entries. As a result, IANA has assigned corresponding URLs to each of the six Named Metrics.

8.1.  Summary

This category includes multiple indexes to the Registry Entries: the element ID and Metric Name.

8.1.1.  ID (Identifier)

IANA has allocated the numeric Identifiers 12-17 for the six Named Metric Entries in Section 8. See Section 8.1.2 for mapping to Names.

8.1.2.  Name

12:
OWDelay_Active_IP-UDP-Periodic20m-Payload142B_RFC8912sec8_Seconds_95Percentile
13:
OWDelay_Active_IP-UDP-Periodic20m-Payload142B_RFC8912sec8_Seconds_Mean
14:
OWDelay_Active_IP-UDP-Periodic20m-Payload142B_RFC8912sec8_Seconds_Min
15:
OWDelay_Active_IP-UDP-Periodic20m-Payload142B_RFC8912sec8_Seconds_Max
16:
OWDelay_Active_IP-UDP-Periodic20m-Payload142B_RFC8912sec8_Seconds_StdDev
17:
OWLoss_Active_IP-UDP-Periodic20m-Payload142B_RFC8912sec8_Percent_LossRatio

8.1.3.  URI

8.1.4.  Description

OWDelay:
This metric assesses the delay of a stream of packets exchanged between two hosts (or measurement points) and reports the <statistic> of one-way delay for all successfully exchanged packets based on their conditional delay distribution.
where <statistic> is one of:
  • 95Percentile
  • Mean
  • Min
  • Max
  • StdDev
OWLoss:
This metric assesses the loss ratio of a stream of packets exchanged between two hosts (which are the two measurement points). The output is the one-way loss ratio for all transmitted packets expressed as a percentage.

8.1.5.  Change Controller

IETF

8.1.6.  Version (of Registry Format)

1.0

8.2.  Metric Definition

This category includes columns to prompt the entry of all necessary details related to the metric definition, including the RFC reference and values of input factors, called "Fixed Parameters".

8.2.1.  Reference Definition

For delay:
Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, Ed., "A One-Way Delay Metric for IP Performance Metrics (IPPM)", STD 81, RFC 7679, DOI 10.17487/RFC7679, January 2016, <https://www.rfc-editor.org/info/rfc7679>. [RFC 7679]
Morton, A. and E. Stephan, "Spatial Composition of Metrics", RFC 6049, DOI 10.17487/RFC6049, January 2011, <https://www.rfc-editor.org/info/rfc6049>. [RFC 6049]
Section 3.4 of RFC 7679 provides the reference definition of the singleton (single value) one-way delay metric. Section 4.4 of RFC 7679 provides the reference definition expanded to cover a multi-value sample. Note that terms such as "singleton" and "sample" are defined in Section 11 of RFC 2330.
Only successful packet transfers with finite delay are included in the sample, as prescribed in Section 4.1.2 of RFC 6049.
For loss:
Almes, G., Kalidindi, S., Zekauskas, M., and A. Morton, Ed., "A One-Way Loss Metric for IP Performance Metrics (IPPM)", STD 82, RFC 7680, DOI 10.17487/RFC7680, January 2016, <https://www.rfc-editor.org/info/rfc7680>. [RFC 7680]
Section 2.4 of RFC 7680 provides the reference definition of the singleton (single value) one-way Loss metric. Section 3.4 of RFC 7680 provides the reference definition expanded to cover a multi-singleton sample. Note that terms such as "singleton" and "sample" are defined in Section 11 of RFC 2330.

8.2.2.  Fixed Parameters

Type-P:
IPv4 header values:
DSCP:
Set to 0
TTL:
Set to 255
Protocol:
Set to 17 (UDP)
IPv6 header values:
DSCP:
Set to 0
Hop Count:
Set to 255
Next Header:
Set to 17 (UDP)
Flow Label:
Set to 0
Extension Headers:
None
UDP header values:
Checksum:
The checksum MUST be calculated and the non-zero checksum included in the header
UDP Payload:
TWAMP-Test packet formats (Section 4.1.2 of RFC 5357)
  • Security features in use influence the number of Padding octets
  • 142 octets total, including the TWAMP format (and format type MUST be reported, if used)
Other measurement Parameters:
Tmax:
A loss threshold waiting time with value 3.0, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms), with lossless conversion to/from the 32-bit NTP timestamp as per Section 6 of RFC 5905.
See the Packet Stream Generation section for three additional Fixed Parameters.

8.3.  Method of Measurement

This category includes columns for references to relevant sections of the RFC(s) and any supplemental information needed to ensure an unambiguous method for implementations.

8.3.1.  Reference Methods

The methodology for this metric (equivalent to Type-P-One-way-Delay-Poisson-Stream) is defined as in Section 3.6 of RFC 7679 (for singletons) and Section 4.6 of RFC 7679 (for samples) using the Type-P and Tmax defined in the Fixed Parameters column. However, a Periodic stream is used, as defined in [RFC 3432].
The reference method distinguishes between long-delayed packets and lost packets by implementing a maximum waiting time for packet arrival. Tmax is the waiting time used as the threshold to declare a packet lost. Lost packets SHALL be designated as having undefined delay and counted for the OWLoss metric.
The calculations on the one-way delay SHALL be performed on the conditional distribution, conditioned on successful packet arrival within Tmax. Also, when all packet delays are stored, the process that calculates the one-way delay value MUST enforce the Tmax threshold on stored values before calculations. See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
The reference method requires some way to distinguish between different packets in a stream to establish correspondence between sending times and receiving times for each successfully arriving packet.
Since a standard measurement protocol is employed [RFC 5357], the measurement process will determine the sequence numbers or timestamps applied to test packets after the Fixed and Runtime Parameters are passed to that process. The measurement protocol dictates the format of sequence numbers and timestamps conveyed in the TWAMP-Test packet payload.

8.3.2.  Packet Stream Generation

This section provides details regarding packet traffic, which is used as the basis for measurement. In IPPM Metrics, this is called the "stream"; this stream can easily be described by providing the list of stream Parameters.
Section 3 of RFC 3432 prescribes the method for generating Periodic streams using associated Parameters.
incT:
The nominal duration of the inter-packet interval, first bit to first bit, with value 0.0200, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms), with lossless conversion to/from the 32-bit NTP timestamp as per Section 6 of RFC 5905.
dT:
The duration of the interval for allowed sample start times, with value 1.0000, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms), with lossless conversion to/from the 32-bit NTP timestamp as per Section 6 of RFC 5905.
T0:
The actual start time of the periodic stream, determined from T0 and dT.
Note: An initiation process with a number of control exchanges resulting in unpredictable start times (within a time interval) may be sufficient to avoid synchronization of periodic streams and is a valid replacement for selecting a start time at random from a fixed interval.
These stream Parameters will be specified as Runtime Parameters.

8.3.3.  Traffic Filtering (Observation) Details

N/A

8.3.4.  Sampling Distribution

N/A

8.3.5.  Runtime Parameters and Data Format

Runtime Parameters are input factors that must be determined, configured into the measurement system, and reported with the results for the context to be complete.
Src:
The IP address of the host in the Src Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
Dst:
The IP address of the host in the Dst Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
T0:
A time, the start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. When T0 is "all-zeros", a start time is unspecified and Tf is to be interpreted as the duration of the measurement interval. The start time is controlled through other means.
Tf:
A time, the end of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. When T0 is "all-zeros", an ending time and date is ignored and Tf is interpreted as the duration of the measurement interval.

8.3.6.  Roles

Src:
Launches each packet and waits for return transmissions from the Dst. An example is the TWAMP Session-Sender.
Dst:
Waits for each packet from the Src and sends a return packet to the Src. An example is the TWAMP Session-Reflector.

8.4.  Output

This category specifies all details of the output of measurements using the metric.

8.4.1.  Type

Latency and Loss Types are discussed in the subsections below.

8.4.2.  Reference Definition

For all output types:
T0:
The start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330.
Tf:
The end of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330.
For LossRatio, the count of lost packets to total packets sent is the basis for the loss ratio calculation as per Section 4.1 of RFC 7680.
For each <statistic> or Percent_LossRatio, one of the following subsections applies.
8.4.2.1.  Percentile95
The 95th percentile SHALL be calculated using the conditional distribution of all packets with a finite value of one-way delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.3 of RFC 3393 for details on the percentile statistic (where round-trip delay should be substituted for "ipdv").
The percentile = 95, meaning that the reported delay, "95Percentile", is the smallest value of one-way delay for which the Empirical Distribution Function, EDF(95Percentile), is greater than or equal to 95% of the singleton one-way delay values in the conditional distribution. See Section 11.3 of RFC 2330 for the definition of the percentile statistic using the EDF.
95Percentile:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
8.4.2.2.  Mean
The mean SHALL be calculated using the conditional distribution of all packets with a finite value of one-way delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.2.2 of RFC 6049 for details on calculating this statistic; see also Section 4.2.3 of RFC 6049.
Mean:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
8.4.2.3.  Min
The minimum SHALL be calculated using the conditional distribution of all packets with a finite value of one-way delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.3.2 of RFC 6049 for details on calculating this statistic; see also Section 4.3.3 of RFC 6049.
Min:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
8.4.2.4.  Max
The maximum SHALL be calculated using the conditional distribution of all packets with a finite value of one-way delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.3.2 of RFC 6049 for a closely related method for calculating this statistic; see also Section 4.3.3 of RFC 6049. The formula is as follows:
   Max = (FiniteDelay[j])
  • such that for some index, j, where 1 <= j <= N FiniteDelay[j] >= FiniteDelay[n] for all n
Max:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
8.4.2.5.  Std_Dev
Std_Dev SHALL be calculated using the conditional distribution of all packets with a finite value of one-way delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 6.1.4 of RFC 6049 for a closely related method for calculating this statistic. The formula is the classic calculation for the standard deviation of a population.
Define Population Std_Dev_Delay as follows:
                     _                                       _
                    |            N                            |
                    |           ---                           |
                    |     1     \                          2  |
    Std_Dev = SQRT  |  -------   >   (Delay[n] - MeanDelay)   |
                    |    (N)    /                             |
                    |           ---                           |
                    |          n = 1                          |
                    |_                                       _|
where all packets n = 1 through N have a value for Delay[n], MeanDelay is calculated per Section 8.4.2.2, and SQRT[] is the Square Root function:
Std_Dev:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
8.4.2.6.  Percent_LossRatio
Percent_LossRatio:
The numeric value of the result is expressed in units of lost packets to total packets times 100%, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020 with a resolution of 0.0000000001.

8.4.3.  Metric Units

The <statistic> of one-way delay is expressed in seconds, where <statistic> is one of:
  • 95Percentile
  • Mean
  • Min
  • Max
  • StdDev
The one-way loss ratio is expressed as a percentage of lost packets to total packets sent.

8.4.4.  Calibration

Section 3.7.3 of RFC 7679 provides a means to quantify the systematic and random errors of a time measurement. Calibration in-situ could be enabled with an internal loopback that includes as much of the measurement system as possible, performs address manipulation as needed, and provides some form of isolation (e.g., deterministic delay) to avoid send-receive interface contention. Some portion of the random and systematic error can be characterized in this way.
For one-way delay measurements, the error calibration must include an assessment of the internal clock synchronization with its external reference (this internal clock is supplying timestamps for measurement). In practice, the time offsets [RFC 5905] of clocks at both the Source and Destination are needed to estimate the systematic error due to imperfect clock synchronization (the time offsets [RFC 5905] are smoothed; thus, the random variation is not usually represented in the results).
time_offset:
The time value of the result is expressed in units of seconds, as a signed value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
When a measurement controller requests a calibration measurement, the loopback is applied and the result is output in the same format as a normal measurement, with an additional indication that it is a calibration result. In any measurement, the measurement function SHOULD report its current estimate of the time offset [RFC 5905] as an indicator of the degree of synchronization.
Both internal loopback calibration and clock synchronization can be used to estimate the available accuracy of the Output Metric Units. For example, repeated loopback delay measurements will reveal the portion of the output result resolution that is the result of system noise and is thus inaccurate.

8.5.  Administrative Items

8.5.1.  Status

Current

8.5.2.  Requester

RFC 8912

8.5.3.  Revision

1.0

8.5.4.  Revision Date

2021-11-17

8.6.  Comments and Remarks

None
Top   ToC   RFCv3-8912

9.  ICMP Round-Trip Latency and Loss Registry Entries

This section specifies three initial Registry Entries for ICMP Round-Trip Latency and another entry for the ICMP Round-Trip Loss Ratio.
All column entries besides the ID, Name, Description, and Output Reference Method categories are the same; thus, this section defines four closely related Registry Entries. As a result, IANA has assigned corresponding URLs to each of the four Named Metrics.

9.1.  Summary

This category includes multiple indexes to the Registry Entries: the element ID and Metric Name.

9.1.1.  ID (Identifier)

IANA has allocated the numeric Identifiers 18-21 for the four Named Metric Entries in Section 9. See Section 9.1.2 for mapping to Names.

9.1.2.  Name

18:
RTDelay_Active_IP-ICMP-SendOnRcv_RFC8912sec9_Seconds_Mean
19:
RTDelay_Active_IP-ICMP-SendOnRcv_RFC8912sec9_Seconds_Min
20:
RTDelay_Active_IP-ICMP-SendOnRcv_RFC8912sec9_Seconds_Max
21:
RTLoss_Active_IP-ICMP-SendOnRcv_RFC8912sec9_Percent_LossRatio

9.1.3.  URI

9.1.4.  Description

RTDelay:
This metric assesses the delay of a stream of ICMP packets exchanged between two hosts (which are the two measurement points). The output is the round-trip delay for all successfully exchanged packets expressed as the <statistic> of their conditional delay distribution, where <statistic> is one of:
  • Mean
  • Min
  • Max
RTLoss:
This metric assesses the loss ratio of a stream of ICMP packets exchanged between two hosts (which are the two measurement points). The output is the round-trip loss ratio for all transmitted packets expressed as a percentage.

9.1.5.  Change Controller

IETF

9.1.6.  Version (of Registry Format)

1.0

9.2.  Metric Definition

This category includes columns to prompt the entry of all necessary details related to the metric definition, including the RFC reference and values of input factors, called "Fixed Parameters".

9.2.1.  Reference Definition

For delay:
Almes, G., Kalidindi, S., and M. Zekauskas, "A Round-trip Delay Metric for IPPM", RFC 2681, DOI 10.17487/RFC2681, September 1999, <https://www.rfc-editor.org/info/rfc2681>. [RFC 2681]
Section 2.4 of RFC 2681 provides the reference definition of the singleton (single value) round-trip delay metric. Section 3.4 of RFC 2681 provides the reference definition expanded to cover a multi-singleton sample. Note that terms such as "singleton" and "sample" are defined in Section 11 of RFC 2330.
Note that although the definition of round-trip delay between the Source (Src) and the Destination (Dst) as provided in Section 2.4 of RFC 2681 is directionally ambiguous in the text, this metric tightens the definition further to recognize that the host in the Src Role will send the first packet to the host in the Dst Role and will ultimately receive the corresponding return packet from the Dst (when neither is lost).
Finally, note that the variable "dT" is used in [RFC 2681] to refer to the value of round-trip delay in metric definitions and methods. The variable "dT" has been reused in other IPPM literature to refer to different quantities and cannot be used as a global variable name.
For loss:
Morton, A., "Round-Trip Packet Loss Metrics", RFC 6673, DOI 10.17487/RFC6673, August 2012, <https://www.rfc-editor.org/info/rfc6673>. [RFC 6673]
Both Delay and Loss metrics employ a maximum waiting time for received packets, so the count of lost packets to total packets sent is the basis for the loss ratio calculation as per Section 6.1 of RFC 6673.

9.2.2.  Fixed Parameters

IPv4 header values:
DSCP:
Set to 0
TTL:
Set to 255
Protocol:
Set to 01 (ICMP)
IPv6 header values:
DSCP:
Set to 0
Hop Count:
Set to 255
Next Header:
Set to 128 decimal (ICMP)
Flow Label:
Set to 0
Extension Headers:
None
ICMP header values:
Type:
8 (Echo Request)
Code:
0
Checksum:
The checksum MUST be calculated and the non-zero checksum included in the header
(Identifier and sequence number set at runtime)
ICMP Payload:
Total of 32 bytes of random information, constant per test
Other measurement Parameters:
Tmax:
A loss threshold waiting time with value 3.0, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms), with lossless conversion to/from the 32-bit NTP timestamp as per Section 6 of RFC 5905.

9.3.  Method of Measurement

This category includes columns for references to relevant sections of the RFC(s) and any supplemental information needed to ensure an unambiguous method for implementations.

9.3.1.  Reference Methods

The methodology for this metric (equivalent to Type-P-Round-trip-Delay-Poisson-Stream) is defined as in Section 2.6 of RFC 2681 (for singletons) and Section 3.6 of RFC 2681 (for samples) using the Type-P and Tmax defined in the Fixed Parameters column.
The reference method distinguishes between long-delayed packets and lost packets by implementing a maximum waiting time for packet arrival. Tmax is the waiting time used as the threshold to declare a packet lost. Lost packets SHALL be designated as having undefined delay and counted for the RTLoss metric.
The calculations on the delay (RTD) SHALL be performed on the conditional distribution, conditioned on successful packet arrival within Tmax. Also, when all packet delays are stored, the process that calculates the RTD value MUST enforce the Tmax threshold on stored values before calculations. See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
The reference method requires some way to distinguish between different packets in a stream to establish correspondence between sending times and receiving times for each successfully arriving packet. Sequence numbers or other send-order identification MUST be retained at the Src or included with each packet to disambiguate packet reordering if it occurs.
The measurement process will determine the sequence numbers applied to test packets after the Fixed and Runtime Parameters are passed to that process. The ICMP measurement process and protocol will dictate the format of sequence numbers and other Identifiers.
Refer to Section 4.4 of RFC 6673 for an expanded discussion of the instruction to "send a Type-P packet back to the Src as quickly as possible" in Section 2.6 of RFC 2681. Section 8 of RFC 6673 presents additional requirements that MUST be included in the Method of Measurement for this metric.

9.3.2.  Packet Stream Generation

This section provides details regarding packet traffic, which is used as the basis for measurement. In IPPM Metrics, this is called the "stream"; this stream can easily be described by providing the list of stream Parameters.
The ICMP metrics use a sending discipline called "SendOnRcv" or Send On Receive. This is a modification of Section 3 of RFC 3432, which prescribes the method for generating Periodic streams using associated Parameters as defined below for this description:
incT:
The nominal duration of the inter-packet interval, first bit to first bit.
dT:
The duration of the interval for allowed sample start times.
The incT stream Parameter will be specified as a Runtime Parameter, and dT is not used in SendOnRcv.
A SendOnRcv sender behaves exactly like a Periodic stream generator while all reply packets arrive with RTD < incT, and the inter-packet interval will be constant.
If a reply packet arrives with RTD >= incT, then the inter-packet interval for the next sending time is nominally RTD.
If a reply packet fails to arrive within Tmax, then the inter-packet interval for the next sending time is nominally Tmax.
If an immediate Send On Reply arrival is desired, then set incT = 0.

9.3.3.  Traffic Filtering (Observation) Details

N/A

9.3.4.  Sampling Distribution

N/A

9.3.5.  Runtime Parameters and Data Format

Runtime Parameters are input factors that must be determined, configured into the measurement system, and reported with the results for the context to be complete.
Src:
The IP address of the host in the Src Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
Dst:
The IP address of the host in the Dst Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
incT:
The nominal duration of the inter-packet interval, first bit to first bit, expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 4 (see Section 9.3 of RFC 6020) and with a resolution of 0.0001 seconds (0.1 ms).
T0:
A time, the start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. When T0 is "all-zeros", a start time is unspecified and Tf is to be interpreted as the duration of the measurement interval. The start time is controlled through other means.
Count:
The total count of ICMP Echo Requests to send, formatted as a uint16, as per Section 9.2 of RFC 6020.
See the Packet Stream Generation section for additional Runtime Parameters.

9.3.6.  Roles

Src:
Launches each packet and waits for return transmissions from the Dst.
Dst:
Waits for each packet from the Src and sends a return packet to the Src (ICMP Echo Reply, Type 0).

9.4.  Output

This category specifies all details of the output of measurements using the metric.

9.4.1.  Type

Latency and Loss Types are discussed in the subsections below.

9.4.2.  Reference Definition

For all output types:
T0:
The start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330.
Tf:
The end of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330.
TotalCount:
The count of packets actually sent by the Src to the Dst during the measurement interval.
For each <statistic> or Percent_LossRatio, one of the following subsections applies.
9.4.2.1.  Mean
The mean SHALL be calculated using the conditional distribution of all packets with a finite value of round-trip delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.2.2 of RFC 6049 for details on calculating this statistic; see also Section 4.2.3 of RFC 6049.
Mean:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
9.4.2.2.  Min
The minimum SHALL be calculated using the conditional distribution of all packets with a finite value of round-trip delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.3.2 of RFC 6049 for details on calculating this statistic; see also Section 4.3.3 of RFC 6049.
Min:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
9.4.2.3.  Max
The maximum SHALL be calculated using the conditional distribution of all packets with a finite value of round-trip delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.3.2 of RFC 6049 for a closely related method for calculating this statistic; see also Section 4.3.3 of RFC 6049. The formula is as follows:
   Max = (FiniteDelay[j])
  • such that for some index, j, where 1 <= j <= N FiniteDelay[j] >= FiniteDelay[n] for all n
Max:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
9.4.2.4.  Percent_LossRatio
For LossRatio, the count of lost packets to total packets sent is the basis for the loss ratio calculation as per Section 4.1 of RFC 7680.
Percent_LossRatio:
The numeric value of the result is expressed in units of lost packets to total packets times 100%, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.0000000001.

9.4.3.  Metric Units

The <statistic> of round-trip delay is expressed in seconds, where <statistic> is one of:
  • Mean
  • Min
  • Max
The round-trip loss ratio is expressed as a percentage of lost packets to total packets sent.

9.4.4.  Calibration

Section 3.7.3 of RFC 7679 provides a means to quantify the systematic and random errors of a time measurement. Calibration in-situ could be enabled with an internal loopback at the Source host that includes as much of the measurement system as possible, performs address manipulation as needed, and provides some form of isolation (e.g., deterministic delay) to avoid send-receive interface contention. Some portion of the random and systematic error can be characterized in this way.
When a measurement controller requests a calibration measurement, the loopback is applied and the result is output in the same format as a normal measurement, with an additional indication that it is a calibration result.
Both internal loopback calibration and clock synchronization can be used to estimate the available accuracy of the Output Metric Units. For example, repeated loopback delay measurements will reveal the portion of the output result resolution that is the result of system noise and is thus inaccurate.

9.5.  Administrative Items

9.5.1.  Status

Current

9.5.2.  Requester

RFC 8912

9.5.3.  Revision

1.0

9.5.4.  Revision Date

2021-11-17

9.6.  Comments and Remarks

None
Top   ToC   RFCv3-8912

10.  TCP Round-Trip Delay and Loss Registry Entries

This section specifies four initial Registry Entries for the Passive assessment of TCP Round-Trip Delay (RTD) and another entry for the TCP Round-Trip Loss Count.
All column entries besides the ID, Name, Description, and Output Reference Method categories are the same; thus, this section defines four closely related Registry Entries. As a result, IANA has assigned corresponding URLs to each of the four Named Metrics.

10.1.  Summary

This category includes multiple indexes to the Registry Entries: the element ID and Metric Name.

10.1.1.  ID (Identifier)

IANA has allocated the numeric Identifiers 22-26 for the five Named Metric Entries in Section 10. See Section 10.1.2 for mapping to Names.

10.1.2.  Name

22:
RTDelay_Passive_IP-TCP_RFC8912sec10_Seconds_Mean
23:
RTDelay_Passive_IP-TCP_RFC8912sec10_Seconds_Min
24:
RTDelay_Passive_IP-TCP_RFC8912sec10_Seconds_Max
25:
RTDelay_Passive_IP-TCP-HS_RFC8912sec10_Seconds_Singleton
Note that a midpoint observer only has the opportunity to compose a single RTDelay on the TCP handshake.
26:
RTLoss_Passive_IP-TCP_RFC8912sec10_Packet_Count

10.1.3.  URI

10.1.4.  Description

RTDelay:
This metric assesses the round-trip delay of TCP packets constituting a single connection, exchanged between two hosts. We consider the measurement of round-trip delay based on a single Observation Point (OP) [RFC 7011] somewhere in the network. The output is the round-trip delay for all successfully exchanged packets expressed as the <statistic> of their conditional delay distribution, where <statistic> is one of:
  • Mean
  • Min
  • Max
RTDelay Singleton:
This metric assesses the round-trip delay of TCP packets initiating a single connection (or 3-way handshake), exchanged between two hosts. We consider the measurement of round-trip delay based on a single Observation Point (OP) [RFC 7011] somewhere in the network. The output is the single measurement of Round-trip delay, or Singleton.
RTLoss:
This metric assesses the estimated loss count for TCP packets constituting a single connection, exchanged between two hosts. We consider the measurement of round-trip delay based on a single OP [RFC 7011] somewhere in the network. The output is the estimated loss count for the measurement interval.

10.1.5.  Change Controller

IETF

10.1.6.  Version (of Registry Format)

1.0

10.2.  Metric Definition

This category includes columns to prompt the entry of all necessary details related to the metric definition, including the RFC reference and values of input factors, called "Fixed Parameters".

10.2.1.  Reference Definition

Almes, G., Kalidindi, S., and M. Zekauskas, "A Round-trip Delay Metric for IPPM", RFC 2681, DOI 10.17487/RFC2681, September 1999, <https://www.rfc-editor.org/info/rfc2681>. [RFC 2681]
Although there is no RFC that describes Passive Measurement of round-trip delay, the parallel definition for Active Measurement is provided in [RFC 2681].
This metric definition uses the term "wire time" as defined in Section 10.2 of RFC 2330, and the terms "singleton" and "sample" as defined in Section 11 of RFC 2330. (Section 2.4 of RFC 2681 provides the reference definition of the singleton (single value) round-trip delay metric. Section 3.4 of RFC 2681 provides the reference definition expanded to cover a multi-singleton sample.)
With the OP [RFC 7011] typically located between the hosts participating in the TCP connection, the round-trip delay metric requires two individual measurements between the OP and each host, such that the Spatial Composition [RFC 6049] of the measurements yields a round-trip delay singleton (we are extending the composition of one-way subpath delays to subpath round-trip delay).
Using the direction of TCP SYN transmission to anchor the nomenclature, host A sends the SYN, and host B replies with SYN-ACK during connection establishment. The direction of SYN transfer is considered the Forward direction of transmission, from A through the OP to B (the Reverse direction is B through the OP to A).
Traffic Filters reduce the packet streams at the OP to a Qualified bidirectional flow of packets.
In the definitions below, Corresponding Packets are transferred in different directions and convey a common value in a TCP header field that establishes correspondence (to the extent possible). Examples may be found in the TCP timestamp fields.
For a real number, RTD_fwd, >> the round-trip delay in the Forward direction from the OP to host B at time T' is RTD_fwd << it is REQUIRED that the OP observed a Qualified Packet to host B at wire time T', that host B received that packet and sent a Corresponding Packet back to host A, and the OP observed the Corresponding Packet at wire time T' + RTD_fwd.
For a real number, RTD_rev, >> the round-trip delay in the Reverse direction from the OP to host A at time T'' is RTD_rev << it is REQUIRED that the OP observed a Qualified Packet to host A at wire time T'', that host A received that packet and sent a Corresponding Packet back to host B, and that the OP observed the Corresponding Packet at wire time T'' + RTD_rev.
Ideally, the packet sent from host B to host A in both definitions above SHOULD be the same packet (or, when measuring RTD_rev first, the packet from host A to host B in both definitions should be the same).
The REQUIRED Composition Function for a singleton of round-trip delay at time T (where T is the earliest of T' and T'' above) is:
RTDelay = RTD_fwd + RTD_rev
Note that when the OP is located at host A or host B, one of the terms composing RTDelay will be zero or negligible.
Using the abbreviation HS to refer to the TCP handshake: when the Qualified and Corresponding Packets are a TCP-SYN and a TCP-SYN-ACK, RTD_fwd == RTD_HS_fwd.
When the Qualified and Corresponding Packets are a TCP-SYN-ACK and a TCP-ACK, RTD_rev == RTD_HS_rev.
The REQUIRED Composition Function for a singleton of round-trip delay for the connection handshake is:
RTDelay_HS = RTD_HS_fwd + RTD_HS_rev
The definition of round-trip loss count uses the nomenclature developed above, based on observation of the TCP header sequence numbers and storing the sequence number gaps observed. Packet losses can be inferred from:
Out-of-order segments:
TCP segments are transmitted with monotonically increasing sequence numbers, but these segments may be received out of order. Section 3 of RFC 4737 describes the notion of "next expected" sequence numbers, which can be adapted to TCP segments (for the purpose of detecting reordered packets). Observation of out-of-order segments indicates loss on the path prior to the OP and creates a gap.
Duplicate segments:
Section 2 of RFC 5560 defines identical packets and is suitable for evaluation of TCP packets to detect duplication. Observation of a segment duplicates a segment previously observed (and thus no corresponding observed segment gap) indicates loss on the path following the OP (e.g., the segment overlaps part of the octet stream already observed at the OP).
Each observation of an out-of-order or duplicate segment infers a singleton of loss, but the composition of round-trip loss counts will be conducted over a measurement interval that is synonymous with a single TCP connection.
With the above observations in the Forward direction over a measurement interval, the count of out-of-order and duplicate segments is defined as RTL_fwd. Comparable observations in the Reverse direction are defined as RTL_rev.
For a measurement interval (corresponding to a single TCP connection) T0 to Tf, the REQUIRED Composition Function for the two single-direction counts of inferred loss is:
RTLoss = RTL_fwd + RTL_rev

10.2.2.  Fixed Parameters

Traffic Filters:
IPv4 header values:
DSCP:
Set to 0
Protocol:
Set to 06 (TCP)
IPv6 header values:
DSCP:
Set to 0
Hop Count:
Set to 255
Next Header:
Set to 6 (TCP)
Flow Label:
Set to 0
Extension Headers:
None
TCP header values:
Flags:
ACK, SYN, FIN, set as required
Timestamps Option (TSopt):
Set. See Section 3.2 of RFC 7323

10.3.  Method of Measurement

This category includes columns for references to relevant sections of the RFC(s) and any supplemental information needed to ensure an unambiguous method for implementations.

10.3.1.  Reference Methods

The foundational methodology for this metric is defined in Section 4 of RFC 7323 using the Timestamps option with modifications that allow application at a mid-path OP [RFC 7011]. Further details and applicable heuristics were derived from [Strowes] and [Trammell-14].
The Traffic Filter at the OP is configured to observe a single TCP connection. When the SYN/SYN-ACK/ACK handshake occurs, it offers the first opportunity to measure both RTD_fwd (on the SYN to SYN-ACK pair) and RTD_rev (on the SYN-ACK to ACK pair). Label this singleton of RTDelay as RTDelay_HS (composed using the Forward and Reverse measurement pair). RTDelay_HS SHALL be treated separately from other RTDelays on data-bearing packets and their ACKs. The RTDelay_HS value MAY be used as a consistency check on the composed values of RTDelay for payload-bearing packets.
For payload-bearing packets, the OP measures the time interval between observation of a packet with sequence number "s" and the corresponding ACK with the same sequence number. When the payload is transferred from host A to host B, the observed interval is RTD_fwd.
For payload-bearing packets, each observation of an out-of-order or duplicate segment infers a loss count, but the composition of round-trip loss counts will be conducted over a measurement interval that is synonymous with a single TCP connection.
Because many data transfers are unidirectional (say, in the Forward direction from host A to host B), it is necessary to use pure ACK packets with Timestamp (TSval) and packets with the Timestamp value echo to perform a RTD_rev measurement. The time interval between observation of the ACK from B to A, and the Corresponding Packet with a Timestamp Echo Reply (TSecr) field [RFC 7323], is the RTD_rev.
Delay Measurement Filtering Heuristics:
  • If data payloads were transferred in both Forward and Reverse directions, then the Round-Trip Time Measurement rule in Section 4.1 of RFC 7323 could be applied. This rule essentially excludes any measurement using a packet unless it makes progress in the transfer (advances the left edge of the send window, consistent with [Strowes]).
  • A different heuristic from [Trammell-14] is to exclude any RTD_rev that is larger than previously observed values. This would tend to exclude Reverse measurements taken when the application has no data ready to send, because considerable time could be added to RTD_rev from this source of error.
  • Note that the above heuristic assumes that host A is sending data. Host A expecting a download would mean that this heuristic should be applied to RTD_fwd.
  • The statistic calculations to summarize the delay (RTDelay) SHALL be performed on the conditional distribution, conditioned on successful Forward and Reverse measurements that follow the heuristics.
Method for Inferring Loss:
  • The OP tracks sequence numbers and stores gaps for each direction of transmission, as well as the next expected sequence number as discussed in [Trammell-14] and [RFC 4737]. Loss is inferred from out-of-order segments and duplicate segments.
Loss Measurement Filtering Heuristics:
  • [Trammell-14] adds a window of evaluation based on the RTDelay.
  • Distinguish reordered packets from out-of-order segments due to loss, because the sequence number gap is filled during the same RTDelay window. Segments detected as reordered according to [RFC 4737] MUST reduce the loss count inferred from out-of-order segments.
  • Spurious (unneeded) retransmissions (observed as duplicates) can also be reduced in this way, as described in [Trammell-14].
Sources of Error:
  • The principal source of RTDelay error is the host processing time to return a packet that defines the termination of a time interval. The heuristics above intend to mitigate these errors by excluding measurements where host processing time is a significant part of RTD_fwd or RTD_rev.
  • A key source of RTLoss error is observation loss, as described in Section 3 of [Trammell-14].

10.3.2.  Packet Stream Generation

N/A

10.3.3.  Traffic Filtering (Observation) Details

The Fixed Parameters above give a portion of the Traffic Filter. Other aspects will be supplied as Runtime Parameters (below).

10.3.4.  Sampling Distribution

This metric requires a complete sample of all packets that qualify according to the Traffic Filter criteria.

10.3.5.  Runtime Parameters and Data Format

Runtime Parameters are input factors that must be determined, configured into the measurement system, and reported with the results for the context to be complete.
Src:
The IP address of the host in the host A Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
Dst:
The IP address of the host in the host B Role (format ipv4-address-no-zone value for IPv4 or ipv6-address-no-zone value for IPv6; see Section 4 of RFC 6991).
T0:
A time, the start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. When T0 is "all-zeros", a start time is unspecified and Tf is to be interpreted as the duration of the measurement interval. The start time is controlled through other means.
Tf:
Optionally, the end of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991), or the duration (see T0). The UTC Time Zone is required by Section 6.1 of RFC 2330. Alternatively, the end of the measurement interval MAY be controlled by the measured connection, where the second pair of FIN and ACK packets exchanged between host A and host B effectively ends the interval.
TTL or Hop Limit:
Set at desired value.

10.3.6.  Roles

host A:
Launches the SYN packet to open the connection. The Role of "host A" is synonymous with the IP address used at host A.
host B:
Replies with the SYN-ACK packet to open the connection. The Role of "host B" is synonymous with the IP address used at host B.

10.4.  Output

This category specifies all details of the output of measurements using the metric.

10.4.1.  Type

RTDelay Types are discussed in the subsections below.
For RTLoss: The count of lost packets.

10.4.2.  Reference Definition

For all output types:
T0:
The start of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330.
Tf:
The end of a measurement interval (format "date-time" as specified in Section 5.6 of RFC 3339; see also "date-and-time" in Section 3 of RFC 6991). The UTC Time Zone is required by Section 6.1 of RFC 2330. The end of the measurement interval MAY be controlled by the measured connection, where the second pair of FIN and ACK packets exchanged between host A and host B effectively ends the interval.
RTDelay_Passive_IP-TCP-HS:
The round-trip delay of the handshake is a Singleton.
RTLoss:
The count of lost packets.
For each <statistic>, Singleton, or Loss Count, one of the following subsections applies.
10.4.2.1.  Mean
The mean SHALL be calculated using the conditional distribution of all packets with a finite value of round-trip delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.2.2 of RFC 6049 for details on calculating this statistic; see also Section 4.2.3 of RFC 6049.
Mean:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
10.4.2.2.  Min
The minimum SHALL be calculated using the conditional distribution of all packets with a finite value of round-trip delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.3.2 of RFC 6049 for details on calculating this statistic; see also Section 4.3.3 of RFC 6049.
Min:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
10.4.2.3.  Max
The maximum SHALL be calculated using the conditional distribution of all packets with a finite value of round-trip delay (undefined delays are excluded) -- a single value, as follows:
See Section 4.1 of RFC 3393 for details on the conditional distribution to exclude undefined values of delay, and see Section 5 of RFC 6703 for background on this analysis choice.
See Section 4.3.2 of RFC 6049 for a closely related method for calculating this statistic; see also Section 4.3.3 of RFC 6049. The formula is as follows:
   Max = (FiniteDelay[j])
  • such that for some index, j, where 1 <= j <= N FiniteDelay[j] >= FiniteDelay[n] for all n
Max:
The time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with a resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
10.4.2.4.  Singleton
The singleton SHALL be calculated using the successful RTD_fwd (on the SYN to SYN-ACK pair) and RTD_rev (on the SYN-ACK to ACK pair), see Section 10.3.1.
The singleton time value of the result is expressed in units of seconds, as a positive value of type decimal64 with fraction digits = 9 (see Section 9.3 of RFC 6020) with resolution of 0.000000001 seconds (1.0 ns), and with lossless conversion to/from the 64-bit NTP timestamp as per Section 6 of RFC 5905.
10.4.2.5.  Loss Counts
RTLoss_Passive_IP-TCP_RFC8912sec10_Packet_Count: The count of lost packets.
Observation of an out-of-order segment or duplicate segment infers a loss count, after application of the Definitions of Section 10.2.1 and the Loss Measurement Filtering Heuristics of Section 10.3.1. The composition of round-trip loss counts will be conducted over a measurement interval that is synonymous with a single TCP connection.
For a measurement interval (corresponding to a single TCP connection) T0 to Tf, the REQUIRED Composition Function for the two single- direction counts of inferred loss is:
RTLoss = RTL_fwd + RTL_rev
Packet count:
The numeric value of the result is expressed in units of lost packets, as a positive value of type uint64 (represents integer values between 0 and 18446744073709551615, inclusively (see Section 9.2 of RFC 6020).

10.4.3.  Metric Units

The <statistic> of round-trip delay is expressed in seconds, where <statistic> is one of:
  • Mean
  • Min
  • Max
The round-trip delay of the TCP handshake singleton is expressed in seconds.
The round-trip loss count is expressed as a number of packets.

10.4.4.  Calibration

Passive Measurements at an OP could be calibrated against an Active Measurement (with loss emulation) at host A or host B, where the Active Measurement represents the ground truth.

10.5.  Administrative Items

10.5.1.  Status

Current

10.5.2.  Requester

RFC 8912

10.5.3.  Revision

1.0

10.5.4.  Revision Date

2021-11-17

10.6.  Comments and Remarks

None
Top   ToC   RFCv3-8912

11.  Security Considerations

These Registry Entries represent no known implications for Internet security. With the exception of [RFC 1035], each RFC referenced above contains a Security Considerations section. Further, the Large-scale Measurement of Broadband Performance (LMAP) framework [RFC 7594] provides both security and privacy considerations for measurements.
There are potential privacy considerations for observed traffic, particularly for Passive Metrics as discussed in Section 10. An attacker that knows that its TCP connection is being measured can modify its behavior to skew the measurement results.
Top   ToC   RFCv3-8912

12.  IANA Considerations

IANA has populated the Performance Metrics Registry defined in [RFC 8911] with the values defined in Sections [4] through [10].
See the IANA Considerations section of [RFC 8911] for additional considerations.
Top   ToC   RFCv3-8912

13.  References

13.1.  Normative References

[RFC1035]
P.V. Mockapetris, "Domain names - implementation and specification", STD 13, RFC 1035, DOI 10.17487/RFC1035, November 1987,
<https://www.rfc-editor.org/info/rfc1035>.
[RFC2119]
S. Bradner, "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC2330]
V. Paxson, G. Almes, J. Mahdavi, and M. Mathis, "Framework for IP Performance Metrics", RFC 2330, DOI 10.17487/RFC2330, May 1998,
<https://www.rfc-editor.org/info/rfc2330>.
[RFC2681]
G. Almes, S. Kalidindi, and M. Zekauskas, "A Round-trip Delay Metric for IPPM", RFC 2681, DOI 10.17487/RFC2681, September 1999,
<https://www.rfc-editor.org/info/rfc2681>.
[RFC3339]
G. Klyne, and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, DOI 10.17487/RFC3339, July 2002,
<https://www.rfc-editor.org/info/rfc3339>.
[RFC3393]
C. Demichelis, and P. Chimento, "IP Packet Delay Variation Metric for IP Performance Metrics (IPPM)", RFC 3393, DOI 10.17487/RFC3393, November 2002,
<https://www.rfc-editor.org/info/rfc3393>.
[RFC3432]
V. Raisanen, G. Grotefeld, and A. Morton, "Network performance measurement with periodic streams", RFC 3432, DOI 10.17487/RFC3432, November 2002,
<https://www.rfc-editor.org/info/rfc3432>.
[RFC4737]
A. Morton, L. Ciavattone, G. Ramachandran, S. Shalunov, and J. Perser, "Packet Reordering Metrics", RFC 4737, DOI 10.17487/RFC4737, November 2006,
<https://www.rfc-editor.org/info/rfc4737>.
[RFC5357]
K. Hedayat, R. Krzanowski, A. Morton, K. Yum, and J. Babiarz, "A Two-Way Active Measurement Protocol (TWAMP)", RFC 5357, DOI 10.17487/RFC5357, October 2008,
<https://www.rfc-editor.org/info/rfc5357>.
[RFC5481]
A. Morton, and B. Claise, "Packet Delay Variation Applicability Statement", RFC 5481, DOI 10.17487/RFC5481, March 2009,
<https://www.rfc-editor.org/info/rfc5481>.
[RFC5560]
H. Uijterwaal, "A One-Way Packet Duplication Metric", RFC 5560, DOI 10.17487/RFC5560, May 2009,
<https://www.rfc-editor.org/info/rfc5560>.
[RFC5905]
D. Mills, J. Martin, J. Burbank, and W. Kasch, "Network Time Protocol Version 4: Protocol and Algorithms Specification", RFC 5905, DOI 10.17487/RFC5905, June 2010,
<https://www.rfc-editor.org/info/rfc5905>.
[RFC6020]
M. Bjorklund, "YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)", RFC 6020, DOI 10.17487/RFC6020, October 2010,
<https://www.rfc-editor.org/info/rfc6020>.
[RFC6049]
A. Morton, and E. Stephan, "Spatial Composition of Metrics", RFC 6049, DOI 10.17487/RFC6049, January 2011,
<https://www.rfc-editor.org/info/rfc6049>.
[RFC6673]
A. Morton, "Round-Trip Packet Loss Metrics", RFC 6673, DOI 10.17487/RFC6673, August 2012,
<https://www.rfc-editor.org/info/rfc6673>.
[RFC6991]
J. Schoenwaelder, "Common YANG Data Types", RFC 6991, DOI 10.17487/RFC6991, July 2013,
<https://www.rfc-editor.org/info/rfc6991>.
[RFC7011]
B. Claise, B. Trammell, and P. Aitken, "Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information", STD 77, RFC 7011, DOI 10.17487/RFC7011, September 2013,
<https://www.rfc-editor.org/info/rfc7011>.
[RFC7323]
D. Borman, B. Braden, V. Jacobson, and R. Scheffenegger, "TCP Extensions for High Performance", RFC 7323, DOI 10.17487/RFC7323, September 2014,
<https://www.rfc-editor.org/info/rfc7323>.
[RFC7679]
G. Almes, S. Kalidindi, M. Zekauskas, and A. Morton, "A One-Way Delay Metric for IP Performance Metrics (IPPM)", STD 81, RFC 7679, DOI 10.17487/RFC7679, January 2016,
<https://www.rfc-editor.org/info/rfc7679>.
[RFC7680]
G. Almes, S. Kalidindi, M. Zekauskas, and A. Morton, "A One-Way Loss Metric for IP Performance Metrics (IPPM)", STD 82, RFC 7680, DOI 10.17487/RFC7680, January 2016,
<https://www.rfc-editor.org/info/rfc7680>.
[RFC8174]
B. Leiba, "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017,
<https://www.rfc-editor.org/info/rfc8174>.
[RFC8911]
M. Bagnulo, B. Claise, P. Eardley, A. Morton, and A. Akhter, "Registry for Performance Metrics", RFC 8911, DOI 10.17487/RFC8911, November 2021,
<https://www.rfc-editor.org/info/rfc8911>.
[Strowes]
S. Strowes, "Passively Measuring TCP Round-Trip Times", DOI 10.1145/2507771.2507781, October 2013,
<https://dl.acm.org/doi/10.1145/2507771.2507781>.
[Trammell-14]
B. Trammell, D. Gugelmann, and N. Brownlee, "Inline Data Integrity Signals for Passive Measurement", DOI 10.1007/978-3-642-54999-1_2, March 2014,
<https://link.springer.com/chapter/10.1007/978-3-642-54999-1_2>.

13.2.  Informative References

[RFC1242]
S. Bradner, "Benchmarking Terminology for Network Interconnection Devices", RFC 1242, DOI 10.17487/RFC1242, July 1991,
<https://www.rfc-editor.org/info/rfc1242>.
[RFC6390]
A. Clark, and B. Claise, "Guidelines for Considering New Performance Metric Development", BCP 170, RFC 6390, DOI 10.17487/RFC6390, October 2011,
<https://www.rfc-editor.org/info/rfc6390>.
[RFC6703]
A. Morton, G. Ramachandran, and G. Maguluri, "Reporting IP Network Performance Metrics: Different Points of View", RFC 6703, DOI 10.17487/RFC6703, August 2012,
<https://www.rfc-editor.org/info/rfc6703>.
[RFC7594]
P. Eardley, A. Morton, M. Bagnulo, T. Burbridge, P. Aitken, and A. Akhter, "A Framework for Large-Scale Measurement of Broadband Performance (LMAP)", RFC 7594, DOI 10.17487/RFC7594, September 2015,
<https://www.rfc-editor.org/info/rfc7594>.
[RFC8126]
M. Cotton, B. Leiba, and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>.
Top   ToC   RFCv3-8912

Acknowledgments

The authors thank Brian Trammell for suggesting the term "Runtime Parameters", which led to the distinction between Runtime and Fixed Parameters implemented in this memo, for identifying the IP Flow Information Export (IPFIX) metric with Flow Key as an example, for suggesting the Passive TCP RTD Metric and supporting references, and for many other productive suggestions. Thanks to Peter Koch, who provided several useful suggestions for disambiguating successive DNS queries in the DNS Response time metric.
The authors also acknowledge the constructive reviews and helpful suggestions from Barbara Stark, Juergen Schoenwaelder, Tim Carey, Yaakov Stein, and participants in the LMAP Working Group. Thanks to Michelle Cotton for her early IANA reviews, and to Amanda Baber for answering questions related to the presentation of the Registry and accessibility of the complete template via URL.
Top   ToC   RFCv3-8912

Authors' Addresses

Al Morton

AT&T Labs
200 Laurel Avenue South
Middletown   NJ   07748
United States of America

Marcelo Bagnulo

Universidad Carlos III de Madrid
Av. Universidad 30
Leganes   Madrid   28911
Spain

Philip Eardley

BT
Adastral Park, Martlesham Heath
Ipswich  
United Kingdom

Kevin D'Souza

AT&T Labs
200 Laurel Avenue South
Middletown   NJ   07748
United States of America
Top   ToC