Internet-Draft | Export of Forwarding Path Delay in IPFIX | July 2022 |
Graf, et al. | Expires 29 January 2023 | [Page] |
This document introduces new IP Flow Information Export (IPFIX) information elements to expose the Inband Telemetry measured forwarding path delay on the IOAM transit and decapsulation nodes.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 29 January 2023.¶
Copyright (c) 2022 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.¶
Network operators want a statistical delay view of their networks. They want to understand where in the network, for which customer traffic, how much and why delay is being accummlated. In order to answer why and where, delay needs to be reported into device and control-plane context. In order to understand which customer traffic is affected, delay needs to be reported into customer data-plane context. That enables network operators to quickly identify when the control-plane updates the current path with a different next-hop and therefore the forwarding path changes to different nodes and interfaces, how the path delay changes for which customer traffic.¶
With Inband Telemetry, defined in In-situ OAM [I-D.ietf-ippm-ioam-deployment], Path Tracing [I-D.filsfils-spring-path-tracing] and In-situ Flow Information Telemetry [I-D.song-opsawg-ifit-framework], the path delay between two endpoints is measured by inserting a timestamp in the packet.¶
Inband Telemetry can be distinguished between two modes. Passport mode, [RFC9197], where only the last hop in the forwarding path of the Inband Telemetry domain exposes all the metrics, and postcard mode, [I-D.song-ippm-postcard-based-telemetry], where the metrics are also exposed in the transit nodes. In both modes the forwarding path exposes performance metrics allowing to determine how much delay has been accumulated on which hop.¶
This document defines eight new IPFIX Information Elements (IEs), exposing the forwarding path delay on IOAM transit and decapsulation nodes. Since these IPFIX IEs are performance metrics [RFC8911], they must be registered as registered performance metrics [RFC8911] in the "IANA Performance Metric Registry [IANA-PERF-METRIC].¶
+-----------------------------+-------------------------------------+ | Performance Metric | IPFIX Entity | +-----------------------------+-------------------------------------+ |OWDelay_HybridType1_Passive_I|PathDelayMeanDeltaMicroseconds (TBD5)| |P_RFCTBD_Seconds_Mean (TBD1) |PathDelayMeanDeltaNanoseconds (TBD6) | +-----------------------------+-------------------------------------+ |OWDelay_HybridType1_Passive_I|PathDelayMinDeltaMicroseconds (TBD7) | |P_RFCTBD_Seconds_Min (TBD2) |PathDelayMinDeltaNanoseconds (TBD8) | +-----------------------------+-------------------------------------+ |OWDelay_HybridType1_Passive_I|PathDelayMaxDeltaMicroseconds (TBD9) | |P_RFCTBD_Seconds_Max (TBD3) |PathDelayMaxDeltaNanoseconds (TBD10) | +-----------------------------+-------------------------------------+ |OWDelay_HybridType1_Passive_I|PathDelaySumDeltaMicroseconds (TBD11)| |P_RFCTBD_Seconds_Sum (TBD4) |PathDelaySumDeltaNanoseconds (TBD12) | +-----------------------------+-------------------------------------+ Table 1: Correspondance between IE and performance metric registry¶
The delay is measured by calculating the difference between the timestamp imposed with Inband Telemetry in the packet at the IOAM encapsulation node and the timestamp exported in the IPFIX flow record from the IOAM transit and decapsulation nodes. Depending on the IE, the lowest, highest or the sum of measured path delay is being exported.¶
On the usecase showed in Figure 1 using IOAM to export the delay metrics, the node R2 exports the delay D1, the node R3 exports the delay D2 and the decapsulation node R4 exports the total delay D3 using IPFIX.¶
This section defines and describes the new performance metrics¶
This section specifies four Registry Entries for the Hybrid Type I Passive assessment of IP One-Way Delay.¶
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.¶
This category includes multiple indexes to the Registry Entry: the element ID and Metric Name.¶
<insert a numeric Identifier, an integer, TBD>¶
IANA has allocated the numeric Identifiers TBD1-4 for the four Named Metric Entries in this section¶
TBD1: OWDelay_HybridType1_Passive_IP_RFCTBD_Seconds_Mean¶
TBD2: OWDelay_HybridType1_Passive_IP_RFCTBD_Seconds_Min¶
TBD3: OWDelay_HybridType1_Passive_IP_RFCTBD_Seconds_Max¶
TBD4: OWDelay_HybridType1_Passive_IP_RFCTBD_Seconds_Sum¶
URL: https://www.iana.org/assignments/performance-metrics/OWDelay_HybridType1_Passive_IP_RFCTBD_Seconds_Mean¶
URL: https://www.iana.org/assignments/performance-metrics/OWDelay_HybridType1_Passive_IP_RFCTBD_Seconds_Min¶
URL: https://www.iana.org/assignments/performance-metrics/OWDelay_HybridType1_Passive_IP_RFCTBD_Seconds_Max¶
URL: https://www.iana.org/assignments/performance-metrics/OWDelay_HybridType1_Passive_IP_RFCTBD_Seconds_Sum¶
This metric assesses the one-way delay of IP packets constituting a single connection between two hosts. We consider the measurement of one-way delay based on a single Observation Point (OP) [RFC7011] somewhere in the network. The output is the one-way delay for all successfully forwarded packets expressed as the <statistic> of their conditional delay distribution, where <statistic> is one of:¶
IETF¶
1.0¶
This category includes columns to prompt the entry of all necessary details related to the metric definition, including the immutable document reference and values of input factors, called "Fixed Parameters".¶
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>. [RFC7679]¶
Morton, A. and E. Stephan, "Spatial Composition of Metrics", RFC 6049, DOI 10.17487/RFC6049, January 2011, <https://www.rfc-editor.org/info/rfc6049>. [RFC6049]¶
Section 3.4 of [RFC7679] provides the reference definition of the singleton (single value) one-way delay metric. Section 4.4 of [RFC7679] provides the reference definition expanded to cover a multi-value sample. Note that terms such as "singleton" and "sample" are defined in section 2 of [RFC2330].¶
With the OP [RFC7011] typically located between the hosts participating in the IP connection, the one-way delay metric requires one individual measurement between the OP and sourcing host, such that the Spatial Composition [RFC6049] of the measurements yields a one-way delay singleton.¶
Traffic Filters:¶
IPv4 header values: DSCP: Set to 0 IPv6 header values: DSCP: Set to 0 Hop Count: Set to 255 Flow Label: Set to 0 Extension Headers: None¶
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.¶
The foundational methodology for this metric is defined in section 4 of [RFC7323] using the Timestamps option with modifications that allow application at a mid-path OP [RFC7011].¶
The Traffic Filter at the OP is configured to observe a single IP connection.¶
N/A¶
The Fixed Parameters above give a portion of the Traffic Filter. Other aspects will be supplied as Runtime Parameters (below).¶
This metric requires a partial sample of all packets that qualify according to the Traffic Filter criteria.¶
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.¶
This category specifies all details of the output of measurements using the metric.¶
OWDelay Types are discussed in the subsections below.¶
For all output types:¶
For each <statistic>, Singleton one of the following subsections applies.¶
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 [RFC3393] for details on the conditional distribution to exclude undefined values of delay, and see section 5 of [RFC6703] for background on this analysis choice.¶
See section 4.2.2 of [RFC6049] for details on calculating this statistic; see also section 4.2.3 of [RFC6049].¶
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 [RFC3393] for details on the conditional distribution to exclude undefined values of delay, and see section 5 of [RFC6703] for background on this analysis choice.¶
See section 4.3.2 of [RFC6049] for details on calculating this statistic; see also section 4.3.3 of [RFC6049].¶
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 [RFC3393] for details on the conditional distribution to exclude undefined values of delay, and see section 5 of [RFC6703] for background on this analysis choice.¶
See section 4.3.2 of [RFC6049] for a closely related method for calculating this statistic; see also section 4.3.3 of [RFC6049]. 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¶
The sum 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 [RFC3393] for details on the conditional distribution to exclude undefined values of delay, and see section 5 of [RFC6703] for background on this analysis choice.¶
See section 4.3.5 of [RFC6049] for details on calculating this statistic. However in this case FiniteDelay or MaxDelay MAY be used.¶
The <statistic> of one-way delay is expressed in seconds, where <statistic> is one of:¶
The one-way delay of the IP connection singleton is expressed in seconds.¶
Passive Measurements at an OP could be calibrated against an Active Measurement at host A where the Active Measurement represents the ground truth.¶
Current¶
This RFC¶
1.0¶
RFC Date¶
None¶
This section defines and describes the new IPFIX IEs.¶
The measured forwarding path delay can be aggregated with Flow Aggregation as defined in [RFC7015] to the following device and control-plane dimensions to determine:¶
Taking figure 1 from section 1 as topology example. Below example table shows the aggregated delay per each node, egressInterface and srhActiveSegmentIPv6.¶
+------------+------+-----------------+----------------------+ | Path Delay | Node | egressInterface | srhActiveSegmentIPv6 | +------------+------+-----------------+----------------------+ | 0 ns | R1 | 276 | 2001:db8::4 | +------------+------+-----------------+----------------------+ | 3122 ns | R2 | 312 | 2001:db8::4 | +------------+------+-----------------+----------------------+ | 4432 ns | R3 | 27 | 2001:db8::4 | +------------+------+-----------------+----------------------+ | 7237 ns | R4 | 854 | 2001:db8::4 | +------------+------+-----------------+----------------------+ Table 2: Example table of measured delay. Ascending by delay.¶
This document requests IANA to create new performance metrics under the "Performance Metrics" registry [RFC8911] with the values defined in section 2.¶
This document requests IANA to create new IEs (see table 3) under the "IPFIX Information Elements" registry [RFC7012] available at "IANA Performance Metric Registry [IANA-PERF-METRIC] and assign the following initial code points.¶
+-------+--------------------------------+ |Element| Name | | ID | | +-------+--------------------------------+ | TBD5 | PathDelayMeanDeltaMicroseconds | | | | +-------+--------------------------------+ | TBD6 | PathDelayMeanDeltaNanoseconds | | | | +-------+--------------------------------+ | TBD7 | PathDelayMinDeltaMicroseconds | | | | +-------+--------------------------------+ | TBD8 | PathDelayMinDeltaNanoseconds | | | | +-------+--------------------------------+ | TBD9 | PathDelayMaxDeltaMicroseconds | | | | +-------+--------------------------------+ | TBD10 | PathDelayMaxDeltaNanoseconds | | | | +-------+--------------------------------+ | TBD11 | PathDelaySumDeltaMicroseconds | | | | +-------+--------------------------------+ | TBD12 | PathDelaySumDeltaNanoseconds | | | | +-------+--------------------------------+ Table 3: Creates IEs in the "IPFIX Information Elements" registry¶
Note to the RFC-Editor:¶
Name: PathDelayMeanDeltaMicroseconds ElementID: TBD5 Description: This Information Element identifies the mean path delay between the IOAM encapsulation node and the local node with the IOAM domain (either an IOAM transit node or an IOAM decapsulation node) in microseconds. Abstract Data Type: unsigned16 Data Type Semantics: OctedDelta Reference: [RFC-to-be], xxx¶
Name: PathDelayMeanDeltaNanoseconds ElementID: TBD6 Description: This Information Element identifies the mean path delaybetween the IOAM encapsulation node and the local node with the IOAM domain (either an IOAM transit node or an IOAM decapsulation node) in nanoseconds. Abstract Data Type: unsigned32 Data Type Semantics: OctedDelta Reference: [RFC-to-be], xxx¶
Name: PathDelayMinDeltaMicroseconds ElementID: TBD7 Description: This Information Element identifies the lowest path delay between the IOAM encapsulation node and the local node with the IOAM domain (either an IOAM transit node or an IOAM decapsulation node) in microseconds. Abstract Data Type: unsigned16 Data Type Semantics: OctedDelta Reference: [RFC-to-be], xxx¶
Name: PathDelayMinDeltaNanoseconds ElementID: TBD8 Description: This Information Element identifies the lowest path delay between the IOAM encapsulation node and the local node with the IOAM domain (either an IOAM transit node or an IOAM decapsulation node) in nanoseconds. Abstract Data Type: unsigned32 Data Type Semantics: OctedDelta Reference: [RFC-to-be], xxx¶
Name: PathDelayMaxDeltaMicroseconds ElementID: TBD9 Description: This Information Element identifies the highest path delay between the IOAM encapsulation node and the local node with the IOAM domain (either an IOAM transit node or an IOAM decapsulation node) in microseconds. Abstract Data Type: unsigned16 Data Type Semantics: OctedDelta Reference: [RFC-to-be], xxx¶
Name: PathDelayMaxDeltaNanoseconds ElementID: TBD10 Description: This Information Element identifies the highest path delay between the IOAM encapsulation node and the local node with the IOAM domain (either an IOAM transit node or an IOAM decapsulation node) in nanoseconds. Abstract Data Type: unsigned32 Data Type Semantics: OctedDelta Reference: [RFC-to-be], xxx¶
Name: PathDelaySumDeltaMicroseconds ElementID: TBD11 Description: This Information Element identifies the sum of the path delay between the IOAM encapsulation node and the local node with the IOAM domain (either an IOAM transit node or an IOAM decapsulation node) in microseconds. Abstract Data Type: unsigned32 Data Type Semantics: OctedDelta Reference: [RFC-to-be], xxx¶
Name: PathDelaySumDeltaNanoseconds ElementID: TBD12 Description: This Information Element identifies the sum of the path delay between the IOAM encapsulation node and the local node with the IOAM domain (either an IOAM transit node or an IOAM decapsulation node) in nanoseconds. Abstract Data Type: unsigned64 Data Type Semantics: OctedDelta Reference: [RFC-to-be], xxx¶
The same recommendation as defined in section 4.5 of [RFC5153] for IPFIX applies in terms of clock precision to this document as well.¶
The mean (average) path delay can be calculated by dividing the PathDelaySumDeltaMicroseconds(TBD5) or PathDelaySumDeltaNanoseconds(TBD6) by the packetDeltaCount(2) at the IPFIX data collection.¶
For IOAM, Section 4.4.1 of [RFC9197] describes what kind of timestamps are supported. Section 4.4.2.3 and 4.4.2.4 describe where the timestamp is being inserted.¶
For Path Tracing, Section 4.1 of [I-D.filsfils-spring-path-tracing] describes what kind of timestamps are supported. Section 9.2 describe the SRH path tracing TLV where the timestamp is being inserted.¶
There are no significant extra security considerations regarding the allocation of these new IPFIX IEs compared to [RFC7012].¶
The authors would like to thank xxx for their review and valuable comments.¶