<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rfc [

<!ENTITY RFC.6291 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6291.xml">
<!ENTITY RFC.9197 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9197.xml">
<!ENTITY RFC.6669 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.6669.xml">
<!ENTITY RFC.5085 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5085.xml">
<!ENTITY RFC.7799 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7799.xml">
<!ENTITY RFC.9232 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9232.xml">
<!ENTITY RFC.9341 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9341.xml">
<!ENTITY RFC.4733 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4733.xml">
<!ENTITY RFC.8029 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8029.xml">
<!ENTITY RFC.9322 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9322.xml">
<!ENTITY RFC.9551 SYSTEM "https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9551.xml">


<!ENTITY I-D.ietf-raw-architecture SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-raw-architecture.xml">
<!ENTITY I-D.song-opsawg-ifit-framework SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.song-opsawg-ifit-framework.xml">
<!ENTITY I-D.kumar-ippm-ifa SYSTEM "https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.kumar-ippm-ifa.xml">


]>
<?rfc toc="yes"?>
<?rfc rfcedstyle="yes"?>
<?rfc subcompact="no" ?>
<?rfc symrefs="yes"?>
<rfc category="bcp" docName="draft-ietf-opsawg-oam-characterization-04" 
  ipr="trust200902" submissionType="IETF" consensus="true" updates="6291">
  <?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
  <?rfc toc="yes" ?>
  <?rfc compact="yes" ?>
  <?rfc symrefs="yes" ?>
  <?rfc sortrefs="yes"?>
  <?rfc iprnotified="no" ?>
  <?rfc strict="yes" ?>

  <front>
    <title abbrev="Characterizing OAM">Guidelines for Characterizing "OAM"</title>

    <author fullname="Carlos Pignataro" initials="C." surname="Pignataro">
      <organization abbrev="NC State University">North Carolina State University</organization>

      <address>
        <postal>
          <country>US</country>
        </postal>        
        <email>cpignata@gmail.com</email>
        <email>cmpignat@ncsu.edu</email>
      </address>
    </author>

    <author fullname="Adrian Farrel" initials="A." surname="Farrel">
      <organization>Old Dog Consulting</organization>

      <address>
        <postal>
          <country>UK</country>
        </postal>        
        <email>adrian@olddog.co.uk</email>
      </address>
    </author>

    
    <date />

    <area>Ops Area</area>

    <workgroup>OPS Area Working Group</workgroup>


    <abstract>
      <t>
   As the IETF continues to produce and standardize different
   Operations, Administration, and Maintenance (OAM) protocols and
   technologies, various qualifiers and modifiers are prepended to the
   OAM abbreviation.  While, at first glance, the most used appear to be well
   understood, the same qualifier may be interpreted differently in
   different contexts.  A case in point is the qualifiers "in-band" and
   "out-of-band" which have their origins in the radio lexicon, and which
   have been extrapolated into other communication networks.
      </t>
      <t>
   This document considers some common qualifiers and modifiers that are
   prepended, within the context of packet networks, to the OAM abbreviation and lays out guidelines for their use
   in future IETF work.
      </t>
      <t>This document updates RFC 6291 by adding to the guidelines for the
   use of the term "OAM". It does not modify any other part of RFC 6291.</t>
    </abstract>
  </front>

  <middle>
    <section title="Introduction">
      <t>
      It is not uncommon for historical and popular terms to have nuances in how they are interpreted or understood. This was, for example, the case with the abbreviation for Operations, Administration, and Maintenance, "OAM", and <xref target="RFC6291" /> provided guidelines for its use as well as definitions of its constituent parts.
      </t>
      <t>
   Characterizations or qualifiers for "OAM" within packet networks often encounter similar
   problems of interpretation, such as with the adjective phrases "in-band" and "out-of-band".  This document considers some common qualifiers and modifiers
   that are prepended to the OAM abbreviation, and lays out guidelines for
   their use in future IETF work to achieve consistent and unambiguous
   characterization.
      </t>
      <t>
        Additionally, this document recommends avoiding the creation and use of extended abbreviation for the qualifiers of "OAM". For example, the first "O" in "OOAM" could mean out-of-band, overlay, or something else.
      </t>
      <t>
   This document updates <xref target="RFC6291" /> by adding to the guidelines for the
   use of the term "OAM". It does not modify any other part of <xref target="RFC6291" />.
      </t>
      <t>
        Note that <xref target="RFC7799" /> defines terms for active and passive
