<?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.39 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-kwatsen-netconf-quic-call-home-01" category="std" consensus="true" submissionType="IETF" updates="8071" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="NC/RC Call Home Using QUIC">NETCONF Call Home and RESTCONF Call Home Using QUIC</title>
    <seriesInfo name="Internet-Draft" value="draft-kwatsen-netconf-quic-call-home-01"/>
    <author fullname="Kent Watsen">
      <organization>Watsen Networks</organization>
      <address>
        <email>kent+ietf@watsen.net</email>
      </address>
    </author>
    <date year="2026" month="July" day="28"/>
    <area>Operations and Management</area>
    <workgroup>Network Configuration</workgroup>
    <keyword>NETCONF</keyword>
    <keyword>RESTCONF</keyword>
    <keyword>call-home</keyword>
    <keyword>quic</keyword>
    <abstract>
      <?line 59?>

<t>This RFC extends NETCONF Call Home and RESTCONF Call Home
[RFC 8071] to support the QUIC protocol [RFC 9000].</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://kwatsen.github.io/quic-call-home/draft-kwatsen-netconf-quic-call-home.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-kwatsen-netconf-quic-call-home/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Network Configuration Working Group mailing list (<eref target="mailto:netconf@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/netconf/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/netconf/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/kwatsen/quic-call-home"/>.</t>
    </note>
  </front>
  <middle>
    <?line 66?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This RFC extends NETCONF Call Home and RESTCONF Call Home
<xref target="RFC8071"/> to support the QUIC protocol <xref target="RFC9000"/>.</t>
      <t>RESTCONF <xref target="RFC8040"/> supports QUIC with its implicit
support for HTTP/3 <xref target="RFC9114"/>.  NETCONF <xref target="RFC6241"/>
supports QUIC with <xref target="I-D.ietf-netconf-over-quic"/>.</t>
      <t>The QUIC-based call home solution presented in this
document is nearly identical to the TLS-based solution
defined in RFC 8071, with the primary difference being
the use of UDP instead of TCP.</t>
      <t>RFC 8071 provides a full description and motivation for
call home.  This document merely maps the solution to
the QUIC protocol.</t>
      <section anchor="applicability-statement">
        <name>Applicability Statement</name>
        <t>The techniques described in this document are suitable for network
  management scenarios such as the ones described in <xref section="1.1" sectionFormat="of" target="RFC8071"/>.  However, these techniques are only defined for NETCONF
  Call Home and RESTCONF Call Home, as described in this document.</t>
        <t>The reason for this restriction is that different protocols have
  different security assumptions.  The NETCONF and RESTCONF protocols
  require clients and servers to verify the identity of the other
  party.  This requirement is specified for the NETCONF protocol
  in <xref section="2.2" sectionFormat="of" target="RFC6241"/>, and for the RESTCONF protocol in
  Sections <xref target="RFC8040" section="2.4" sectionFormat="bare"/> and <xref target="RFC8040" section="2.5" sectionFormat="bare"/> of <xref target="RFC8040"/>.</t>
        <t>This contrasts with the base QUIC protocol, which does not require
  programmatic verification of the other party, e.g., in <xref section="2.1" sectionFormat="of" target="RFC9001"/> says "the server is optionally able to learn and
  authenticate an identity for the client."  In such circumstances,
  allowing the QUIC server to contact the QUIC client would open new
  vulnerabilities.  Any use of call home with QUIC for purposes other
  than NETCONF or RESTCONF will need a thorough contextual risk
  assessment.  A risk assessment for this RFC is in the Security
  Considerations section <xref target="sec-con"/>.</t>
      </section>
      <section anchor="relation-to-rfc-9001">
        <name>Relation to RFC 9001</name>
        <t>This document uses the QUIC <xref target="RFC9001"/> with the exception that
  the statement "The client initiates the exchange and the server
  responds" made in <xref section="2.1" sectionFormat="of" target="RFC9001"/> does not apply.
  Assuming the reference to client means "QUIC client" and the
  reference to server means "QUIC server", this statement does
  not hold true in call home, where the network element is the
  QUIC server and yet still initiates the UDP exchange.  Security
  implications related to this change are discussed in Security
  Considerations <xref target="sec-con"/>.</t>
      </section>
      <section anchor="the-netconfrestconf-convention">
        <name>The NETCONF/RESTCONF Convention</name>
        <t>Throughout the remainder of this document, the term "NETCONF/
  RESTCONF" is used as an abbreviation in place of the text "the
  NETCONF or the RESTCONF".  The NETCONF/RESTCONF abbreviation is not
  intended to require or to imply that a client or server must
  implement both the NETCONF standard and the RESTCONF standard.</t>
      </section>
      <section anchor="requirements-terminology">
        <name>Requirements 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 removeInRFC="true" anchor="editorial-note-to-be-removed-by-rfc-editor">
        <name>Editorial Note (To be removed by RFC Editor)</name>
        <t>This document contains placeholder values that need to be replaced with
