rfc-8912

Initial Performance Metrics Registry Entries

A. Morton, M. Bagnulo, P. Eardley, K. D'Souza
date2021-11 streamIETF areaops wgippm statusPROPOSED STANDARD pages71 canonicalhttps://www.rfc-editor.org/rfc/rfc8912 doi10.17487/RFC8912 errataview
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.

Extracted elements (26)

design-rationale §4.3.2

An initiation process with control exchanges resulting in unpredictable start times (within a time interval) is explicitly noted as a valid replacement for selecting a random start time from a fixed interval for periodic streams. This design avoids periodic stream synchronization artifacts without requiring a true random number generator.

measurement

design-rationale §7.4.2.1

Delay statistics (all percentile, mean, min, max, StdDev outputs) are computed on the conditional distribution, excluding packets with undefined delay (i.e., those arriving after Tmax). This approach, backed by RFC 6703 Section 5, avoids conflating loss with delay and provides interpretable statistics over only successfully delivered packets.

measurement

design-rationale §1

The existing IPPM metric templates (RFC 7679, RFC 6390, RFC 1242) were not designed to serve as the basis for registry columns; while examining what needs to be registered, it became clear none fully satisfied registry needs. RFC 8911 therefore defines a new registry format specifically optimized for the IANA Performance Metrics Registry.

registry, measurement

interoperability-note §6.2.1

For DNS Response Latency metrics, the RFC 1035 entities must be mapped to RFC 2681 roles: the Local Host with its User Program and Resolver takes the Src role, and the Foreign Name Server takes the Dst role. The DNS server is expected to perform all required functions before responding, so response time includes processing time and network delay.

measurement, dns

interoperability-note §6.3.1

The 16-bit DNS Identification field in DNS queries limits the number of simultaneous outstanding DNS queries to 65,535 from a single Src address during stress testing, which implementors must account for when designing concurrent measurement campaigns.

measurement, dns

normative-requirement §6.3.2 SHOULD

For DNS and UDP Poisson metrics, Poisson Method 3 SHALL be used: given a start time, all subsequent send times are pre-computed from a pseudorandom distribution of inter-packet send times (truncating at Trunc), and the Src sends each packet at the computed times.

measurement

normative-requirement §6.3.1 MUST

For DNS metrics, the DNS Message ID Number MUST be retained at the Src and included with each response packet to disambiguate packet reordering. If a DNS Response does not arrive within Tmax, RTDNS is undefined and RLDNS=1; the Message ID SHALL be used to disambiguate successive identical queries.

measurement, dns

normative-requirement §4.3.1 SHOULD

Lost packets SHALL be designated as having undefined delay and counted for the loss metric (RTLoss, OWLoss, or RLDNS). Packets not arriving within the Tmax waiting time are declared lost.

measurement

normative-requirement §4.3.1 MUST

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. This applies to all stream-based metrics in this document.

measurement

normative-requirement §6.3.1 MUST

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.

measurement, dns

normative-requirement §4.2.2 MUST

The UDP checksum MUST be calculated and the non-zero checksum included in the header for all UDP-based metrics defined in this document.

measurement, udp

normative-requirement §4.3.1 MUST

When all packet delays are stored, the process that calculates delay values MUST enforce the Tmax threshold on stored values before calculations. Calculations on delay SHALL be performed on the conditional distribution, conditioned on successful packet arrival within Tmax.

measurement

protocol-element §4.4.2

All delay output values are expressed in units of seconds as a positive decimal64 with fraction digits=9 (1.0 ns resolution), with lossless conversion to/from the 64-bit NTP timestamp per RFC 5905. Loss ratio is expressed as decimal64 with fraction digits=9 in units of lost-to-total packets times 100%.

measurement, ntp

protocol-element §6.4.2

DNS output fields include: T (query send time), dT (round-trip delay in seconds as decimal64 with 9 fraction digits), RCODE (DNS response code as uint64; non-zero values must be analyzed separately), and Logical (uint8 where 1=Lost and 0=Received; for lost queries dT and RCODE are set to their respective maximums).

measurement, dns

protocol-element §6.2

DNS Response Latency (ID 4: RTDNS) and Loss (ID 5: RLDNS) metrics use UDP port 53 with a fully specified DNS query payload: QR=0, OPCODE=0, RD=1, QDCOUNT=1, with QNAME/QTYPE provided as runtime parameters. The Local Host/Resolver maps to the Src role and the Foreign Name Server maps to the Dst role.

