<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.29 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-zhang-rtgwg-ai-agents-measurement-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.0 -->
  <front>
    <title>Use Cases and Requirements of Communication Protocol for Measurement Agents on Network Devices</title>
    <seriesInfo name="Internet-Draft" value="draft-zhang-rtgwg-ai-agents-measurement-00"/>
    <author fullname="Ruyi Zhang">
      <organization>Huawei</organization>
      <address>
        <email>zhangruyi8@huawei.com</email>
      </address>
    </author>
    <author fullname="Jianwei Mao">
      <organization>Huawei</organization>
      <address>
        <email>maojianwei@huawei.com</email>
      </address>
    </author>
    <author fullname="Bing Liu">
      <organization>Huawei</organization>
      <address>
        <email>leo.liubing@huawei.com</email>
      </address>
    </author>
    <author fullname="Nan Geng">
      <organization>Huawei</organization>
      <address>
        <email>gengnan@huawei.com</email>
      </address>
    </author>
    <author fullname="Xiaotong Shang">
      <organization>Huawei</organization>
      <address>
        <email>shangxiaotong@huawei.com</email>
      </address>
    </author>
    <author fullname="Qiangzhou Gao">
      <organization>Huawei</organization>
      <address>
        <email>gaoqiangzhou@huawei.com</email>
      </address>
    </author>
    <author fullname="Zhenbin Li">
      <organization>Huawei</organization>
      <address>
        <email>robinli314@163.com</email>
      </address>
    </author>
    <date year="2025" month="November" day="03"/>
    <area>AREA</area>
    <workgroup>rtgwg</workgroup>
    <keyword>Agents</keyword>
    <keyword>Measurement</keyword>
    <keyword>Communication Protocol</keyword>
    <abstract>
      <?line 60?>

<t>This document focuses on the use cases and requirements of communication protocols for measurement agents on network devices.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://example.com/LATEST"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-zhang-rtgwg-ai-agents-measurement/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        rtgwg Working Group mailing list (<eref target="mailto:WG@example.com"/>),
        which is archived at <eref target="https://example.com/WG"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/USER/REPO"/>.</t>
    </note>
  </front>
  <middle>
    <?line 64?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document outlines use cases and requirements for network device agents engaged in network measurement tasks. 
As networks evolve toward increased automation and intelligence, efficient and standardized interactions between agents (located in routers, switches, or other network elements) become critical.
Network measurement supports scientific discovery and network operations through tasks like characterizing traffic, understanding protocol performance, billing customers and detecting problems.
This draft focuses on defining use cases that illustrate practical communication flows between agents, utilizing protocols like HTTP, gRPC, and others, and establishes key requirements to ensure interoperability, scalability, and reliability. 
The methods of measurement is out of scope in this draft. But the measurement agents on network devices should have the ability of choosing and invoking suitable network measurement tool.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="use-cases">
      <name>Use Cases</name>
      <t>This section describes three use cases for communication between network device agents for network measurement. 
Each case follows the follow:</t>
      <ol spacing="normal" type="1"><li>
          <t>Intent analysis</t>
        </li>
        <li>
          <t>Measurement configuration generation</t>
        </li>
        <li>
          <t>Configuration deployment</t>
        </li>
      </ol>
      <section anchor="use-case-1-latency-measurement">
        <name>Use Case 1: Latency Measurement</name>
        <artwork type="ascii-art"><![CDATA[
                                                                            
+----------------+ 1. request    +----------------+                     
|   +-------+    +--------------->   +-------+    |                     
|   | Agent |    | 2. response   |   | Agent |    |                     
|   +-------+    <---------------+   +-------+    |                     
| Network Device |               | Network Device |                     
+----------------+               +----------------+                     
                                                                            
]]></artwork>
        <t>Figure: Latency Measurement</t>
        <t>In this scenario, an agent analyzes network performance intent and generates a latency measurement configuration. The intent may generate by other agent or human.
The configuration specifies ICMP-based measurement with a 5-second duration. The agent sends an HTTP GET request to related agent's endpoint with the configuration parameters. The agent which receives this request applies the configuration, executes the measurement, and returns results in JSON format containing average latency, jitter, and timestamps.</t>
        <t>Overall, this approach promotes interoperability and ease of integration in heterogeneous networks.</t>
      </section>
      <section anchor="use-case-2-active-measurement">
        <name>Use Case 2: Active Measurement</name>
        <t>This use case involves an agent perceived or received a risk of link congestion initiates an active probing measurement. 