finalized values at the time of publication.  This note summarizes all
of the substitutions that are needed.  No other RFC Editor instructions
are specified elsewhere in this document.</t>
        <t>Please apply the following replacements:</t>
        <ul spacing="normal">
          <li>
            <t>XXXX --&gt; the assigned RFC number for this draft</t>
          </li>
          <li>
            <t>PORT-X --&gt; the IANA-assigned port number for NETCONF Call Home (QUIC)</t>
          </li>
          <li>
            <t>PORT-Y --&gt; the IANA-assigned port number for RESTCONF Call Home (QUIC)</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="solution-overview">
      <name>Solution Overview</name>
      <t>The diagram below illustrates call home from a protocol layering
  perspective:</t>
      <artwork><![CDATA[
         NETCONF/RESTCONF                    NETCONF/RESTCONF
              Server                              Client
                |                                    |
                |         1. UDO                     |
                |----------------------------------->|
                |                                    |
                |                                    |
                |         2. QUIC                    |
                |<-----------------------------------|
                |                                    |
                |                                    |
                |         3. NETCONF/RESTCONF        |
                |<-----------------------------------|
                |                                    |

               Note: arrows point from the "client" to
                 the "server" at each protocol layer
]]></artwork>
      <t>This diagram makes the following points:</t>
      <ol spacing="normal" type="1"><li>
          <t>The NETCONF/RESTCONF server begins by sending an empty UDP
datagram to the NETCONF/RESTCONF client.</t>
        </li>
        <li>
          <t>Using this source IP address of the UDP datagram, the
NETCONF/RESTCONF client initiates a QUIC session to the
NETCONF/RESTCONF server.</t>
        </li>
        <li>
          <t>Using this QUICsession, the NETCONF/RESTCONF client initates
a NETCONF/RESTCONF session to the NETCONF/RESTCONF server.</t>
        </li>
      </ol>
    </section>
    <section anchor="the-netconf-or-restconf-client">
      <name>The NETCONF or RESTCONF Client</name>
      <t>The term "client" is defined in <xref section="1.1" sectionFormat="of" target="RFC6241"/> and
<xref section="1.1.5" sectionFormat="of" target="RFC8040"/>.  In the context of network management,
the NETCONF/RESTCONF client might be a network management system.</t>
      <section anchor="protocol-operation">
        <name>Protocol Operation</name>
        <!--{:type C%d}-->
<!-- <list style="format C%d"> -->
<t>C1. The NETCONF/RESTCONF client listens for UDP datagrams from
    NETCONF/RESTCONF servers.  The client <bcp14>MUST</bcp14> support receiving
    UDP datagrams on the IANA-assigned ports defined in <xref target="iana-con"/>,
    but <bcp14>MAY</bcp14> be configured to listen to a different port.</t>
        <t>C2. Upon receiving a UDP datagram, the NETCONF/RESTCONF client ensures
    that the datagram contains at least 1200 bytes.  If the datagram
    contains less than 1200 bytes, the NETCONF/RESTCONF client stops
    processing the connection attempt.</t>
        <t>C3. The NETCONF/RESTCONF client initiates the standard QUIC client
    <xref target="RFC9000"/> protocol to the IP address and port extracted from
    the received UDP datagram.</t>
        <t>C4. As part of establishing the QUIC connection, the NETCONF/RESTCONF
    client <bcp14>MUST</bcp14> validate the server's presented certificate.  This
    validation <bcp14>MAY</bcp14> be accomplished by certificate path validation
    or by comparing the certificate to a previously trusted or
    "pinned" value.  If the certificate contains revocation checking
    information, the NETCONF/RESTCONF client <bcp14>SHOULD</bcp14> check the
    revocation status of the certificate.  If it is determined that
    a certificate has been revoked, the client <bcp14>MUST</bcp14> immediately
    close the connection.</t>
        <t>C5. If certificate path validation is used, the NETCONF/RESTCONF
    client <bcp14>MUST</bcp14> ensure that the presented certificate has a valid
    chain of trust to a preconfigured issuer certificate, and that
    the presented certificate encodes an "identifier" <xref target="RFC6125"/> that
    the client had awareness of prior to the connection attempt.  How
    identifiers are encoded in certificates <bcp14>MAY</bcp14> be determined by a
    policy associated with the certificate's issuer.  For instance, a
    given issuer may be known to only sign IDevID certificates
    <xref target="Std-802.1AR-2009"/> having a unique identifier (e.g., serial
    number) in the X.509 certificate's "CommonName" field.</t>
        <t>C6. After the server's certificate is validated, the QUIC protocol
    proceeds as normal to establish a QUIC connection.  When performing
    client authentication with the NETCONF/RESTCONF server, the
    NETCONF/RESTCONF client <bcp14>MUST</bcp14> ensure to only use credentials
    that it had previously associated for the NETCONF/RESTCONF
    server's presented server certificate.</t>
        <t>C7. Once the QUIC connection is established, the NETCONF/RESTCONF
    client starts either the NETCONF-client <xref target="RFC6241"/> or RESTCONF-client
    <xref target="RFC8040"/> protocol.  Assuming the use of the IANA-assigned ports,
    the NETCONF-client protocol is started when the UDP datagram is
    received on port PORT-X and the RESTCONF-client protocol is
    started when the the UDP datagram is received on port PORT-Y.</t>
      </section>
      <section anchor="configuration-data-model">
        <name>Configuration Data Model</name>
        <t>How a NETCONF or RESTCONF client is configured is outside the scope