measurement, dns

protocol-element §3

Each Registry Entry is organized into five categories of columns: Summary (ID, Name, URI, Description, Change Controller, Version), Metric Definition (Reference Definition, Fixed Parameters), Method of Measurement (Reference Method, Packet Stream Generation, Traffic Filtering, Sampling Distribution, Runtime Parameters, Roles), Output (Type, Reference Definition, Units, Calibration), and Administrative Items (Status, Requester, Revision, Revision Date).

registry, measurement

protocol-element §4.2.2

Fixed Parameters for all UDP-based metrics specify Type-P as: IPv4/IPv6 DSCP=0, TTL/Hop Count=255, Protocol/Next Header=17 (UDP), Flow Label=0, no Extension Headers. The UDP checksum must be calculated and a non-zero checksum included. Payload sizes vary by metric (100 bytes for UDP RTDelay, 200 bytes for PDV, 250 bytes for UDP Poisson OWDelay, 142 bytes for UDP Periodic OWDelay).

measurement, ip, udp

protocol-element §4.3.2

For Periodic stream generation, the Fixed Parameters are incT=0.0200 seconds (inter-packet interval, first bit to first bit) and dT=1.0 second (interval for allowed sample start times). These values apply to the UDP Round-Trip, PDV, and UDP Periodic One-Way metrics.

measurement

protocol-element §5

Packet Delay Variation (PDV) metric (ID 3: OWPDV_Active_IP-UDP-Periodic_RFC8912sec5_Seconds_95Percentile) uses the PDV form from RFC 5481 Section 4.2, where singleton PDV for packet i is referenced as PDV(i) and measured against the minimum delay observed on the periodic stream. Output is the 95th percentile of the one-way PDV distribution.

measurement

protocol-element §4.3.5

Runtime Parameters common to all metrics include: Src (IP address of source host, IPv4 or IPv6 format per RFC 6991), Dst (IP address of destination host), T0 (measurement interval start time in RFC 3339 date-time UTC format; when all-zeros, Tf is interpreted as duration), and Tf (measurement interval end time in RFC 3339 date-time UTC format).

measurement

protocol-element §4.2.2

Tmax is a loss threshold waiting time used to distinguish long-delayed packets from lost packets. Its value is 3.0 seconds for UDP/PDV/ICMP/TCP metrics and 5.0 seconds for DNS metrics, expressed as decimal64 with fraction digits=4 (0.1 ms resolution), with lossless conversion to/from the 32-bit NTP timestamp.

measurement, ntp

protocol-element §8

UDP Periodic One-Way metrics (IDs 12–17) use TWAMP-Test packet format with 142 bytes total payload, periodic stream with incT=0.0200s and dT=1.0000s. TWAMP Session-Sender and Session-Reflector serve as the reference implementation examples for Src and Dst roles respectively.

measurement

protocol-element §7

UDP Poisson One-Way metrics (IDs 6–11) use TWAMP-Test packet format (RFC 5357 Section 4.1.2) with 250 bytes total payload. Poisson stream parameters are Reciprocal_lambda=1 second (average packet interval) and Trunc=30.0000 seconds (upper limit on inter-packet times). Five delay statistics (95Percentile, Mean, Min, Max, StdDev) plus LossRatio are defined as separate registry entries.

measurement

protocol-element §4.4.1

UDP Round-Trip Latency output is the 95th percentile of the conditional distribution of round-trip delay (Registry Entry ID 1: RTDelay_Active_IP-UDP-Periodic_RFC8912sec4_Seconds_95Percentile). The 95th percentile is defined as the smallest delay value for which the EDF is >= 95% of the singleton values per RFC 2330 Section 11.3.

measurement

registry §12

This memo populates the IANA Registry of Performance Metrics with 17 initial entries (IDs 1–17) covering UDP Round-Trip Latency/Loss (IDs 1–2), Packet Delay Variation (ID 3), DNS Response Latency/Loss (IDs 4–5), UDP Poisson One-Way Delay/Loss (IDs 6–11), and UDP Periodic One-Way Delay/Loss (IDs 12–17), plus additional entries in Sections 9–10 for ICMP and TCP. Each entry is administered by IANA under the Specification Required policy per RFC 8911.

registry, measurement

security-consideration §11

Active measurement metrics defined in this document send test packets into the network, which can constitute an unintended load or be misused to generate traffic toward a target. Implementors must ensure measurement sessions are authorized and that the measurement rate does not constitute a denial-of-service risk.

security, measurement