<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-carpenter-anima-mqtt-00" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Pub/Sub Telemetry">Publish/Subscribe Telemetry for Autonomic Networks</title>
    <seriesInfo name="Internet-Draft" value="draft-carpenter-anima-mqtt-00"/>
    <author initials="B. E." surname="Carpenter" fullname="Brian E. Carpenter">
      <organization abbrev="Univ. of Auckland">The University of Auckland</organization>
      <address>
        <postal>
          <postalLine>School of Computer Science</postalLine>
          <postalLine>The University of Auckland</postalLine>
          <postalLine>PB 92019</postalLine>
          <postalLine>Auckland 1142</postalLine>
          <postalLine>New Zealand</postalLine>
        </postal>
        <email>brian.e.carpenter@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="12"/>
    <area>Operations and Management</area>
    <workgroup>Autonomic Networking Integrated Model and Approach</workgroup>
    <keyword>MQTT</keyword>
    <keyword>GRASP</keyword>
    <keyword>MASA</keyword>
    <abstract>
      <?line 65?>

<t>This document describes how devices authorized to join an autonomic control plane as defined
in RFC 8994 may use the OASIS MQTT Publish/Subscribe Telemetry mechanism to share arbitrary
information. An MQTT message broker is required for this process and may be announced
by the GRASP (RFC 8990) flooding mechanism.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-carpenter-anima-mqtt/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Autonomic Networking Integrated Model and Approach Working Group mailing list (<eref target="mailto:anima@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/anima/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/anima/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 72?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The autonomic networking infrastructure described in <xref target="RFC8993"/> provides a secure
autonomic control plane <xref target="RFC8994"/> which allows Autonomic Service Agents (ASAs) to communicate
securely  with minimal infrastructure dependency.
A basic set of one-to-one and one-to-many communication mechanisms
is provided by the GRASP protocol <xref target="RFC8990"/>. However, some aspects of
network management, for example distribution of management intent or agent capabilities,
are better suited to a publish/subscribe model, where individual ASAs can subscribe
selectively to particular sets of information. One method for achieving this would be
a major extension to GRASP, as proposed by <xref target="I-D.ietf-anima-grasp-distribution"/>.
An alternative is to use an existing solution. This document describes how one existing
solution, widely used in smart manufacturing and elsewhere already, could readily be added to
the autonomic control plane.</t>
    </section>
    <section anchor="brief-introduction-to-mqtt">
      <name>Brief Introduction to MQTT</name>
      <t>Historically, MQTT may be interpreted as "Message Queuing Telemetry Transport" but that is
not accurately descriptive. Originating in industry, it is now an OASIS standard <xref target="OasisMQTT"/>.
There are three components in an MQTT deployment - a broker, any number of publishers, and
any number of subscribers. The broker provides common storage for current messages about any number
of user-defined topics. The protocol is very simple and can run over TCP or TLS. There are even
simpler variants for constrained devices. Messages are typically expressed as UTF-8 strings.</t>
      <t>In the autonomic networking context, for example, MQTT could be used to  distribute network intent
or agent cards, in JSON format, separated into appropriate shared and named topics so that ASAs could subscribe to relevant material only.</t>
      <t>Currently MQTT version 5 is <strong><bcp14>RECOMMENDED</bcp14></strong>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</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="using-mqtt-in-the-autonomic-control-plane">
      <name>Using MQTT in the Autonomic Control Plane</name>
      <t>A given ACP will require at least one MQTT broker. In principle there can be a small group of collaborating brokers, but from the user's viewpoint they are all equivalent. Any ASA that may wish to publish or subscribe (or both) to MQTT requires to acquire the address, port, and transport protocol of the broker. In an ACP deployment, these data <strong><bcp14>MUST</bcp14></strong> be periodically announced by a GRASP M_FLOOD message to all ASAs, embedding a GRASP objective named <tt>MQTT_broker</tt>.</t>
      <t>The formal Concise Data Definition Language (CDDL) <xref target="RFC8610"/> definition of the flood message, using definitions from <xref target="RFC8990"/>, is:</t>
      <artwork><![CDATA[
flood-message = [M_FLOOD, session-id, initiator, ttl,
                 +[objective, (locator-option / [])]]

objective = ["MQTT_broker", objective-flags, loop-count,
                                       objective-value]

ttl             = 180000     ; 180,000 ms (3 minutes)
initiator = ACP address to contact broker
objective-flags   =  sync-only ; as in RFC 8990
sync-only         =  4         ; M_FLOOD only requires synchronization
loop-count        =  1..255    ; determines radius of flooding
objective-value   =  any       ; none necessary

locator-option    = [ O_IPv6_LOCATOR, ipv6-address,
                    transport-proto, port-number ]
ipv6-address      = the v6address of the broker
$transport-proto /= IPPROTO_TCP   ; note that this can be any value
                                  ; from the IANA protocol registry,
                                  ; as per RFC 8990, Section 2.9.5.1,
                                  ; Note 3.
port-number      = selected by broker
]]></artwork>
      <t>This flooded announcement is all that is required for any ASA in the network
to discover the broker and become a subscriber or publisher. Existing standard software
libraries for MQTT transactions are readily available.</t>
    </section>
    <section anchor="implementation-status-rfc-editor-please-remove">
      <name>Implementation Status [RFC Editor: please remove]</name>
      <t>See <eref target="https://github.com/becarpenter/graspy/tree/master/mqtt"/> for a proof of concept
that works across Windows and Linux.
It includes <tt>Broker.py</tt> which announces an off-the-shelf MQTT broker, and <tt>Publisher.py</tt>
and <tt>Subscriber.py</tt> which illustrate broker discovery, and show how a JSON-formatted example of network intent can be distributed via MQTT.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>MQTT deployed as described, in the address space of the ACP, will inherit the security posture of the ACP. All MQTT transactions <strong><bcp14>SHOULD</bcp14></strong> be performed via TLS in accordance with Section 6.1 of <xref target="RFC8994"/>.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document defines one new GRASP Objective option name: "MQTT_broker". The IANA is requested to add this to the "GRASP Objective Names" registry defined by <xref target="RFC8990"/>.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8990" target="https://www.rfc-editor.org/info/rfc8990" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8990.xml">
          <front>
            <title>GeneRic Autonomic Signaling Protocol (GRASP)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="B. Carpenter" initials="B." role="editor" surname="Carpenter"/>
            <author fullname="B. Liu" initials="B." role="editor" surname="Liu"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document specifies the GeneRic Autonomic Signaling Protocol (GRASP), which enables autonomic nodes and Autonomic Service Agents to dynamically discover peers, to synchronize state with each other, and to negotiate parameter settings with each other. GRASP depends on an external security environment that is described elsewhere. The technical objectives and parameters for specific application scenarios are to be described in separate documents. Appendices briefly discuss requirements for the protocol and existing protocols with comparable features.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8990"/>
          <seriesInfo name="DOI" value="10.17487/RFC8990"/>
        </reference>
        <reference anchor="RFC8994" target="https://www.rfc-editor.org/info/rfc8994" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8994.xml">
          <front>
            <title>An Autonomic Control Plane (ACP)</title>
            <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." role="editor" surname="Behringer"/>
            <author fullname="S. Bjarnason" initials="S." surname="Bjarnason"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>Autonomic functions need a control plane to communicate, which depends on some addressing and routing. This Autonomic Control Plane should ideally be self-managing and be as independent as possible of configuration. This document defines such a plane and calls it the "Autonomic Control Plane", with the primary use as a control plane for autonomic functions. It also serves as a "virtual out-of-band channel" for Operations, Administration, and Management (OAM) communications over a network that provides automatically configured, hop-by-hop authenticated and encrypted communications via automatically configured IPv6 even when the network is not configured or is misconfigured.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8994"/>
          <seriesInfo name="DOI" value="10.17487/RFC8994"/>
        </reference>
        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/rfc8610" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8610.xml">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8993" target="https://www.rfc-editor.org/info/rfc8993" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8993.xml">
          <front>
            <title>A Reference Model for Autonomic Networking</title>
            <author fullname="M. Behringer" initials="M." role="editor" surname="Behringer"/>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <author fullname="L. Ciavaglia" initials="L." surname="Ciavaglia"/>
            <author fullname="J. Nobre" initials="J." surname="Nobre"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes a reference model for Autonomic Networking for managed networks. It defines the behavior of an autonomic node, how the various elements in an autonomic context work together, and how autonomic services can use the infrastructure.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8993"/>
          <seriesInfo name="DOI" value="10.17487/RFC8993"/>
        </reference>
        <reference anchor="I-D.ietf-anima-grasp-distribution" target="https://datatracker.ietf.org/doc/html/draft-ietf-anima-grasp-distribution-12" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-anima-grasp-distribution.xml">
          <front>
            <title>Information Distribution over GRASP</title>
            <author fullname="Sheng Jiang" initials="S." surname="Jiang">
              <organization>Beijing University of Posts and
      Telecommunications</organization>
            </author>
            <author fullname="Bing Liu" initials="B." surname="Liu">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Xun Xiao" initials="X." surname="Xiao">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Artur Hecker" initials="A." surname="Hecker">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Xiuli Zheng" initials="X." surname="Zheng">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="11" month="December" year="2024"/>
            <abstract>
              <t>This document specifies experimental extensions to the GRASP protocol to enable information distribution capabilities. The extension has two aspects: 1) new GRASP messages and options; 2) processing behaviors on the nodes. With these extensions, the GRASP would have following new capabilities which make it a sufficient tool for general information distribution: 1) Pub-Sub model of information processing; 2) one node can actively sending data to another, without GRASP negotiation procedures; 3) selective flooding mechanism to allow the ASAs control the flooding scope. This document updates RFC8990, the GeneRic Autonomic Signaling Protocol (GRASP)[RFC8990].</t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-grasp-distribution-12"/>
        </reference>
        <reference anchor="OasisMQTT" target="https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.htm">
          <front>
            <title>MQTT Version 5.0</title>
            <author initials="" surname="Andrew Banks (Ed )">
              <organization/>
            </author>
            <author initials="" surname="Ed Briggs (Ed )">
              <organization/>
            </author>
            <author initials="" surname="Ken Borgendale (Ed )">
              <organization/>
            </author>
            <author initials="" surname="Rahul Gupta (Ed )">
              <organization/>
            </author>
            <author>
              <organization>OASIS</organization>
            </author>
            <date year="2019" month="March"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 175?>

