rfc9326xml2.original.xml   rfc9326.xml 
<?xml version="1.0" encoding="US-ASCII"?> <?xml version="1.0" encoding="UTF-8"?>
<!-- This template is for creating an Internet Draft using xml2rfc,
which is available here: http://xml.resource.org. --> <!DOCTYPE rfc [
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [ <!ENTITY nbsp "&#160;">
<!-- One method to get references from the online citation libraries. <!ENTITY zwsp "&#8203;">
There has to be one entity for each item to be referenced. <!ENTITY nbhy "&#8209;">
An alternate method (rfc include) is described in the references. --> <!ENTITY wj "&#8288;">
<!ENTITY RFC2119 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen
ce.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen
ce.RFC.8174.xml">
<!ENTITY RFC7799 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen
ce.RFC.7799.xml">
<!ENTITY RFC8126 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen
ce.RFC.8126.xml">
<!ENTITY RFC5475 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen
ce.RFC.5475.xml">
<!ENTITY RFC7014 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen
ce.RFC.7014.xml">
<!ENTITY RFC6291 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen
ce.RFC.6291.xml">
<!ENTITY RFC9197 SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/bibxml/referen
ce.RFC.9197.xml">
<!ENTITY I-D.spiegel-ippm-ioam-rawexport SYSTEM "http://xml2rfc.tools.ietf.org/p
ublic/rfc/bibxml-ids/reference.I-D.spiegel-ippm-ioam-rawexport.xml">
<!ENTITY I-D.ietf-sfc-ioam-nsh SYSTEM "http://xml2rfc.tools.ietf.org/public/rfc/
bibxml-ids/reference.I-D.ietf-sfc-ioam-nsh.xml">
<!ENTITY I-D.ietf-ippm-ioam-ipv6-options SYSTEM "http://xml2rfc.tools.ietf.org/p
ublic/rfc/bibxml-ids/reference.I-D.ietf-ippm-ioam-ipv6-options.xml">
<!ENTITY I-D.ietf-ippm-ioam-data-integrity SYSTEM "http://xml2rfc.tools.ietf.org
/public/rfc/bibxml-ids/reference.I-D.ietf-ippm-ioam-data-integrity.xml">
<!ENTITY I-D.song-ippm-postcard-based-telemetry SYSTEM "http://xml2rfc.tools.iet
f.org/public/rfc/bibxml-ids/reference.I-D.song-ippm-postcard-based-telemetry.xml
">
<!ENTITY I-D.ietf-ippm-ioam-flags SYSTEM "http://xml2rfc.tools.ietf.org/public/r
fc/bibxml-ids/reference.I-D.ietf-ippm-ioam-flags.xml">
<!ENTITY AFI SYSTEM "http://www.iana.org/assignments/address-family-numbers/addr
ess-family-numbers.xml">
]> ]>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc strict="yes" ?> <rfc xmlns:xi="http://www.w3.org/2001/XInclude" submissionType="IETF" category="
<?rfc toc="yes"?> std" consensus="true" docName="draft-ietf-ippm-ioam-direct-export-11" number="93
<?rfc tocdepth="4"?> 26" ipr="trust200902" obsoletes="" updates="" xml:lang="en" tocInclude="true" to
<?rfc symrefs="yes"?> cDepth="4" symRefs="true" sortRefs="true" version="3">
<?rfc sortrefs="yes" ?>
<?rfc compact="yes" ?> <!-- xml2rfc v2v3 conversion 3.15.0 -->
<?rfc subcompact="no" ?>
<rfc category="std" docName="draft-ietf-ippm-ioam-direct-export-11"
ipr="trust200902">
<front> <front>
<title abbrev="IOAM Direct Exporting">In-situ OAM Direct Exporting</title> <title abbrev="IOAM Direct Exporting">In Situ Operations, Administration, an d Maintenance (IOAM) Direct Exporting</title>
<seriesInfo name="RFC" value="9326"/>
<author fullname="Haoyu Song" initials="H." surname="Song"> <author fullname="Haoyu Song" initials="H." surname="Song">
<organization abbrev="">Futurewei</organization> <organization abbrev="">Futurewei</organization>
<address> <address>
<postal> <postal>
<street>2330 Central Expressway</street> <street>2330 Central Expressway</street>
<city>Santa Clara</city> <city>Santa Clara</city>
<code>95050</code> <code>95050</code>
<country>United States of America</country>
<country>USA</country>
</postal> </postal>
<email>haoyu.song@futurewei.com</email> <email>haoyu.song@futurewei.com</email>
</address> </address>
</author> </author>
<author fullname="Barak Gafni" initials="B." surname="Gafni"> <author fullname="Barak Gafni" initials="B." surname="Gafni">
<organization abbrev="">Nvidia</organization> <organization abbrev="">Nvidia</organization>
<address> <address>
<postal> <postal>
<street>350 Oakmead Parkway, Suite 100</street> <extaddr>Suite 100</extaddr>
<street>350 Oakmead Parkway</street>
<city>Sunnyvale, CA</city> <city>Sunnyvale</city>
<region>CA</region>
<code>94085</code> <code>94085</code>
<country>United States of America</country>
<country>U.S.A.</country>
</postal> </postal>
<email>gbarak@nvidia.com</email> <email>gbarak@nvidia.com</email>
</address> </address>
</author> </author>
<author fullname="Frank Brockners" initials="F." surname="Brockners"> <author fullname="Frank Brockners" initials="F." surname="Brockners">
<organization abbrev="Cisco">Cisco Systems, Inc.</organization> <organization abbrev="Cisco">Cisco Systems, Inc.</organization>
<address> <address>
<postal> <postal>
<street>Hansaallee 249, 3rd Floor</street> <street>Hansaallee 249</street>
<city>Duesseldorf</city>
<!-- Reorder these if your country does things differently -->
<city>DUESSELDORF</city>
<region>NORDRHEIN-WESTFALEN</region>
<code>40549</code> <code>40549</code>
<country>Germany</country> <country>Germany</country>
</postal> </postal>
<email>fbrockne@cisco.com</email> <email>fbrockne@cisco.com</email>
<!-- uri and facsimile elements may also be added -->
</address> </address>
</author> </author>
<author fullname="Shwetha Bhandari" initials="S." surname="Bhandari"> <author fullname="Shwetha Bhandari" initials="S." surname="Bhandari">
<organization abbrev="Thoughtspot">Thoughtspot</organization> <organization abbrev="Thoughtspot">Thoughtspot</organization>
<address> <address>
<postal> <postal>
<street>3rd Floor, Indiqube Orion, 24th Main Rd, Garden Layout, HSR <extaddr>3rd Floor, Indiqube Orion, Garden Layout, HSR Layout</extaddr>
Layout</street> <street>24th Main Rd</street>
<city>Bangalore</city>
<city>Bangalore, KARNATAKA 560 102</city> <region>Karnataka</region>
<code>560 102</code>
<country>India</country> <country>India</country>
</postal> </postal>
<email>shwetha.bhandari@thoughtspot.com</email> <email>shwetha.bhandari@thoughtspot.com</email>
</address> </address>
</author> </author>
<author fullname="Tal Mizrahi" initials="T." surname="Mizrahi"> <author fullname="Tal Mizrahi" initials="T." surname="Mizrahi">
<organization abbrev="">Huawei</organization> <organization abbrev="">Huawei</organization>
<address> <address>
<postal> <postal>
<street>8-2 Matam</street> <street>8-2 Matam</street>
<city>Haifa</city> <city>Haifa</city>
<code>3190501</code> <code>3190501</code>
<country>Israel</country> <country>Israel</country>
</postal> </postal>
<email>tal.mizrahi.phd@gmail.com</email> <email>tal.mizrahi.phd@gmail.com</email>
</address> </address>
</author> </author>
<date year="2022" month="October" />
<date year="2022"/> <area>tsv</area>
<workgroup>ippm</workgroup>
<area>TSV</area>
<workgroup>IPPM</workgroup>
<!-- WG name at the upperleft corner of the doc,
IETF is fine for individual submissions.
If this element is not present, the default is "Network Working Group",
which is used by the RFC Editor as a nod to the history of the IETF. --
>
<keyword>IOAM</keyword> <keyword>IOAM</keyword>
<keyword>Telemetry</keyword> <keyword>Telemetry</keyword>
<!-- Keywords will be incorporated into HTML output
files in a meta tag but they have no effect on text or nroff
output. If you submit your draft to the RFC Editor, the
keywords will be used for the search engine. -->
<abstract> <abstract>
<t>In-situ Operations, Administration, and Maintenance (IOAM) is used <t>In situ Operations, Administration, and Maintenance (IOAM) is used
for recording and collecting operational and telemetry information. for recording and collecting operational and telemetry information.
Specifically, IOAM allows telemetry data to be pushed into data packets Specifically, IOAM allows telemetry data to be pushed into data packets
while they traverse the network. This document introduces a new IOAM while they traverse the network. This document introduces a new IOAM
option type (denoted IOAM-Option-Type) called the Direct Export (DEX) option type (denoted IOAM-Option-Type) called the "IOAM Direct Export (DEX
Option-Type, which is used as a trigger for IOAM data to be directly ) Option-Type". This Option-Type is used as a trigger for IOAM data to be direct
ly
exported or locally aggregated without being pushed into in-flight data exported or locally aggregated without being pushed into in-flight data
packets. The exporting method and format are outside the scope of this packets. The exporting method and format are outside the scope of this
document.</t> document.</t>
</abstract> </abstract>
</front>
</front>
<middle> <middle>
<section title="Introduction" toc="default"> <section toc="default" numbered="true">
<t>IOAM <xref target="RFC9197"/> is used for monitoring traffic in the <name>Introduction</name>
network, and for incorporating IOAM data fields (denoted <t>IOAM <xref target="RFC9197" format="default"/> is used for monitoring t
raffic in the
network and for incorporating IOAM data fields (denoted
IOAM-Data-Fields) into in-flight data packets.</t> IOAM-Data-Fields) into in-flight data packets.</t>
<t>IOAM makes use of four possible IOAM-Option-Types, defined in <xref tar
<t>IOAM makes use of four possible IOAM-Option-Types, defined in <xref get="RFC9197" format="default"/>: Pre-allocated Trace, Incremental Trace, Proof
target="RFC9197"/>: Pre-allocated Trace Option-Type, Incremental Trace of Transit (POT), and Edge-to-Edge.</t>
Option-Type, Proof of Transit (POT) Option-Type, and Edge-to-Edge <t>This document defines a new IOAM-Option-Type called the "IOAM Direct Ex
Option-Type.</t> port (DEX)
Option-Type". This Option-Type is used as a trigger for IOAM nodes
<t>This document defines a new IOAM-Option-Type called the Direct Export to locally aggregate and process IOAM data and/or to export it to a
(DEX) Option-Type. This Option-Type is used as a trigger for IOAM nodes receiving entity (or entities). Throughout the document, this
to locally aggregate and process IOAM data, and/or to export it to a functionality is referred to as "collection" and/or "exporting". In this c
receiving entity (or entities). Throughout the document this ontext, a
functionality is referred to as collection and/or exporting. A "receiving entity" is an entity
"receiving entity" in this context is an entity
that resides within the IOAM domain such as a collector, analyzer, that resides within the IOAM domain such as a collector, analyzer,
controller, decapsulating node, or a software module in one of the IOAM controller, decapsulating node, or software module in one of the IOAM n
nodes.</t> odes.</t>
<t>Note that even though the IOAM-Option-Type is called "Direct Export", <t>Note that even though the IOAM-Option-Type is called "Direct Export",
it depends on the deployment whether the receipt of a packet with DEX it depends on the deployment whether the receipt of a packet with a DEX
Option-Type leads to the creation of another packet. Some deployments Option-Type leads to the creation of another packet. Some deployments
might simply use the packet with the DEX Option-Type to trigger local might simply use the packet with the DEX Option-Type to trigger local
processing of OAM data. The functionality of this local processing is processing of Operations, Administration, and Maintenance (OAM) data. The functionality of this local processing is
not within the scope of this document.</t> not within the scope of this document.</t>
</section> </section>
<section anchor="Conventions" numbered="true" toc="default">
<section anchor="Conventions" title="Conventions"> <name>Conventions</name>
<section title="Requirement Language"> <section numbered="true" toc="default">
<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", <name>Requirements Language</name>
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and <t>
"OPTIONAL" in this document are to be interpreted as described in BCP The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQU
14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only IRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
when, they appear in all capitals, as shown here.</t> NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>
RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to
be interpreted as
described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/>
when, and only when, they appear in all capitals, as shown here.
</t>
</section> </section>
<section numbered="true" toc="default">
<section title="Terminology"> <name>Terminology</name>
<t>Abbreviations used in this document:</t> <t>Abbreviations used in this document:</t>
<dl newline="false" spacing="normal" indent="8">
<t><list hangIndent="11" style="hanging"> <dt>IOAM:</dt>
<t hangText="IOAM:">In-situ Operations, Administration, and <dd>In situ Operations, Administration, and
Maintenance</t> Maintenance</dd>
<dt>OAM:</dt>
<t hangText="OAM:">Operations, Administration, and Maintenance <dd>Operations, Administration, and Maintenance
<xref target="RFC6291"/></t> <xref target="RFC6291" format="default"/></dd>
<dt>DEX:</dt>
<t hangText="DEX:">Direct EXporting</t> <dd>Direct Exporting</dd>
</list></t> </dl>
</section> </section>
</section> </section>
<section anchor="OptionTypeSec" numbered="true" toc="default">
<section anchor="OptionTypeSec" <name>The Direct Exporting (DEX) IOAM-Option-Type</name>
title="The Direct Exporting (DEX) IOAM-Option-Type"> <section numbered="true" toc="default">
<section title="Overview"> <name>Overview</name>
<t>The DEX Option-Type is used as a trigger for collecting IOAM data <t>The DEX Option-Type is used as a trigger for collecting IOAM data
locally or for exporting it to a receiving entity (or entities). locally or exporting it to a receiving entity (or entities).
Specifically, the DEX Option-Type can be used as a trigger for Specifically, the DEX Option-Type can be used as a trigger for
collecting IOAM data by an IOAM node and locally aggregating it; thus, collecting IOAM data by an IOAM node and locally aggregating it; thus,
this aggregated data can be periodically pushed to a receiving entity, this aggregated data can be periodically pushed to a receiving entity
or pulled by a receiving entity on-demand.</t> or pulled by a receiving entity on-demand.</t>
<t>This Option-Type is incorporated into data packets by an IOAM <t>This Option-Type is incorporated into data packets by an IOAM
encapsulating node, and removed by an IOAM decapsulating node, as encapsulating node and removed by an IOAM decapsulating node, as
illustrated in <xref target="DEXArch"/>. The Option-Type can be read illustrated in <xref target="DEXArch" format="default"/>. The Option-Typ
but not modified by transit nodes. Note: the terms IOAM encapsulating, e can be read,
decapsulating and transit nodes are as defined in <xref but not modified, by transit nodes. Note that the terms "IOAM encapsulat
target="RFC9197"/>.</t> ing node",
"IOAM decapsulating node", and "IOAM transit node" are as defined in <xr
<figure align="center" anchor="DEXArch" title="DEX Architecture"> ef target="RFC9197" format="default"/>.</t>
<artwork align="left"><![CDATA[ <figure anchor="DEXArch">
<name>DEX Architecture</name>
<artwork align="left" name="" type="" alt=""><![CDATA[
^ ^
|Exported IOAM data |Exported IOAM data
| |
| |
| |
+--------------+------+-------+--------------+ +--------------+------+-------+--------------+
| | | | | | | |
| | | | | | | |
User +---+----+ +---+----+ +---+----+ +---+----+ User +---+----+ +---+----+ +---+----+ +---+----+
packets |Encapsu-| | Transit| | Transit| |Decapsu-| packets |Encapsu-| | Transit| | Transit| |Decapsu-|
--------->|lating |====>| Node |====>| Node |====>|lating |----> --------->|lating |====>| Node |====>| Node |====>|lating |---->
|Node | | A | | B | |Node | |Node | | A | | B | |Node |
+--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+ +--------+
Insert DEX Export Export Remove DEX Insert DEX Export Export Remove DEX
option and IOAM data IOAM data option and option and IOAM data IOAM data option and
export data export data export data export data]]></artwork>
]]></artwork>
</figure> </figure>
<t>The DEX Option-Type is used as a trigger to collect and/or export <t>The DEX Option-Type is used as a trigger to collect and/or export
IOAM data. The trigger applies to transit nodes, the decapsulating IOAM data. The trigger applies to transit nodes, the decapsulating
node, and the encapsulating node:</t> node, and the encapsulating node:</t>
<t><list style="symbols"> <ul spacing="normal">
<t>An IOAM encapsulating node configured to incorporate the DEX <li> An IOAM encapsulating node configured to incorporate the DEX
Option-Type encapsulates (possibly a subset of) the packets it Option-Type encapsulates the packets (or possibly a subset of the
forwards with the DEX Option-Type, and MAY export and/or collect packets) it forwards with the DEX Option-Type and <bcp14>MAY</bcp14> export and/
or collect
the requested IOAM data immediately. Only IOAM encapsulating nodes the requested IOAM data immediately. Only IOAM encapsulating nodes
are allowed to add the DEX Option-Type to a packet. An IOAM are allowed to add the DEX Option-Type to a packet. An IOAM
encapsulating node can generate probe packets that incorporate the encapsulating node can generate probe packets that incorporate the
DEX Option-Type. These probe packets can be generated periodically DEX Option-Type. These probe packets can be generated periodically
or on-demand (for example triggered by the management plane). The or on-demand (for example, triggered by the management plane). The
specification of such probe packets is outside the scope of this specification of such probe packets is outside the scope of this
document.</t> document.</li>
<li>A transit node that processes a packet with the DEX Option-Type
<t>A transit node that processes a packet with the DEX Option-Type <bcp14>MAY</bcp14> export and/or collect the requested IOAM data.</l
MAY export and/or collect the requested IOAM data.</t> i>
<li>An IOAM decapsulating node that processes a packet with the DEX
<t>An IOAM decapsulating node that processes a packet with the DEX Option-Type <bcp14>MAY</bcp14> export and/or collect the requested I
Option-Type MAY export and/or collect the requested IOAM data, and OAM data and
MUST decapsulate the IOAM header.</t> <bcp14>MUST</bcp14> decapsulate the IOAM header.</li>
</list></t> </ul>
<t>As in <xref target="RFC9197" format="default"/>, the DEX Option-Type
<t>As in <xref target="RFC9197"/>, the DEX Option-Type can be can be
incorporated into all or a subset of the traffic that is forwarded by incorporated into all or a subset of the traffic that is forwarded by
the encapsulating node, as further discussed in <xref the encapsulating node, as further discussed in <xref target="SelectionS
target="SelectionSec"/> below. Moreover, IOAM nodes respond to the DEX ec" format="default"/>. Moreover, IOAM nodes respond to the DEX
trigger by exporting and/or collecting IOAM data either for all trigger by exporting and/or collecting IOAM data either for all
traversing packets that carry the DEX Option-Type, or selectively only traversing packets that carry the DEX Option-Type or selectively only
for a subset of these packets, as further discussed in <xref for a subset of these packets, as further discussed in <xref target="Exp
target="ExportSec"/> below.</t> ortSec" format="default"/>.</t>
<section anchor="SelectionSec" numbered="true" toc="default">
<section anchor="SelectionSec" title="DEX Packet Selection"> <name>DEX Packet Selection</name>
<t>If an IOAM encapsulating node incorporates the DEX Option-Type <t>If an IOAM encapsulating node incorporates the DEX Option-Type
into all the traffic it forwards it may lead to an excessive amount into all the traffic it forwards, it may lead to an excessive amount
of exported data, which may overload the network and the receiving of exported data, which may overload the network and the receiving
entity. Therefore, an IOAM encapsulating node that supports the DEX entity. Therefore, an IOAM encapsulating node that supports the DEX
Option-Type MUST support the ability to incorporate the DEX Option-Type <bcp14>MUST</bcp14> support the ability to incorporate the DEX
Option-Type selectively into a subset of the packets that are Option-Type selectively into a subset of the packets that are
forwarded by it.</t> forwarded by the IOAM encapsulating node.</t>
<t>Various methods of packet selection and sampling have been <t>Various methods of packet selection and sampling have been
previously defined, such as <xref target="RFC7014"/> and <xref previously defined, such as <xref target="RFC7014" format="default"/>
target="RFC5475"/>. Similar techniques can be applied by an IOAM and <xref target="RFC5475" format="default"/>. Similar techniques can be applied
by an IOAM
encapsulating node to apply DEX to a subset of the forwarded encapsulating node to apply DEX to a subset of the forwarded
traffic.</t> traffic.</t>
<t>The subset of traffic that is forwarded or transmitted with a DEX <t>The subset of traffic that is forwarded or transmitted with a DEX
Option-Type SHOULD NOT exceed 1/N of the interface capacity on any Option-Type <bcp14>SHOULD NOT</bcp14> exceed 1/N of the interface capa city on any
of the IOAM encapsulating node's interfaces. It is noted that this of the IOAM encapsulating node's interfaces. It is noted that this
requirement applies to the total traffic that incorporates a DEX requirement applies to the total traffic that incorporates a DEX
Option-Type, including traffic that is forwarded by the IOAM Option-Type, including traffic that is forwarded by the IOAM
encapsulating node and probe packets that are generated by the IOAM encapsulating node and probe packets that are generated by the IOAM
encapsulating node. In this context N is a parameter that can be encapsulating node. In this context, N is a parameter that can be
configurable by network operators. If there is an upper bound, M, on configurable by network operators. If there is an upper bound, M, on
the number of IOAM transit nodes in any path in the network, then it the number of IOAM transit nodes in any path in the network, then it
is RECOMMENDED to use an N such that N &gt;&gt; M (i.e., N is much gre ater is <bcp14>RECOMMENDED</bcp14> to use an N such that N &gt;&gt; M (i.e. , N is much greater
than M). The rationale is than M). The rationale is
that a packet that includes a DEX Option-Type may trigger an that a packet that includes a DEX Option-Type may trigger an
exported packet from each IOAM transit node along the path for a exported packet from each IOAM transit node along the path for a
total of M exported packets. Thus, if N &gt;&gt; M then the number total of M exported packets. Thus, if N &gt;&gt; M, then the number
of exported packets is significantly lower than the number of data of exported packets is significantly lower than the number of data
packets forwarded by the IOAM encapsulating node. If there is no packets forwarded by the IOAM encapsulating node. If there is no
prior knowledge about the network topology or size, it is prior knowledge about the network topology or size, it is
RECOMMENDED to use N&gt;100.</t> <bcp14>RECOMMENDED</bcp14> to use N&gt;100.</t>
</section> </section>
<section anchor="ExportSec" numbered="true" toc="default">
<section anchor="ExportSec" title="Responding to the DEX Trigger"> <name>Responding to the DEX Trigger</name>
<t>The DEX Option-Type specifies which IOAM-Data-Fields should be <t>The DEX Option-Type specifies which IOAM-Data-Fields should be
exported and/or collected, as specified in <xref exported and/or collected, as specified in <xref target="OptionSec" fo
target="OptionSec"/>. As mentioned above, the data can be locally rmat="default"/>. As mentioned above, the data can be locally collected, aggreg
collected, and optionally can be aggregated and exported to a ated, and/or
receiving entity, either proactively or on-demand. If IOAM data is exported to a receiving entity proactively or on-demand. If IOAM data is
exported, the format and encapsulation of the packet that contains exported, the format and encapsulation of the packet that contains
the exported data is not within the scope of the current document. the exported data is not within the scope of the current document.
For example, the export format can be based on <xref For example, the export format can be based on <xref target="I-D.spieg
target="I-D.spiegel-ippm-ioam-rawexport"/>.</t> el-ippm-ioam-rawexport" format="default"/>.</t>
<t>An IOAM node that performs DEX-triggered exporting <bcp14>MUST</bcp
<t>An IOAM node that performs DEX-triggered exporting MUST support 14> support
the ability to limit the rate of the exported packets. The rate of the ability to limit the rate of the exported packets. The rate of
exported packets SHOULD be limited so that the number of exported exported packets <bcp14>SHOULD</bcp14> be limited so that the number o f exported
packets is significantly lower than the number of packets that are packets is significantly lower than the number of packets that are
forwarded by the device. The exported data rate SHOULD NOT exceed forwarded by the device. The exported data rate <bcp14>SHOULD NOT</bcp 14> exceed
1/N of the interface capacity on any of the IOAM node's interfaces. 1/N of the interface capacity on any of the IOAM node's interfaces.
It is RECOMMENDED to use N&gt;100. Depending on the IOAM node's It is <bcp14>RECOMMENDED</bcp14> to use N&gt;100. Depending on the IOA M node's
architecture considerations, the export rate may be limited to a architecture considerations, the export rate may be limited to a
lower number in order to avoid loading the IOAM node. An IOAM node lower number in order to avoid loading the IOAM node. An IOAM node
MAY maintain a counter or a set of counters that count the events in <bcp14>MAY</bcp14> maintain a counter or a set of counters that count the events in
which the IOAM node receives a packet with the DEX Option-Type and which the IOAM node receives a packet with the DEX Option-Type and
does not collect and/or export data due to the rate limits.</t> does not collect and/or export data due to the rate limits.</t>
<t>IOAM nodes <bcp14>SHOULD NOT</bcp14> be configured to export packet
<t>IOAM nodes SHOULD NOT be configured to export packets s
over a path or a tunnel over a path or a tunnel
that is subject to IOAM direct exporting. Furthermore, IOAM that is subject to IOAM direct exporting. Furthermore, IOAM
encapsulating nodes that can identify a packet as an IOAM exported encapsulating nodes that can identify a packet as an IOAM exported
packet MUST NOT push a DEX Option-Type into such a packet. This packet <bcp14>MUST NOT</bcp14> push a DEX Option-Type into such a pack et. This
requirement is intended to prevent nested exporting and/or exporting requirement is intended to prevent nested exporting and/or exporting
loops.</t> loops.</t>
<t>A transit or decapsulating IOAM node that receives an unknown <t>A transit or decapsulating IOAM node that receives an unknown
IOAM-Option-Type ignores it (as defined in <xref IOAM-Option-Type ignores it (as defined in <xref target="RFC9197" form
target="RFC9197"/>), and specifically nodes that do not support the at="default"/>); specifically, nodes that do not support the
DEX Option-Type ignore it. Note that as per <xref target="RFC9197"/> DEX Option-Type ignore it. As per <xref target="RFC9197" format="defau
lt"/>, note that
a decapsulating node removes the IOAM encapsulation and all its a decapsulating node removes the IOAM encapsulation and all its
IOAM-Option-Types. Specifically, this applies to the case where one of these IOAM-Option-Types. Specifically, this applies to the case where one of these
options is a (possibly unknown) DEX Option-Type. The ability to skip options is a (possibly unknown) DEX Option-Type. The ability to skip
over a (possibly unknown) DEX Option-Type in the parsing or in the over a (possibly unknown) DEX Option-Type in the parsing or in the
decapsulation procedure is dependent on the specific encapsulation, decapsulation procedure is dependent on the specific encapsulation,
which is outside the scope of this document. For example, when IOAM which is outside the scope of this document. For example, when IOAM
is encapsulated in IPv6 <xref is encapsulated in IPv6 <xref target="I-D.ietf-ippm-ioam-ipv6-options"
target="I-D.ietf-ippm-ioam-ipv6-options"/> the DEX Option-Type is format="default"/>, the DEX Option-Type is
incorporated either in a Hop-by-Hop options header or in a incorporated either in a Hop-by-Hop options header or in a
Destination options header, and thus can be skipped using the length Destination options header; thus, it can be skipped using the length
field in the options header.</t> field in the options header.</t>
</section> </section>
</section> </section>
<section anchor="OptionSec" numbered="true" toc="default">
<section anchor="OptionSec" title="The DEX Option-Type Format"> <name>The DEX Option-Type Format</name>
<t>The format of the DEX Option-Type is depicted in <xref <t>The format of the DEX Option-Type is depicted in <xref target="Option
target="OptionFormat"/>. The length of the DEX Option-Type is at least Format" format="default"/>. The length of the DEX Option-Type is at least
8 octets. The DEX Option-Type MAY include one or more optional fields. 8 octets. The DEX Option-Type <bcp14>MAY</bcp14> include one or more opt
ional fields.
The existence of the optional fields is indicated by the corresponding The existence of the optional fields is indicated by the corresponding
flags in the Extension-Flags field. Two optional fields are defined in flags in the Extension-Flags field. Two optional fields are defined in
this document, the Flow ID and the Sequence Number fields. Every this document: the Flow ID and Sequence Number fields. Every
optional field MUST be exactly 4 octets long. Thus, the optional field <bcp14>MUST</bcp14> be exactly 4 octets long. Thus, the
Extension-Flags field explicitly indicates the length of the DEX Extension-Flags field explicitly indicates the length of the DEX
Option-Type. Defining a new optional field requires an allocation of a Option-Type. Defining a new optional field requires an allocation of a
corresponding flag in the Extension-Flags field, as specified in <xref corresponding flag in the Extension-Flags field, as specified in <xref t
target="IANAflags"/>.</t> arget="IANAflags" format="default"/>.</t>
<figure anchor="OptionFormat">
<figure align="center" anchor="OptionFormat" <name>DEX Option-Type Format</name>
title="DEX Option-Type Format"> <artwork align="left" name="" type="" alt=""><![CDATA[
<artwork align="left"><![CDATA[
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Namespace-ID | Flags |Extension-Flags| | Namespace-ID | Flags |Extension-Flags|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IOAM-Trace-Type | Reserved | | IOAM-Trace-Type | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Flow ID (optional) | | Flow ID (Optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence Number (Optional) | | Sequence Number (Optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork
]]></artwork> >
</figure> </figure>
<t><list hangIndent="16" style="hanging"> <dl newline="true" spacing="normal">
<t hangText="Namespace-ID">A 16-bit identifier of the IOAM <dt>Namespace-ID:</dt>
namespace, as defined in <xref target="RFC9197"/>.</t> <dd>A 16-bit identifier of the IOAM
namespace, as defined in <xref target="RFC9197" format="default"/>.<
<t hangText="Flags">An 8-bit field, comprised of 8 one-bit /dd>
subfields. Flags are allocated by IANA, as defined in <xref <dt>Flags:</dt>
target="IANAflags"/>.</t> <dd>An 8-bit field, comprised of 8 1-bit
subfields. Flags are allocated by IANA, as defined in <xref target="
<t hangText="Extension-Flags">An 8-bit field, comprised of 8 IANAflags" format="default"/>.</dd>
one-bit subfields. Extension-Flags are allocated by IANA, as <dt>Extension-Flags:</dt>
defined in <xref target="IANAExtensionflags"/>. Every bit in the <dd>An 8-bit field, comprised of 8
1-bit subfields. Extension-Flags are allocated by IANA, as
defined in <xref target="IANAExtensionflags" format="default"/>. Eve
ry bit in the
Extension-Flag field that is set to 1 indicates the existence of a Extension-Flag field that is set to 1 indicates the existence of a
corresponding optional 4-octet field. An IOAM node that receives a corresponding optional 4-octet field. An IOAM node that receives a
DEX Option-Type with an unknown flag set to 1 MUST ignore the DEX Option-Type with an unknown flag set to 1 <bcp14>MUST</bcp14> ig
corresponding optional field.</t> nore the
corresponding optional field.</dd>
<t hangText="IOAM-Trace-Type">A 24-bit identifier which specifies <dt>IOAM-Trace-Type:</dt>
<dd>A 24-bit identifier that specifies
which IOAM-Data-Fields should be exported. The format of this which IOAM-Data-Fields should be exported. The format of this
field is as defined in <xref target="RFC9197"/>. Specifically, the field is as defined in <xref target="RFC9197" format="default"/>. Sp ecifically, the
bit that corresponds to the Checksum Complement IOAM-Data-Field bit that corresponds to the Checksum Complement IOAM-Data-Field
SHOULD be assigned to be zero by the IOAM encapsulating node, and <bcp14>SHOULD</bcp14> be assigned to be zero by the IOAM encapsulati ng node and
ignored by transit and decapsulating nodes. The reason for this is ignored by transit and decapsulating nodes. The reason for this is
that the Checksum Complement is intended for in-flight packet that the Checksum Complement is intended for in-flight packet
modifications and is not relevant for direct exporting.</t> modifications and is not relevant for direct exporting.</dd>
<dt>Reserved:</dt>
<t hangText="Reserved">This field MUST be ignored by the <dd>This field <bcp14>MUST</bcp14> be ignored by the
receiver.</t> receiver.</dd>
<dt>Optional fields:</dt>
<t hangText="Optional fields">The optional fields, if present, <dd><t>The optional fields, if present,
reside after the Reserved field. The order of the optional fields reside after the Reserved field. The order of the optional fields
is according to the order of the respective bits, starting from is according to the order of the respective bits, starting from
the most significant bit, that are enabled in the the most significant bit, that are enabled in the
Extension-Flags field. Each optional field is 4 octets long.</t> Extension-Flags field. Each optional field is 4 octets lo
ng.</t>
<t hangText="Flow ID">An optional 32-bit field representing the <dl spacing="normal" newline="true">
<dt>Flow ID:</dt>
<dd>An optional 32-bit field representing the
flow identifier. If the actual Flow ID is shorter than 32 bits, it flow identifier. If the actual Flow ID is shorter than 32 bits, it
is zero padded in its most significant bits. The field is set at is zero padded in its most significant bits. The field is set at
the encapsulating node. The Flow ID can be used to correlate the the encapsulating node. The Flow ID can be used to correlate the
exported data of the same flow from multiple nodes and from exported data of the same flow from multiple nodes and from
multiple packets. Flow ID values are expected to be allocated in a multiple packets. Flow ID values are expected to be allocated in a
way that avoids collisions. For example, random assignment of Flow way that avoids collisions. For example, random assignment of Flow
ID values can be subject to collisions, while ID values can be subject to collisions, while
centralized allocation can avoid this problem. The specification centralized allocation can avoid this problem. The specification
of the Flow ID allocation method is not within the scope of this of the Flow ID allocation method is not within the scope of this
document.</t> document.</dd>
<dt>Sequence Number:</dt>
<t hangText="Sequence Number">An optional 32-bit sequence number <dd>An optional 32-bit sequence number
starting from 0 and incremented by 1 for each starting from 0 and incremented by 1 for each
packet from the same flow at the encapsulating node that includes packet from the same flow at the encapsulating node that includes
the DEX option. The Sequence the DEX option. The Sequence
Number, when combined with the Flow ID, provides a convenient Number, when combined with the Flow ID, provides a convenient
approach to correlate the exported data from the same user approach to correlate the exported data from the same user
packet.</t> packet.</dd>
</list></t> </dl>
</dd>
</dl>
</section> </section>
</section> </section>
<section anchor="IANA" numbered="true" toc="default">
<section anchor="IANA" title="IANA Considerations"> <name>IANA Considerations</name>
<section anchor="IANAtype" title="IOAM Type"> <section anchor="IANAtype" numbered="true" toc="default">
<t>The "IOAM Option-Type Registry" was defined in Section 7.1 of <xref <name>IOAM Type</name>
target="RFC9197"/>. IANA is requested to allocate the following code <t>The "IOAM Option-Type" registry is defined in <xref target="RFC9197"
point from the "IOAM Option-Type Registry" as follows:</t> sectionFormat="of" section="7.1"/>. IANA has allocated the following code
point from the "IOAM Option-Type" registry as follows:</t>
<t><list hangIndent="11" style="hanging"> <dl newline="false" spacing="normal">
<t hangText="TBD-type">IOAM Direct Export (DEX) Option-Type</t> <dt>Code Point:</dt><dd>4</dd>
</list></t> <dt>Name</dt><dd>IOAM Direct Export (DEX) Option-Type</dd>
<dt>Description:</dt><dd>Direct exporting</dd>
<t>If possible, IANA is requested to allocate code point 4 <dt>Reference:</dt><dd>This document</dd>
(TBD-type). The "Description" for the new option should be </dl>
"Direct exporting" and the "Reference" should be the current docu
ment.
</t>
</section> </section>
<section anchor="IANAflags" numbered="true" toc="default">
<section anchor="IANAflags" title="IOAM DEX Flags"> <name>IOAM DEX Flags</name>
<t>IANA is requested to define an "IOAM DEX Flags" registry. This <t>IANA has created the "IOAM DEX Flags" registry. This
registry includes 8 flag bits. Allocation is based on the "IETF registry includes 8 flag bits. Allocation is based on the "IETF
Review" procedure, as defined in <xref target="RFC8126"/>.</t> Review" procedure defined in <xref target="RFC8126" format="default"/>.<
/t>
<t>New registration requests MUST use the following template:</t> <t>New registration requests <bcp14>MUST</bcp14> use the following templ
ate:</t>
<t><list style="hanging"> <dl newline="false" spacing="normal">
<t hangText="Bit:">Desired bit to be allocated in the 8 bit Flags <dt>Bit:</dt>
field of the DEX Option-Type.</t> <dd>Desired bit to be allocated in the 8-bit Flags
field of the DEX Option-Type.</dd>
<t hangText="Description:">Brief description of the newly <dt>Description:</dt>
registered bit.</t> <dd>Brief description of the newly
registered bit.</dd>
<t hangText="Reference:">Reference to the document that defines <dt>Reference:</dt>
the new bit.</t> <dd>Reference to the document that defines
</list></t> the new bit.</dd>
</dl>
</section> </section>
<section anchor="IANAExtensionflags" numbered="true" toc="default">
<section anchor="IANAExtensionflags" title="IOAM DEX Extension-Flags"> <name>IOAM DEX Extension-Flags</name>
<t>IANA is requested to define an "IOAM DEX Extension-Flags" registry. <t>IANA has created the "IOAM DEX Extension-Flags" registry.
This registry includes 8 flag bits. Bit 0 (the most significant bit) This registry includes 8 flag bits. Bit 0 (the most significant bit)
and bit 1 in the registry are allocated by this document, and and bit 1 in the registry are allocated by this document and
described in <xref target="OptionSec"/>. Allocation of the other bits described in <xref target="OptionSec" format="default"/>. Allocation of
should be performed based on the "IETF Review" procedure, as defined the other bits
in <xref target="RFC8126"/>.</t> should be performed based on the "IETF Review" procedure defined
in <xref target="RFC8126" format="default"/>.</t>
<t><list style="hanging"> <dl newline="false" spacing="normal">
<t hangText="Bit 0">"Flow ID [RFC XXXX] [RFC Editor: please <dt>Bit 0:</dt>
replace with the RFC number of the current document]"</t> <dd>"Flow ID [RFC9326]"</dd>
<dt>Bit 1:</dt>
<t hangText="Bit 1">"Sequence Number [RFC XXXX] [RFC Editor: <dd>"Sequence Number [RFC9326]"</dd>
please replace with the RFC number of the current document]"</t> </dl>
</list></t> <t>New registration requests <bcp14>MUST</bcp14> use the following templ
ate:</t>
<t>New registration requests MUST use the following template:</t> <dl newline="false" spacing="normal">
<dt>Bit:</dt>
<t><list style="hanging"> <dd>Desired bit to be allocated in the 8-bit
<t hangText="Bit:">Desired bit to be allocated in the 8 bit Extension-Flags field of the DEX Option-Type.</dd>
Extension-Flags field of the DEX Option-Type.</t> <dt>Description:</dt>
<dd>Brief description of the newly
<t hangText="Description:">Brief description of the newly registered bit.</dd>
registered bit.</t> <dt>Reference:</dt>
<dd>Reference to the document that defines
<t hangText="Reference:">Reference to the document that defines the new bit.</dd>
the new bit.</t> </dl>
</list></t>
</section> </section>
</section> </section>
<section anchor="Performance" numbered="true" toc="default">
<section anchor="Performance" title="Performance Considerations"> <name>Performance Considerations</name>
<t>The DEX Option-Type triggers IOAM data to be collected and/or <t>The DEX Option-Type triggers IOAM data to be collected and/or
exported packets to be exported to a receiving entity (or entities). In exported packets to be exported to a receiving entity (or entities). In
some cases this may impact the receiving entity's performance, or the some cases, this may impact the receiving entity's performance or the
performance along the paths leading to it.</t> performance along the paths leading to it.</t>
<t>Therefore, the performance impact of these exported packets is <t>Therefore, the performance impact of these exported packets is
limited by taking two measures: at the encapsulating nodes, by selective limited by taking two measures: at the encapsulating nodes by selective
DEX encapsulation (<xref target="SelectionSec"/>), and at the transit DEX encapsulation (<xref target="SelectionSec" format="default"/>) and at
nodes, by limiting exporting rate (<xref target="ExportSec"/>). These the transit
nodes by limiting exporting rate (<xref target="ExportSec" format="default
"/>). These
two measures ensure that direct exporting is used at a rate that does two measures ensure that direct exporting is used at a rate that does
not significantly affect the network bandwidth, and does not overload not significantly affect the network bandwidth and does not overload
the receiving entity. Moreover, it is possible to load balance the the receiving entity. Moreover, it is possible to load balance the
exported data among multiple receiving entities, although the exporting exported data among multiple receiving entities, although the exporting
method is not within the scope of this document.</t> method is not within the scope of this document.</t>
<t>It should be noted that, in some networks, DEX data may be exported
<t>It should be noted that in some networks DEX data may be exported over an out-of-band network in which a large volume of exported traffic
over an out-of-band network, in which a large volume of exported traffic does not compromise user traffic. In this case, an operator may choose to
does not compromise user traffic. In this case an operator may choose to
disable the exporting rate limiting.</t> disable the exporting rate limiting.</t>
</section> </section>
<section anchor="Security" numbered="true" toc="default">
<section anchor="Security" title="Security Considerations"> <name>Security Considerations</name>
<t>The security considerations of IOAM in general are discussed in <xref <t>The security considerations of IOAM in general are discussed in <xref t
target="RFC9197"/>. Specifically, an attacker may try to use the arget="RFC9197" format="default"/>. Specifically, an attacker may try to use the
functionality that is defined in this document to attack the functionality that is defined in this document to attack the
network.</t> network.</t>
<t>An attacker may attempt to overload network devices by injecting <t>An attacker may attempt to overload network devices by injecting
synthetic packets that include the DEX Option-Type. Similarly, an synthetic packets that include the DEX Option-Type. Similarly, an
on-path attacker may maliciously incorporate the DEX Option-Type into on-path attacker may maliciously incorporate the DEX Option-Type into
transit packets, or maliciously remove it from packets in which it is transit packets or maliciously remove it from packets in which it is
incorporated.</t> incorporated.</t>
<t>Forcing DEX, either in synthetic packets or in transit packets, may
<t>Forcing DEX, either in synthetic packets or in transit packets may
overload the IOAM nodes and/or the receiving entity (or entities). Since overload the IOAM nodes and/or the receiving entity (or entities). Since
this mechanism affects multiple devices along the network path, it this mechanism affects multiple devices along the network path, it
potentially amplifies the effect on the network bandwidth, on the potentially amplifies the effect on the network bandwidth, the
storage of the devices that collect the data, and on the receiving storage of the devices that collect the data, and the receiving
entity's load.</t> entity's load.</t>
<t>The amplification effect of DEX may be worse in wide area networks in <t>The amplification effect of DEX may be worse in wide area networks in
which there are multiple IOAM domains. For example, if DEX is used in which there are multiple IOAM-Domains. For example, if DEX is used in
IOAM domain 1 for exporting IOAM data to a receiving entity, then the IOAM-Domain 1 for exporting IOAM data to a receiving entity, then the
exported packets of domain 1 can be forwarded through IOAM domain 2, in exported packets of IOAM-Domain 1 can be forwarded through IOAM-Domain 2,
which they are subject to DEX. The exported packets of domain 2 may in in
turn be forwarded through another IOAM domain (or through domain 1), and which they are subject to DEX. In turn, the exported packets of IOAM-Domai
theoretically this recursive amplification may continue infinitely.</t> n 2 may be forwarded through another IOAM domain (or through IOAM-Domain 1);
theoretically, this recursive amplification may continue infinitely.</t>
<t>In order to mitigate the attacks described above, the following <t>In order to mitigate the attacks described above, the following
requirements (<xref target="OptionTypeSec"/>) have been defined:</t> requirements (<xref target="OptionTypeSec" format="default"/>) have been d
efined:</t>
<t><list style="symbols"> <ul spacing="normal">
<t>Selective DEX (<xref target="SelectionSec"/>) is applied by IOAM <li>Selective DEX (<xref target="SelectionSec" format="default"/>) is ap
plied by IOAM
encapsulating nodes in order to limit the potential impact of DEX encapsulating nodes in order to limit the potential impact of DEX
attacks to a small fraction of the traffic.</t> attacks to a small fraction of the traffic.</li>
<li>Rate limiting of exported traffic (<xref target="ExportSec" format="
<t>Rate limiting of exported traffic (<xref target="ExportSec"/>) is default"/>) is
applied by IOAM nodes in order to prevent overloading attacks and in applied by IOAM nodes in order to prevent overloading attacks and
order to significantly limit the scale of amplification attacks.</t> to significantly limit the scale of amplification attacks.</li>
<li>IOAM encapsulating nodes are required to avoid pushing the DEX
<t>IOAM encapsulating nodes are required to avoid pushing the DEX Option-Type into IOAM exported packets (<xref target="ExportSec" forma
Option-Type into IOAM exported packets (<xref target="ExportSec"/>), t="default"/>),
thus preventing some of the amplification and export loop thus preventing some of the amplification and export loop
scenarios.</t> scenarios.</li>
</list></t> </ul>
<t>Although the exporting method is not within the scope of this <t>Although the exporting method is not within the scope of this
document, any exporting method MUST secure the exported data from the document, any exporting method <bcp14>MUST</bcp14> secure the exported dat
IOAM node to the receiving entity, in order to protect the a from the
IOAM node to the receiving entity in order to protect the
confidentiality and guarantee the integrity of the exported data. confidentiality and guarantee the integrity of the exported data.
Specifically, an IOAM node that Specifically, an IOAM node that
performs DEX exporting MUST send the exported data to a pre-configured performs DEX exporting <bcp14>MUST</bcp14> send the exported data to a pre
trusted receiving entity that is in the same IOAM domain as the exporting -configured
trusted receiving entity that is in the same IOAM-Domain as the exporting
IOAM node. IOAM node.
Furthermore, an IOAM node MUST gain explicit Furthermore, an IOAM node <bcp14>MUST</bcp14> gain explicit
consent to export data to a receiving entity before starting to send consent to export data to a receiving entity before starting to send
exported data.</t> exported data.</t>
<t>An attacker may keep track of the information sent in DEX headers as <t>An attacker may keep track of the information sent in DEX headers as
a means of reconnaissance. This form of recon can be mitigated to some a means of reconnaissance. This form of recon can be mitigated to some
extent by careful allocation of the Flow ID and Sequence Number space, extent by careful allocation of the Flow ID and Sequence Number space
in a way that does not compromise privacy aspects such as customer in a way that does not compromise privacy aspects, such as customer
identities.</t> identities.</t>
<t>The integrity of the DEX Option-Type can be protected through a <t>The integrity of the DEX Option-Type can be protected through a
mechanism of the encapsulating protocol. While <xref mechanism of the encapsulating protocol. While <xref target="I-D.ietf-ippm
target="I-D.ietf-ippm-ioam-data-integrity"/> introduces an integrity -ioam-data-integrity" format="default"/> introduces an integrity
protection mechanism that protects the integrity of IOAM-Data-Fields, protection mechanism that protects the integrity of IOAM-Data-Fields,
the DEX Option-Type does not include IOAM-Data-Fields, and therefore the DEX Option-Type does not include IOAM-Data-Fields; therefore,
these integrity protection mechanisms are not applicable to the DEX these integrity protection mechanisms are not applicable to the DEX
Option-Type. As discussed in the threat analysis of <xref Option-Type. As discussed in the threat analysis of <xref target="I-D.ietf
target="I-D.ietf-ippm-ioam-data-integrity"/>, injection or modification -ippm-ioam-data-integrity" format="default"/>, injection or modification
of IOAM-Option-Type headers are threats that are not addressed in of IOAM-Option-Type headers are threats that are not addressed in
IOAM.</t> IOAM.</t>
<t>IOAM is assumed to be deployed in a restricted administrative domain, <t>IOAM is assumed to be deployed in a restricted administrative domain,
thus limiting the scope of the threats above and their affect. This is a thus limiting the scope of the threats above and their effect. This is a
fundamental assumption with respect to the security aspects of IOAM, as fundamental assumption with respect to the security aspects of IOAM, as
further discussed in <xref target="RFC9197"/>.</t> further discussed in <xref target="RFC9197" format="default"/>.</t>
</section>
<section anchor="Acknowledgments" title="Acknowledgments">
<t>The authors thank Martin Duke, Tommy Pauly, Meral Shirazipour, Colin
Perkins, Stephen Farrell, Linda Dunbar, Justin Iurman, Greg Mirsky, and
other members of the IPPM working group for many helpful comments.</t>
</section> </section>
</middle> </middle>
<back> <back>
<references title="Normative References">
&RFC2119;
&RFC8174; <displayreference target="I-D.spiegel-ippm-ioam-rawexport" to="IOAM-RAWEXPORT"/>
<displayreference target="I-D.song-ippm-postcard-based-telemetry" to="POSTCARD-B
ASED-TELEMETRY"/>
<displayreference target="I-D.ietf-ippm-ioam-data-integrity" to="IOAM-DATA-INTEG
RITY"/>
<displayreference target="I-D.ietf-ippm-ioam-ipv6-options" to="IOAM-IPV6-OPTIONS
"/>
&RFC9197; <references>
</references> <name>References</name>
<references>
<name>Normative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2
119.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
174.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9
197.xml"/>
</references>
<references>
<name>Informative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6
291.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8
126.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5
475.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7
014.xml"/>
<references title="Informative References"> <!-- [I-D.spiegel-ippm-ioam-rawexport] IESG state Expired -->
&RFC6291;
&RFC8126; <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .spiegel-ippm-ioam-rawexport.xml"/>;
&RFC5475; <!-- [I-D.song-ippm-postcard-based-telemetry] IESG state I-D Exists -->;
&RFC7014; <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .song-ippm-postcard-based-telemetry.xml"/>;
&I-D.spiegel-ippm-ioam-rawexport; <!-- [I-D.ietf-ippm-ioam-flags] in AUTH48 state as of 09/30/22 as RFC 9322; conf irm publication -->
&I-D.song-ippm-postcard-based-telemetry; <reference anchor='RFC9322' target='https://www.rfc-editor.org/info/rfc9322'>
<front>
<title>In Situ Operations, Administration, and Maintanence (IOAM) Loopback and
Active Flags</title>
<author initials='T' surname='Mizrahi' fullname='Tal Mizrahi'>
<organization />
</author>
<author initials='F' surname='Brockners' fullname='Frank Brockners'>
<organization />
</author>
<author initials='S' surname='Bhandari' fullname='Shwetha Bhandari'>
<organization />
</author>
<author initials='B' surname='Gafni' fullname='Barak Gafni'>
<organization />
</author>
<author initials='M' surname='Spiegel' fullname='Mickey Spiegel'>
<organization />
</author>
<date year='2022' month='November'/>
</front>
<seriesInfo name="RFC" value="9322"/>
<seriesInfo name="DOI" value="10.17487/RFC9322"/>
</reference>
&I-D.ietf-ippm-ioam-flags; <!-- [I-D.ietf-ippm-ioam-data-integrity] IESG state I-D Exists -->;
&I-D.ietf-ippm-ioam-data-integrity; <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D .ietf-ippm-ioam-data-integrity.xml"/>;
&I-D.ietf-ippm-ioam-ipv6-options; <!-- [I-D.ietf-ippm-ioam-ipv6-options] IESG state Waiting for AD Go-Ahead::Revis
</references> ed I-D Needed -->
<section anchor="appendix" title="Notes About the History of this Document"> <xi:include href="https://datatracker.ietf.org/doc/bibxml3/reference.I-D
.ietf-ippm-ioam-ipv6-options.xml"/>
</references>
</references>
<section anchor="appendix" numbered="true" toc="default">
<name>Notes about the History of This Document</name>
<t>This document evolved from combining some of the concepts of PBT-I <t>This document evolved from combining some of the concepts of PBT-I
from <xref target="I-D.song-ippm-postcard-based-telemetry"/> with from <xref target="I-D.song-ippm-postcard-based-telemetry" format="default "/> with
immediate exporting from early versions of immediate exporting from early versions of
<xref target="I-D.ietf-ippm-ioam-flags"/>.</t> <xref target="RFC9322" format="default"/>.</t>
<t>In order to help correlate and order the exported packets, it is
<t>In order to help correlate and order the exported packets, it is
possible to include the Hop_Lim/Node_ID IOAM-Data-Field in exported possible to include the Hop_Lim/Node_ID IOAM-Data-Field in exported
packets; if the IOAM-Trace-Type <xref target="RFC9197"/> has the packets. If the IOAM-Trace-Type <xref target="RFC9197" format="default"/> has the
Hop_Lim/Node_ID bit set, then exported packets include the Hop_Lim/Node_ID bit set, then exported packets include the
Hop_Lim/Node_ID IOAM-Data-Field, which contains the TTL/Hop Limit value Hop_Lim/Node_ID IOAM-Data-Field, which contains the TTL/Hop Limit value
from a lower layer protocol. from a lower layer protocol.
An alternative approach was considered during the design of this An alternative approach was considered during the design of this
document, according to which a 1-octet Hop Count field would be included document, according to which a 1-octet Hop Count field would be included
in the DEX header (presumably by claiming some space from the Flags in the DEX header (presumably by claiming some space from the Flags
field). The Hop Limit would starts from 0 at the encapsulating node and field). The Hop Limit would start from 0 at the encapsulating node and
be incremented by each IOAM transit node that supports the DEX be incremented by each IOAM transit node that supports the DEX
Option-Type. In this approach the Hop Count field value would also be Option-Type. In this approach, the Hop Count field value would also be
included in the exported packet.</t> included in the exported packet.</t>
</section> </section>
<section anchor="Acknowledgments" numbered="false" toc="default">
<name>Acknowledgments</name>
<t>The authors thank <contact fullname="Martin Duke"/>, <contact
fullname="Tommy Pauly"/>, <contact fullname="Meral Shirazipour"/>,
<contact fullname="Colin Perkin"/>s, <contact fullname="Stephen
Farrell"/>, <contact fullname="Linda Dunbar"/>, <contact
fullname="Justin Iurman"/>, <contact fullname="Greg Mirsky"/>, and other m
embers of the IPPM
working group for many helpful comments.</t>
</section>
<section numbered="false" title="Contributors" toc="default"> <section numbered="false" toc="default">
<name>Contributors</name>
<t>The Editors would like to recognize the contributions of the <t>The Editors would like to recognize the contributions of the
following individuals to this document.</t> following individuals to this document.</t>
<contact fullname="Tianran Zhou">
<organization>Huawei</organization>
<address>
<postal>
<street>156 Beiqing Rd.</street>
<city>Beijing</city>
<region></region><code>100095</code>
<country>China</country>
</postal>
<email>zhoutianran@huawei.com</email>
</address>
</contact>
<t> <contact fullname="Zhenbin Li">
<figure> <organization>Huawei</organization>
<artwork><![CDATA[ <address>
Tianran Zhou <postal>
Huawei <street>156 Beiqing Rd.</street>
156 Beiqing Rd. <city>Beijing</city>
Beijing 100095 <region></region><code>100095</code>
China <country>China</country>
</postal>
Email: zhoutianran@huawei.com <email>lizhenbin@huawei.com</email>
</address>
Zhenbin Li </contact>
Huawei
156 Beiqing Rd.
Beijing 100095
China
Email: lizhenbin@huawei.com
Ramesh Sivakolundu
Cisco Systems, Inc.
170 West Tasman Dr.
SAN JOSE, CA 95134
U.S.A.
Email: sramesh@cisco.com
]]></artwork> <contact fullname="Ramesh Sivakolundu">
</figure> <organization>Cisco Systems, Inc.</organization>
</t> <address>
<postal>
<street>170 West Tasman Dr.</street>
<city>San Jose</city>
<region>CA</region><code>95134</code>
<country>United States of America</country>
</postal>
<email>sramesh@cisco.com</email>
</address>
</contact>
</section> </section>
</back> </back>
</rfc> </rfc>
 End of changes. 150 change blocks. 
468 lines changed or deleted 453 lines changed or added

This html diff was produced by rfcdiff 1.48.