of this document.  This includes configuration that might be used to
enable listening for call home connections, configuring trusted
certificate issuers, and configuring identifiers for expected
connections.  That said, YANG <xref target="RFC7950"/> modules for configuring a
NETCONF and RESTCONF clients, including call home, are provided in
{{RFC10010}} and {{RFC10011}} respectively.</t>
      </section>
    </section>
    <section anchor="the-netconf-or-restconf-server">
      <name>The NETCONF or RESTCONF Server</name>
      <t>The term "server" is defined in <xref section="1.1" sectionFormat="of" target="RFC6241"/> and
<xref section="1.1.5" sectionFormat="of" target="RFC8040"/>.  In the context of network management,
the NETCONF/RESTCONF server might be a network element or a device.</t>
      <section anchor="protocol-operation-1">
        <name>Protocol Operation</name>
        <!--{:type S%d}-->
<!-- <list style="format S%d"> -->
<t>S1. The NETCONF/RESTCONF server sends a UDP datagram containing at
    least 1200 bytes to the NETCONF/RESTCONF client.  The server <bcp14>MUST</bcp14>
    support connecting to one of the IANA-assigned ports defined in
    <xref target="iana-con"/>, but <bcp14>MAY</bcp14> be configured to connect to a different port.
    Using the IANA-assigned ports, the server connects to port PORT-X
    for NETCONF over QUIC, port PORT-Y for RESTCONF over QUIC.</t>
        <t>S2. The NETCONF/RESTCONF server listens for incoming QUIC connections
    on the UDP address and port used when it sent the initial UDP
    datagram to the NETCONF/RESTCONF client.</t>
        <t>S3. As part of establishing the QUIC connection, the NETCONF/RESTCONF
    server will send its certificate to the NETCONF/RESTCONF client.
    The server <bcp14>MUST</bcp14> also send all intermediate certificates leading
    up to a well known and trusted issuer.  How to send a list of
    certificates is defined in <xref section="4.4.2." sectionFormat="of" target="RFC8646"/>.</t>
        <t>S4. Establishing a QUIC session requires server authentication
    of client credentials in all cases except with RESTCONF, where
    some client authentication schemes occur after the TLS
    connection has been established.  If TLS-level client
    authentication is required, and the client is unable to
    successfully authenticate itself to the server in an amount
    of time defined by local policy, the server <bcp14>MUST</bcp14> close the
    connection.</t>
        <t>S5. Once the QUIC connection is established, depending on how the
    NETCONF/RESTCONF server is configured, it starts either the
    NETCONF-server or RESTCONF-server over QUIC protocol, per
    <xref target="I-D.ietf-netconf-over-quic"/> and <xref target="RFC8040"/> respectively..
    Assuming the use of the IANA-assigned ports, the NETCONF-server
    over QUIC protocol is used after connecting to remote port
    PORT-X and the RESTCONF-server protocol is used after
    connecting to remote port PORT-Y.</t>
        <t>S6. If a persistent connection is desired, the NETCONF/RESTCONF
    server, as the connection initiator, <bcp14>SHOULD</bcp14> actively test the
    aliveness of the connection using a keep-alive mechanism.  The
    NETCONF/RESTCONF server <bcp14>SHOULD</bcp14> send PING Frame <xref section="19.2" sectionFormat="of" target="RFC9000"/>, and ensure an ACK Frame <xref section="19.3" sectionFormat="of" target="RFC9000"/>
    in received in an amount of time set by local policy.  If the
    connection is lost, the NETCONF/RESTCONF server should initiate
    is new connection by going back to S1.</t>
      </section>
      <section anchor="configuration-data-model-1">
        <name>Configuration Data Model</name>
        <t>How a NETCONF or RESTCONF server is configured is outside the scope