The agent should analyzes the level of risk to determine probe type and frequency.
After analyzing the agent generates a configuration specifying active probing. There may be multiple related agent to cooperate to handle this issue. When probe arriving destinations, related agents should send reports to the agent on the source node.</t>
      </section>
    </section>
    <section anchor="requirements">
      <name>Requirements</name>
      <t>To enable effective network measurement between network device agents, several key requirements must be addressed to ensure robust, scalable, and interoperable communications. These requirements stem from the use cases described and broader industry needs, focusing on protocol capabilities, data handling, and system integration.</t>
      <section anchor="transmission">
        <name>Transmission</name>
        <t>Support for stream-oriented transmission is essential. As demonstrated in above use cases, measurements often involve continuous data flows, such as real-time metrics or large datasets. Protocols must facilitate bidirectional streaming to allow agents to send and receive data concurrently without interruption, minimizing latency and enabling dynamic adjustments during measurements. This requirement aligns with protocols like gRPC and WebSocket, which natively support streaming, and should be extended to other implementations through standards like HTTP/2 for broader adoption.</t>
      </section>
      <section anchor="data-formats">
        <name>Data Formats</name>
        <t>Structured and extensible data formats are critical for interoperability. Agents must exchange measurement results in a consistent manner, using formats such as JSON, XML, or Protocol Buffers. These formats enable easy parsing, validation, and integration with analytics tools. Additionally, the data schema should be extensible to accommodate new measurement types and parameters, allowing for future enhancements without breaking backward compatibility. For instance, defining common fields for timestamps, error codes, and metadata in responses can standardize interactions across diverse agent implementations.</t>
      </section>
      <section anchor="security">
        <name>Security</name>
        <t>Security mechanisms must be integrated to protect measurement data and prevent unauthorized access. This includes mandatory use of transport-layer security (e.g., TLS for HTTP and gRPC, WSS for WebSocket) to encrypt data in transit, as well as authentication and authorization frameworks such as OAuth or client certificates. Given the sensitive nature of network metrics, agents should also implement rate limiting and audit logging to detect and mitigate potential threats, ensuring compliance with organizational policies.</t>
      </section>
      <section anchor="reliability">
        <name>Reliability</name>
        <t>Reliability and error handling are paramount for maintaining measurement accuracy. Protocols should incorporate features like retransmission policies, timeouts, and graceful degradation to handle network failures or agent unavailability. For example, in the latency measurement use case, HTTP retries can be employed for transient errors, while gRPC's built-in error codes provide detailed diagnostics. Agents must also support idempotent operations to avoid duplicate measurements and ensure data consistency.</t>
      </section>
      <section anchor="scalability">
        <name>Scalability</name>
        <t>Scalability and performance optimizations are necessary to support large-scale deployments. This involves efficient resource management, such as connection pooling and load balancing, to handle high volumes of concurrent measurements. Protocols should minimize overhead through compression techniques and efficient serialization, as seen with Protocol Buffers in gRPC. Moreover, agents ought to support asynchronous operations to non-blockingly process multiple requests, enhancing overall system throughput.</t>
      </section>
      <section anchor="interoperability">
        <name>Interoperability</name>
        <t>Interoperability and standardization across vendor implementations are crucial. This requires adherence to common APIs, protocol specifications, and data models, possibly defined in IETF RFCs. By promoting a unified approach, agents from different manufacturers can seamlessly communicate, reducing integration costs and fostering innovation in network automation. Additional considerations include support for multicast or publish-subscribe models for group measurements and mechanisms for data aggregation to reduce network load.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
    <section anchor="conclusion">
      <name>Conclusion</name>
      <t>This draft presents use cases and requirements for the measurement agents on the network device. The defined requirements for transmission, data formats, security, reliability, scalability, and interoperability form a foundation for standardized agent interactions. These improvements will enable more automated and intelligent network management, enhancing performance and resilience in modern networks.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <date month="March" year="1997"/>
          <abstract>
            <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <date month="May" year="2017"/>
          <abstract>
            <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
          </abstract>
        </front>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
    </references>
    <?line 174?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
