<?xml version='1.0' encoding='utf-8'?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" version="3" category="info" consensus="true" docName="draft-ietf-opsawg-ntf-13" indexInclude="true" ipr="trust200902" number="9232" prepTime="2022-05-27T07:50:52" scripts="Common,Latin" sortRefs="true" submissionType="IETF" symRefs="true" tocDepth="3" tocInclude="true" xml:lang="en">
  <link href="https://datatracker.ietf.org/doc/draft-ietf-opsawg-ntf-13" rel="prev"/>
  <link href="https://dx.doi.org/10.17487/rfc9232" rel="alternate"/>
  <link href="urn:issn:2070-1721" rel="alternate"/>
  <front>
    <title abbrev="Network Telemetry Framework">Network Telemetry Framework</title>
    <seriesInfo name="RFC" value="9232" stream="IETF"/>
    <author fullname="Haoyu Song" initials="H." surname="Song">
      <organization showOnFrontPage="true">Futurewei</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <country>United States of America</country>
        </postal>
        <email>haoyu.song@futurewei.com</email>
      </address>
    </author>
    <author fullname="Fengwei Qin" initials="F." surname="Qin">
      <organization showOnFrontPage="true">China Mobile</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <country>China</country>
        </postal>
        <email>qinfengwei@chinamobile.com</email>
      </address>
    </author>
    <author fullname="Pedro Martinez-Julia" initials="P." surname="Martinez-Julia">
      <organization showOnFrontPage="true">NICT</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <country>Japan</country>
        </postal>
        <email>pedro@nict.go.jp</email>
      </address>
    </author>
    <author fullname="Laurent Ciavaglia" initials="L." surname="Ciavaglia">
      <organization showOnFrontPage="true">Rakuten Mobile</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <country>France</country>
        </postal>
        <email>laurent.ciavaglia@rakuten.com</email>
      </address>
    </author>
    <author fullname="Aijun Wang" initials="A." surname="Wang">
      <organization showOnFrontPage="true">China Telecom</organization>
      <address>
        <postal>
          <street/>
          <city/>
          <country>China</country>
        </postal>
        <email>wangaj3@chinatelecom.cn</email>
      </address>
    </author>
    <date month="05" year="2022"/>
    <area>Operations and Management Area</area>
    <workgroup>OPSAWG</workgroup>
    <keyword>Telemetry</keyword>
    <keyword>OAM</keyword>
    <abstract pn="section-abstract">
      <t indent="0" pn="section-abstract-1">Network telemetry is a technology for gaining network insight and facilitating efficient and automated network management. It encompasses various techniques for remote data generation, collection, correlation, and consumption. This document describes an architectural framework for network telemetry, motivated by challenges that are encountered as part of the operation of networks and by the requirements that ensue.
      This document clarifies the terminology and classifies the modules and components of a network telemetry system from different perspectives. The framework and taxonomy help to set a common ground for the collection of related work and provide guidance for related technique and standard developments.</t>
    </abstract>
    <boilerplate>
      <section anchor="status-of-memo" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.1">
        <name slugifiedName="name-status-of-this-memo">Status of This Memo</name>
        <t indent="0" pn="section-boilerplate.1-1">
            This document is not an Internet Standards Track specification; it is
            published for informational purposes.  
        </t>
        <t indent="0" pn="section-boilerplate.1-2">
            This document is a product of the Internet Engineering Task Force
            (IETF).  It represents the consensus of the IETF community.  It has
            received public review and has been approved for publication by the
            Internet Engineering Steering Group (IESG).  Not all documents
            approved by the IESG are candidates for any level of Internet
            Standard; see Section 2 of RFC 7841. 
        </t>
        <t indent="0" pn="section-boilerplate.1-3">
            Information about the current status of this document, any
            errata, and how to provide feedback on it may be obtained at
            <eref target="https://www.rfc-editor.org/info/rfc9232" brackets="none"/>.
        </t>
      </section>
      <section anchor="copyright" numbered="false" removeInRFC="false" toc="exclude" pn="section-boilerplate.2">
        <name slugifiedName="name-copyright-notice">Copyright Notice</name>
        <t indent="0" pn="section-boilerplate.2-1">
            Copyright (c) 2022 IETF Trust and the persons identified as the
            document authors. All rights reserved.
        </t>
        <t indent="0" pn="section-boilerplate.2-2">
            This document is subject to BCP 78 and the IETF Trust's Legal
            Provisions Relating to IETF Documents
            (<eref target="https://trustee.ietf.org/license-info" brackets="none"/>) 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.
        </t>
      </section>
    </boilerplate>
    <toc>
      <section anchor="toc" numbered="false" removeInRFC="false" toc="exclude" pn="section-toc.1">
        <name slugifiedName="name-table-of-contents">Table of Contents</name>
        <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1">
          <li pn="section-toc.1-1.1">
            <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.1"><xref derivedContent="1" format="counter" sectionFormat="of" target="section-1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-introduction">Introduction</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.1.2">
              <li pn="section-toc.1-1.1.2.1">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.1.1"><xref derivedContent="1.1" format="counter" sectionFormat="of" target="section-1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-applicability-statement">Applicability Statement</xref></t>
              </li>
              <li pn="section-toc.1-1.1.2.2">
                <t indent="0" keepWithNext="true" pn="section-toc.1-1.1.2.2.1"><xref derivedContent="1.2" format="counter" sectionFormat="of" target="section-1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-glossary">Glossary</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.2">
            <t indent="0" pn="section-toc.1-1.2.1"><xref derivedContent="2" format="counter" sectionFormat="of" target="section-2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-background">Background</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.2.2">
              <li pn="section-toc.1-1.2.2.1">
                <t indent="0" pn="section-toc.1-1.2.2.1.1"><xref derivedContent="2.1" format="counter" sectionFormat="of" target="section-2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-telemetry-data-coverage">Telemetry Data Coverage</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.2">
                <t indent="0" pn="section-toc.1-1.2.2.2.1"><xref derivedContent="2.2" format="counter" sectionFormat="of" target="section-2.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-use-cases">Use Cases</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.3">
                <t indent="0" pn="section-toc.1-1.2.2.3.1"><xref derivedContent="2.3" format="counter" sectionFormat="of" target="section-2.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-challenges">Challenges</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.4">
                <t indent="0" pn="section-toc.1-1.2.2.4.1"><xref derivedContent="2.4" format="counter" sectionFormat="of" target="section-2.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-network-telemetry">Network Telemetry</xref></t>
              </li>
              <li pn="section-toc.1-1.2.2.5">
                <t indent="0" pn="section-toc.1-1.2.2.5.1"><xref derivedContent="2.5" format="counter" sectionFormat="of" target="section-2.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-the-necessity-of-a-network-">The Necessity of a Network Telemetry Framework</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.3">
            <t indent="0" pn="section-toc.1-1.3.1"><xref derivedContent="3" format="counter" sectionFormat="of" target="section-3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-network-telemetry-framework">Network Telemetry Framework</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2">
              <li pn="section-toc.1-1.3.2.1">
                <t indent="0" pn="section-toc.1-1.3.2.1.1"><xref derivedContent="3.1" format="counter" sectionFormat="of" target="section-3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-top-level-modules">Top-Level Modules</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.3.2.1.2">
                  <li pn="section-toc.1-1.3.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.1.1"><xref derivedContent="3.1.1" format="counter" sectionFormat="of" target="section-3.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-management-plane-telemetry">Management Plane Telemetry</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.2.1"><xref derivedContent="3.1.2" format="counter" sectionFormat="of" target="section-3.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-control-plane-telemetry">Control Plane Telemetry</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.3">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.3.1"><xref derivedContent="3.1.3" format="counter" sectionFormat="of" target="section-3.1.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-forwarding-plane-telemetry">Forwarding Plane Telemetry</xref></t>
                  </li>
                  <li pn="section-toc.1-1.3.2.1.2.4">
                    <t indent="0" pn="section-toc.1-1.3.2.1.2.4.1"><xref derivedContent="3.1.4" format="counter" sectionFormat="of" target="section-3.1.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-external-data-telemetry">External Data Telemetry</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.3.2.2">
                <t indent="0" pn="section-toc.1-1.3.2.2.1"><xref derivedContent="3.2" format="counter" sectionFormat="of" target="section-3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-second-level-function-compo">Second-Level Function Components</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.3">
                <t indent="0" pn="section-toc.1-1.3.2.3.1"><xref derivedContent="3.3" format="counter" sectionFormat="of" target="section-3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-data-acquisition-mechanism-">Data Acquisition Mechanism and Type Abstraction</xref></t>
              </li>
              <li pn="section-toc.1-1.3.2.4">
                <t indent="0" pn="section-toc.1-1.3.2.4.1"><xref derivedContent="3.4" format="counter" sectionFormat="of" target="section-3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-mapping-existing-mechanisms">Mapping Existing Mechanisms into the Framework</xref></t>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.4">
            <t indent="0" pn="section-toc.1-1.4.1"><xref derivedContent="4" format="counter" sectionFormat="of" target="section-4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-evolution-of-network-teleme">Evolution of Network Telemetry Applications</xref></t>
          </li>
          <li pn="section-toc.1-1.5">
            <t indent="0" pn="section-toc.1-1.5.1"><xref derivedContent="5" format="counter" sectionFormat="of" target="section-5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-security-considerations">Security Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.6">
            <t indent="0" pn="section-toc.1-1.6.1"><xref derivedContent="6" format="counter" sectionFormat="of" target="section-6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-iana-considerations">IANA Considerations</xref></t>
          </li>
          <li pn="section-toc.1-1.7">
            <t indent="0" pn="section-toc.1-1.7.1"><xref derivedContent="7" format="counter" sectionFormat="of" target="section-7"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-informative-references">Informative References</xref></t>
          </li>
          <li pn="section-toc.1-1.8">
            <t indent="0" pn="section-toc.1-1.8.1"><xref derivedContent="Appendix A" format="default" sectionFormat="of" target="section-appendix.a"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-a-survey-on-existing-networ">A Survey on Existing Network Telemetry Techniques</xref></t>
            <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2">
              <li pn="section-toc.1-1.8.2.1">
                <t indent="0" pn="section-toc.1-1.8.2.1.1"><xref derivedContent="A.1" format="counter" sectionFormat="of" target="section-appendix.a.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-management-plane-telemetry-2">Management Plane Telemetry</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2.1.2">
                  <li pn="section-toc.1-1.8.2.1.2.1">
                    <t indent="0" pn="section-toc.1-1.8.2.1.2.1.1"><xref derivedContent="A.1.1" format="counter" sectionFormat="of" target="section-appendix.a.1.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-push-extensions-for-netconf">Push Extensions for NETCONF</xref></t>
                  </li>
                  <li pn="section-toc.1-1.8.2.1.2.2">
                    <t indent="0" pn="section-toc.1-1.8.2.1.2.2.1"><xref derivedContent="A.1.2" format="counter" sectionFormat="of" target="section-appendix.a.1.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-grpc-network-management-int">gRPC Network Management Interface</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.8.2.2">
                <t indent="0" pn="section-toc.1-1.8.2.2.1"><xref derivedContent="A.2" format="counter" sectionFormat="of" target="section-appendix.a.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-control-plane-telemetry-2">Control Plane Telemetry</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2.2.2">
                  <li pn="section-toc.1-1.8.2.2.2.1">
                    <t indent="0" pn="section-toc.1-1.8.2.2.2.1.1"><xref derivedContent="A.2.1" format="counter" sectionFormat="of" target="section-appendix.a.2.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-bgp-monitoring-protocol">BGP Monitoring Protocol</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.8.2.3">
                <t indent="0" pn="section-toc.1-1.8.2.3.1"><xref derivedContent="A.3" format="counter" sectionFormat="of" target="section-appendix.a.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-data-plane-telemetry">Data Plane Telemetry</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2.3.2">
                  <li pn="section-toc.1-1.8.2.3.2.1">
                    <t indent="0" pn="section-toc.1-1.8.2.3.2.1.1"><xref derivedContent="A.3.1" format="counter" sectionFormat="of" target="section-appendix.a.3.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-alternate-marking-am-techno">Alternate-Marking (AM) Technology</xref></t>
                  </li>
                  <li pn="section-toc.1-1.8.2.3.2.2">
                    <t indent="0" pn="section-toc.1-1.8.2.3.2.2.1"><xref derivedContent="A.3.2" format="counter" sectionFormat="of" target="section-appendix.a.3.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-dynamic-network-probe">Dynamic Network Probe</xref></t>
                  </li>
                  <li pn="section-toc.1-1.8.2.3.2.3">
                    <t indent="0" pn="section-toc.1-1.8.2.3.2.3.1"><xref derivedContent="A.3.3" format="counter" sectionFormat="of" target="section-appendix.a.3.3"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-ip-flow-information-export-">IP Flow Information Export (IPFIX) Protocol</xref></t>
                  </li>
                  <li pn="section-toc.1-1.8.2.3.2.4">
                    <t indent="0" pn="section-toc.1-1.8.2.3.2.4.1"><xref derivedContent="A.3.4" format="counter" sectionFormat="of" target="section-appendix.a.3.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-in-situ-oam">In Situ OAM</xref></t>
                  </li>
                  <li pn="section-toc.1-1.8.2.3.2.5">
                    <t indent="0" pn="section-toc.1-1.8.2.3.2.5.1"><xref derivedContent="A.3.5" format="counter" sectionFormat="of" target="section-appendix.a.3.5"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-postcard-based-telemetry">Postcard-Based Telemetry</xref></t>
                  </li>
                  <li pn="section-toc.1-1.8.2.3.2.6">
                    <t indent="0" pn="section-toc.1-1.8.2.3.2.6.1"><xref derivedContent="A.3.6" format="counter" sectionFormat="of" target="section-appendix.a.3.6"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-existing-oam-for-specific-d">Existing OAM for Specific Data Planes</xref></t>
                  </li>
                </ul>
              </li>
              <li pn="section-toc.1-1.8.2.4">
                <t indent="0" pn="section-toc.1-1.8.2.4.1"><xref derivedContent="A.4" format="counter" sectionFormat="of" target="section-appendix.a.4"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-external-data-and-event-tel">External Data and Event Telemetry</xref></t>
                <ul bare="true" empty="true" indent="2" spacing="compact" pn="section-toc.1-1.8.2.4.2">
                  <li pn="section-toc.1-1.8.2.4.2.1">
                    <t indent="0" pn="section-toc.1-1.8.2.4.2.1.1"><xref derivedContent="A.4.1" format="counter" sectionFormat="of" target="section-appendix.a.4.1"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-sources-of-external-events">Sources of External Events</xref></t>
                  </li>
                  <li pn="section-toc.1-1.8.2.4.2.2">
                    <t indent="0" pn="section-toc.1-1.8.2.4.2.2.1"><xref derivedContent="A.4.2" format="counter" sectionFormat="of" target="section-appendix.a.4.2"/>.  <xref derivedContent="" format="title" sectionFormat="of" target="name-connectors-and-interfaces">Connectors and Interfaces</xref></t>
                  </li>
                  <li pn="section-toc.1-1.8.2.4.2.3">
                    <t indent="0" pn="section-toc.1-1.8.2.4.2.3.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a.4.3"/><xref derivedContent="" format="title" sectionFormat="of" target="name-acknowledgments">Acknowledgments</xref></t>
                  </li>
                  <li pn="section-toc.1-1.8.2.4.2.4">
                    <t indent="0" pn="section-toc.1-1.8.2.4.2.4.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.a.4.4"/><xref derivedContent="" format="title" sectionFormat="of" target="name-contributors">Contributors</xref></t>
                  </li>
                </ul>
              </li>
            </ul>
          </li>
          <li pn="section-toc.1-1.9">
            <t indent="0" pn="section-toc.1-1.9.1"><xref derivedContent="" format="none" sectionFormat="of" target="section-appendix.b"/><xref derivedContent="" format="title" sectionFormat="of" target="name-authors-addresses">Authors' Addresses</xref></t>
          </li>
        </ul>
      </section>
    </toc>
  </front>
  <middle>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-1">
      <name slugifiedName="name-introduction">Introduction</name>
      <t indent="0" pn="section-1-1"> Network visibility is the ability of management tools to see the state and behavior of a network, which is essential for successful network operation. Network telemetry revolves around network data that 1) can help provide insights about the current state of the network, including network devices, forwarding, control, and management planes; 2) can be generated and obtained through a variety of techniques, including but not limited to network instrumentation and measurements; and 3) can be processed for purposes ranging from service assurance to network security using a wide variety of data analytical techniques. In this document, network telemetry refers to both the data itself (i.e., "Network Telemetry Data") and the techniques and processes used to generate, export, collect, and consume that data for use by potentially automated management applications. Network telemetry extends beyond the classical network Operations, Administration, and Management (OAM) techniques and expects to support better flexibility, scalability, accuracy, coverage, and performance.</t>
      <t indent="0" pn="section-1-2"> However, the term "network telemetry" lacks an unambiguous definition. The scope and coverage of it cause confusion and misunderstandings. It is beneficial to clarify the concept and provide a clear architectural framework for network telemetry, so we can articulate the technical field and better align the related techniques and standard works.</t>
      <t indent="0" pn="section-1-3">To fulfill such an undertaking, we first discuss some key characteristics of network telemetry that set a clear distinction from the conventional network OAM and show that some conventional OAM technologies can be considered a subset of the network telemetry technologies. We then provide an architectural framework for network telemetry that includes four modules, each associated with a different category of telemetry data and corresponding procedures. All the modules are internally structured in the same way, including components that allow the operator to configure data sources in regard to what data to generate and how to make that available to client applications, components that instrument the underlying data sources, and components that perform the actual rendering, encoding, and exporting of the generated data. We show how the network telemetry framework can benefit current and future network operations. Based on the distinction of modules and function components, we can map the existing and emerging techniques and protocols into the framework. The framework can also simplify designing, maintaining, and understanding a network telemetry system. In addition, we outline the evolution stages of the network telemetry system and discuss the potential security concerns. </t>
      <t indent="0" pn="section-1-4"> The purpose of the framework and taxonomy is to set a common ground for the collection of related work and provide guidance for future technique and standard developments. To the best of our knowledge, this document is the first such effort for network telemetry in industry standards organizations. This document does not define specific technologies.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-1.1">
        <name slugifiedName="name-applicability-statement">Applicability Statement</name>
        <t indent="0" pn="section-1.1-1">Large-scale network data collection is a major threat to user privacy and may be indistinguishable from pervasive monitoring <xref target="RFC7258" format="default" sectionFormat="of" derivedContent="RFC7258"/>.  The network telemetry framework presented in this document must not be applied to generating, exporting, collecting, analyzing, or retaining individual user data or any data that can identify end users or characterize their behavior without consent. Based on this principle, the network telemetry framework is not applicable to networks whose endpoints represent individual users, such as general-purpose access networks. </t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-1.2">
        <name slugifiedName="name-glossary">Glossary</name>
        <t indent="0" pn="section-1.2-1">Before further discussion, we list some key terminology and abbreviations used in this document. There is an intended differentiation between the terms of network telemetry and OAM. However, it should be understood that there is not a hard-line distinction between the two concepts. Rather, network telemetry is considered an extension of OAM. It covers all the existing OAM protocols but puts more emphasis on the newer and emerging techniques and protocols concerning all aspects of network data from acquisition to consumption.</t>
        <dl newline="false" spacing="normal" indent="12" pn="section-1.2-2">
          <dt pn="section-1.2-2.1">AI:</dt>
          <dd pn="section-1.2-2.2"> Artificial Intelligence. In the network domain, AI refers to machine-learning-based technologies for automated network operation and other tasks.</dd>
          <dt pn="section-1.2-2.3">AM:</dt>
          <dd pn="section-1.2-2.4"> Alternate Marking. A flow performance measurement method, as specified in <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321"/>. </dd>
          <dt pn="section-1.2-2.5">BMP:</dt>
          <dd pn="section-1.2-2.6">BGP Monitoring Protocol. Specified in <xref target="RFC7854" format="default" sectionFormat="of" derivedContent="RFC7854"/>. </dd>
          <dt pn="section-1.2-2.7">DPI:</dt>
          <dd pn="section-1.2-2.8">Deep Packet Inspection. Refers to the techniques that examine packets beyond packet L3/L4 headers. </dd>
          <dt pn="section-1.2-2.9">gNMI:</dt>
          <dd pn="section-1.2-2.10">gRPC Network Management Interface. A network management protocol from the OpenConfig Operator Working Group, mainly contributed by Google. See <xref target="gnmi" format="default" sectionFormat="of" derivedContent="gnmi"/> for details. </dd>
          <dt pn="section-1.2-2.11">GPB:</dt>
          <dd pn="section-1.2-2.12">Google Protocol Buffer. An extensible mechanism for serializing structured data. See <xref target="gpb" format="default" sectionFormat="of" derivedContent="gpb"/> for details. </dd>
          <dt pn="section-1.2-2.13">gRPC:</dt>
          <dd pn="section-1.2-2.14">gRPC Remote Procedure Call. An open-source high-performance RPC framework that gNMI is based on. See <xref target="grpc" format="default" sectionFormat="of" derivedContent="grpc"/> for details. </dd>
          <dt pn="section-1.2-2.15">IPFIX:</dt>
          <dd pn="section-1.2-2.16">IP Flow Information Export Protocol. Specified in <xref target="RFC7011" format="default" sectionFormat="of" derivedContent="RFC7011"/>. </dd>
          <dt pn="section-1.2-2.17">IOAM:</dt>
          <dd pn="section-1.2-2.18">
            <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197">In situ OAM</xref>. A data plane on-path telemetry technique. </dd>
          <dt pn="section-1.2-2.19">JSON:</dt>
          <dd pn="section-1.2-2.20">JavaScript Object Notation. An open standard file format and data interchange format that uses human-readable text to store and transmit data objects, as specified in <xref target="RFC8259" format="default" sectionFormat="of" derivedContent="RFC8259"/>. </dd>
          <dt pn="section-1.2-2.21">MIB:</dt>
          <dd pn="section-1.2-2.22">Management Information Base. A database used for managing the entities in a network. </dd>
          <dt pn="section-1.2-2.23">NETCONF:</dt>
          <dd pn="section-1.2-2.24">Network Configuration Protocol. Specified in <xref target="RFC6241" format="default" sectionFormat="of" derivedContent="RFC6241"/>. </dd>
          <dt pn="section-1.2-2.25">NetFlow:</dt>
          <dd pn="section-1.2-2.26">A Cisco protocol used for flow record collecting, as described in <xref target="RFC3954" format="default" sectionFormat="of" derivedContent="RFC3954"/>. </dd>
          <dt pn="section-1.2-2.27">Network Telemetry:</dt>
          <dd pn="section-1.2-2.28">The process and instrumentation for acquiring and utilizing network data remotely for network monitoring and operation. A general term for a large set of network visibility techniques and protocols, concerning aspects like data generation, collection, correlation, and consumption. Network telemetry addresses current network operation issues and enables smooth evolution toward future intent-driven autonomous networks.</dd>
          <dt pn="section-1.2-2.29">NMS:</dt>
          <dd pn="section-1.2-2.30">Network Management System. Refers to applications that allow network administrators to manage a network. </dd>
          <dt pn="section-1.2-2.31">OAM:</dt>
          <dd pn="section-1.2-2.32">Operations, Administration, and Maintenance. A group of network management functions that provide network fault indication, fault localization, performance information, and data and diagnosis functions. Most conventional network monitoring techniques and protocols belong to network OAM.</dd>
          <dt pn="section-1.2-2.33">PBT:</dt>
          <dd pn="section-1.2-2.34">Postcard-Based Telemetry. A data plane on-path telemetry technique. A representative technique is described in <xref target="IPPM-IOAM-DIRECT-EXPORT" format="default" sectionFormat="of" derivedContent="IPPM-IOAM-DIRECT-EXPORT"/>. </dd>
          <dt pn="section-1.2-2.35">RESTCONF:</dt>
          <dd pn="section-1.2-2.36"> An HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in NETCONF, as specified in <xref target="RFC8040" format="default" sectionFormat="of" derivedContent="RFC8040"/>. </dd>
          <dt pn="section-1.2-2.37">SMIv2:</dt>
          <dd pn="section-1.2-2.38">Structure of Management Information Version 2. Defines MIB objects, as specified in <xref target="RFC2578" format="default" sectionFormat="of" derivedContent="RFC2578"/>. </dd>
          <dt pn="section-1.2-2.39">SNMP:</dt>
          <dd pn="section-1.2-2.40">Simple Network Management Protocol. Versions 1, 2, and 3 are specified in <xref target="RFC1157" format="default" sectionFormat="of" derivedContent="RFC1157"/>, <xref target="RFC3416" format="default" sectionFormat="of" derivedContent="RFC3416"/>, and <xref target="RFC3411" format="default" sectionFormat="of" derivedContent="RFC3411"/>, respectively. </dd>
          <dt pn="section-1.2-2.41">XML:</dt>
          <dd pn="section-1.2-2.42">Extensible Markup Language. A markup language for data encoding that is both human readable and machine readable, as specified by W3C <xref target="W3C.REC-xml-20081126" format="default" sectionFormat="of" derivedContent="W3C.REC-xml-20081126"/>. </dd>
          <dt pn="section-1.2-2.43">YANG:</dt>
          <dd pn="section-1.2-2.44">YANG is a data modeling language for the definition of data sent over network management protocols such as NETCONF and RESTCONF. YANG is defined in <xref target="RFC6020" format="default" sectionFormat="of" derivedContent="RFC6020"/> and <xref target="RFC7950" format="default" sectionFormat="of" derivedContent="RFC7950"/>. </dd>
          <dt pn="section-1.2-2.45">YANG ECA:</dt>
          <dd pn="section-1.2-2.46">A YANG model for Event-Condition-Action policies, as defined in <xref target="I-D.ietf-netmod-eca-policy" format="default" sectionFormat="of" derivedContent="NETMOD-ECA-POLICY"/>. </dd>
          <dt pn="section-1.2-2.47">YANG-Push:</dt>
          <dd pn="section-1.2-2.48"> A mechanism that allows subscriber applications to request a stream of updates from a YANG datastore on a network device. Details are specified in <xref target="RFC8639" format="default" sectionFormat="of" derivedContent="RFC8639"/> and <xref target="RFC8641" format="default" sectionFormat="of" derivedContent="RFC8641"/>. </dd>
        </dl>
      </section>
    </section>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-2">
      <name slugifiedName="name-background">Background</name>
      <t indent="0" pn="section-2-1">The term "big data" is used to describe the extremely large volume of data sets that can be analyzed computationally to reveal patterns, trends, and associations. Networks are undoubtedly a source of big data because of their scale and the volume of network traffic they forward. When a network's endpoints do not represent individual users (e.g., in industrial, data-center, and infrastructure contexts), network operations can often benefit from large-scale data collection without breaching user privacy.</t>
      <t indent="0" pn="section-2-2">Today, one can access advanced big data analytics capability through a plethora of commercial and open-source platforms (e.g., Apache Hadoop), tools (e.g., Apache Spark), and techniques (e.g., machine learning). Thanks to the advance of computing and storage technologies, network big data analytics give network operators an opportunity to gain network insights and move towards network autonomy. Some operators start to explore the application of Artificial Intelligence (AI) to make sense of network data. Software tools can use the network data to detect and react on network faults, anomalies, and policy violations, as well as predict future events. In turn, the network policy updates for planning, intrusion prevention, optimization, and self-healing may be applied.</t>
      <t indent="0" pn="section-2-3">It is conceivable that an <xref target="RFC7575" format="default" sectionFormat="of" derivedContent="RFC7575"> autonomic network </xref> is the logical next step for network evolution following Software-Defined Networking (SDN), which aims to reduce (or even eliminate) human labor, make more efficient use of network resources, and provide better services more aligned with customer requirements. The IETF ANIMA Working Group is dedicated to developing and maintaining protocols and procedures for automated network management and control of professionally managed networks. The related technique of <xref target="I-D.irtf-nmrg-ibn-concepts-definitions" format="default" sectionFormat="of" derivedContent="NMRG-IBN-CONCEPTS-DEFINITIONS">Intent-Based Networking (IBN)</xref> requires network visibility and telemetry data in order to ensure that the network is behaving as intended. </t>
      <t indent="0" pn="section-2-4">However, while the data processing capability is improved and applications require more data to function better, the networks lag behind in extracting and translating network data into useful and actionable information in efficient ways. The system bottleneck is shifting from data consumption to data supply. Both the number of network nodes and the traffic bandwidth keep increasing at a fast pace. The network configuration and policy change at smaller time slots than before. More subtle events and fine-grained data through all network planes need to be captured and exported in real time. In a nutshell, it is a challenge to get enough high-quality data out of the network in a manner that is efficient, timely, and flexible. Therefore, we need to survey the existing technologies and protocols and identify any potential gaps.</t>
      <t indent="0" pn="section-2-5">In the remainder of this section, we first clarify the scope of network data (i.e., telemetry data) relevant in this document. Then, we discuss several key use cases for network operations of today and the future. Next, we show why the current network OAM techniques and protocols are insufficient for these use cases. The discussion underlines the need for new methods, techniques, and protocols, as well as the extensions of existing ones, which we assign under the umbrella term "Network Telemetry". </t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.1">
        <name slugifiedName="name-telemetry-data-coverage">Telemetry Data Coverage</name>
        <t indent="0" pn="section-2.1-1">Any information that can be extracted from networks (including the data plane, control plane, and management plane) and used to gain visibility or as a basis for actions is considered telemetry data. It includes statistics, event records and logs, snapshots of state, configuration data, etc. It also covers the outputs of any active and passive measurements <xref target="RFC7799" format="default" sectionFormat="of" derivedContent="RFC7799"/>. In some cases, raw data is processed in network before being sent to a data consumer. Such processed data is also considered telemetry data. The value of telemetry data varies. In some cases, if the cost is acceptable, less but higher-quality data are preferred rather than a lot of low-quality data. A classification of telemetry data is provided in <xref target="framework" format="default" sectionFormat="of" derivedContent="Section 3"/>. To preserve the privacy of end users, no user packet content should be collected.  Specifically, the data objects generated, exported, and collected by a network telemetry application should not include any packet payload from traffic associated with end-user systems. </t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.2">
        <name slugifiedName="name-use-cases">Use Cases</name>
        <t indent="0" pn="section-2.2-1">The following set of use cases is essential for network operations. While the list is by no means exhaustive, it is enough to highlight the requirements for data velocity, variety, volume, and veracity, the attributes of big data, in networks. </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.2-2">
          <li pn="section-2.2-2.1"> Security: Network intrusion detection and prevention systems need to monitor network traffic and activities and act upon anomalies. Given increasingly sophisticated attack vectors coupled with increasingly severe consequences of security breaches, new tools and techniques need to be developed, relying on wider and deeper visibility into networks. The ultimate goal is to achieve security with no, or only minimal, human intervention and without disrupting legitimate traffic flows. </li>
          <li pn="section-2.2-2.2">Policy and Intent Compliance: Network policies are the rules that constrain the services for network access, provide service differentiation, or enforce specific treatment on the traffic. For example, a service function chain is a policy that requires the selected flows to pass through a set of ordered network functions. Intent, as defined in <xref target="I-D.irtf-nmrg-ibn-concepts-definitions" format="default" sectionFormat="of" derivedContent="NMRG-IBN-CONCEPTS-DEFINITIONS"/>, is a set of operational goals that a network should meet and outcomes that a network is supposed to deliver, defined in a declarative manner without specifying how to achieve or implement them. An intent requires a complex translation and mapping process before being applied on networks. While a policy or intent is enforced, the compliance needs to be verified and monitored continuously by relying on visibility that is provided through network telemetry data. Any violation must be reported immediately - this will alert the network 
   administrator to the policy or intent violation and will potentially
   result in updates to how the policy or intent is applied in the network to
   ensure that it remains in force. </li>
          <li pn="section-2.2-2.3">SLA Compliance: A Service Level Agreement (SLA) is a service contract between a service provider and a client, which includes the metrics for the service measurement and remedy/penalty procedures when the service level misses the agreement. Users need to check if they get the service as promised, and network operators need to evaluate how they can deliver services that meet the SLA based on real-time network telemetry data, including data from network measurements.</li>
          <li pn="section-2.2-2.4">Root Cause Analysis: Many network failures can be the effect of a sequence of chained events. Troubleshooting and recovery require quick identification of the root cause of any observable issues. However, the root cause is not always straightforward to identify, especially when the failure is sporadic and the number of event messages, both related and unrelated to the same cause, is overwhelming. While technologies such as machine learning can be used for root cause analysis, it is up to the network to sense and provide the relevant diagnostic data that are either actively fed into or passively retrieved by the root cause analysis applications.</li>
          <li pn="section-2.2-2.5">Network Optimization: This covers all short-term and long-term network optimization techniques, including load balancing, Traffic Engineering (TE), and network planning. Network operators are motivated to optimize their network utilization and differentiate services for better Return on Investment (ROI) or lower Capital Expenditure (CAPEX). The first step is to know the real-time network conditions before applying policies for traffic manipulation. In some cases, microbursts need to be detected in a very short time frame so that fine-grained traffic control can be applied to avoid network congestion. Long-term planning of network capacity and topology requires analysis of real-world network telemetry data that is obtained over long periods of time.</li>
          <li pn="section-2.2-2.6">Event Tracking and Prediction: The visibility into traffic path and performance is critical for services and applications that rely on healthy network operation. Numerous related network events are of interest to network operators. For example, network operators want to learn where and why packets are dropped for an application flow. They also want to be warned of issues in advance, so proactive actions can be taken to avoid catastrophic consequences. </li>
        </ul>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.3">
        <name slugifiedName="name-challenges">Challenges</name>
        <t indent="0" pn="section-2.3-1">For a long time, network operators have relied upon <xref target="RFC3416" format="default" sectionFormat="of" derivedContent="RFC3416">SNMP</xref>, Command-Line Interface (CLI), or <xref target="RFC5424" format="default" sectionFormat="of" derivedContent="RFC5424">Syslog</xref> to monitor the network. Some other OAM techniques as described in <xref target="RFC7276" format="default" sectionFormat="of" derivedContent="RFC7276"/> are also used to facilitate network troubleshooting. These conventional techniques are not sufficient to support the above use cases for the following reasons: </t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.3-2">
          <li pn="section-2.3-2.1">Most use cases need to continuously monitor the network and dynamically refine the data collection in real time. Poll-based low-frequency data collection is ill-suited for these applications. Subscription-based streaming data directly pushed from the data source (e.g., the forwarding chip) is preferred to provide sufficient data quantity and precision at scale.</li>
          <li pn="section-2.3-2.2">Comprehensive data is needed, ranging from packet processing engines to traffic managers, line cards to main control boards, user flows to control protocol packets, device configurations to operations, and physical layers to application layers. Conventional OAM only covers a narrow range of data (e.g., SNMP only handles data from the Management Information Base (MIB)). Classical network devices cannot provide all the necessary probes. More open and programmable network devices are therefore needed.</li>
          <li pn="section-2.3-2.3">Many application scenarios need to correlate network-wide data from multiple sources (i.e., from distributed network devices, different components of a network device, or different network planes). A piecemeal solution is often lacking the capability to consolidate the data from multiple sources. The composition of a complete solution, as partly proposed by <xref target="NMRG-ANTICIPATED-ADAPTATION" format="default" sectionFormat="of" derivedContent="NMRG-ANTICIPATED-ADAPTATION">Autonomic Resource Control Architecture (ARCA)</xref>, will be empowered and guided by a comprehensive framework. </li>
          <li pn="section-2.3-2.4">Some conventional OAM techniques (e.g., CLI and Syslog) lack a formal data model. The unstructured data hinder the tool automation and application extensibility. Standardized data models are essential to support the programmable networks. </li>
          <li pn="section-2.3-2.5">Although some conventional OAM techniques support data push (e.g., <xref target="RFC2981" format="default" sectionFormat="of" derivedContent="RFC2981">SNMP Trap</xref><xref target="RFC3877" format="default" sectionFormat="of" derivedContent="RFC3877"/>, Syslog, and <xref target="RFC3176" format="default" sectionFormat="of" derivedContent="RFC3176">sFlow</xref>), the pushed data are limited to only predefined management plane warnings (e.g., SNMP Trap) or sampled user packets (e.g., sFlow). Network operators require the data with arbitrary source, granularity, and precision, which is beyond the capability of the existing techniques. </li>
          <li pn="section-2.3-2.6">Conventional passive measurement techniques can either consume excessive network resources and produce excessive redundant data or lead to inaccurate results; on the other hand, conventional active measurement techniques can interfere with the user traffic, and their results are indirect. Techniques that can collect direct and on-demand data from user traffic are more favorable.</li>
        </ul>
        <t indent="0" pn="section-2.3-3">These challenges were addressed by newer standards and techniques (e.g., IPFIX/Netflow, Packet Sampling (PSAMP), IOAM, and YANG-Push), and more are emerging. These standards and techniques need to be recognized and accommodated in a new framework.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.4">
        <name slugifiedName="name-network-telemetry">Network Telemetry</name>
        <t indent="0" pn="section-2.4-1">Network telemetry has emerged as a mainstream technical term to refer to the network data collection and consumption techniques. Several network telemetry techniques and protocols (e.g., <xref target="RFC7011" format="default" sectionFormat="of" derivedContent="RFC7011">IPFIX</xref> and <xref target="grpc" format="default" sectionFormat="of" derivedContent="grpc">gRPC</xref>) have been widely deployed. Network telemetry allows separate entities to acquire data from network devices so that data can be visualized and analyzed to support network monitoring and operation. Network telemetry covers the conventional network OAM and has a wider scope. For instance, it is expected that network telemetry can provide the necessary network insight for autonomous networks and address the shortcomings of conventional OAM techniques. </t>
        <t indent="0" pn="section-2.4-2">Network telemetry usually assumes machines as data consumers rather than human operators. Hence, network telemetry can directly trigger the automated network operation, while in contrast, some conventional OAM tools were designed and used to help human operators to monitor and diagnose the networks and guide manual network operations. Such a proposition leads to very different techniques. </t>
        <t indent="0" pn="section-2.4-3">Although new network telemetry techniques are emerging and subject to continuous evolution, several characteristics of network telemetry have been well accepted. Note that network telemetry is intended to be an umbrella term covering a wide spectrum of techniques, so the following characteristics are not expected to be held by every specific technique.</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.4-4">
          <li pn="section-2.4-4.1">Push and Streaming: Instead of polling data from network devices, telemetry collectors subscribe to streaming data pushed from data sources in network devices.</li>
          <li pn="section-2.4-4.2">Volume and Velocity: Telemetry data is intended to be consumed by machines rather than by human beings. Therefore, the data volume can be huge, and the processing is optimized for the needs of automation in real time.</li>
          <li pn="section-2.4-4.3">Normalization and Unification: Telemetry aims to address the overall network automation needs. Efforts are made to normalize the data representation and unify the protocols, so as to simplify data analysis and provide integrated analysis across heterogeneous devices and data sources across a network.</li>
          <li pn="section-2.4-4.4">Model-Based: Telemetry data is modeled in advance, which allows applications to configure and consume data with ease. </li>
          <li pn="section-2.4-4.5">Data Fusion: The data for a single application can come from multiple data sources (e.g., cross-domain, cross-device, and cross-layer) that are based on a common name/ID and need to be correlated to take effect.</li>
          <li pn="section-2.4-4.6">Dynamic and Interactive: Since the network telemetry means to be used in a closed control loop for network automation, it needs to run continuously and adapt to the dynamic and interactive queries from the network operation controller. </li>
        </ul>
        <t indent="0" pn="section-2.4-5">In addition, an ideal network telemetry solution may also have the following features or properties:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.4-6">
          <li pn="section-2.4-6.1">In-Network Customization: The data that is generated can be customized in network at runtime to cater to the specific need of applications. This needs the support of a programmable data plane, which allows probes with custom functions to be deployed at flexible locations. </li>
          <li pn="section-2.4-6.2">In-Network Data Aggregation and Correlation: Network devices and aggregation points can work out which events and what data needs to be stored, reported, or discarded, thus reducing the load on the central collection and processing points while still ensuring that the right information is ready to be processed in a timely way.</li>
          <li pn="section-2.4-6.3">In-Network Processing: Sometimes it is not necessary or feasible to gather all information to a central point to be processed and acted upon. It is possible for the data processing to be done in network, allowing reactive actions to be taken locally.</li>
          <li pn="section-2.4-6.4">Direct Data Plane Export: The data originated from data plane forwarding chips can be directly exported to the data consumer for efficiency, especially when the data bandwidth is large and real-time processing is required. </li>
          <li pn="section-2.4-6.5">In-Band Data Collection: In addition to the passive and active data collection approaches, the new hybrid approach allows to directly collect data for any target flow on its entire forwarding path <xref target="I-D.song-opsawg-ifit-framework" format="default" sectionFormat="of" derivedContent="OPSAWG-IFIT-FRAMEWORK"/>. </li>
        </ul>
        <t indent="0" pn="section-2.4-7">It is worth noting that a network telemetry system should not be intrusive to normal network operations by avoiding the pitfall of the "observer effect". That is, it should not change the network behavior and affect the forwarding performance. Moreover, high-volume telemetry traffic may cause network congestion unless proper isolation or traffic engineering techniques are in place, or congestion control mechanisms ensure that telemetry traffic backs off if it exceeds the network capacity. <xref target="RFC8084" format="default" sectionFormat="of" derivedContent="RFC8084"/> and <xref target="RFC8085" format="default" sectionFormat="of" derivedContent="RFC8085"/> are relevant Best Current Practices (BCPs) in this space.</t>
        <t indent="0" pn="section-2.4-8">Although in many cases a system for network telemetry involves a remote data collecting and consuming entity, it is important to understand that there are no inherent assumptions about how a system should be architected. While a network architecture with a centralized controller (e.g., SDN) seems to be a natural fit for network telemetry, network telemetry can work in distributed fashions as well. For example, telemetry data producers and consumers  can have a peer-to-peer relationship, in which a network node can be the direct consumer of telemetry data from other nodes. </t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-2.5">
        <name slugifiedName="name-the-necessity-of-a-network-">The Necessity of a Network Telemetry Framework</name>
        <t indent="0" pn="section-2.5-1">Network data analytics (e.g., machine learning) is applied for network operation automation, relying on abundant and coherent data from networks. Data acquisition that is limited to a single source and static in nature will in many cases not be sufficient to meet an application's telemetry data needs. As a result, multiple data sources, involving a variety of techniques and standards, will need to be integrated. It is desirable to have a framework that classifies and organizes different telemetry data sources and types, defines different components of a network telemetry system and their interactions, and helps coordinate and integrate multiple telemetry approaches across layers. This allows flexible combinations of data for different applications, while normalizing and simplifying interfaces. In detail, such a framework would benefit the development of network operation applications for the following reasons:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-2.5-2">
          <li pn="section-2.5-2.1">Future networks, autonomous or otherwise, depend on holistic and comprehensive network visibility. Use cases and applications are better when supported uniformly and coherently using an integrated, converged mechanism and common telemetry data representations wherever feasible. Therefore, the protocols and mechanisms should be consolidated into a minimum yet comprehensive set. A telemetry framework can help to normalize the technique developments.</li>
          <li pn="section-2.5-2.2">Network visibility presents multiple viewpoints. For example, the device viewpoint takes the network infrastructure as the monitoring object from which the network topology and device status can be acquired, and the traffic viewpoint takes the flows or packets as the monitoring object from which the traffic quality and path can be acquired. An application may need to switch its viewpoint during operation. It may also need to correlate a service and its impact on user experience (UE) to acquire the comprehensive information.</li>
          <li pn="section-2.5-2.3">Applications require network telemetry to be elastic in order to make efficient use of network resources and reduce the impact of processing related to network telemetry on network performance. For example, routine network monitoring should cover the entire network with a low data sampling rate. Only when issues arise or critical trends emerge should telemetry data sources be modified and telemetry data rates be boosted as needed.</li>
          <li pn="section-2.5-2.4">Efficient data aggregation is critical for applications to reduce the overall quantity of data and improve the accuracy of analysis.</li>
        </ul>
        <t indent="0" pn="section-2.5-3">A telemetry framework collects all the telemetry-related works from different sources and working groups within the IETF. This makes it possible to assemble a comprehensive network telemetry system and to avoid repetitious or redundant work. The framework should cover the concepts and components from the standardization perspective. This document describes the modules that make up a network telemetry framework and decomposes the telemetry system into a set of distinct components that existing and future work can easily map to.</t>
      </section>
    </section>
    <section anchor="framework" numbered="true" toc="include" removeInRFC="false" pn="section-3">
      <name slugifiedName="name-network-telemetry-framework">Network Telemetry Framework</name>
      <t indent="0" pn="section-3-1"> The top-level network telemetry framework partitions the network telemetry into four modules based on the telemetry data object source and represents their relationship. Once the network operation applications acquire the data from these modules, they can apply data analytics and take actions. At the next level, the framework decomposes each module into separate components. Each of these modules follows the same underlying structure, with one component dedicated to the configuration of data subscriptions and data sources, a second component dedicated to encoding and exporting data, and a third component instrumenting the generation of telemetry related to the underlying resources. Throughout the framework, the same set of abstract data-acquiring mechanisms and data types (<xref target="sec_type" format="default" sectionFormat="of" derivedContent="Section 3.3"/>) are applied. The two-level architecture with the uniform data abstraction helps accurately pinpoint a protocol or technique to its position in a network telemetry system or disaggregates a network telemetry system into manageable parts.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.1">
        <name slugifiedName="name-top-level-modules">Top-Level Modules</name>
        <t indent="0" pn="section-3.1-1"> Telemetry can be applied on the forwarding plane, control plane, and management plane in a network, as well as on other sources out of the network, as shown in <xref target="figure_1" format="default" sectionFormat="of" derivedContent="Figure 1"/>. Therefore, we categorize the network telemetry into four distinct modules (management plane, control plane, forwarding plane, and external data and event telemetry) with each having its own interface to network operation applications.</t>
        <figure anchor="figure_1" align="left" suppress-title="false" pn="figure-1">
          <name slugifiedName="name-modules-in-layer-category-o">Modules in Layer Category of the Network Telemetry Framework</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.1-2.1">
                +------------------------------+
                |                              |
                |       Network Operation      |&lt;-------+
                |          Applications        |        |
                |                              |        |
                +------------------------------+        |
                        ^          ^       ^            |
                        |          |       |            |
                        V          V       |            V
                +--------------+-----------|---+  +-----------+
                |              | Control   |   |  |           |
                |              | Plane     |   |  | External  |
                |            &lt;---&gt;         |   |  | Data and  | 
                |              | Telemetry |   |  | Event     |
                |  Management  |       ^   V   |  | Telemetry |
                |  Plane       +-------|-------+  |           |
                |  Telemetry   |       V       |  +-----------+ 
                |              | Forwarding    |  
                |              | Plane         |
                |            &lt;---&gt;             |
                |              | Telemetry     |
                |              |               |
                +--------------+---------------+