<section anchor="change-log-rfc-editor-please-remove">
      <name>Change Log [RFC Editor: please remove]</name>
      <section anchor="draft-00">
        <name>Draft-00</name>
        <ul spacing="normal">
          <li>
            <t>Original version</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Prof. Antje Neve introduced the author to MQTT and provided some valuable code samples.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
zNxa0i1Coqc5ql3la11OGOxlGZV338gWVTMlV3T/O02qbumcalRSyTfxY/wG
/v/9hix+FmuAeIDuCumUtlhCdmaLMVqPN2/3qlutuXaLYko3jz1oUt1H9rj1
3PQcGpXeEgkZQ3Szte+tRJig+wXKtTBr5qi5gzn5LwXIcrkBen9Am0T3HmSk
C7DOzxD7nHr7KCmoCXl37JNatnlXXZSUbqI12HwWwNQBbJjMtmsBnyvfXdcG
xgbUAWGsvs/a3hX1BXVrVGGXbqtcufFbUQXH3bDkUj3wpTrBqrqqgKK7dX4V
WE0jEKOWkCxm6Z0xXd/QnTISoUXXVf41gz5uNXq+Vanr1G6FvIoCbCYjVREB
WLrr6yWdQnHNVYu/kKKD6BKcroSa2aheMPk+qm5vfcFY1wmkcqkCOjOuc6MI
Jb+EN/z1UxW8z8I+HbB1y1Whkbjivq6f3j7MmKs9667LumJUZ82SdP0fD3by
p28z+ZAyaJWtbn7i2LOdM6x459Ndr7Cd7dT8VV2V+juX5i6rulmcyujO63Sy
QLGixIWZ/25YPXokTvmPX/R3LuxT3RkkVdPldxxGd6lZJyr2N10w0YeB5zQV
v+zM0FSoDl9ZXudmRsWnew/51YpbG74VIZ19E7ugu9WyyiQc19d2fBVHfE9k
gRCNARIGMrXB/wPi8/nUBxwAAA==

-->

</rfc>