of this document.  This includes configuration that might be used to
specify hostnames, IP addresses, ports, algorithms, or other relevant
parameters.  That said, YANG <xref target="RFC7950"/> modules for configuring
NETCONF and RESTCONF servers, including call home, are provided in
{{RFC10010}} and {{RFC10011}} respectively.</t>
      </section>
    </section>
    <section anchor="sec-con">
      <name>Security Considerations</name>
      <t>The solution in this document extends <xref target="RFC8071"/> to support call
home using QUIC <xref target="RFC9000"/> for the NETCONF and RESTCONF protocols,
<xref target="I-D.ietf-netconf-over-quic"/> and <xref target="RFC8040"/> respectively.  The
security considerations described in those documents apply here as
well.</t>
      <t>The solution in this document shims a standard QUIC client initated
connection by having the QUIC server start a connection by asking
the QUIC client to start a standard QUIC-client connection back to
it.  Thus the security analysis focuses on this interaction.</t>
      <t>An analysis for the unprotected role reversal is in <xref section="5" sectionFormat="of" target="RFC8071"/>.</t>
      <t>In order to thwart an amplication attack, the initial UDP datagram
must be at least 1200 bytes.  In order to thwart an injection
attack, the payload of initial UDP datagram is discarded.  In order
to thwart a denial of service attack, precautions mitigating DoS
attacks are recommended, such as temporarily blacklisting the
source IP address and port  after a set number of unsuccessful
connection attempts.</t>
      <t>This document recommends the NETCONF/RESTCONF server, as the
connection initiator, to actively test the aliveness of the
QUIC connection by sending a PING Frame and expecting an ACK
frame in an amount of time set by local policy.  The PING
and ACK frames are cryptographically protected, after mutual
authentication, and therefore do not introduce an attack vector.</t>
    </section>
    <section anchor="op-con">
      <name>Operational Considerations</name>
      <t>Please see the last paragram in <xref section="10.1.2" sectionFormat="of" target="RFC9000"/>.</t>
    </section>
    <section anchor="iana-con">
      <name>IANA Considerations</name>
      <t>IANA has assigned two UDP port numbers in the "User Ports" range
   with the service names "netconf-ch-quic" and "restconf-ch-quic".
   These ports will be the default ports for NETCONF Call Home and
   RESTCONF Call Home when using QUIC.  Below is the registration
   template following the rules in [RFC6335].</t>
      <t>Service Name:           netconf-ch-quic
   Port Number:            PORT-X
   Transport Protocol(s):  UDP
   Description:            NETCONF Call Home (QUIC)
   Assignee:               IESG <eref target="mailto:iesg@ietf.org">iesg@ietf.org</eref>
   Contact:                IETF Chair <eref target="mailto:chair@ietf.org">chair@ietf.org</eref>
   Reference:              RFC XXXX</t>
      <t>Service Name:           restconf-ch-quic
   Port Number:            PORT-Y
   Transport Protocol(s):  UDP
   Description:            RESTCONF Call Home (QUIC)
   Assignee:               IESG <eref target="mailto:iesg@ietf.org">iesg@ietf.org</eref>
   Contact:                IETF Chair <eref target="mailto:chair@ietf.org">chair@ietf.org</eref>
   Reference:              RFC XXXX</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC6520">
          <front>
            <title>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) Heartbeat Extension</title>
            <author fullname="R. Seggelmann" initials="R." surname="Seggelmann"/>
            <author fullname="M. Tuexen" initials="M." surname="Tuexen"/>
            <author fullname="M. Williams" initials="M." surname="Williams"/>
            <date month="February" year="2012"/>
            <abstract>
              <t>This document describes the Heartbeat Extension for the Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) protocols.</t>
              <t>The Heartbeat Extension provides a new protocol for TLS/DTLS allowing the usage of keep-alive functionality without performing a renegotiation and a basis for path MTU (PMTU) discovery for DTLS. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6520"/>
          <seriesInfo name="DOI" value="10.17487/RFC6520"/>
        </reference>
        <reference anchor="RFC6125">
          <front>
            <title>Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)</title>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="J. Hodges" initials="J." surname="Hodges"/>
            <date month="March" year="2011"/>
            <abstract>
              <t>Many application technologies enable secure communication between two entities by means of Internet Public Key Infrastructure Using X.509 (PKIX) certificates in the context of Transport Layer Security (TLS). This document specifies procedures for representing and verifying the identity of application services in such interactions. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6125"/>
          <seriesInfo name="DOI" value="10.17487/RFC6125"/>
        </reference>
        <reference anchor="RFC8071">
          <front>
            <title>NETCONF Call Home and RESTCONF Call Home</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="February" year="2017"/>
            <abstract>
              <t>This RFC presents NETCONF Call Home and RESTCONF Call Home, which enable a NETCONF or RESTCONF server to initiate a secure connection to a NETCONF or RESTCONF client, respectively.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8071"/>
          <seriesInfo name="DOI" value="10.17487/RFC8071"/>
        </reference>
        <reference anchor="RFC8646">
          <front>
            <title>Not Issued</title>
            <author fullname="" initials="" surname="">
              <organization/>
            </author>
          </front>
          <seriesInfo name="RFC" value="8646"/>
        </reference>
        <reference anchor="RFC9000">
          <front>
            <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
            <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9000"/>
          <seriesInfo name="DOI" value="10.17487/RFC9000"/>
        </reference>
        <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>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-netconf-over-quic">
          <front>
            <title>NETCONF over QUIC</title>
            <author fullname="Jinyou Dai" initials="J." surname="Dai">
              <organization>Fiberhome Telecom LTD./CICT.</organization>
            </author>
            <author fullname="Shaohua Yu" initials="S." surname="Yu">
              <organization>China PCL.</organization>
            </author>
            <author fullname="Weiqiang Cheng" initials="W." surname="Cheng">
              <organization>China Mobile</organization>
            </author>
            <author fullname="Marc Blanchet" initials="M." surname="Blanchet">
              <organization>Viagenie</organization>
            </author>
            <author fullname="Per Andersson" initials="P." surname="Andersson">
              <organization>Ionio Systems</organization>
            </author>
            <date day="27" month="June" year="2026"/>
            <abstract>
              <t>   This document specifies how to use QUIC as a secure transport for
   exchanging Network Configuration Protocol (NETCONF) messages.
   NETCONF over QUIC allows to take advantage of QUIC streams, for
   example, to eliminate some TCP head-of-line blocking issues.  NETCONF
   over QUIC provides security properties similar to NETCONF over TLS.

   This document also defines a YANG module which augments the ietf-
   netconf-client and ietf-netconf-server YANG modules.