performance assessments through metrics and methods. That RFC does not
substantially discuss OAM, and although the concepts are similar, this
document does not modify the definitions in <xref target="RFC7799" />.
      </t>

    </section>

      <section anchor="band" title="In-Band and Out-of-Band OAM">


        <t>
          Historically, the terms "in-band" and "out-of-band" were used extensively in radio communications as well as in telephony signaling <xref target="RFC4733" />. In both these cases, there is an actual "Band" (i.e., a "Channel" or "Frequency") to be within or outside.
        </t>
        <t>
          While those terms, useful in their simplicity, continued to be broadly used to mean "within something" and "outside something", a challenge is presented for IP communications and packet switch networks (PSNs) which do not have a "band" per se, and, in fact, have multiple "somethings" that OAM can be carried within or outside. A frequently encountered case is the use of "in-band" to mean either in-packet or on-path.
        </t>
        <t>
          Within the IETF, the terms "in-band" and "out-of-band" cannot be reliably understood consistently and unambiguously. Context-specific redefinitions of these terms cannot be generalized and can be confused by participants from other contexts. More importantly, the terms are not self-defining to any further extent and cannot be understood by someone exposed to them for the first time, since there is no "band" in IP.
        </t>

      <section anchor="terms" title="Terminology and Guidance">


        <t>
          The guidance in this document is to avoid the terms "in-band" and "out-of-band" when refering to OAM, and instead find finer-granularity descriptive terms.
          The definitions presented in this document are for use in all future IETF documents that refer
   to OAM, and the terms "in-band OAM" and "out-of-band OAM" are not to
   be used in future documents.


          <list style="hanging">


<t hangText="Path OAM:"> OAM in relation to a path.</t>
<t>
          <list style="hanging">
<t hangText="Path-Congruent OAM:"><br />The OAM information follows the exact same path as the observed data traffic. This was sometimes referred to as "in-band".</t>
<t hangText="Non-Path-Congruent OAM:"><br />The OAM information does not follow the exact same path as the observed data traffic. This was sometimes referred to as "out-of-band".</t>
          </list>
</t>
<t><xref target="RFC6669" />, Section 2 fourth bullet, gives an example of "Path-Congruent OAM", and further describes that the OAM Packets "share their fate with data packets."</t>





<t hangText="Packet OAM:"> OAM in relation to a user data packet.</t>
<t>
          <list style="hanging">
<t hangText="In-Packet OAM:"><br />The OAM information is carried in the packets that also carry the data traffic. This was sometimes referred to as "in-band".</t>
<t hangText="Dedicated-Packet OAM:"><br />The OAM information is carried in its own OAM packets, separate from data traffic. This was sometimes referred to as "out-of-band".</t>
          </list>
</t>

<t>
  The MPLS echo request/reply messages <xref target="RFC8029" /> are an example of "Dedicated-Packet OAM", since they are described as "An MPLS echo request/reply is a (possibly MPLS-labeled) IPv4 or IPv6 UDP packet".
</t>


<t>In situ OAM <xref target="RFC9197" /> is an example of "In-Packet OAM", given that it: '...records OAM information
  within the packet while the packet traverses a particular network
  domain.  The term "in situ" refers to the fact that the OAM data is
  added to the data packets rather than being sent within packets
  specifically dedicated to OAM.' 

</t>
<t>
  Initially, "in situ OAM" <xref target="IETF96-In-Band-OAM" /> was also referred to as "In-band OAM", but was renamed due to the overloaded meaning of "in-band OAM". Further, <xref target="RFC9232" /> also intertwines the terms "in-band" with "in situ", though <xref target="I-D.song-opsawg-ifit-framework" /> settled on using "in Situ". Other similar uses, including <xref target="P4-INT-2.1" /> and <xref target="I-D.kumar-ippm-ifa" />, still use variations of "in-band", "in band", or "inband".
</t>
<t>
  It is noteworthy that In-Packet OAM cannot be Non-Path-Congruent OAM.
</t>




<t hangText="Packet Forwarding Treatment OAM:"> OAM in relation to the forwarding treatment of user data packets, as for example QoS treatment.</t>
<t>
          <list style="hanging">
<t hangText="Equal-Forwarding-Treatment OAM:"><br />The OAM packets receive the same forwarding (e.g., QoS) treatment as user data packets. This was sometimes referred to as "in-band".</t>
<t hangText="Different-Forwarding-Treatment OAM:"><br />The OAM packets receive different forwarding (e.g., QoS) treatment as user data packets. This was sometimes referred to as "out-of-band".</t>
          </list>
</t>
<t>
For a case of either "Non-Path-Congruent OAM" or "Different-Forwarding-Treatment OAM", <xref target="RFC9551" /> says 

"Out-of-band OAM:
an active OAM method whose path through the DetNet domain may not be topologically identical to the path of the monitored DetNet flow, its test packets may receive different QoS and/or PREOF treatment, or both."
<xref target="I-D.ietf-raw-architecture" /> uses similar text.

</t>