</artwork>
        </figure>
        <t indent="0" pn="section-3.1-3">The rationale of this partition lies in the different telemetry data objects that result in different data sources and export locations. Such differences have profound implications on in-network data programming and processing capability, data encoding and the transport protocol, and required data bandwidth and latency. Data can be sent directly or proxied via the control and management planes. There are advantages/disadvantages to both approaches.</t>
        <t indent="0" pn="section-3.1-4">Note that in some cases, the network controller itself may be the source of telemetry data that is unique to it or derived from the telemetry data collected from the network elements. Some of the principles and taxonomy specific to the control plane and management plane telemetry could also be applied to the controller when it is required to provide the telemetry data to network operation applications hosted outside. The scope of this document is focused on the network elements telemetry, and further details related to controllers are thus out of scope. </t>
        <t indent="0" pn="section-3.1-5">We summarize the major differences of the four modules in <xref target="table_1" format="default" sectionFormat="of" derivedContent="Table 1"/>. They are compared from six angles:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1-6">
          <li pn="section-3.1-6.1">Data Object</li>
          <li pn="section-3.1-6.2">Data Export Location</li>
          <li pn="section-3.1-6.3">Data Model</li>
          <li pn="section-3.1-6.4">Data Encoding</li>
          <li pn="section-3.1-6.5">Telemetry Application Protocol</li>
          <li pn="section-3.1-6.6">Data Transport Method</li>
        </ul>
        <t indent="0" pn="section-3.1-7">Data Object is the target and source of each module. Because the data source varies, the location where data is mostly conveniently exported also varies. For example, forwarding plane data mainly originates as data exported from the forwarding Application-Specific Integrated Circuits (ASICs), while control plane data mainly originates from the protocol daemons running on the control CPU(s). For convenience and efficiency, it is preferred to export the data off the device from locations near the source. Because the locations that can export data have different capabilities, different choices of data models, encoding, and transport methods are made to balance the performance and cost. For example, the forwarding chip has high throughput but limited capacity for processing complex data and maintaining state, while the main control CPU is capable of complex data and state processing but has limited bandwidth for high throughput data. As a result, the suitable telemetry protocol for each module can be different. Some representative techniques are shown in the corresponding table blocks to highlight the technical diversity of these modules. Note that the selected techniques just reflect the de facto state of the art and are by no means exhaustive (e.g., IPFIX can also be implemented over TCP and SCTP, but that is not recommended for the forwarding plane). The key point is that one cannot expect to use a universal protocol to cover all the network telemetry requirements. </t>
        <table anchor="table_1" align="center" pn="table-1">
          <name slugifiedName="name-comparison-of-data-object-m">Comparison of Data Object Modules</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1">Module</th>
              <th align="left" colspan="1" rowspan="1">Management Plane</th>
              <th align="left" colspan="1" rowspan="1">Control Plane</th>
              <th align="left" colspan="1" rowspan="1">Forwarding Plane</th>
              <th align="left" colspan="1" rowspan="1">External Data</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">Object</td>
              <td align="left" colspan="1" rowspan="1">configuration and operation state</td>
              <td align="left" colspan="1" rowspan="1">control protocol and signaling, RIB</td>
              <td align="left" colspan="1" rowspan="1">flow and packet QoS, traffic stat., buffer and queue stat., FIB, Access Control List (ACL)</td>
              <td align="left" colspan="1" rowspan="1">terminal, social, and environmental</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Export Location</td>
              <td align="left" colspan="1" rowspan="1">main control CPU</td>
              <td align="left" colspan="1" rowspan="1">main control CPU, linecard CPU, or forwarding chip</td>
              <td align="left" colspan="1" rowspan="1">forwarding chip or linecard CPU; main control CPU unlikely</td>
              <td align="left" colspan="1" rowspan="1">various</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Data Model</td>
              <td align="left" colspan="1" rowspan="1">YANG, MIB, syslog</td>
              <td align="left" colspan="1" rowspan="1">YANG, custom</td>
              <td align="left" colspan="1" rowspan="1">YANG, custom</td>
              <td align="left" colspan="1" rowspan="1">YANG, custom</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Data Encoding</td>
              <td align="left" colspan="1" rowspan="1">GPB, JSON, XML</td>
              <td align="left" colspan="1" rowspan="1">GPB, JSON, XML, plain text</td>
              <td align="left" colspan="1" rowspan="1">plain text</td>
              <td align="left" colspan="1" rowspan="1">GPB, JSON, XML, plain text</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Application Protocol</td>
              <td align="left" colspan="1" rowspan="1">gRPC, NETCONF, RESTCONF</td>
              <td align="left" colspan="1" rowspan="1">gRPC, NETCONF, IPFIX, traffic mirroring</td>
              <td align="left" colspan="1" rowspan="1">IPFIX, traffic mirroring, gRPC, NETFLOW</td>
              <td align="left" colspan="1" rowspan="1">gRPC</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">Data Transport</td>
              <td align="left" colspan="1" rowspan="1">HTTP(S), TCP</td>
              <td align="left" colspan="1" rowspan="1">HTTP(S), TCP, UDP</td>
              <td align="left" colspan="1" rowspan="1">UDP</td>
              <td align="left" colspan="1" rowspan="1">HTTP(S), TCP, UDP</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-3.1-9">Note that the interaction with the applications that consume network telemetry data can be indirect. Some in-device data transfer is possible. For example, in the management plane telemetry, the management plane will need to acquire data from the data plane. Some operational states can only be derived from data plane data sources such as the interface status and statistics. As another example, obtaining control plane telemetry data may require the ability to access the Forwarding Information Base (FIB) of the data plane.</t>
        <t indent="0" pn="section-3.1-10">On the other hand, an application may involve more than one plane and interact with multiple planes simultaneously. For example, an SLA compliance application may require both the data plane telemetry and the control plane telemetry.</t>
        <t indent="0" pn="section-3.1-11">The requirements and challenges for each module are summarized as follows (note that the requirements may pertain across all telemetry modules; however, we emphasize those that are most pronounced for a particular plane).</t>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.1.1">
          <name slugifiedName="name-management-plane-telemetry">Management Plane Telemetry</name>
          <t indent="0" pn="section-3.1.1-1">The management plane of network elements interacts with the Network Management System (NMS) and provides information such as performance data, network logging data, network warning and defects data, and network statistics and state data. The management plane includes many protocols, including the classical SNMP and syslog. Regardless the protocol, management plane telemetry must address the following requirements:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1.1-2">
            <li pn="section-3.1.1-2.1">Convenient Data Subscription: An application should have the freedom to choose which data is exported (see <xref target="sec_type" format="default" sectionFormat="of" derivedContent="Section 3.3"/>) and the means and frequency of how that data is exported (e.g., on-change or periodic subscription).</li>
            <li pn="section-3.1.1-2.2">Structured Data: For automatic network operation, machines will replace humans for network data comprehension. Data modeling languages, such as YANG, can efficiently describe structured data and normalize data encoding and transformation.</li>
            <li pn="section-3.1.1-2.3">High-Speed Data Transport: In order to keep up with the velocity of information, a data source needs to be able to send large amounts of data at high frequency. Compact encoding formats or data compression schemes are needed to reduce the quantity of data and improve the data transport efficiency. The subscription mode, by replacing the query mode, reduces the interactions between clients and servers and helps to improve the data source's efficiency.</li>
            <li pn="section-3.1.1-2.4">Network Congestion Avoidance: The application must protect the
   network from congestion with congestion control mechanisms or, 
   at minimum, with circuit breakers. <xref target="RFC8084" format="default" sectionFormat="of" derivedContent="RFC8084"/> and <xref target="RFC8085" format="default" sectionFormat="of" derivedContent="RFC8085"/> provide some solutions in this space.</li>
          </ul>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.1.2">
          <name slugifiedName="name-control-plane-telemetry">Control Plane Telemetry</name>
          <t indent="0" pn="section-3.1.2-1">The control plane telemetry refers to the health condition monitoring of different network control protocols at all layers of the protocol stack. Keeping track of the operational status of these protocols is beneficial for detecting, localizing, and even predicting various network issues, as well as for network optimization, in real time and with fine granularity. Some particular challenges and issues faced by the control plane telemetry are as follows: </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1.2-2">
            <li pn="section-3.1.2-2.1">How to correlate the End-to-End (E2E) Key Performance Indicators (KPIs) to a specific layer's KPIs. For example, IPTV users may describe their UE by the video smoothness and definition. Then in case of an unusually poor UE KPI or a service disconnection, it is non-trivial to delimit and pinpoint the issue in the responsible protocol layer (e.g., the transport layer or the network layer), the responsible protocol (e.g., IS-IS or BGP at the network layer), and finally the responsible device(s) with specific reasons. </li>
            <li pn="section-3.1.2-2.2"> Conventional OAM-based approaches for control plane KPI measurement, which include Ping (L3), Traceroute (L3), <xref target="y1731" format="default" sectionFormat="of" derivedContent="y1731">Y.1731</xref> (L2), and so on. One common issue behind these methods is that they only measure the KPIs instead of reflecting the actual running status of these protocols, making them less effective or efficient for control plane troubleshooting and network optimization. </li>
            <li pn="section-3.1.2-2.3"> How more research is needed for the BGP monitoring protocol (BMP). BMP is an example of the control plane telemetry; it is currently used for monitoring BGP routes and enables rich applications, such as BGP peer analysis, Autonomous System (AS) analysis, prefix analysis, and security analysis. However, the monitoring of other layers, protocols, and the cross-layer, cross-protocol KPI correlations are still in their infancy (e.g., IGP monitoring is not as extensive as BMP), which requires further research. </li>
          </ul>
          <t indent="0" pn="section-3.1.2-3"> Note that the requirement and solutions for network congestion avoidance are also applicable to the control plane telemetry. </t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.1.3">
          <name slugifiedName="name-forwarding-plane-telemetry">Forwarding Plane Telemetry</name>
          <t indent="0" pn="section-3.1.3-1">An effective forwarding plane telemetry system relies on the data that the network device can expose. The quality, quantity, and timeliness of data must meet some stringent requirements. This raises some challenges for the network data plane devices where the first-hand data originates.</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1.3-2">
            <li pn="section-3.1.3-2.1">A data plane device's main function is user traffic processing and forwarding. While supporting network visibility is important, the telemetry is just an auxiliary function, and it should strive to not impede normal traffic processing and forwarding (i.e., the forwarding behavior should not be altered, and the trade-off between forwarding performance and telemetry should be well-balanced).</li>
            <li pn="section-3.1.3-2.2">Network operation applications require end-to-end visibility across various sources, which can result in a huge volume of data. However, the sheer quantity of data must not exhaust the network bandwidth, regardless of the data delivery approach (i.e., whether through in-band or out-of-band channels).</li>
            <li pn="section-3.1.3-2.3">The data plane devices must provide timely data with the minimum possible delay. Long processing, transport, storage, and analysis delay can impact the effectiveness of the control loop and even render the data useless.</li>
            <li pn="section-3.1.3-2.4">The data should be structured, labeled, and easy for applications to parse and consume. At the same time, the data types needed by applications can vary significantly. The data plane devices need to provide enough flexibility and programmability to support the precise data provision for applications.</li>
            <li pn="section-3.1.3-2.5">The data plane telemetry should support incremental deployment and work even though some devices are unaware of the system.</li>
            <li pn="section-3.1.3-2.6">The requirement and solutions for network congestion avoidance are also applicable to the forwarding plane telemetry.</li>
          </ul>
          <t indent="0" pn="section-3.1.3-3">Although not specific to the forwarding plane, these challenges are more difficult for the forwarding plane because of the limited resources and flexibility. Data plane programmability is essential to support network telemetry. Newer data plane forwarding chips are equipped with advanced telemetry features and provide flexibility to support customized telemetry functions. </t>
          <t indent="0" pn="section-3.1.3-4">Technique Taxonomy: This pertains to how one instruments the telemetry; there can be multiple possible dimensions to classify the forwarding plane telemetry techniques.</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1.3-5">
            <li pn="section-3.1.3-5.1"> Active, Passive, and Hybrid: This dimension pertains to the end-to-end measurement. Active and passive methods (as well as the hybrid types) are well documented in <xref target="RFC7799" format="default" sectionFormat="of" derivedContent="RFC7799"/>. Passive methods include TCPDUMP, <xref target="RFC7011" format="default" sectionFormat="of" derivedContent="RFC7011">IPFIX</xref>, sFlow, and traffic mirroring. These methods usually have low data coverage. The bandwidth cost is very high in order to improve the data coverage. On the other hand, active methods include Ping, the <xref target="RFC4656" format="default" sectionFormat="of" derivedContent="RFC4656">One-Way Active Measurement Protocol (OWAMP)</xref>, the <xref target="RFC5357" format="default" sectionFormat="of" derivedContent="RFC5357">Two-Way Active Measurement Protocol (TWAMP)</xref>, the <xref target="RFC8762" format="default" sectionFormat="of" derivedContent="RFC8762">Simple Two-way Active Measurement Protocol (STAMP)</xref>, and <xref target="RFC6812" format="default" sectionFormat="of" derivedContent="RFC6812">Cisco's SLA Protocol</xref>. These methods are intrusive and only provide indirect network measurements. Hybrid methods, including <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197">IOAM</xref>, <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">Alternate Marking (AM)</xref>, and <xref target="RFC8889" format="default" sectionFormat="of" derivedContent="RFC8889">Multipoint Alternate Marking</xref>, provide a well-balanced and more flexible approach. However, these methods are also more complex to implement.</li>
            <li pn="section-3.1.3-5.2"> In-Band and Out-of-Band: Telemetry data carried in user packets before being exported to a data collector is considered in-band (e.g., <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197">IOAM</xref>). Telemetry data that is directly exported to a data collector without modifying user packets is considered out-of-band (e.g., the postcard-based approach described in <xref target="pbt" format="default" sectionFormat="of" derivedContent="Appendix A.3.5"/>). It is also possible to have hybrid methods, where only the telemetry instruction or partial data is carried by user packets (e.g., <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321">AM</xref>). </li>
            <li pn="section-3.1.3-5.3"> End-to-End and In-Network: End-to-end methods start from, and end at, the network end hosts (e.g., Ping). In-network methods work in networks and are transparent to end hosts. However, if needed, in-network methods can be easily extended into end hosts. </li>
            <li pn="section-3.1.3-5.4"> Data Subject: Depending on the telemetry objective, the methods can be flow based (e.g., <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197">IOAM</xref>), path based (e.g., Traceroute), and node based (e.g., <xref target="RFC7011" format="default" sectionFormat="of" derivedContent="RFC7011">IPFIX</xref>). The various data objects can be packet, flow record, measurement, states, and signal.</li>
          </ul>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-3.1.4">
          <name slugifiedName="name-external-data-telemetry">External Data Telemetry</name>
          <t indent="0" pn="section-3.1.4-1">Events that occur outside the boundaries of the network system are another important source of network telemetry. Correlating both internal telemetry data and external events with the requirements of network systems, as presented in <xref target="NMRG-ANTICIPATED-ADAPTATION" format="default" sectionFormat="of" derivedContent="NMRG-ANTICIPATED-ADAPTATION"/>, provides a strategic and functional advantage to management operations. </t>
          <t indent="0" pn="section-3.1.4-2">As with other sources of telemetry information, the data and events must meet strict requirements, especially in terms of timeliness, which is essential to properly incorporate external event information into network management applications. The specific challenges are described as follows:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.1.4-3">
            <li pn="section-3.1.4-3.1">The role of the external event detector can be played by multiple elements, including hardware (e.g., physical sensors, such as seismometers) and software (e.g., big data sources that can analyze streams of information, such as Twitter messages). Thus, the transmitted data must support different shapes but, at the same time, follow a common but extensible schema. </li>
            <li pn="section-3.1.4-3.2">Since the main function of the external event detectors is to perform the notifications, their timeliness is assumed. However, once messages have been dispatched, they must be quickly collected and inserted into the control plane with variable priority, which is higher for important sources and events and lower for secondary ones. </li>
            <li pn="section-3.1.4-3.3">The schema used by external detectors must be easily adopted by current and future devices and applications. Therefore, it must be easily mapped to current data models, such as in terms of YANG. </li>
            <li pn="section-3.1.4-3.4">As the communication with external entities outside the boundary of a provider network may be realized over the Internet, the risk of congestion is even more relevant in this context and proper countermeasures must be taken. Solutions such as network transport circuit breakers are needed as well.</li>
          </ul>
          <t indent="0" pn="section-3.1.4-4">Organizing both internal and external telemetry information together will be key for the general exploitation of the management possibilities of current and future network systems, as reflected in the incorporation of cognitive capabilities to new hardware and software (virtual) elements. </t>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.2">
        <name slugifiedName="name-second-level-function-compo">Second-Level Function Components</name>
        <t indent="0" pn="section-3.2-1">The telemetry module at each plane can be further partitioned into five distinct conceptual components:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.2-2">
          <li pn="section-3.2-2.1"> Data Query, Analysis, and Storage: This component works at the network operation application block in <xref target="figure_1" format="default" sectionFormat="of" derivedContent="Figure 1"/>. It is normally a part of the network management system at the receiver side. On one hand, it is responsible for issuing data requirements. The data of interest can be modeled data through configuration or custom data through programming. The data requirements can be queries for one-shot data or subscriptions for events or streaming data. On the other hand, it receives, stores, and processes the returned data from network devices. Data analysis can be interactive to initiate further data queries. This component can reside in either network devices or remote controllers. It can be centralized and distributed and involve one or more instances.</li>
          <li pn="section-3.2-2.2"> Data Configuration and Subscription: This component manages data queries on devices. It determines the protocol and channel for applications to acquire desired data. This component is also responsible for configuring the desired data that might not be directly available from data sources. The subscription data can be described by models, templates, or programs. </li>
          <li pn="section-3.2-2.3"> Data Encoding and Export: This component determines how telemetry data is delivered to the data analysis and storage component with access control. The data encoding and the transport protocol may vary due to the data export location.</li>
          <li pn="section-3.2-2.4"> Data Generation and Processing: The requested data needs to be captured, filtered, processed, and formatted in network devices from raw data sources. This may involve in-network computing and processing on either the fast path or the slow path in network devices.</li>
          <li pn="section-3.2-2.5"> Data Object and Source: This component determines the monitoring objects and original data sources provisioned in the device. A data source usually just provides raw data that needs further processing. Each data source can be considered a probe. Some data sources can be dynamically installed, while others will be more static.</li>
        </ul>
        <figure anchor="figure_3" align="left" suppress-title="false" pn="figure-2">
          <name slugifiedName="name-components-in-the-network-t">Components in the Network Telemetry Framework</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.2-3.1">
                  +----------------------------------------+
                +----------------------------------------+ |
                |                                        | |
                |    Data Query, Analysis, &amp; Storage     | |
                |                                        | +    
                +-------+++ -----------------------------+    
                        |||                   ^^^               
                        |||                   |||               
                        ||V                   |||                
                     +--+V--------------------+++------------+
                  +-----V---------------------+------------+ |
                +---------------------+-------+----------+ | |
                | Data Configuration  |                  | | |
                | &amp; Subscription      | Data Encoding    | | |  
                | (model, template,   | &amp; Export         | | | 
                |  &amp; program)         |                  | | |
                +---------------------+------------------| | | 
                |                                        | | |
                |           Data Generation              | | |
                |           &amp; Processing                 | | |
                |                                        | | |
                +----------------------------------------| | |
                |                                        | | |
                |       Data Object and Source           | |-+
                |                                        |-+
                +----------------------------------------+
</artwork>
        </figure>
      </section>
      <section anchor="sec_type" numbered="true" toc="include" removeInRFC="false" pn="section-3.3">
        <name slugifiedName="name-data-acquisition-mechanism-">Data Acquisition Mechanism and Type Abstraction</name>
        <t indent="0" pn="section-3.3-1">Broadly speaking, network data can be acquired through subscription (push) and query (poll). A subscription is a contract between publisher and subscriber. After initial setup, the subscribed data is automatically delivered to registered subscribers until the subscription expires.
	There are two variations of subscription. The subscriptions can be predefined, or the subscribers are allowed to configure and tailor the published data to their specific needs.</t>
        <t indent="0" pn="section-3.3-2">In contrast, queries are used when a client expects immediate and one-off feedback from network devices. The queried data may be directly extracted from some specific data source or synthesized and processed from raw data. Queries work well for interactive network telemetry applications. </t>
        <t indent="0" pn="section-3.3-3">In general, data can be pulled (i.e., queried) whenever needed, but in many cases, pushing the data (i.e., subscription) is more efficient, and it can reduce the latency of a client detecting a change. From the data consumer point of view, there are four types of data from network devices that a telemetry data consumer can subscribe or query:</t>
        <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-3.3-4">
          <li pn="section-3.3-4.1"> Simple Data: Data that are steadily available from some datastore or static probes in network devices.</li>
          <li pn="section-3.3-4.2"> Derived Data: Data that need to be synthesized or processed in the network from raw data from one or more network devices. The data processing function can be statically or dynamically loaded into network devices.</li>
          <li pn="section-3.3-4.3"> Event-triggered Data: Data that are conditionally acquired based on the occurrence of some events. An example of event-triggered data could be an interface changing operational state between up and down. Such data can be actively pushed through subscription or passively polled through query. There are many ways to model events, including using Finite State Machine (FSM) or <xref target="I-D.ietf-netmod-eca-policy" format="default" sectionFormat="of" derivedContent="NETMOD-ECA-POLICY">Event Condition Action (ECA)</xref>. </li>
          <li pn="section-3.3-4.4"> Streaming Data: Data that are continuously generated. It can be a time series or the dump of databases. For example, an interface packet counter is exported every second. The streaming data reflect real-time network states and metrics and require large bandwidth and processing power. The streaming data are always actively pushed to the subscribers.</li>
        </ul>
        <t indent="0" pn="section-3.3-5">The above telemetry data types are not mutually exclusive. Rather, they are often composite. Derived data is composed of simple data; event-triggered data can be simple or derived; and streaming data can be based on some recurring event. The relationships of these data types are illustrated in <xref target="figure_0" format="default" sectionFormat="of" derivedContent="Figure 3"/>. </t>
        <figure anchor="figure_0" align="left" suppress-title="false" pn="figure-3">
          <name slugifiedName="name-data-type-relationship">Data Type Relationship</name>
          <artwork name="" type="" align="left" alt="" pn="section-3.3-6.1">
   +----------------------+     +-----------------+
   | Event-Triggered Data |&lt;----+ Streaming Data  |
   +-------+---+----------+     +-----+---+-------+
           |   |                      |   |
           |   |                      |   |
           |   |   +--------------+   |   |
           |   +--&gt;| Derived Data |&lt;--+   |
           |       +------+------ +       |
           |              |               |
           |              V               |
           |       +--------------+       |
           +------&gt;| Simple Data  |&lt;------+
                   +--------------+
</artwork>
        </figure>
        <t indent="0" pn="section-3.3-7">Subscription usually deals with event-triggered data and streaming data, and query usually deals with simple data and derived data. But the other ways are also possible. Advanced network telemetry techniques are designed mainly for event-triggered or streaming data subscription and derived data query.</t>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-3.4">
        <name slugifiedName="name-mapping-existing-mechanisms">Mapping Existing Mechanisms into the Framework</name>
        <t indent="0" pn="section-3.4-1">The following table shows how the existing mechanisms (mainly published in IETF and with the emphasis on the latest new technologies) are positioned in the framework. Given the vast body of existing work, we cannot provide an exhaustive list, so the mechanisms in the tables should be considered as just examples. Also, some comprehensive protocols and techniques may cover multiple aspects or modules of the framework, so a name in a block only emphasizes one particular characteristic of it. More details about some listed mechanisms can be found in Appendix A.</t>
        <table anchor="table_2" align="center" pn="table-2">
          <name slugifiedName="name-existing-work-mapping">Existing Work Mapping</name>
          <thead>
            <tr>
              <th align="left" colspan="1" rowspan="1"/>
              <th align="left" colspan="1" rowspan="1">Management Plane</th>
              <th align="left" colspan="1" rowspan="1">Control Plane</th>
              <th align="left" colspan="1" rowspan="1">Forwarding Plane</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left" colspan="1" rowspan="1">data configuration and subscribe</td>
              <td align="left" colspan="1" rowspan="1">gNMI, NETCONF, RESTCONF, SNMP, YANG-Push</td>
              <td align="left" colspan="1" rowspan="1">gNMI, NETCONF, RESTCONF, YANG-Push</td>
              <td align="left" colspan="1" rowspan="1">NETCONF, RESTCONF, YANG-Push</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">data generation and process</td>
              <td align="left" colspan="1" rowspan="1">MIB, YANG</td>
              <td align="left" colspan="1" rowspan="1">YANG</td>
              <td align="left" colspan="1" rowspan="1">IOAM, PSAMP, PBT, AM</td>
            </tr>
            <tr>
              <td align="left" colspan="1" rowspan="1">data encoding and export</td>
              <td align="left" colspan="1" rowspan="1">gRPC, HTTP, TCP</td>
              <td align="left" colspan="1" rowspan="1">BMP, TCP</td>
              <td align="left" colspan="1" rowspan="1">IPFIX, UDP</td>
            </tr>
          </tbody>
        </table>
        <t indent="0" pn="section-3.4-3">Although the framework is generally suitable for any network environments, the multi-domain telemetry has some unique challenges that deserve further architectural consideration, which is out of the scope of this document.</t>
      </section>
    </section>
    <section anchor="level" numbered="true" toc="include" removeInRFC="false" pn="section-4">
      <name slugifiedName="name-evolution-of-network-teleme">Evolution of Network Telemetry Applications</name>
      <t indent="0" pn="section-4-1">Network telemetry is an evolving technical area. As the network moves towards the automated operation, network telemetry applications undergo several stages of evolution, which add a new layer of requirements to the underlying network telemetry techniques. Each stage is built upon the techniques adopted by the previous stages plus some new requirements.</t>
      <dl newline="false" spacing="normal" indent="3" pn="section-4-2">
        <dt pn="section-4-2.1">Stage 0 - Static Telemetry:</dt>
        <dd pn="section-4-2.2"> The telemetry data source and type are determined at design time. The network operator can only configure how to use it with limited flexibility. </dd>
        <dt pn="section-4-2.3">Stage 1 - Dynamic Telemetry:</dt>
        <dd pn="section-4-2.4"> The custom telemetry data can be dynamically programmed or configured at runtime without interrupting the network operation, allowing a trade-off among resource, performance, flexibility, and coverage.</dd>
        <dt pn="section-4-2.5">Stage 2 - Interactive Telemetry:</dt>
        <dd pn="section-4-2.6"> The network operator can continuously customize and fine tune the telemetry data in real time to reflect the network operation's visibility requirements. Compared with Stage 1, the changes are frequent based on the real-time feedback. At this stage, some tasks can be automated, but human operators still need to sit in the middle to make decisions. </dd>
        <dt pn="section-4-2.7">Stage 3 - Closed-Loop Telemetry:</dt>
        <dd pn="section-4-2.8"> The telemetry is free from the interference of human operators, except for generating the reports. The intelligent network operation engine automatically issues the telemetry data requests, analyzes the data, and updates the network operations in closed control loops. </dd>
      </dl>
      <t indent="0" pn="section-4-3">Existing technologies are ready for Stages 0 and 1. Individual applications for Stages 2 and 3 are also possible now. However, the future autonomic networks may need a comprehensive operation management system that works at Stages 2 and 3 to cover all the network operation tasks. A well-defined network telemetry framework is the first step towards this direction. </t>
    </section>
    <section anchor="Security" numbered="true" toc="include" removeInRFC="false" pn="section-5">
      <name slugifiedName="name-security-considerations">Security Considerations</name>
      <t indent="0" pn="section-5-1">The complexity of network telemetry raises significant security implications. For example, telemetry data can be manipulated to exhaust various network resources at each plane as well as the data consumer; falsified or tampered data can mislead the decision-making process and paralyze networks; and wrong configuration and programming for telemetry is equally harmful. The telemetry data is highly sensitive, which exposes a lot of information about the network and its configuration. Some of that information can make designing attacks against the network much easier (e.g., exact details of what software and patches have been installed) and allows an attacker to determine whether a device may be subject to unprotected security vulnerabilities.</t>
      <t indent="0" pn="section-5-2">Given that this document has proposed a framework for network telemetry and the telemetry mechanisms discussed are more extensive (in both message frequency and traffic amount) than the conventional network OAM concepts, we must also anticipate that new security considerations that may also arise. A number of techniques already exist for securing the forwarding plane, control plane, and management plane in a network, but it is important to consider if any new threat vectors are now being enabled via the use of network telemetry procedures and mechanisms. </t>
      <t indent="0" pn="section-5-3">This document proposes a conceptual architectural for collecting, transporting, and analyzing a wide variety of data sources in support of network applications. The protocols, data formats, and configurations chosen to implement this framework will dictate the specific security considerations. These considerations may include:</t>
      <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-5-4">
        <li pn="section-5-4.1">Telemetry framework trust and policy models;</li>
        <li pn="section-5-4.2">Role management and access control for enabling and disabling telemetry capabilities;</li>
        <li pn="section-5-4.3">Protocol transport used for telemetry data and its inherent security capabilities;</li>
        <li pn="section-5-4.4">Telemetry data stores, storage encryption, methods of access, and retention practices;</li>
        <li pn="section-5-4.5">Tracking telemetry events and any abnormalities that might identify malicious attacks using telemetry interfaces.</li>
        <li pn="section-5-4.6">Authentication and integrity protection of telemetry data to make data more trustworthy; and </li>
        <li pn="section-5-4.7">Segregating the telemetry data traffic from the data traffic carried over the network (e.g., historically management access and management data may be carried via an independent management network).</li>
      </ul>
      <t indent="0" pn="section-5-5">Some security considerations highlighted above may be minimized or negated with policy management of network telemetry. In a network telemetry deployment, it would be advantageous to separate telemetry capabilities into different classes of policies, i.e., Role-Based Access Control and Event-Condition-Action policies. Also, potential conflicts between network telemetry mechanisms must be detected accurately and resolved quickly to avoid unnecessary network telemetry traffic propagation escalating into an unintended or intended denial-of-service attack.</t>
      <t indent="0" pn="section-5-6">Further study of the security issues will be required, and it is expected that the security mechanisms and protocols are developed and deployed along with a network telemetry system.</t>
    </section>
    <section anchor="IANA" numbered="true" toc="include" removeInRFC="false" pn="section-6">
      <name slugifiedName="name-iana-considerations">IANA Considerations</name>
      <t indent="0" pn="section-6-1">This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-netconf-distributed-notif" to="NETCONF-DISTRIB-NOTIF"/>
    <displayreference target="I-D.ietf-netconf-udp-notif" to="NETCONF-UDP-NOTIF"/>
    <displayreference target="I-D.song-ippm-postcard-based-telemetry" to="IPPM-POSTCARD-BASED-TELEMETRY"/>
    <displayreference target="I-D.song-opsawg-ifit-framework" to="OPSAWG-IFIT-FRAMEWORK"/>
    <displayreference target="I-D.irtf-nmrg-ibn-concepts-definitions" to="NMRG-IBN-CONCEPTS-DEFINITIONS"/>
    <displayreference target="I-D.ietf-netmod-eca-policy" to="NETMOD-ECA-POLICY"/>
    <references pn="section-7">
      <name slugifiedName="name-informative-references">Informative References</name>
      <reference anchor="gnmi" target="https://datatracker.ietf.org/meeting/98/materials/slides-98-rtgwg-gnmi-intro-draft-openconfig-rtgwg-gnmi-spec-00" quoteTitle="true" derivedAnchor="gnmi">
        <front>
          <title>gRPC Network Management Interface</title>
          <author initials="R." surname="Shakir" fullname="Rob Shakir">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Shaikh" fullname="Anees Shaikh">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="P." surname="Borman" fullname="Paul Borman">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Hines" fullname="Marcus Hines">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Lebsack" fullname="Carl Lebsack">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Marrow" fullname="Chris Morrow">
            <organization showOnFrontPage="true"/>
          </author>
          <date month="March" year="2017"/>
        </front>
        <refcontent>IETF 98</refcontent>
      </reference>
      <reference anchor="gpb" target="https://developers.google.com/protocol-buffers" quoteTitle="true" derivedAnchor="gpb">
        <front>
          <title>Protocol Buffers</title>
          <author>
            <organization showOnFrontPage="true">Google Developers</organization>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="grpc" target="https://grpc.io" quoteTitle="true" derivedAnchor="grpc">
        <front>
          <title>gPPC: A high performance, open source universal RPC framework</title>
          <author>
            <organization showOnFrontPage="true">gRPC</organization>
          </author>
          <date/>
        </front>
      </reference>
      <reference anchor="IPPM-IOAM-DIRECT-EXPORT" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-ippm-ioam-direct-export-07" derivedAnchor="IPPM-IOAM-DIRECT-EXPORT">
        <front>
          <title>In-situ OAM Direct Exporting</title>
          <author fullname="Haoyu Song">
            <organization showOnFrontPage="true">Futurewei</organization>
          </author>
          <author fullname="Barak Gafni">
            <organization showOnFrontPage="true">Nvidia</organization>
          </author>
          <author fullname="Tianran Zhou">
            <organization showOnFrontPage="true">Huawei</organization>
          </author>
          <author fullname="Zhenbin Li">
            <organization showOnFrontPage="true">Huawei</organization>
          </author>
          <author fullname="Frank Brockners">
            <organization showOnFrontPage="true">Cisco</organization>
          </author>
          <author fullname="Shwetha Bhandari" role="editor">
            <organization showOnFrontPage="true">Thoughtspot</organization>
          </author>
          <author fullname="Ramesh Sivakolundu">
            <organization showOnFrontPage="true">Cisco</organization>
          </author>
          <author fullname="Tal Mizrahi" role="editor">
            <organization showOnFrontPage="true">Huawei</organization>
          </author>
          <date month="October" day="13" year="2021"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-ippm-ioam-direct-export-07"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="I-D.song-ippm-postcard-based-telemetry" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-song-ippm-postcard-based-telemetry-12" derivedAnchor="IPPM-POSTCARD-BASED-TELEMETRY">
        <front>
          <title>In-Situ OAM Marking-based Direct Export</title>
          <author fullname="Haoyu Song">
            <organization showOnFrontPage="true">Futurewei Technologies</organization>
          </author>
          <author fullname="Greg Mirsky">
            <organization showOnFrontPage="true">Ericsson</organization>
          </author>
          <author fullname="Clarence Filsfils">
            <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
          </author>
          <author fullname="Ahmed Abdelsalam">
            <organization showOnFrontPage="true">Cisco Systems, Inc.</organization>
          </author>
          <author fullname="Tianran Zhou">
            <organization showOnFrontPage="true">Huawei</organization>
          </author>
          <author fullname="Zhenbin Li">
            <organization showOnFrontPage="true">Huawei</organization>
          </author>
          <author fullname="Gyan Mishra">
            <organization showOnFrontPage="true">Verizon Inc.</organization>
          </author>
          <author fullname="Jongyoon Shin">
            <organization showOnFrontPage="true">SK Telecom</organization>
          </author>
          <author fullname="Kyungtae Lee">
            <organization showOnFrontPage="true">LG U+</organization>
          </author>
          <date month="May" day="12" year="2022"/>
          <abstract>
            <t indent="0">   The document describes a packet-marking variation of the IOAM DEX
   option, referred to as IOAM Marking.  Similar to IOAM DEX, IOAM
   Marking does not carry the telemetry data in user packets but send
   the telemetry data through a dedicated packet.  Unlike IOAM DEX, IOAM
   Marking does not require an extra instruction header.  IOAM Marking
   raises some unique issues that need to be considered.  This document
   formally describes the high level scheme and cover the common
   requirements and issues when applying IOAM Marking in different
   networks.  IOAM Marking is complementary to the other on-path
   telemetry schemes such as IOAM trace and E2E options.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-song-ippm-postcard-based-telemetry-12"/>
        <format type="TXT" target="https://www.ietf.org/archive/id/draft-song-ippm-postcard-based-telemetry-12.txt"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="I-D.ietf-netconf-distributed-notif" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-netconf-distributed-notif-03" derivedAnchor="NETCONF-DISTRIB-NOTIF">
        <front>
          <title>Subscription to Distributed Notifications</title>
          <author fullname="Tianran Zhou">
            <organization showOnFrontPage="true">Huawei</organization>
          </author>
          <author fullname="Guangying Zheng">
            <organization showOnFrontPage="true">Huawei</organization>
          </author>
          <author fullname="Eric Voit">
            <organization showOnFrontPage="true">Cisco Systems</organization>
          </author>
          <author fullname="Thomas Graf">
            <organization showOnFrontPage="true">Swisscom</organization>
          </author>
          <author fullname="Pierre Francois">
            <organization showOnFrontPage="true">INSA-Lyon</organization>
          </author>
          <date month="January" day="10" year="2022"/>
          <abstract>
            <t indent="0">   This document describes extensions to the YANG notifications
   subscription to allow metrics being published directly from
   processors on line cards to target receivers, while subscription is
   still maintained at the route processor in a distributed forwarding
   system.


            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-distributed-notif-03"/>
        <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-netconf-distributed-notif-03.txt"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="I-D.ietf-netconf-udp-notif" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-netconf-udp-notif-05" derivedAnchor="NETCONF-UDP-NOTIF">
        <front>
          <title>UDP-based Transport for Configured Subscriptions</title>
          <author fullname="Guangying Zheng">
            <organization showOnFrontPage="true">Huawei</organization>
          </author>
          <author fullname="Tianran Zhou">
            <organization showOnFrontPage="true">Huawei</organization>
          </author>
          <author fullname="Thomas Graf">
            <organization showOnFrontPage="true">Swisscom</organization>
          </author>
          <author fullname="Pierre Francois">
            <organization showOnFrontPage="true">INSA-Lyon</organization>
          </author>
          <author fullname="Alex Huang Feng">
            <organization showOnFrontPage="true">INSA-Lyon</organization>
          </author>
          <author fullname="Paolo Lucente">
            <organization showOnFrontPage="true">NTT</organization>
          </author>
          <date month="March" day="4" year="2022"/>
          <abstract>
            <t indent="0">   This document describes an UDP-based notification mechanism to
   collect data from networking devices.  A shim header is proposed to
   facilitate the data streaming directly from the publishing process on
   network processor of line cards to receivers.  The objective is to
   provide a lightweight approach to enable higher frequency and less
   performance impact on publisher and receiver processes compared to
   already established notification mechanisms.


            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-udp-notif-05"/>
        <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-netconf-udp-notif-05.txt"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="I-D.ietf-netmod-eca-policy" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-ietf-netmod-eca-policy-01" derivedAnchor="NETMOD-ECA-POLICY">
        <front>
          <title>A YANG Data model for ECA Policy Management</title>
          <author fullname="Qin Wu">
            <organization showOnFrontPage="true">Huawei</organization>
          </author>
          <author fullname="Igor Bryskin">
            <organization showOnFrontPage="true">Individual</organization>
          </author>
          <author fullname="Henk Birkholz">
            <organization showOnFrontPage="true">Fraunhofer SIT</organization>
          </author>
          <author fullname="Xufeng Liu">
            <organization showOnFrontPage="true">Volta Networks</organization>
          </author>
          <author fullname="Benoit Claise">
            <organization showOnFrontPage="true">Cisco</organization>
          </author>
          <date month="February" day="19" year="2021"/>
          <abstract>
            <t indent="0">   This document defines a YANG data model for Event Condition Action
   (ECA) policy management.  The ECA policy YANG module provides the
   ability to delegate some network management functions to the server
   (e.g., a NETCONF or RESTCONF server) which can take simple and
   instant action when a trigger condition on the managed objects is
   met.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-netmod-eca-policy-01"/>
        <format type="TXT" target="https://www.ietf.org/archive/id/draft-ietf-netmod-eca-policy-01.txt"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="NMRG-ANTICIPATED-ADAPTATION" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-pedro-nmrg-anticipated-adaptation-02" derivedAnchor="NMRG-ANTICIPATED-ADAPTATION">
        <front>
          <title>Exploiting External Event Detectors to Anticipate Resource Requirements for the Elastic Adaptation of SDN/NFV Systems</title>
          <author fullname="Pedro Martinez-Julia" role="editor">
            <organization showOnFrontPage="true">NICT</organization>
          </author>
          <date month="June" day="29" year="2018"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-pedro-nmrg-anticipated-adaptation-02"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="I-D.irtf-nmrg-ibn-concepts-definitions" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-irtf-nmrg-ibn-concepts-definitions-09" derivedAnchor="NMRG-IBN-CONCEPTS-DEFINITIONS">
        <front>
          <title>Intent-Based Networking - Concepts and Definitions</title>
          <author fullname="Alexander Clemm">
            <organization showOnFrontPage="true">Futurewei</organization>
          </author>
          <author fullname="Laurent Ciavaglia">
            <organization showOnFrontPage="true">Rakuten Mobile</organization>
          </author>
          <author fullname="Lisandro Zambenedetti Granville">
            <organization showOnFrontPage="true">Federal University of Rio Grande do Sul (UFRGS)</organization>
          </author>
          <author fullname="Jeff Tantsura">
            <organization showOnFrontPage="true">Microsoft</organization>
          </author>
          <date month="March" day="24" year="2022"/>
          <abstract>
            <t indent="0">   Intent and Intent-Based Networking (IBN) are taking the industry by
   storm.  At the same time, IBN-related terms are often used loosely
   and inconsistently, in many cases overlapping and confused with other
   concepts such as "Policy."  This document clarifies the concept of
   "Intent" and provides an overview of the functionality that is
   associated with it.  The goal is to contribute towards a common and
   shared understanding of terms, concepts, and functionality that can
   be used as the foundation to guide further definition of associated
   research and engineering problems and their solutions.

   This document is a product of the IRTF Network Management Research
   Group (NMRG).  It reflects the consensus of the research group,
   having received many detailed and positive reviews by RG
   participants.  It is published for informational purposes.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-irtf-nmrg-ibn-concepts-definitions-09"/>
        <format type="TXT" target="https://www.ietf.org/archive/id/draft-irtf-nmrg-ibn-concepts-definitions-09.txt"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="OPSAWG-DNP4IQ" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-song-opsawg-dnp4iq-01" derivedAnchor="OPSAWG-DNP4IQ">
        <front>
          <title>Requirements for Interactive Query with Dynamic Network Probes</title>
          <author fullname="Haoyu Song" role="editor">
            <organization showOnFrontPage="true">Huawei Technologies Co., Ltd</organization>
          </author>
          <author fullname="Jun Gong">
            <organization showOnFrontPage="true">Huawei Technologies Co., Ltd</organization>
          </author>
          <date month="June" day="19" year="2017"/>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-song-opsawg-dnp4iq-01"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="I-D.song-opsawg-ifit-framework" quoteTitle="true" target="https://datatracker.ietf.org/doc/html/draft-song-opsawg-ifit-framework-17" derivedAnchor="OPSAWG-IFIT-FRAMEWORK">
        <front>
          <title>A Framework for In-situ Flow Information Telemetry</title>
          <author fullname="Haoyu Song">
            <organization showOnFrontPage="true">Futurewei</organization>
          </author>
          <author fullname="Fengwei Qin">
            <organization showOnFrontPage="true">China Mobile</organization>
          </author>
          <author fullname="Huanan Chen">
            <organization showOnFrontPage="true">China Telecom</organization>
          </author>
          <author fullname="Jaehwan Jin">
            <organization showOnFrontPage="true">LG U+</organization>
          </author>
          <author fullname="Jongyoon Shin">
            <organization showOnFrontPage="true">SK Telecom</organization>
          </author>
          <date month="February" day="22" year="2022"/>
          <abstract>
            <t indent="0">   As network scale increases and network operation becomes more
   sophisticated, existing Operation, Administration, and Maintenance
   (OAM) methods are no longer sufficient to meet the monitoring and
   measurement requirements.  Emerging data-plane on-path telemetry
   techniques which provide high-precision flow insight and which issue
   notifications in real time can supplement existing proactive and
   reactive methods that run in active and passive modes.  These new
   approaches are collectively known as in-situ flow information
   telemetry (IFIT).  They enable quality of experience for users and
   applications, and identification of network faults and deficiencies.

   This document outlines a high-level framework for IFIT to collect and
   correlate performance measurement information from the network.  It
   identifies the components that coordinate existing protocol tools and
   telemetry mechanisms, and addresses deployment challenges for flow-
   oriented on-path telemetry techniques, especially in carrier
   networks.

   The document is a guide for system designers applying the referenced
   techniques.  It is also intended to motivate further work to enhance
   the OAM ecosystem.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-song-opsawg-ifit-framework-17"/>
        <format type="TXT" target="https://www.ietf.org/archive/id/draft-song-opsawg-ifit-framework-17.txt"/>
        <refcontent>Work in Progress</refcontent>
      </reference>
      <reference anchor="RFC1157" target="https://www.rfc-editor.org/info/rfc1157" quoteTitle="true" derivedAnchor="RFC1157">
        <front>
          <title>Simple Network Management Protocol (SNMP)</title>
          <author initials="J.D." surname="Case" fullname="J.D. Case">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Fedor" fullname="M. Fedor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M.L." surname="Schoffstall" fullname="M.L. Schoffstall">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Davin" fullname="J. Davin">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="1990" month="May"/>
          <abstract>
            <t indent="0">This RFC is a re-release of RFC 1098, with a changed "Status of this Memo" section plus a few minor typographical corrections.  This memo defines a simple protocol by which management information for a network element may be inspected or altered by logically remote users. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="1157"/>
        <seriesInfo name="DOI" value="10.17487/RFC1157"/>
      </reference>
      <reference anchor="RFC2578" target="https://www.rfc-editor.org/info/rfc2578" quoteTitle="true" derivedAnchor="RFC2578">
        <front>
          <title>Structure of Management Information Version 2 (SMIv2)</title>
          <author initials="K." surname="McCloghrie" fullname="K. McCloghrie" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="D." surname="Perkins" fullname="D. Perkins" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Schoenwaelder" fullname="J. Schoenwaelder" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="1999" month="April"/>
          <abstract>
            <t indent="0">It is the purpose of this document, the Structure of Management Information Version 2 (SMIv2), to define that adapted subset, and to assign a set of associated administrative values.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="58"/>
        <seriesInfo name="RFC" value="2578"/>
        <seriesInfo name="DOI" value="10.17487/RFC2578"/>
      </reference>
      <reference anchor="RFC2981" target="https://www.rfc-editor.org/info/rfc2981" quoteTitle="true" derivedAnchor="RFC2981">
        <front>
          <title>Event MIB</title>
          <author initials="R." surname="Kavasseri" fullname="R. Kavasseri" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2000" month="October"/>
          <abstract>
            <t indent="0">This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community.  In particular, it describes managed objects that can be used to manage and monitor MIB objects and take action through events.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2981"/>
        <seriesInfo name="DOI" value="10.17487/RFC2981"/>
      </reference>
      <reference anchor="RFC3176" target="https://www.rfc-editor.org/info/rfc3176" quoteTitle="true" derivedAnchor="RFC3176">
        <front>
          <title>InMon Corporation's sFlow: A Method for Monitoring Traffic in Switched and Routed Networks</title>
          <author initials="P." surname="Phaal" fullname="P. Phaal">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Panchen" fullname="S. Panchen">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="N." surname="McKee" fullname="N. McKee">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2001" month="September"/>
          <abstract>
            <t indent="0">This memo defines InMon Corporation's sFlow system.  sFlow is a technology for monitoring traffic in data networks containing switches and routers.  In particular, it defines the sampling mechanisms implemented in an sFlow Agent for monitoring traffic, the sFlow MIB for controlling the sFlow Agent, and the format of sample data used by the sFlow Agent when forwarding data to a central data collector.  This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3176"/>
        <seriesInfo name="DOI" value="10.17487/RFC3176"/>
      </reference>
      <reference anchor="RFC3411" target="https://www.rfc-editor.org/info/rfc3411" quoteTitle="true" derivedAnchor="RFC3411">
        <front>
          <title>An Architecture for Describing Simple Network Management Protocol (SNMP) Management Frameworks</title>
          <author initials="D." surname="Harrington" fullname="D. Harrington">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Presuhn" fullname="R. Presuhn">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Wijnen" fullname="B. Wijnen">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2002" month="December"/>
          <abstract>
            <t indent="0">This document describes an architecture for describing Simple Network Management Protocol (SNMP) Management Frameworks.  The architecture is designed to be modular to allow the evolution of the SNMP protocol standards over time.  The major portions of the architecture are an SNMP engine containing a Message Processing Subsystem, a Security Subsystem and an Access Control Subsystem, and possibly multiple SNMP applications which provide specific functional processing of management data.  This document obsoletes RFC 2571.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="62"/>
        <seriesInfo name="RFC" value="3411"/>
        <seriesInfo name="DOI" value="10.17487/RFC3411"/>
      </reference>
      <reference anchor="RFC3416" target="https://www.rfc-editor.org/info/rfc3416" quoteTitle="true" derivedAnchor="RFC3416">
        <front>
          <title>Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP)</title>
          <author initials="R." surname="Presuhn" fullname="R. Presuhn" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2002" month="December"/>
          <abstract>
            <t indent="0">This document defines version 2 of the protocol operations for the Simple Network Management Protocol (SNMP).  It defines the syntax and elements of procedure for sending, receiving, and processing SNMP PDUs. This document obsoletes RFC 1905.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="62"/>
        <seriesInfo name="RFC" value="3416"/>
        <seriesInfo name="DOI" value="10.17487/RFC3416"/>
      </reference>
      <reference anchor="RFC3877" target="https://www.rfc-editor.org/info/rfc3877" quoteTitle="true" derivedAnchor="RFC3877">
        <front>
          <title>Alarm Management Information Base (MIB)</title>
          <author initials="S." surname="Chisholm" fullname="S. Chisholm">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="D." surname="Romascanu" fullname="D. Romascanu">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2004" month="September"/>
          <abstract>
            <t indent="0">This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community.  In particular, it describes management objects used for modelling and storing alarms.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3877"/>
        <seriesInfo name="DOI" value="10.17487/RFC3877"/>
      </reference>
      <reference anchor="RFC3954" target="https://www.rfc-editor.org/info/rfc3954" quoteTitle="true" derivedAnchor="RFC3954">
        <front>
          <title>Cisco Systems NetFlow Services Export Version 9</title>
          <author initials="B." surname="Claise" fullname="B. Claise" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2004" month="October"/>
          <abstract>
            <t indent="0">This document specifies the data export format for version 9 of Cisco Systems' NetFlow services, for use by implementations on the network elements and/or matching collector programs.  The version 9 export format uses templates to provide access to observations of IP packet flows in a flexible and extensible manner.  A template defines a collection of fields, with corresponding descriptions of structure and semantics.  This memo provides information for the Internet community.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="3954"/>
        <seriesInfo name="DOI" value="10.17487/RFC3954"/>
      </reference>
      <reference anchor="RFC4656" target="https://www.rfc-editor.org/info/rfc4656" quoteTitle="true" derivedAnchor="RFC4656">
        <front>
          <title>A One-way Active Measurement Protocol (OWAMP)</title>
          <author initials="S." surname="Shalunov" fullname="S. Shalunov">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Teitelbaum" fullname="B. Teitelbaum">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Karp" fullname="A. Karp">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Boote" fullname="J. Boote">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Zekauskas" fullname="M. Zekauskas">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2006" month="September"/>
          <abstract>
            <t indent="0">The One-Way Active Measurement Protocol (OWAMP) measures unidirectional characteristics such as one-way delay and one-way loss.  High-precision measurement of these one-way IP performance metrics became possible with wider availability of good time sources (such as GPS and CDMA).  OWAMP enables the interoperability of these measurements.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="4656"/>
        <seriesInfo name="DOI" value="10.17487/RFC4656"/>
      </reference>
      <reference anchor="RFC5085" target="https://www.rfc-editor.org/info/rfc5085" quoteTitle="true" derivedAnchor="RFC5085">
        <front>
          <title>Pseudowire Virtual Circuit Connectivity Verification (VCCV): A Control Channel for Pseudowires</title>
          <author initials="T." surname="Nadeau" fullname="T. Nadeau" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Pignataro" fullname="C. Pignataro" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2007" month="December"/>
          <abstract>
            <t indent="0">This document describes Virtual Circuit Connectivity Verification (VCCV), which provides a control channel that is associated with a pseudowire (PW), as well as the corresponding operations and management functions (such as connectivity verification) to be used over that control channel.  VCCV applies to all supported access circuit and transport types currently defined for PWs.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5085"/>
        <seriesInfo name="DOI" value="10.17487/RFC5085"/>
      </reference>
      <reference anchor="RFC5357" target="https://www.rfc-editor.org/info/rfc5357" quoteTitle="true" derivedAnchor="RFC5357">
        <front>
          <title>A Two-Way Active Measurement Protocol (TWAMP)</title>
          <author initials="K." surname="Hedayat" fullname="K. Hedayat">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Krzanowski" fullname="R. Krzanowski">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Morton" fullname="A. Morton">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="K." surname="Yum" fullname="K. Yum">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Babiarz" fullname="J. Babiarz">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2008" month="October"/>
          <abstract>
            <t indent="0">The One-way Active Measurement Protocol (OWAMP), specified in RFC 4656, provides a common protocol for measuring one-way metrics between network devices.  OWAMP can be used bi-directionally to measure one-way metrics in both directions between two network elements.  However, it does not accommodate round-trip or two-way measurements.  This memo specifies a Two-Way Active Measurement Protocol (TWAMP), based on the OWAMP, that adds two-way or round-trip measurement capabilities.  The TWAMP measurement architecture is usually comprised of two hosts with specific roles, and this allows for some protocol simplifications, making it an attractive alternative in some circumstances.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5357"/>
        <seriesInfo name="DOI" value="10.17487/RFC5357"/>
      </reference>
      <reference anchor="RFC5424" target="https://www.rfc-editor.org/info/rfc5424" quoteTitle="true" derivedAnchor="RFC5424">
        <front>
          <title>The Syslog Protocol</title>
          <author initials="R." surname="Gerhards" fullname="R. Gerhards">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2009" month="March"/>
          <abstract>
            <t indent="0">This document describes the syslog protocol, which is used to convey event notification messages.  This protocol utilizes a layered architecture, which allows the use of any number of transport protocols for transmission of syslog messages.  It also provides a message format that allows vendor-specific extensions to be provided in a structured way.</t>
            <t indent="0">This document has been written with the original design goals for traditional syslog in mind.  The need for a new layered specification has arisen because standardization efforts for reliable and secure syslog extensions suffer from the lack of a Standards-Track and transport-independent RFC.  Without this document, each other standard needs to define its own syslog packet format and transport mechanism, which over time will introduce subtle compatibility issues.  This document tries to provide a foundation that syslog extensions can build on.  This layered architecture approach also provides a solid basis that allows code to be written once for each syslog feature rather than once for each transport.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="5424"/>
        <seriesInfo name="DOI" value="10.17487/RFC5424"/>
      </reference>
      <reference anchor="RFC6020" target="https://www.rfc-editor.org/info/rfc6020" quoteTitle="true" derivedAnchor="RFC6020">
        <front>
          <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
          <author initials="M." surname="Bjorklund" fullname="M. Bjorklund" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2010" month="October"/>
          <abstract>
            <t indent="0">YANG is a data modeling language used to model configuration and state data manipulated by the Network Configuration Protocol (NETCONF), NETCONF remote procedure calls, and NETCONF notifications. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6020"/>
        <seriesInfo name="DOI" value="10.17487/RFC6020"/>
      </reference>
      <reference anchor="RFC6241" target="https://www.rfc-editor.org/info/rfc6241" quoteTitle="true" derivedAnchor="RFC6241">
        <front>
          <title>Network Configuration Protocol (NETCONF)</title>
          <author initials="R." surname="Enns" fullname="R. Enns" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Bjorklund" fullname="M. Bjorklund" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Schoenwaelder" fullname="J. Schoenwaelder" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Bierman" fullname="A. Bierman" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2011" month="June"/>
          <abstract>
            <t indent="0">The Network Configuration Protocol (NETCONF) defined in this document provides mechanisms to install, manipulate, and delete the configuration of network devices.  It uses an Extensible Markup Language (XML)-based data encoding for the configuration data as well as the protocol messages.  The NETCONF protocol operations are realized as remote procedure calls (RPCs).  This document obsoletes RFC 4741.  [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6241"/>
        <seriesInfo name="DOI" value="10.17487/RFC6241"/>
      </reference>
      <reference anchor="RFC6812" target="https://www.rfc-editor.org/info/rfc6812" quoteTitle="true" derivedAnchor="RFC6812">
        <front>
          <title>Cisco Service-Level Assurance Protocol</title>
          <author initials="M." surname="Chiba" fullname="M. Chiba">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Clemm" fullname="A. Clemm">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Medley" fullname="S. Medley">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Salowey" fullname="J. Salowey">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Thombare" fullname="S. Thombare">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="E." surname="Yedavalli" fullname="E. Yedavalli">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2013" month="January"/>
          <abstract>
            <t indent="0">Cisco's Service-Level Assurance Protocol (Cisco's SLA Protocol) is a Performance Measurement protocol that has been widely deployed.  The protocol is used to measure service-level parameters such as network latency, delay variation, and packet/frame loss.  This document describes the Cisco SLA Protocol Measurement-Type UDP-Measurement, to enable vendor interoperability.  This document is not an Internet Standards Track  specification; it is published for informational purposes.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="6812"/>
        <seriesInfo name="DOI" value="10.17487/RFC6812"/>
      </reference>
      <reference anchor="RFC7011" target="https://www.rfc-editor.org/info/rfc7011" quoteTitle="true" derivedAnchor="RFC7011">
        <front>
          <title>Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of Flow Information</title>
          <author initials="B." surname="Claise" fullname="B. Claise" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Trammell" fullname="B. Trammell" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="P." surname="Aitken" fullname="P. Aitken">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2013" month="September"/>
          <abstract>
            <t indent="0">This document specifies the IP Flow Information Export (IPFIX) protocol, which serves as a means for transmitting Traffic Flow information over the network.  In order to transmit Traffic Flow information from an Exporting Process to a Collecting Process, a common representation of flow data and a standard means of communicating them are required.  This document describes how the IPFIX Data and Template Records are carried over a number of transport protocols from an IPFIX Exporting Process to an IPFIX Collecting Process.  This document obsoletes RFC 5101.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="77"/>
        <seriesInfo name="RFC" value="7011"/>
        <seriesInfo name="DOI" value="10.17487/RFC7011"/>
      </reference>
      <reference anchor="RFC7258" target="https://www.rfc-editor.org/info/rfc7258" quoteTitle="true" derivedAnchor="RFC7258">
        <front>
          <title>Pervasive Monitoring Is an Attack</title>
          <author initials="S." surname="Farrell" fullname="S. Farrell">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="H." surname="Tschofenig" fullname="H. Tschofenig">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2014" month="May"/>
          <abstract>
            <t indent="0">Pervasive monitoring is a technical attack that should be mitigated in the design of IETF protocols, where possible.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="188"/>
        <seriesInfo name="RFC" value="7258"/>
        <seriesInfo name="DOI" value="10.17487/RFC7258"/>
      </reference>
      <reference anchor="RFC7276" target="https://www.rfc-editor.org/info/rfc7276" quoteTitle="true" derivedAnchor="RFC7276">
        <front>
          <title>An Overview of Operations, Administration, and Maintenance (OAM) Tools</title>
          <author initials="T." surname="Mizrahi" fullname="T. Mizrahi">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="N." surname="Sprecher" fullname="N. Sprecher">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="E." surname="Bellagamba" fullname="E. Bellagamba">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="Y." surname="Weingarten" fullname="Y. Weingarten">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2014" month="June"/>
          <abstract>
            <t indent="0">Operations, Administration, and Maintenance (OAM) is a general term that refers to a toolset for fault detection and isolation, and for performance measurement.  Over the years, various OAM tools have been defined for various layers in the protocol stack.</t>
            <t indent="0">This document summarizes some of the OAM tools defined in the IETF in the context of IP unicast, MPLS, MPLS Transport Profile (MPLS-TP), pseudowires, and Transparent Interconnection of Lots of Links (TRILL). This document focuses on tools for detecting and isolating failures in networks and for performance monitoring. Control and management aspects of OAM are outside the scope of this document.  Network repair functions such as Fast Reroute (FRR) and protection switching, which are often triggered by OAM protocols, are also out of the scope of this document.</t>
            <t indent="0">The target audience of this document includes network equipment vendors, network operators, and standards development organizations. This document can be used as an index to some of the main OAM tools  defined in the IETF.  At the end of the document, a list of the OAM toolsets and a list of the OAM functions are presented as a summary.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7276"/>
        <seriesInfo name="DOI" value="10.17487/RFC7276"/>
      </reference>
      <reference anchor="RFC7540" target="https://www.rfc-editor.org/info/rfc7540" quoteTitle="true" derivedAnchor="RFC7540">
        <front>
          <title>Hypertext Transfer Protocol Version 2 (HTTP/2)</title>
          <author initials="M." surname="Belshe" fullname="M. Belshe">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Peon" fullname="R. Peon">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Thomson" fullname="M. Thomson" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2015" month="May"/>
          <abstract>
            <t indent="0">This specification describes an optimized expression of the semantics of the Hypertext Transfer Protocol (HTTP), referred to as HTTP version 2 (HTTP/2).  HTTP/2 enables a more efficient use of network resources and a reduced perception of latency by introducing header field compression and allowing multiple concurrent exchanges on the same connection.  It also introduces unsolicited push of representations from servers to clients.</t>
            <t indent="0">This specification is an alternative to, but does not obsolete, the HTTP/1.1 message syntax.  HTTP's existing semantics remain unchanged.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7540"/>
        <seriesInfo name="DOI" value="10.17487/RFC7540"/>
      </reference>
      <reference anchor="RFC7575" target="https://www.rfc-editor.org/info/rfc7575" quoteTitle="true" derivedAnchor="RFC7575">
        <front>
          <title>Autonomic Networking: Definitions and Design Goals</title>
          <author initials="M." surname="Behringer" fullname="M. Behringer">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Pritikin" fullname="M. Pritikin">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Bjarnason" fullname="S. Bjarnason">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Clemm" fullname="A. Clemm">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="B." surname="Carpenter" fullname="B. Carpenter">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Jiang" fullname="S. Jiang">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="L." surname="Ciavaglia" fullname="L. Ciavaglia">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2015" month="June"/>
          <abstract>
            <t indent="0">Autonomic systems were first described in 2001.  The fundamental goal is self-management, including self-configuration, self-optimization, self-healing, and self-protection.  This is achieved by an autonomic function having minimal dependencies on human administrators or centralized management systems.  It usually implies distribution across network elements.</t>
            <t indent="0">This document defines common language and outlines design goals (and what are not design goals) for autonomic functions.  A high-level reference model illustrates how functional elements in an Autonomic Network interact.  This document is a product of the IRTF's Network Management Research Group.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7575"/>
        <seriesInfo name="DOI" value="10.17487/RFC7575"/>
      </reference>
      <reference anchor="RFC7799" target="https://www.rfc-editor.org/info/rfc7799" quoteTitle="true" derivedAnchor="RFC7799">
        <front>
          <title>Active and Passive Metrics and Methods (with Hybrid Types In-Between)</title>
          <author initials="A." surname="Morton" fullname="A. Morton">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2016" month="May"/>
          <abstract>
            <t indent="0">This memo provides clear definitions for Active and Passive performance assessment.  The construction of Metrics and Methods can be described as either "Active" or "Passive".  Some methods may use a subset of both Active and Passive attributes, and we refer to these as "Hybrid Methods".  This memo also describes multiple dimensions to help evaluate new methods as they emerge.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7799"/>
        <seriesInfo name="DOI" value="10.17487/RFC7799"/>
      </reference>
      <reference anchor="RFC7854" target="https://www.rfc-editor.org/info/rfc7854" quoteTitle="true" derivedAnchor="RFC7854">
        <front>
          <title>BGP Monitoring Protocol (BMP)</title>
          <author initials="J." surname="Scudder" fullname="J. Scudder" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Fernando" fullname="R. Fernando">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Stuart" fullname="S. Stuart">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2016" month="June"/>
          <abstract>
            <t indent="0">This document defines the BGP Monitoring Protocol (BMP), which can be used to monitor BGP sessions.  BMP is intended to provide a convenient interface for obtaining route views.  Prior to the introduction of BMP, screen scraping was the most commonly used approach to obtaining such views.  The design goals are to keep BMP simple, useful, easily implemented, and minimally service affecting. BMP is not suitable for use as a routing protocol.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7854"/>
        <seriesInfo name="DOI" value="10.17487/RFC7854"/>
      </reference>
      <reference anchor="RFC7950" target="https://www.rfc-editor.org/info/rfc7950" quoteTitle="true" derivedAnchor="RFC7950">
        <front>
          <title>The YANG 1.1 Data Modeling Language</title>
          <author initials="M." surname="Bjorklund" fullname="M. Bjorklund" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2016" month="August"/>
          <abstract>
            <t indent="0">YANG is a data modeling language used to model configuration data, state data, Remote Procedure Calls, and notifications for network management protocols.  This document describes the syntax and semantics of version 1.1 of the YANG language.  YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification.  There are a small number of backward incompatibilities from YANG version 1.  This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7950"/>
        <seriesInfo name="DOI" value="10.17487/RFC7950"/>
      </reference>
      <reference anchor="RFC8040" target="https://www.rfc-editor.org/info/rfc8040" quoteTitle="true" derivedAnchor="RFC8040">
        <front>
          <title>RESTCONF Protocol</title>
          <author initials="A." surname="Bierman" fullname="A. Bierman">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Bjorklund" fullname="M. Bjorklund">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="K." surname="Watsen" fullname="K. Watsen">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="January"/>
          <abstract>
            <t indent="0">This document describes an HTTP-based protocol that provides a programmatic interface for accessing data defined in YANG, using the datastore concepts defined in the Network Configuration Protocol (NETCONF).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8040"/>
        <seriesInfo name="DOI" value="10.17487/RFC8040"/>
      </reference>
      <reference anchor="RFC8084" target="https://www.rfc-editor.org/info/rfc8084" quoteTitle="true" derivedAnchor="RFC8084">
        <front>
          <title>Network Transport Circuit Breakers</title>
          <author initials="G." surname="Fairhurst" fullname="G. Fairhurst">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="March"/>
          <abstract>
            <t indent="0">This document explains what is meant by the term "network transport                          Circuit Breaker".  It describes the need for Circuit Breakers (CBs) for network tunnels and applications when using non-congestion- controlled traffic and explains where CBs are, and are not, needed. It also defines requirements for building a CB and the expected outcomes of using a CB within the Internet.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="208"/>
        <seriesInfo name="RFC" value="8084"/>
        <seriesInfo name="DOI" value="10.17487/RFC8084"/>
      </reference>
      <reference anchor="RFC8085" target="https://www.rfc-editor.org/info/rfc8085" quoteTitle="true" derivedAnchor="RFC8085">
        <front>
          <title>UDP Usage Guidelines</title>
          <author initials="L." surname="Eggert" fullname="L. Eggert">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Fairhurst" fullname="G. Fairhurst">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Shepherd" fullname="G. Shepherd">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="March"/>
          <abstract>
            <t indent="0">The User Datagram Protocol (UDP) provides a minimal message-passing transport that has no inherent congestion control mechanisms.  This document provides guidelines on the use of UDP for the designers of applications, tunnels, and other protocols that use UDP.  Congestion control guidelines are a primary focus, but the document also provides guidance on other topics, including message sizes, reliability, checksums, middlebox traversal, the use of Explicit Congestion Notification (ECN), Differentiated Services Code Points (DSCPs), and ports.</t>
            <t indent="0">Because congestion control is critical to the stable operation of the Internet, applications and other protocols that choose to use UDP as an Internet transport must employ mechanisms to prevent congestion collapse and to establish some degree of fairness with concurrent traffic.  They may also need to implement additional mechanisms, depending on how they use UDP.</t>
            <t indent="0">Some guidance is also applicable to the design of other protocols (e.g., protocols layered directly on IP or via IP-based tunnels), especially when these protocols do not themselves provide congestion control.</t>
            <t indent="0">This document obsoletes RFC 5405 and adds guidelines for multicast UDP usage.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="145"/>
        <seriesInfo name="RFC" value="8085"/>
        <seriesInfo name="DOI" value="10.17487/RFC8085"/>
      </reference>
      <reference anchor="RFC8259" target="https://www.rfc-editor.org/info/rfc8259" quoteTitle="true" derivedAnchor="RFC8259">
        <front>
          <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
          <author initials="T." surname="Bray" fullname="T. Bray" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2017" month="December"/>
          <abstract>
            <t indent="0">JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format.  It was derived from the ECMAScript Programming Language Standard.  JSON defines a small set of formatting rules for the portable representation of structured data.</t>
            <t indent="0">This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
          </abstract>
        </front>
        <seriesInfo name="STD" value="90"/>
        <seriesInfo name="RFC" value="8259"/>
        <seriesInfo name="DOI" value="10.17487/RFC8259"/>
      </reference>
      <reference anchor="RFC8321" target="https://www.rfc-editor.org/info/rfc8321" quoteTitle="true" derivedAnchor="RFC8321">
        <front>
          <title>Alternate-Marking Method for Passive and Hybrid Performance Monitoring</title>
          <author initials="G." surname="Fioccola" fullname="G. Fioccola" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Capello" fullname="A. Capello">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Cociglio" fullname="M. Cociglio">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="L." surname="Castaldelli" fullname="L. Castaldelli">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Chen" fullname="M. Chen">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="L." surname="Zheng" fullname="L. Zheng">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Mirsky" fullname="G. Mirsky">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="T." surname="Mizrahi" fullname="T. Mizrahi">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2018" month="January"/>
          <abstract>
            <t indent="0">This document describes a method to perform packet loss, delay, and jitter measurements on live traffic.  This method is based on an Alternate-Marking (coloring) technique.  A report is provided in order to explain an example and show the method applicability.  This technology can be applied in various situations, as detailed in this document, and could be considered Passive or Hybrid depending on the application.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8321"/>
        <seriesInfo name="DOI" value="10.17487/RFC8321"/>
      </reference>
      <reference anchor="RFC8639" target="https://www.rfc-editor.org/info/rfc8639" quoteTitle="true" derivedAnchor="RFC8639">
        <front>
          <title>Subscription to YANG Notifications</title>
          <author initials="E." surname="Voit" fullname="E. Voit">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Clemm" fullname="A. Clemm">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Gonzalez Prieto" fullname="A. Gonzalez Prieto">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="E." surname="Nilsen-Nygaard" fullname="E. Nilsen-Nygaard">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Tripathy" fullname="A. Tripathy">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2019" month="September"/>
          <abstract>
            <t indent="0">This document defines a YANG data model and associated mechanisms enabling subscriber-specific subscriptions to a publisher's event streams.  Applying these elements allows a subscriber to request and receive a continuous, customized feed of publisher-generated information.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8639"/>
        <seriesInfo name="DOI" value="10.17487/RFC8639"/>
      </reference>
      <reference anchor="RFC8641" target="https://www.rfc-editor.org/info/rfc8641" quoteTitle="true" derivedAnchor="RFC8641">
        <front>
          <title>Subscription to YANG Notifications for Datastore Updates</title>
          <author initials="A." surname="Clemm" fullname="A. Clemm">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="E." surname="Voit" fullname="E. Voit">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2019" month="September"/>
          <abstract>
            <t indent="0">This document describes a mechanism that allows subscriber applications to request a continuous and customized stream of updates from a YANG datastore.  Providing such visibility into updates enables new capabilities based on the remote mirroring and monitoring of configuration and operational state.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8641"/>
        <seriesInfo name="DOI" value="10.17487/RFC8641"/>
      </reference>
      <reference anchor="RFC8671" target="https://www.rfc-editor.org/info/rfc8671" quoteTitle="true" derivedAnchor="RFC8671">
        <front>
          <title>Support for Adj-RIB-Out in the BGP Monitoring Protocol (BMP)</title>
          <author initials="T." surname="Evens" fullname="T. Evens">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Bayraktar" fullname="S. Bayraktar">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="P." surname="Lucente" fullname="P. Lucente">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="P." surname="Mi" fullname="P. Mi">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Zhuang" fullname="S. Zhuang">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2019" month="November"/>
          <abstract>
            <t indent="0">The BGP Monitoring Protocol (BMP) only defines access to the Adj-RIB-In Routing Information Bases (RIBs).  This document updates BMP (RFC 7854) by adding access to the Adj-RIB-Out RIBs. It also adds a new flag to the peer header to distinguish between Adj-RIB-In and Adj-RIB-Out.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8671"/>
        <seriesInfo name="DOI" value="10.17487/RFC8671"/>
      </reference>
      <reference anchor="RFC8762" target="https://www.rfc-editor.org/info/rfc8762" quoteTitle="true" derivedAnchor="RFC8762">
        <front>
          <title>Simple Two-Way Active Measurement Protocol</title>
          <author initials="G." surname="Mirsky" fullname="G. Mirsky">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="G." surname="Jun" fullname="G. Jun">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="H." surname="Nydell" fullname="H. Nydell">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Foote" fullname="R. Foote">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2020" month="March"/>
          <abstract>
            <t indent="0">This document describes the Simple Two-way Active Measurement Protocol (STAMP), which enables the measurement of both one-way and round-trip performance metrics, like delay, delay variation, and packet loss.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8762"/>
        <seriesInfo name="DOI" value="10.17487/RFC8762"/>
      </reference>
      <reference anchor="RFC8889" target="https://www.rfc-editor.org/info/rfc8889" quoteTitle="true" derivedAnchor="RFC8889">
        <front>
          <title>Multipoint Alternate-Marking Method for Passive and Hybrid Performance Monitoring</title>
          <author initials="G." surname="Fioccola" fullname="G. Fioccola" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Cociglio" fullname="M. Cociglio">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Sapio" fullname="A. Sapio">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Sisto" fullname="R. Sisto">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2020" month="August"/>
          <abstract>
            <t indent="0">The Alternate-Marking method, as presented in RFC 8321, can only be applied to point-to-point flows, because it assumes that all the packets of the flow measured on one node are measured again by a single second node. This document generalizes and expands this methodology to measure any kind of unicast flow whose packets can follow several different paths in the network -- in wider terms, a multipoint-to-multipoint network.  For this reason, the technique here described is called "Multipoint Alternate Marking".</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8889"/>
        <seriesInfo name="DOI" value="10.17487/RFC8889"/>
      </reference>
      <reference anchor="RFC8924" target="https://www.rfc-editor.org/info/rfc8924" quoteTitle="true" derivedAnchor="RFC8924">
        <front>
          <title>Service Function Chaining (SFC) Operations, Administration, and Maintenance (OAM) Framework</title>
          <author initials="S." surname="Aldrin" fullname="S. Aldrin">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="C." surname="Pignataro" fullname="C. Pignataro" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="N." surname="Kumar" fullname="N. Kumar" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="R." surname="Krishnan" fullname="R. Krishnan">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="A." surname="Ghanwani" fullname="A. Ghanwani">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2020" month="October"/>
          <abstract>
            <t indent="0">This document provides a reference framework for Operations, Administration, and Maintenance (OAM) for Service Function Chaining (SFC).</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8924"/>
        <seriesInfo name="DOI" value="10.17487/RFC8924"/>
      </reference>
      <reference anchor="RFC9069" target="https://www.rfc-editor.org/info/rfc9069" quoteTitle="true" derivedAnchor="RFC9069">
        <front>
          <title>Support for Local RIB in the BGP Monitoring Protocol (BMP)</title>
          <author initials="T." surname="Evens" fullname="T. Evens">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Bayraktar" fullname="S. Bayraktar">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Bhardwaj" fullname="M. Bhardwaj">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="P." surname="Lucente" fullname="P. Lucente">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2022" month="February"/>
          <abstract>
            <t indent="0">The BGP Monitoring Protocol (BMP) defines access to local Routing Information Bases (RIBs). This document updates BMP (RFC 7854) by adding access to the Local Routing Information Base (Loc-RIB), as defined in RFC 4271. The Loc-RIB contains the routes that have been selected by the local BGP speaker's Decision Process.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9069"/>
        <seriesInfo name="DOI" value="10.17487/RFC9069"/>
      </reference>
      <reference anchor="RFC9197" target="https://www.rfc-editor.org/info/rfc9197" quoteTitle="true" derivedAnchor="RFC9197">
        <front>
          <title>Data Fields for In Situ Operations, Administration, and Maintenance (IOAM)</title>
          <author initials="F." surname="Brockners" fullname="F. Brockners" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="S." surname="Bhandari" fullname="S. Bhandari" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="T." surname="Mizrahi" fullname="T. Mizrahi" role="editor">
            <organization showOnFrontPage="true"/>
          </author>
          <date year="2022" month="May"/>
          <abstract>
            <t indent="0">In situ Operations, Administration, and Maintenance (IOAM) collects operational and telemetry information in the packet while the packet traverses a path between two points in the network. This document discusses the data fields and associated data types for IOAM. IOAM-Data-Fields can be encapsulated into a variety of protocols, such as Network Service Header (NSH), Segment Routing, Generic Network Virtualization Encapsulation (Geneve), or IPv6.  IOAM can be used to complement OAM mechanisms based on, e.g., ICMP or other types of probe packets.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9197"/>
        <seriesInfo name="DOI" value="10.17487/RFC9197"/>
      </reference>
      <reference anchor="W3C.REC-xml-20081126" target="https://www.w3.org/TR/2008/REC-xml-20081126" quoteTitle="true" derivedAnchor="W3C.REC-xml-20081126">
        <front>
          <title>Extensible Markup Language (XML) 1.0 (Fifth Edition)</title>
          <author initials="T." surname="Bray" fullname="Tim Bray">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="J." surname="Paoli" fullname="Jean Paoli">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="M." surname="Sperberg-McQueen" fullname="Michael Sperberg-McQueen">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="E." surname="Maler" fullname="Eve Maler">
            <organization showOnFrontPage="true"/>
          </author>
          <author initials="F." surname="Yergeau" fullname="Francois Yergeau">
            <organization showOnFrontPage="true"/>
          </author>
          <date month="November" year="2008"/>
        </front>
        <refcontent>World Wide Web Consortium Recommendation REC-xml-20081126</refcontent>
      </reference>
      <reference anchor="y1731" target="https://www.itu.int/rec/T-REC-Y.1731/en" quoteTitle="true" derivedAnchor="y1731">
        <front>
          <title>Operations, administration and maintenance (OAM) functions and mechanisms for Ethernet-based networks</title>
          <author>
            <organization showOnFrontPage="true">ITU-T</organization>
          </author>
          <date month="August" year="2015"/>
        </front>
        <seriesInfo name="ITU-T Recommendation" value="G.8013/Y.1731"/>
      </reference>
    </references>
    <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a">
      <name slugifiedName="name-a-survey-on-existing-networ">A Survey on Existing Network Telemetry Techniques</name>
      <t indent="0" pn="section-appendix.a-1">In this non-normative appendix, we provide an overview of some existing techniques and standard proposals for each network telemetry module.</t>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.1">
        <name slugifiedName="name-management-plane-telemetry-2">Management Plane Telemetry</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.1.1">
          <name slugifiedName="name-push-extensions-for-netconf">Push Extensions for NETCONF</name>
          <t indent="0" pn="section-appendix.a.1.1-1"><xref target="RFC6241" format="default" sectionFormat="of" derivedContent="RFC6241">NETCONF</xref> is a popular network management protocol recommended by IETF. Its core strength is for managing configuration, but it can also be used for data collection. <xref target="RFC8639" format="default" sectionFormat="of" derivedContent="RFC8639">YANG-Push</xref> <xref target="RFC8641" format="default" sectionFormat="of" derivedContent="RFC8641"/> extends NETCONF and enables subscriber applications to request a continuous, customized stream of updates from a YANG datastore. Providing such visibility into changes made upon YANG configuration and operational objects enables new capabilities based on the remote mirroring of configuration and operational state. Moreover, a <xref target="I-D.ietf-netconf-distributed-notif" format="default" sectionFormat="of" derivedContent="NETCONF-DISTRIB-NOTIF">distributed data collection mechanism</xref> via a <xref target="I-D.ietf-netconf-udp-notif" format="default" sectionFormat="of" derivedContent="NETCONF-UDP-NOTIF">UDP-based publication channel</xref> provides enhanced efficiency for the NETCONF-based telemetry.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.1.2">
          <name slugifiedName="name-grpc-network-management-int">gRPC Network Management Interface</name>
          <t indent="0" pn="section-appendix.a.1.2-1"><xref target="gnmi" format="default" sectionFormat="of" derivedContent="gnmi">gRPC Network Management Interface (gNMI)</xref> is a network management protocol based on the <xref target="grpc" format="default" sectionFormat="of" derivedContent="grpc">gRPC</xref> Remote Procedure Call (RPC) framework. With a single gRPC service definition, both configuration and telemetry can be covered. gRPC is an open-source micro-service communication framework based on <xref target="RFC7540" format="default" sectionFormat="of" derivedContent="RFC7540">HTTP/2</xref>. It provides a number of capabilities that are well-suited for network telemetry, including: </t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.1.2-2">
            <li pn="section-appendix.a.1.2-2.1">A full-duplex streaming transport model; when combined with a binary encoding mechanism, it provides good telemetry efficiency.</li>
            <li pn="section-appendix.a.1.2-2.2">A higher-level feature consistency across platforms that common HTTP/2 libraries typically do not provide. This characteristic is especially valuable for the fact that telemetry data collectors normally reside on a large variety of platforms.</li>
            <li pn="section-appendix.a.1.2-2.3">A built-in load-balancing and failover mechanism.</li>
          </ul>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.2">
        <name slugifiedName="name-control-plane-telemetry-2">Control Plane Telemetry</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.2.1">
          <name slugifiedName="name-bgp-monitoring-protocol">BGP Monitoring Protocol</name>
          <t indent="0" pn="section-appendix.a.2.1-1"><xref target="RFC7854" format="default" sectionFormat="of" derivedContent="RFC7854">BMP</xref> is used to monitor BGP sessions and is intended to provide a convenient interface for obtaining route views. </t>
          <t indent="0" pn="section-appendix.a.2.1-2">BGP routing information is collected from the monitored device(s) to the BMP monitoring station by setting up the BMP TCP session. The BGP peers are monitored by the BMP Peer Up and Peer Down notifications. The BGP routes (including <xref target="RFC7854" format="default" sectionFormat="of" derivedContent="RFC7854"> Adj_RIB_In </xref>, <xref target="RFC8671" format="default" sectionFormat="of" derivedContent="RFC8671"> Adj_RIB_out</xref>, and <xref target="RFC9069" format="default" sectionFormat="of" derivedContent="RFC9069">local RIB</xref>) are encapsulated in the BMP Route Monitoring Message and the BMP Route Mirroring Message, providing both an initial table dump and real-time route updates. In addition, BGP statistics are reported through the BMP Stats Report Message, which could be either timer triggered or event-driven. Future BMP extensions could further enrich BGP monitoring applications.