Editorial note (to be removed by the RFC Editor

   This draft contains placeholder values that need to be replaced with
   finalized values at the time of publication.  This note summarizes
   all of the substitutions that are needed.  No other RFC Editor
   instructions are specified elsewhere in this document.

   Artwork in this document contains shorthand references to drafts in
   progress.  Please apply the following replacements:

   *  AAAA --&gt; the assigned RFC value for this draft

   *  BBBB --&gt; the assigned RFC value for draft-ietf-netconf-netconf-
      client-server

   *  CCCC --&gt; the assigned RFC value for draft-ietf-netconf-quic-
      client-server

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-netconf-over-quic-09"/>
        </reference>
        <reference anchor="RFC6241">
          <front>
            <title>Network Configuration Protocol (NETCONF)</title>
            <author fullname="R. Enns" initials="R." role="editor" surname="Enns"/>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <author fullname="A. Bierman" initials="A." role="editor" surname="Bierman"/>
            <date month="June" year="2011"/>
            <abstract>
              <t>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="RFC7950">
          <front>
            <title>The YANG 1.1 Data Modeling Language</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="August" year="2016"/>
            <abstract>
              <t>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">
          <front>
            <title>RESTCONF Protocol</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>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="RFC9001">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </reference>
        <reference anchor="RFC9114">
          <front>
            <title>HTTP/3</title>
            <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
            <date month="June" year="2022"/>
            <abstract>
              <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9114"/>
          <seriesInfo name="DOI" value="10.17487/RFC9114"/>
        </reference>
        <reference anchor="Std-802.1AR-2009" target="http://standards.ieee.org/findstds/standard/802.1AR-2009.html">
          <front>
            <title>IEEE Standard for Local and metropolitan area networks - Secure Device Identity</title>
            <author>
              <organization>IEEE SA-Standards Board</organization>
            </author>
            <date year="2009" month="December"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 408?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The author would like to thank the following for lively discussions
on list and in the halls (ordered by first name):
  Lucas Pardu.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
s3vawaI+AAA=

-->

</rfc>