<t hangText="Combined OAM:"> OAM in relation to multiple criteria. For example, in relation to both topological congruence and packet treatment. 
<!--
Examples include
<xref target="RFC9551" />
and
<xref target="I-D.ietf-raw-architecture" />.
-->
<br /><br />
<xref target="RFC9551" /> uses Combined OAM when it says 

"In-band OAM: an active OAM method that is in band within
the monitored DetNet OAM domain when it traverses the
same set of links and interfaces receiving the same QoS and
Packet Replication, Elimination, and Ordering Functions
(PREOF) treatment as the monitored DetNet flow."

<xref target="I-D.ietf-raw-architecture" /> uses similar text.
</t>




          </list>
        </t>

    </section>

    <section anchor="Historical" title="Historical Uses">
            <t>
              There are many examples of "in-band OAM" and "out-of-band OAM" in published RFCs. While interpreting those, it is important to understand the semantics of what "band" is a proxy for, and to be more explicit if those documents are updated. This document does not change the meaning of any terms in any prior RFCs.
            </t>
            <t>
              For example, <xref target="RFC5085" /> says "as in-band traffic with the PW's data, or out-of-band", and "in-band (i.e., following the same data-plane faith as PW data)". Hence, in that specific case, the term "band" refers to the "Pseudowire data".
          </t>

    </section>



      </section>



    <section anchor="ippm" title="Active, Passive, Hybrid, and Compound OAM">
          <t>
               <xref target="RFC7799" /> provides clear definitions for active and passive
               performance assessment such that the construction of metrics and
               methods can be described as either "Active" or "Passive".  Even
               though <xref target="RFC7799" /> does not include the specific terms "Active",
               "Passive", or "Hybrid" as modifiers of "OAM", the following terms
               are used in many RFCs and are provided here for use in all future
               IETF documents that refer to OAM.
          
            <list style="hanging">
              <t hangText="Active OAM:"><br /> Depends on injected, dedicated OAM packets.</t>
              <t hangText="Passive OAM:"><br /> Depends solely on the observation of one
      or more existing data packet streams and does not use dedicated OAM packets.</t>



               <t hangText="Hybrid OAM:"><br /> Uses instrumentation or modification of data packets themselves. <xref target="RFC9341" /> and <xref target="RFC9197" /> are examples labeled "Hybrid OAM" under this definition.
               </t>
               <t hangText="Compound OAM:"><br /> Uses a combination of at least two of Active OAM, Passive OAM, and Hybrid OAM (i.e., a combination of atomic OAM packets, data packet modification for OAM, and no explicit OAM).  Note that
         Section 3.7 of <xref target="RFC7799" /> also uses the term "Hybrid" to refer to metric types
         in-between active and passive, for OAM there are no in-betweens per se,
         only active, passive, hybrid, or a compound combination.

          <br /><br />      Compound OAM can be characterized in a more explicit way, for
      nuanced use-cases, and named according to the OAM types that
      are combined:


              <list style="symbols">
              <t>Active-Passive OAM.</t>
              <t>Active-Hybrid OAM.</t>
              <t>Hybrid-Passive OAM.</t>
              <t>Active-Hybrid-Passive OAM.</t>
              </list>

          <br />   
          When two or more OAM types are combined, it is simply the case
    that both OAM types are used at once. For example, in Active-Passive
    OAM both specific OAM packets and the observation of data packets 
    may be used to provide information about the data flow in the network.
    Each component may supplement the total data. 

            </t>
            </list>


          </t>
          <t>
               Note that <xref target="RFC7799" /> describes "passive methods" as "out of band"
   which is contrary to the concept of "Passive OAM" as defined here
   because there are no OAM packets to be in-band or out-of-band.

  Following the guidelines of this document, OAM may be
   qualified according to the terms described in Sections <xref target="band" format="counter" /> and <xref target="ippm" format="counter" /> of this document, and the term "out of band OAM" is not to be used in future
   documents.
</t>

    </section>


    <section anchor="acronyms" title="Extended OAM Abbreviations">
            <t>
        This document recommends avoiding the creation and use of extended abbreviations for the qualifiers of "OAM". For example, the first "O" in "OOAM" could mean out-of-band, overlay, or something else.
      </t>
      <t>
        <xref target="RFC9197" /> and other dependent documents currently uses the abbreviations "IOAM" for In situ Operations, Administration, and Maintenance (IOAM). While this document does not obsolete that abbreviation, it still recommends that the expanded "in situ OAM" is used instead to avoid potential ambiguity.
      </t>



    </section>



    <section anchor="nodetype" title="Processing of OAM Packets by Nodes">
            <t>
        There are multiple processing capabilities that nodes processing OAM packets can utilize. Some of those capabilities are explained in <xref target="RFC9197" /> for in situ OAM and are further generalized in this document.
      </t>
      <t>