</t>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.3">
        <name slugifiedName="name-data-plane-telemetry">Data Plane Telemetry</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.3.1">
          <name slugifiedName="name-alternate-marking-am-techno">Alternate-Marking (AM) Technology</name>
          <t indent="0" pn="section-appendix.a.3.1-1">The Alternate-Marking method enables efficient measurements of packet loss, delay, and jitter both in IP and Overlay Networks, as presented in <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321"/> and <xref target="RFC8889" format="default" sectionFormat="of" derivedContent="RFC8889"/>. </t>
          <t indent="0" pn="section-appendix.a.3.1-2">This technique can be applied to point-to-point and multipoint-to-multipoint flows. Alternate Marking creates batches of packets by alternating the value of 1 bit (or a label) of the packet header. These batches of packets are unambiguously recognized over the network, and the comparison of packet counters for each batch allows the packet loss calculation. The same idea can be applied to delay measurement by selecting ad hoc packets with a marking bit dedicated for delay measurements.</t>
          <t indent="0" pn="section-appendix.a.3.1-3">The Alternate-Marking method needs two counters each marking period for each flow under monitor. For instance, by considering n measurement points and m monitored flows, the order of magnitude of the packet counters for each time interval is n*m*2 (1 per color).</t>
          <t indent="0" pn="section-appendix.a.3.1-4">Since networks offer rich sets of network performance measurement data (e.g., packet counters), conventional approaches run into limitations. The bottleneck is the generation and export of the data and the amount of data that can be reasonably collected from the network. In addition, management tasks related to determining and configuring which data to generate lead to significant deployment challenges.</t>
          <t indent="0" pn="section-appendix.a.3.1-5">The Multipoint Alternate-Marking approach, described in <xref target="RFC8889" format="default" sectionFormat="of" derivedContent="RFC8889"/>, aims to resolve this issue and make the performance monitoring more flexible in case a detailed analysis is not needed. </t>
          <t indent="0" pn="section-appendix.a.3.1-6">An application orchestrates network performance measurement tasks across the network to allow for optimized monitoring.  The application can choose how roughly or precisely to configure measurement points depending on the application's requirements.</t>
          <t indent="0" pn="section-appendix.a.3.1-7">Using Alternate Marking, it is possible to monitor a Multipoint Network without in-depth examination by using Network Clustering (subnetworks that are portions of the entire network that preserve the same property of the entire network, called clusters).  So in the case where there is packet loss or the delay is too high, the specific filtering criteria could be applied to gather a more detailed analysis by using a different combination of clusters up to a per-flow measurement as described in the Alternate-Marking document <xref target="RFC8321" format="default" sectionFormat="of" derivedContent="RFC8321"/>. </t>
          <t indent="0" pn="section-appendix.a.3.1-8">In summary, an application can configure end-to-end network monitoring. If the network does not experience issues, this approximate monitoring is good enough and is very cheap in terms of network resources. However, in case of problems, the application becomes aware of the issues from this approximate monitoring and, in order to localize the portion of the network that has issues, configures the measurement points more extensively, allowing more detailed monitoring to be performed. After the detection and resolution of the problem, the initial approximate monitoring can be used again.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.3.2">
          <name slugifiedName="name-dynamic-network-probe">Dynamic Network Probe</name>
          <t indent="0" pn="section-appendix.a.3.2-1">A hardware-based <xref target="OPSAWG-DNP4IQ" format="default" sectionFormat="of" derivedContent="OPSAWG-DNP4IQ">Dynamic Network Probe (DNP)</xref> provides a programmable means to customize the data that an application collects from the data plane. A direct benefit of DNP is the reduction of the exported data. A full DNP solution covers several components including data source, data subscription, and data generation. The data subscription needs to define the derived data that can be composed and derived from raw data sources. The data generation takes advantage of the moderate in-network computing to produce the desired data.</t>
          <t indent="0" pn="section-appendix.a.3.2-2">While DNP can introduce unforeseeable flexibility to the data plane telemetry, it also faces some challenges. It requires a flexible data plane that can be dynamically reprogrammed at runtime. The programming Application Programming Interface (API) is yet to be defined.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.3.3">
          <name slugifiedName="name-ip-flow-information-export-">IP Flow Information Export (IPFIX) Protocol</name>
          <t indent="0" pn="section-appendix.a.3.3-1">Traffic on a network can be seen as a set of flows passing through network elements.
<xref target="RFC7011" format="default" sectionFormat="of" derivedContent="RFC7011">IPFIX </xref>
provides a means of transmitting traffic flow information for administrative or other purposes. A typical IPFIX-enabled system includes a pool of Metering Processes that collects data packets at one or more Observation Points, optionally filters them, and aggregates information about these packets. An Exporter then gathers each of the Observation Points together into an Observation Domain and sends this information via the IPFIX protocol to a Collector.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.3.4">
          <name slugifiedName="name-in-situ-oam">In Situ OAM</name>
          <t indent="0" pn="section-appendix.a.3.4-1">Classical passive and active monitoring and measurement techniques are either inaccurate or resource consuming. It is preferable to directly acquire data associated with a flow's packets when the packets pass through a network. <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197">IOAM</xref>, a data generation technique, embeds a new instruction header to user packets, and the instruction directs the network nodes to add the requested data to the packets. Thus, at the path's end, the packet's experience gained on the entire forwarding path can be collected. Such firsthand data is invaluable to many network OAM applications.</t>
          <t indent="0" pn="section-appendix.a.3.4-2">However, IOAM also faces some challenges. The issues on performance impact, security, scalability and overhead limits, encapsulation difficulties in some protocols, and cross-domain deployment need to be addressed.</t>
        </section>
        <section anchor="pbt" numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.3.5">
          <name slugifiedName="name-postcard-based-telemetry">Postcard-Based Telemetry</name>
          <t indent="0" pn="section-appendix.a.3.5-1">The postcard-based telemetry, as embodied in <xref target="IPPM-IOAM-DIRECT-EXPORT" format="default" sectionFormat="of" derivedContent="IPPM-IOAM-DIRECT-EXPORT">IOAM Direct Export (DEX)</xref> and <xref target="I-D.song-ippm-postcard-based-telemetry" format="default" sectionFormat="of" derivedContent="IPPM-POSTCARD-BASED-TELEMETRY">IOAM Marking</xref>, is a complementary technique to the passport-based IOAM <xref target="RFC9197" format="default" sectionFormat="of" derivedContent="RFC9197"/>. PBT directly exports data at each node through an independent packet. At the cost of higher bandwidth overhead and the need for data correlation, PBT shows several unique advantages. It can also help to identify packet drop location in case a packet is dropped on its forwarding path.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.3.6">
          <name slugifiedName="name-existing-oam-for-specific-d">Existing OAM for Specific Data Planes</name>
          <t indent="0" pn="section-appendix.a.3.6-1">