Depending on the Type of OAM processing, nodes are categorized as follows. Please note that this characterization exists within the context of a particular OAM protocol instance, and a given node can support multiple types.

<list style="bullets">

<t>
  Hybrid OAM instruments or modifies data packet themselves. Consequently:
  <list style="hanging">
    <t hangText="Encapsulating Node:"><br />Adds OAM information to data packets.</t>
    <t hangText="Transit Node:"><br />May process OAM information in data packets.</t>
    <t hangText="Transparent Node:"><br />Does not process or even notice OAM information in data packets.</t>
    <t hangText="Decapsulating Node:"><br />Removes OAM information from data packets.</t>
  </list>
</t>
<t>
  Active OAM uses dedicated OAM packets, separate from data packets. Consequently:
  <list style="hanging">
    <t hangText="OAM Source Node:"><br />Creates and injects OAM packets into a flow.</t>
    <t hangText="OAM Sink Node:"><br />Processes and removes OAM packets from a flow.</t>
  </list>
  A node could be an OAM Source Node and an OAM Sink Node for Active OAM packets simultaneously.
</t>
</list></t>

<t>
  In some use-cases, such as in situ OAM described in <xref target="RFC9322" />, Compound OAM is used. In the forward direction, Hybrid OAM is used with a single Encapsulating Node. Multiple Transit Nodes may process the OAM information, and this may trigger them to act as OAM Source Nodes for Active OAM sent back to the Encapsulating Node which serves as an OAM Sink Node.
</t>



    </section>



    <section title="Security Considerations">
      <t>Security is improved when terms are used with precision, and their definitions are unambiguous.</t>
    </section>


    <section title="IANA Considerations">
      <t>This document has no IANA actions.</t>
    </section>


    <section title="Acknowledgements">
      <t>
        The creation of this document was triggered when observing one of many on-mailing-list discussions of what these terms mean, and how to abbreviate them. Participants on that mailing thread include, alphabetically: Adrian Farrel, Alexander Vainshtein, Florian Kauer, Frank Brockners, Greg Mirsky, Italo Busi, Loa Andersson, Med Boucadair, Michael Richardson, Quan Xiong, Stewart Bryant, Tom Petch, Eduard Vasilenko, and Xiao Min.
      </t>
      <t>
        The authors wish to thank, chronologically, Hesham Elbakoury, Michael Richardson, Stewart Bryant, Greg Mirsky, Med Boucadair, Loa Andersson, Thomas Graf, Alex Huang Feng, Xiao Min, Dhruv Dhody, Henk Birkholz, Alex Huang Feng, Tom Petch, and Roni Even for their thorough review and useful feedback comments that greatly improved this document.
      </t>
    </section>
  </middle>

  <back>



   <references title="Normative References">

      &RFC.6291;

    </references>
    
    <references title="Informative References">


      &RFC.7799;

      &RFC.9197;
      &RFC.9322;
      &RFC.6669;
      &RFC.5085;
      &RFC.9232;
      &RFC.8029;
      &RFC.9341;
      &RFC.4733;
      &I-D.ietf-raw-architecture;
      &I-D.song-opsawg-ifit-framework;
      &RFC.9551;
      &I-D.kumar-ippm-ifa;

      <reference anchor="IETF96-In-Band-OAM" target="https://www.ietf.org/proceedings/96/slides/slides-96-opsawg-8.pdf">
        <front>
            <title>IETF 96, OPSWG: In-Band OAM</title>
            <author initials="F." surname="Brockners" fullname="Frank Brockners"></author>
            <author initials="S." surname="Bhandari" fullname="Shwetha Bhandari"></author>
            <author initials="S." surname="Dara" fullname="Sashank Dara"></author>
            <author initials="C." surname="Pignataro" fullname="Carlos Pignataro"></author>
            <author initials="H." surname="Gedler" fullname="Hannes Gedler"></author>
            <author initials="S." surname="Youell" fullname="Steve Youell"></author>
            <author initials="J." surname="Leddy" fullname="John Leddy"></author>

            <date month="7" day="19" year="2016"/>
        </front>
        <refcontent>IETF-96 Proceedings</refcontent>
        <seriesInfo name="IETF-96" value="slides-96-opsawg-8.pdf" />
      </reference>

      <reference anchor="P4-INT-2.1" target="https://p4.org/p4-spec/docs/INT_v2_1.pdf">
        <front>
            <title>In-band Network Telemetry (INT) Dataplane Specification, Version 2.1</title>
            <author initials="" surname="" fullname="The P4.org Applications Working Group"></author>
            <date month="11" day="11" year="2020"/>
        </front>
      </reference>


    </references>

  </back>
</rfc>