Various data planes raise unique OAM requirements. IETF has published OAM technique and framework documents (e.g., <xref target="RFC8924" format="default" sectionFormat="of" derivedContent="RFC8924"/> and <xref target="RFC5085" format="default" sectionFormat="of" derivedContent="RFC5085"/>) targeting different data planes such as Multiprotocol Label Switching (MPLS), L2 Virtual Private Network (VPN), Network Virtualization over Layer 3 (NVO3), Virtual Extensible LAN (VXLAN), Bit Index Explicit Replication (BIER), Service Function Chaining (SFC), Segment Routing (SR), and Deterministic Networking (DETNET). The aforementioned data plane telemetry techniques can be used to enhance the OAM capability on such data planes.  
</t>
        </section>
      </section>
      <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.4">
        <name slugifiedName="name-external-data-and-event-tel">External Data and Event Telemetry</name>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.4.1">
          <name slugifiedName="name-sources-of-external-events">Sources of External Events</name>
          <t indent="0" pn="section-appendix.a.4.1-1">To ensure that the information provided by external event detectors and used by the network management solutions is meaningful for management purposes, the network telemetry framework must ensure that such detectors (sources) are easily connected to the management solutions (sinks). This requires the specification of a list of potential external data sources that could be of interest in network management and matching it to the connectors and/or interfaces required to connect them.</t>
          <t indent="0" pn="section-appendix.a.4.1-2">Categories of external event sources that may be of interest to network management include:</t>
          <ul spacing="normal" bare="false" empty="false" indent="3" pn="section-appendix.a.4.1-3">
            <li pn="section-appendix.a.4.1-3.1">Smart objects and sensors. With the consolidation of the Internet of Things (IoT), any network system will have many smart objects attached to its physical surroundings and logical operation environments. Most of these objects will be essentially based on sensors of many kinds (e.g., temperature, humidity, and presence), and the information they provide can be very useful for the management of the network, even when they are not specifically deployed for such purpose. Elements of this source type will usually provide a specific protocol for interaction, especially one of the protocols related to IoT, such as the Constrained Application Protocol (CoAP).</li>
            <li pn="section-appendix.a.4.1-3.2">Online news reporters. Several online news services have the ability to provide an enormous quantity of information about different events occurring in the world. Some of those events can have an impact on the network system managed by a specific framework; therefore, such information may be of interest to the management solution. For instance, diverse security reports, such as Common Vulnerabilities and Exposures (CVEs), can be issued by the corresponding authority and used by the management solution to update the managed system, if needed. Instead of a specific protocol and data format, the sources of this kind of information usually follow a relaxed but structured format. This format will be part of both the ontology and information model of the telemetry framework.</li>
            <li pn="section-appendix.a.4.1-3.3">Global event analyzers. The advance of big data analyzers provides a huge amount of information and, more interestingly, the identification of events detected by analyzing many data streams from different origins. In contrast with the other types of sources, which are focused on specific events, the detectors of this source type will detect generic events. For example, during a sports event, some unexpected movement makes it fascinating, and many people connect to sites that are reporting on the event. The underlying networks supporting the services that cover the event can be affected by such situation, so their management solutions should be aware of it. In contrast with the other source types, a new information model, format, and reporting protocol is required to integrate the detectors of this type with the management solution.</li>
          </ul>
          <t indent="0" pn="section-appendix.a.4.1-4">Additional detector types can be added to the system, but generally they will be the result of composing the properties offered by these main classes.</t>
        </section>
        <section numbered="true" toc="include" removeInRFC="false" pn="section-appendix.a.4.2">
          <name slugifiedName="name-connectors-and-interfaces">Connectors and Interfaces</name>
          <t indent="0" pn="section-appendix.a.4.2-1">For allowing external event detectors to be properly integrated with other management solutions, both elements must expose interfaces and protocols that are subject to their particular objective. Since external event detectors will be focused on providing their information to their main consumers, which generally will not be limited to the network management solutions, the framework must include the definition of the required connectors for ensuring the interconnection between detectors (sources) and their consumers within the management systems (sinks) are effective.</t>
          <t indent="0" pn="section-appendix.a.4.2-2">In some situations, the interconnection between external event detectors and the management system is via the management plane. For those situations, there will be a special connector that provides the typical interfaces found in most other elements connected to the management plane. For instance, the interfaces could accomplish this with a specific data model (YANG) and specific telemetry protocol, such as NETCONF, YANG-Push, or gRPC.</t>
        </section>
        <section anchor="Acknowledgments" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a.4.3">
          <name slugifiedName="name-acknowledgments">Acknowledgments</name>
          <t indent="0" pn="section-appendix.a.4.3-1">We would like to thank <contact fullname="Rob Wilton"/>, <contact fullname="Greg Mirsky"/>, <contact fullname="Randy Presuhn"/>, <contact fullname="Joe Clarke"/>, <contact fullname="Victor Liu"/>, <contact fullname="James Guichard"/>, <contact fullname="Uri Blumenthal"/>, <contact fullname="Giuseppe Fioccola"/>, <contact fullname="Yunan Gu"/>, <contact fullname="Parviz Yegani"/>, <contact fullname="Young Lee"/>, <contact fullname="Qin Wu"/>, <contact fullname="Gyan Mishra"/>, <contact fullname="Ben Schwartz"/>, <contact fullname="Alexey Melnikov"/>, <contact fullname="Michael Scharf"/>, <contact fullname="Dhruv Dhody"/>, <contact fullname="Martin Duke"/>, <contact fullname="Roman Danyliw"/>, <contact fullname="Warren Kumari"/>, <contact fullname="Sheng Jiang"/>, <contact fullname="Lars Eggert"/>, <contact fullname="Éric Vyncke"/>, <contact fullname="Jean-Michel Combes"/>, <contact fullname="Erik Kline"/>, <contact fullname="Benjamin Kaduk"/>, and many others who have provided helpful comments and suggestions to improve this document.</t>
        </section>
        <section anchor="Contributors" numbered="false" toc="include" removeInRFC="false" pn="section-appendix.a.4.4">
          <name slugifiedName="name-contributors">Contributors</name>
          <t indent="0" pn="section-appendix.a.4.4-1"> The other contributors of this document are <contact fullname="Tianran Zhou"/>, <contact fullname="Zhenbin Li"/>, <contact fullname="Zhenqiang Li"/>, <contact fullname="Daniel King"/>, <contact fullname="Adrian Farrel"/>, and <contact fullname="Alexander Clemm"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="authors-addresses" numbered="false" removeInRFC="false" toc="include" pn="section-appendix.b">
      <name slugifiedName="name-authors-addresses">Authors' Addresses</name>
      <author fullname="Haoyu Song" initials="H." surname="Song">
        <organization showOnFrontPage="true">Futurewei</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <country>United States of America</country>
          </postal>
          <email>haoyu.song@futurewei.com</email>
        </address>
      </author>
      <author fullname="Fengwei Qin" initials="F." surname="Qin">
        <organization showOnFrontPage="true">China Mobile</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <country>China</country>
          </postal>
          <email>qinfengwei@chinamobile.com</email>
        </address>
      </author>
      <author fullname="Pedro Martinez-Julia" initials="P." surname="Martinez-Julia">
        <organization showOnFrontPage="true">NICT</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <country>Japan</country>
          </postal>
          <email>pedro@nict.go.jp</email>
        </address>
      </author>
      <author fullname="Laurent Ciavaglia" initials="L." surname="Ciavaglia">
        <organization showOnFrontPage="true">Rakuten Mobile</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <country>France</country>
          </postal>
          <email>laurent.ciavaglia@rakuten.com</email>
        </address>
      </author>
      <author fullname="Aijun Wang" initials="A." surname="Wang">
        <organization showOnFrontPage="true">China Telecom</organization>
        <address>
          <postal>
            <street/>
            <city/>
            <country>China</country>
          </postal>
          <email>wangaj3@chinatelecom.cn</email>
        </address>
      </author>
    </section>
  </back>
</rfc>
