<?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.3.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-mboned-dorms-07" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.2 -->
  <front>
    <title abbrev="DORMS">Discovery Of Restconf Metadata for Source-specific multicast</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-mboned-dorms-07"/>
    <author initials="J." surname="Holland" fullname="Jake Holland">
      <organization>Akamai Technologies, Inc.</organization>
      <address>
        <postal>
          <street>145 Broadway</street>
          <city>Cambridge, MA 02144</city>
          <country>United States of America</country>
        </postal>
        <email>jakeholland.net@gmail.com</email>
      </address>
    </author>
    <author initials="K." surname="Rose" fullname="Kyle Rose">
      <organization>Akamai Technologies, Inc.</organization>
      <address>
        <postal>
          <street>145 Broadway</street>
          <city>Cambridge, MA 02144</city>
          <country>United States of America</country>
        </postal>
        <email>krose@krose.org</email>
      </address>
    </author>
    <author initials="M." surname="Franke" fullname="Max Franke">
      <organization>TU Berlin</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>mfranke@inet.tu-berlin.de</email>
      </address>
    </author>
    <date year="2025" month="September" day="15"/>
    <area>Ops</area>
    <workgroup>Mboned</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 81?>

<t>This document defines DORMS (Discovery Of Restconf Metadata for Source-specific multicast), a method to discover and retrieve extensible metadata about source-specific multicast channels using RESTCONF.
The reverse IP DNS zone for a multicast sender's IP address is configured to use SRV resource records to advertise the hostname of a RESTCONF server that publishes metadata according to a new YANG module with support for extensions.
A new service name and the new YANG module are defined.</t>
    </abstract>
  </front>
  <middle>
    <?line 87?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document defines DORMS (Discovery Of Restconf Metadata for Source-specific multicast).</t>
      <t>A DORMS service is a RESTCONF <xref target="RFC8040"/> service that provides read access to data in the "ietf-dorms" YANG <xref target="RFC7950"/> model defined in <xref target="model"/>.
This model, along with optional extensions defined in other documents, provide an extensible set of information about multicast data streams.
A review of some example use cases that can be enabled by this kind of metadata is given in <xref target="motivation"/>.</t>
      <t>This document does not prohibit the use of the "ietf-dorms" model with other protocols such as NETCONF <xref target="RFC6241"/>, CORECONF <xref target="I-D.draft-ietf-core-comi"/>, or gNMI <xref target="I-D.draft-openconfig-rtgwg-gnmi-spec"/>, but the semantics of using the model over those protocols is out of scope for this document.
This document only defines the discovery and use of the "ietf-dorms" YANG model in RESTCONF.</t>
      <t>This document defines the "dorms" service name for use with the SRV DNS Resource Record (RR) type <xref target="RFC2782"/>.
A sender using a DORMS service to publish metadata SHOULD configure at least one SRV RR for the "_dorms._tcp" subdomain in the reverse IP DNS zone for the source IP used by some active multicast traffic.
The domain name in one of these SRV records provides a hostname corresponding to a DORMS server that can provide metadata for the sender's source-specific multicast traffic.
Publishing such a RR enables DORMS clients to discover and query a DORMS server as described in <xref target="disco"/>.</t>
      <section anchor="background">
        <name>Background</name>
        <t>The reader is assumed to be familiar with the basic DNS concepts described in <xref target="RFC1034"/>, <xref target="RFC1035"/>, and the subsequent documents that update them, as well as the use of the SRV Resource Record type as described in <xref target="RFC2782"/>.</t>
        <t>The reader is also assumed to be familiar with the concepts and terminology regarding source-specific multicast as described in <xref target="RFC4607"/> and the use of IGMPv3 <xref target="RFC3376"/> and MLDv2 <xref target="RFC3810"/> for group management of source-specific multicast channels, as described in <xref target="RFC4604"/>.</t>
        <t>The reader is also assumed to be familiar with the concepts and terminology for RESTCONF <xref target="RFC8040"/> and YANG <xref target="RFC7950"/>.</t>
      </section>
      <section anchor="terminology">
        <name>Terminology</name>
        <table>
          <thead>
            <tr>
              <th align="right">Term</th>
              <th align="left">Definition</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="right">(S,G)</td>
              <td align="left">A source-specific multicast channel, as described in <xref target="RFC4607"/>. A pair of IP addresses with a source host IP and destination group IP.</td>
            </tr>
            <tr>
              <td align="right">DORMS client</td>
              <td align="left">An application or system that can communicate with DORMS servers to fetch metadata about (S,G)s.</td>
            </tr>
            <tr>
              <td align="right">DORMS server</td>
              <td align="left">A RESTCONF server that implements the ietf-dorms YANG model defined in this document.</td>
            </tr>
            <tr>
              <td align="right">RR</td>
              <td align="left">A DNS Resource Record, as described in <xref target="RFC1034"/></td>
            </tr>
            <tr>
              <td align="right">RRType</td>
              <td align="left">A DNS Resource Record Type, as described in <xref target="RFC1034"/></td>
            </tr>
            <tr>
              <td align="right">SSM</td>
              <td align="left">Source-specific multicast, as described in <xref target="RFC4607"/></td>
            </tr>
          </tbody>
        </table>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in <xref target="RFC2119"/> and <xref target="RFC8174"/> when, and only when, they appear in all capitals, as shown here.</t>
      </section>
      <section anchor="motivation">
        <name>Motivation and Use Cases</name>
        <t>DORMS provides a framework that can be extended to publish supplemental information about multicast traffic in a globally discoverable manner.
This supplemental information may be needed by entities involved in the delivery or processing of the traffic to ensure it is handled in accordance with their operational or policy requirements.</t>
        <t>Detailing the specifics of all known possible extensions is out of scope for this document except to note that a range of possible use cases are expected and they may be supported by a variety of different future extensions.
But a few example use cases are provided below for illustration.</t>
        <section anchor="provisioning-and-oversubscription-protection">
          <name>Provisioning and Oversubscription Protection</name>
          <t>One use case for DORMS is when a network that is capable of forwarding multicast traffic may need to take provisioning actions or make admission control decisions based on the expected bitrate of the traffic in order to prevent oversubscription of constrained devices in the network.
In such a case, the network in question could learn these bitrates from the metadata provided by DORMS.
<xref target="I-D.draft-ietf-mboned-cbacc"/> defines some DORMS extensions to support this use case.</t>
        </section>
        <section anchor="authentication">
          <name>Authentication</name>
          <t>Another use case for DORMS is providing information for use in authenticating the multicast traffic before accepting it for forwarding by a network device, or for processing by a receiving application.
As DORMS metadata is transmitted over a secure and authenticated connection, it can act as a security anchor for data required to verify the authenticity of multicast packets.
<xref target="I-D.draft-ietf-mboned-ambi"/> defines some DORMS extensions to support this use case.</t>
        </section>
        <section anchor="content-description">
          <name>Content Description</name>
          <t>Another use case for DORMS is describing the contents carried by a multicast traffic channel.
The content description could include information about the protocols or applications that can be used to consume the traffic, or information about the media carried (e.g. information based on the Dublin Core Metadata Element Set <xref target="RFC5013"/>), or could make assertions about the legal status of the traffic within specific contexts.</t>
        </section>
      </section>
      <section anchor="notes-for-contributors-and-reviewers">
        <name>Notes for Contributors and Reviewers</name>
        <t>Note to RFC Editor: Please remove this section and its subsections before publication.</t>
        <t>This section is to provide references to make it easier to review the development and discussion on the draft so far.</t>
        <section anchor="venue">
          <name>Venues for Contribution and Discussion</name>
          <t>This document is in the Github repository at:</t>
          <t>https://github.com/GrumpyOldTroll/ietf-dorms-cluster</t>
          <t>Readers are welcome to open issues and send pull requests for this document.</t>
          <t>Please note that contributions may be merged and substantially edited, and as a reminder, please carefully consider the Note Well before contributing: https://datatracker.ietf.org/submit/note-well/</t>
          <t>Substantial discussion of this document should take place on the MBONED working group mailing list (mboned@ietf.org).</t>
          <ul spacing="normal">
            <li>
              <t>Join: https://www.ietf.org/mailman/listinfo/mboned</t>
            </li>
            <li>
              <t>Search: https://mailarchive.ietf.org/arch/browse/mboned/</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section anchor="disco">
      <name>Discovery and Metadata Retrieval</name>
      <t>A client that needs metadata about an (S,G) MAY attempt to discover metadata for the (S,G) using the mechanisms defined here, and MAY use the metadata received to manage the forwarding or processing of the packets in the channel.</t>
      <section anchor="channel-discovery">
        <name>Channel Discovery</name>
        <t>DORMS provides a method for clients to fetch metadata about (S,G)s that are already known to the clients.
In general, a DORMS client might learn of an (S,G) by any means, so describing all possible methods a DORMS client might use to discover a set of (S,G)s for which it wants metadata is out of scope for this document.</t>
        <t>But for example, a multicast receiver application that is a DORMS client might learn about an (S,G) by getting signals from inside the application logic, such as a selection made by a user, or a scheduled API call that reacts to updates in a library provided by a service operator.</t>
        <t>As another example, an on-path router that’s a DORMS client might instead learn about an (S,G) by receiving a PIM message or an IGMP or MLD membership report indicating a downstream client has tried to subscribe to an (S,G).
Such a router might use information learned from the DORMS metadata to make an access control decision about whether to propagate the join further upstream in the network.</t>
        <t>Other approaches for learning relevant (S,G)s could be driven by monitoring a route reflector to discover channels that are being actively forwarded, for a purpose such as monitoring network health.</t>
      </section>
      <section anchor="dns-boot">
        <name>DNS Bootstrap</name>
        <t>The DNS Bootstrap step is how a client discovers an appropriate RESTCONF server, given the source address of an (S,G).
Use of the DNS Bootstrap is OPTIONAL for clients with an alternate method of obtaining a hostname of a trusted DORMS server that has information about a target (S,G).</t>
        <t>This mechanism only works for source-specific multicast (SSM) channels.
The source address of the (S,G) is reversed and used as an index into one of the reverse mapping trees (in-addr.arpa for IPv4, as described in Section 3.5 of <xref target="RFC1035"/>, or ip6.arpa for IPv6, as described in Section 2.5 of <xref target="RFC3596"/>).</t>
        <t>When a DORMS client needs metadata for an (S,G), for example when handling a new join for that (S,G) and looking up the authentication methods that are available, the DORMS client can issue a DNS query for an SRV RR using the "dorms" service name with the domain from the reverse mapping tree, combining them as described in <xref target="RFC2782"/>.</t>
        <t>For example, a client looking for metadata about the channel with a source IP of 2001:db8::a and the group address of ff3e::8000:d, the client would start the DNS bootstrap step by performing a query for the SRV RRType for the following domain (after removing the line break inserted for editorial reasons):</t>
        <artwork><![CDATA[
     _dorms._tcp.a.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.
                 0.0.0.0.0.0.0.0.8.b.d.0.1.0.0.2.ip6.arpa.
]]></artwork>
        <t>Or for an IPv4 (S,G) with a source address of 203.0.113.4, the DORMS client would request the SRV record from the in-addr.arpa tree instead:</t>
        <artwork><![CDATA[
     _dorms._tcp.4.113.0.203.in-addr.arpa.
]]></artwork>
        <t>In either case, the DNS response for this domain might return a record such as this:</t>
        <artwork><![CDATA[
     SRV 0 1 443 dorms-restconf.example.com.
]]></artwork>
        <t>This response informs the client that a DORMS server should be reachable at dorms-restconf.example.com on port 443, and should contain metadata about multicast traffic from the given source IP.
Multiple SRV records are handled as described by <xref target="RFC2782"/>.</t>
        <t>A sender providing DORMS discovery SHOULD publish at least one SRV record in the reverse DNS zone for each source address of the multicast channels it is sending in order to advertise the hostname of the DORMS server to DORMS clients.
The DORMS servers advertised SHOULD be configured with metadata for all the groups sent from the same source IP address that have metadata published with DORMS.</t>
        <t>When performing the SRV lookup, any CNAMEs or DNAMEs found MUST be followed.
This is necessary to support zone delegation.
Some examples outlining this need are described in <xref target="RFC2317"/>.</t>
      </section>
      <section anchor="restconf-bootstrap">
        <name>RESTCONF Bootstrap</name>
        <t>Once a DORMS server has been chosen (whether via an SRV RR from a DNS response or via some other method), RESTCONF provides all the information necessary to determine the versions and url paths for metadata from the server.
A walkthrough is provided here for a sequence of example requests and responses between a DORMS client and a new DORMS server.</t>
        <section anchor="root-resource-discovery">
          <name>Root Resource Discovery</name>
          <t>As described in Section 3.1 of <xref target="RFC8040"/> and <xref target="RFC6415"/>, the RESTCONF server provides the link to the RESTCONF api entry point via the "/.well-known/host-meta" or "/.well-known/host-meta.json" resource.</t>
          <t>Example:</t>
          <t>The client might send:</t>
          <artwork><![CDATA[
     GET /.well-known/host-meta.json HTTP/1.1
     Host: dorms-restconf.example.com
     Accept: application/json
]]></artwork>
          <t>The server might respond as follows:</t>
          <artwork><![CDATA[
      HTTP/1.1 200 OK
      Date: Tue, 09 Jul 2025 20:56:00 GMT
      Server: example-server
      Cache-Control: no-cache
      Content-Type: application/json

      {
        "links":[
          {
            "rel":"restconf",
            "href":"/top/restconf"
          }
        ]
      }
]]></artwork>
        </section>
        <section anchor="yang-library-version">
          <name>YANG Library Version</name>
          <t>As described in Section 3.3.3 of <xref target="RFC8040"/>, the yang-library-version leaf is required by RESTCONF, and can be used to determine the schema of the ietf-yang-library module:</t>
          <t>Example:</t>
          <t>The client might send:</t>
          <artwork><![CDATA[
      GET /top/restconf/yang-library-version HTTP/1.1
      Host: dorms-restconf.example.com
      Accept: application/yang-data+json
]]></artwork>
          <t>The server might respond as follows:</t>
          <artwork><![CDATA[
      HTTP/1.1 200 OK
      Date: Tue, 09 Jul 2025 20:56:01 GMT
      Server: example-server
      Cache-Control: no-cache
      Content-Type: application/yang-data+json

      {
          "ietf-restconf:yang-library-version": "2016-06-21"
      }
]]></artwork>
          <t>If a DORMS client determines through examination of the yang-library-version that it may not understand the responses of the server due to a version mismatch, the server qualifies as a candidate for adding to an ignore list as described in <xref target="ignore"/>.</t>
        </section>
        <section anchor="yang-library-contents">
          <name>YANG Library Contents</name>
          <t>After checking that it supports the version of the yang-library module offered by the server, the client can check that the desired metadata modules are available on the DORMS server by fetching the module-state resource from the ietf-yang-library module.</t>
          <t>Example:</t>
          <t>The client might send:</t>
          <artwork><![CDATA[
      GET /top/restconf/data/ietf-yang-library:modules-state/\
          module=ietf-dorms,2025-09-15
      Host: dorms-restconf.example.com
      Accept: application/yang-data+json
]]></artwork>
          <t>The server might respond as follows:</t>
          <artwork><![CDATA[
    HTTP/1.1 200 OK
    Date: Tue, 09 Jul 2025 20:56:02 GMT
    Server: example-server
    Cache-Control: no-cache
    Content-Type: application/yang-data+json

    {
      "ietf-yang-library:module": [
        {
          "conformance-type": "implement",
          "name": "ietf-dorms",
          "namespace": "urn:ietf:params:xml:ns:yang:ietf-dorms",
          "revision": "2025-09-15",
          "schema":
              "https://example.com/yang/ietf-dorms@2025-09-15.yang"
        }
      ]
    }
]]></artwork>
          <t>Other modules required or desired by the client also can be checked in a similar way, or the full set of available modules can be retrieved by not providing a key for the "module" list.
If a DORMS client that requires the presence of certain modules to perform its function discovers the required modules are not present on a server, that server qualifies for inclusion in an ignore list according to <xref target="ignore"/>.</t>
        </section>
        <section anchor="metadata-retrieval">
          <name>Metadata Retrieval</name>
          <t>Once the expected DORMS version is confirmed, the client can retrieve the metadata specific to the desired (S,G).</t>
          <t>Example:</t>
          <t>The client might send:</t>
          <artwork><![CDATA[
      GET /top/restconf/data/ietf-dorms:dorms/metadata/\
          sender=2001:db8::a/group=ff3e::8000:1
      Host: dorms-restconf.example.com
      Accept: application/yang-data+json
]]></artwork>
          <t>The server might respond as follows:</t>
          <artwork><![CDATA[
      HTTP/1.1 200 OK
      Date: Tue, 09 Jul 2025 20:56:02 GMT
      Server: example-server
      Cache-Control: no-cache
      Content-Type: application/yang-data+json

      {
        "ietf-dorms:group": [
          {
            "group-address":"ff3e::8000:1",
            "udp-stream":[
              {
                "port":"5001"
              }
            ]
          }
        ]
      }
]]></artwork>
          <t>Note that when other modules are installed on the DORMS server that extend the ietf-dorms module, other fields MAY appear inside the response.
This is the primary mechanism for providing extensible metadata for an (S,G), so clients SHOULD ignore fields they do not understand.</t>
          <t>As mentioned in <xref target="scoping"/>, most clients SHOULD use data resource identifiers in the request URI as in the above example, in order to retrieve metadata for only the targeted (S,G)s.</t>
        </section>
        <section anchor="cors-considerations">
          <name>Cross Origin Resource Sharing (CORS)</name>
          <t>It is RECOMMENDED that DORMS servers use the Access-Control-Allow-Origin header field, as specified by <xref target="whatwg-fetch"/>, and that they respond appropriately to Preflight requests.</t>
          <t>The use of '*' for allowed origins is NOT RECOMMENDED for publicly reachable DORMS servers.
A review of some of the potential consequences of unrestricted CORS access is given in <xref target="security-cors"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="model">
      <name>YANG Model</name>
      <t>The primary purpose of the YANG model defined here is to serve as a scaffold for the more useful metadata that will extend it.
See <xref target="motivation"/> for some example use cases that can be enabled by the use of DORMS extensions.</t>
      <section anchor="yang-tree">
        <name>YANG Tree</name>
        <t>The tree diagram below follows the notation defined in <xref target="RFC8340"/>.</t>
        <figure>
          <name>DORMS Tree Diagram</name>
          <artwork><![CDATA[
module: ietf-dorms
  +--rw dorms
     +--rw metadata
        +--rw sender* [source-address]
           +--rw source-address    inet:ip-address-no-zone
           +--rw group* [group-address]
              +--rw group-address
              |       rt-types:ip-multicast-group-address
              +--rw udp-stream* [port]
                 +--rw port    inet:port-number

]]></artwork>
        </figure>
      </section>
      <section anchor="yang-module">
        <name>YANG Module</name>
        <sourcecode markers="true"><![CDATA[ file ietf-dorms@2025-09-15.yang
module ietf-dorms {
  yang-version 1.1;

  namespace "urn:ietf:params:xml:ns:yang:ietf-dorms";
  prefix "dorms";

  import ietf-inet-types {
    prefix "inet";
    reference "RFC 6991 Section 4";
  }

  import ietf-routing-types {
    prefix "rt-types";
    reference "RFC 8294";
  }

  organization "IETF MBONED (Multicast Backbone
      Deployment) Working Group";

  contact
      "Author:   Jake Holland
                 <mailto:jholland@akamai.com>
      ";

  description
  "Copyright (c) 2025 IETF Trust and the persons identified as
   authors of the code.  All rights reserved.

   Redistribution and use in source and binary forms, with or
   without modification, is permitted pursuant to, and subject to
   the license terms contained in, the Simplified BSD License set
   forth in Section 4.c of the IETF Trust's Legal Provisions
   Relating to IETF Documents
   (https://trustee.ietf.org/license-info).

   This version of this YANG module is part of RFC XXXX
   (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself
   for full legal notices.

   The key words 'MUST', 'MUST NOT', 'REQUIRED', 'SHALL', 'SHALL
   NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED',
   'MAY', and 'OPTIONAL' in this document are to be interpreted as
   described in BCP 14 (RFC 2119) (RFC 8174) when, and only when,
   they appear in all capitals, as shown here.

   This module contains the definition for the DORMS data type.
   It provides out of band metadata about SSM channels.";

  revision 2025-09-15 {
    description "Draft version, post-early-review.";
    reference
        "draft-ietf-mboned-dorms";
  }

  container dorms {
    description "Top-level DORMS container.";
    container metadata {
      description "Metadata scaffold for source-specific multicast
          channels.";
      list sender {
        key source-address;
        description "Sender for DORMS";

        leaf source-address {
          type inet:ip-address-no-zone;
          mandatory true;
          description
              "The source IP address of a multicast sender.";
        }

        list group {
          key group-address;
          description "Metadata for a DORMS (S,G).";

          leaf group-address {
            type rt-types:ip-multicast-group-address;
            mandatory true;
            description "The group IP address for an (S,G).";
          }
          must '(re-match(./group-address, "[^:]*") and ' +
                're-match(../source-address, "[^:]*")) or ' +
               '(re-match(./group-address, ".*:.*") and ' +
                're-match(../source-address, ".*:.*"))' {
            error-message 'A group-address type must match '+
                          'its parent source-address type';
          }

          list udp-stream {
            key "port";
            description
                "Metadata for UDP traffic on a specific port.";
            leaf port {
              type inet:port-number;
              mandatory true;
              description
                  "The UDP port of a data stream.";
            }
          }
        }
      }
    }
  }
}
]]></sourcecode>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <section anchor="yang-considerations">
        <name>YANG Model Considerations</name>
        <t>The YANG module specified in this document defines a schema for data that is designed to be accessed via RESTCONF <xref target="RFC8040"/>.
The lowest RESTCONF layer is HTTPS, and the mandatory-to-implement secure transport is TLS <xref target="RFC8446"/>.</t>
        <t>There are a number of data nodes defined in this YANG module that are writable/creatable/deletable (i.e., config true, which is the default).
These data nodes may be considered sensitive or vulnerable in some network environments.
Write operations to these data nodes (e.g., via HTTP POST/PUT/PATCH/DELETE methods) without proper protection can have a negative effect on network operations.
These are the subtrees and data nodes and their sensitivity/vulnerability:</t>
        <t>Subtrees:</t>
        <ul spacing="normal">
          <li>
            <t>/dorms/metadata</t>
          </li>
          <li>
            <t>/dorms/metadata/sender</t>
          </li>
          <li>
            <t>/dorms/metadata/sender/group</t>
          </li>
          <li>
            <t>/dorms/metadata/sender/group/udp-stream</t>
          </li>
        </ul>
        <t>Data nodes:</t>
        <ul spacing="normal">
          <li>
            <t>/dorms/metadata/sender/source-address</t>
          </li>
          <li>
            <t>/dorms/metadata/sender/group/group-address</t>
          </li>
          <li>
            <t>/dorms/metadata/sender/group/udp-stream/port</t>
          </li>
        </ul>
        <t>These data nodes refer to the characteristics of a stream of data packets being sent on a multicast channel.
If an unauthorized or incorrect edit is made, receivers would no longer be able to associate the data stream to the correct metadata, resulting in a denial-of-service for end users that rely on the metadata to properly process the data packets.
Therefore, DORMS servers MUST constrain write access to ensure that unauthorized users cannot edit the data published by the server.</t>
        <t>The Network Configuration Access Control Model (NACM) <xref target="RFC8341"/> provides the means to restrict access for particular NETCONF or RESTCONF users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content.
DORMS servers SHOULD use NACM to constrain write accesses if NETCONF or RESTCONF are configured to offer any write access at all.</t>
        <t>However, note that scalability considerations described in <xref target="provisioning"/> might make the naive use of NACM intractable in many deployments, for a broadcast use case.
So alternative methods to constrain write access to the metadata MAY be used instead of or in addition to NACM.
For example, some deployments that use a CDN or caching layer of discoverable DORMS servers might uniformly provide read-only access through the caching layer, and require the trusted writers of configuration to use an alternate method for accessing the underlying database such as connecting directly to the origin, or requiring the use of a non-RESTCONF mechanism (such as an HTTPS API requiring some kind of client authentication) for editing the contents of the metadata.</t>
        <t>The data nodes defined in this YANG module are writable because some deployments might manage the contents in the database by using normal RESTCONF editing operations with NACM, but in typical deployments it is expected that DORMS clients will generally have read-only access.
For the reasons and requirements described in <xref target="exposure"/>, none of the data nodes in the DORMS module or its extensions contain sensitive data.</t>
        <t>DORMS servers MAY provide read-only access to clients for publicly available metadata without authenticating the clients.
That is, under the terms in Section 2.5 of <xref target="RFC8040"/> read-only access to publicly available data MAY be treated as unprotected resources.</t>
      </section>
      <section anchor="exposure">
        <name>Exposure of Metadata</name>
        <t>Although some DORMS servers MAY restrict access based on client identity, as described in Section 2.5 of <xref target="RFC8040"/>, many DORMS servers will use the ietf-dorms YANG model to publish information without restriction, and even DORMS servers requiring client authentication will inherently be providing the DORMS metadata to a multitude of multicast receivers acting as DORMS clients.</t>
        <t>Accordingly, future YANG modules that augment data paths under "ietf-dorms:dorms" MUST NOT include any sensitive data unsuitable for public dissemination in those data paths.</t>
        <t>Because of the possibility that scalable read-only access might be necessary to fulfill the scalability goals for a DORMS server, data under these paths MAY be cached or replicated by numerous external entities, so owners of such data SHOULD NOT assume such data can be kept secret when provided by DORMS servers anywhere under the "ietf-dorms:dorms" path even if access controls are used with authenticated clients unless additional operational procedures and restrictions are defined and implemented that can effectively control the dissemination of the secret data.
DORMS alone does not provide any such mechanisms, and users of DORMS can be expected not to be following any such mechanisms in the absence of additional assurances.</t>
      </section>
      <section anchor="secure-communications">
        <name>Secure Communications</name>
        <t>The provisions of Section 2 of <xref target="RFC8040"/> provide secure communication requirements that are already required of DORMS servers, since they are RESTCONF servers.
All RESTCONF requirements and security considerations remain in force for DORMS servers.</t>
        <t>It is intended that security-related metadata about the SSM channels such as public keys for use with cryptographic algorithms may be delivered over the RESTCONF connection, and that information available from this connection can be used as a trust anchor.
The secure transport provided by these minimum requirements are relied upon to provide authenticated delivery of these trust anchors, once a connection with a trusted DORMS server has been established.</t>
      </section>
      <section anchor="record-spoofing">
        <name>Record-Spoofing</name>
        <t>When using the DNS Bootstrap method of discovery described in <xref target="dns-boot"/>, the SRV resource record contains information that MUST be communicated to the DORMS client without being modified.
The method used to ensure the result was unmodified is up to the client.</t>
        <t>There must be a trust relationship between the end consumer of this resource record and the DNS server.
This relationship may be end-to-end DNSSEC validation or a secure connection to a trusted resolver that itself makes use of mechanisms for ensuring RR integrity (e.g., by enforcing DNSSEC validation on recursive requests) to prevent record-spoofing of the response from the trusted server.
The connection to this trusted resolver can use any secure channel, such as with a TSIG <xref target="RFC8945"/> or SIG(0) <xref target="RFC2931"/> channel, a secure local channel on the host, DNS over TLS <xref target="RFC7858"/>, or DNS over HTTPS <xref target="RFC8484"/>.
Any combination of mechanisms may be employed that together guarantee end-to-end integrity of the intended RR.</t>
        <t>If a DORMS client accepts a maliciously crafted SRV record, the client could connect to a server controlled by the attacker, and use metadata provided by them.
The consequences of trusting maliciously crafted metadata could range from attacks against the DORMS client's parser of the metadata (via malicious constructions of the formatting of the data) to arbitrary disruption of the decisions the DORMS client makes as a result of processing validly constructed metadata.</t>
        <t>Clients MAY use other secure methods to explicitly associate an (S,G) with a set of DORMS server hostnames, such as a configured mapping or an alternative trusted lookup service.</t>
      </section>
      <section anchor="security-cors">
        <name>CORS considerations</name>
        <t>As described in <xref target="cors-considerations"/>, it is RECOMMENDED that DORMS servers provide appropriate restrictions to ensure only authorized web pages access metadata for their (S,G)s from the widely deployed base of secure browsers that use the CORS protocol according to <xref target="whatwg-fetch"/>.</t>
        <t>Providing '*' for the allowed origins exposes the DORMS-based metadata to access by scripts in all web pages, which opens the possibility of certain kinds of attacks against networks where browsers have support for joining multicast (S,G)s.</t>
        <t>If the authentication for an (S,G) relies on DORMS-based metadata (for example, as defined in <xref target="I-D.draft-ietf-mboned-ambi"/>), an unauthorized web page that tries to join an (S,G) not permitted by the CORS headers for the DORMS server will be prevented from subscribing to the channels.</t>
        <t>If an unauthorized site is not prevented from subscribing, code on the site (for example a malicious advertisement) could request subscriptions from many different (S,G)s, overflowing limits on the joining of (S,G)s and disrupting the delivery of multicast traffic for legitimate use.</t>
        <t>Further, if the malicious script can be distributed to many different users within the same receiving network, the script could coordinate an attack against the network as a whole by joining disjoint sets of (S,G)s from different users within the receiving network.
The distributed subscription requests across the receiving network could overflow limits for the receiving network as a whole, essentially causing the websites displaying the ad to participate in an overjoining attack (see Appendix A of <xref target="I-D.draft-ietf-mboned-cbacc"/>).</t>
        <t>Even if network safety mechanisms protect the network from the worst effects of oversubscription, the population counts for the multicast subscriptions could be disrupted by this kind of attack, and therefore push out legitimately requested traffic that's being consumed by real users.
For a legitimately popular event, this could cause a widespread disruption to the service if it is successfully pushed out.</t>
        <t>A denial-of-service attack of this sort would be thwarted by restricting the access to (S,G)s to authorized websites through the use of properly restricted CORS headers.</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <section anchor="linking-content-to-traffic-streams">
        <name>Linking Content to Traffic Streams</name>
        <t>In the typical case, the mechanisms defined in this document provide a standardized way to discover information that is already available in other ways.</t>
        <t>However, depending on the metadata provided by the server, observers may be able to more easily associate traffic from an (S,G) with the content contained within the (S,G).
At the subscriber edge of a multicast-capable network, where the network operator has the capability to localize an IGMP <xref target="RFC3376"/> or MLD <xref target="RFC3810"/> channel subscription to a specific user or location, for example by MAC address or source IP address, the structured publishing of metadata may make it easier to automate collection of data about the content a receiver is consuming.</t>
      </section>
      <section anchor="linking-multicast-subscribers-to-unicast-connections">
        <name>Linking Multicast Subscribers to Unicast Connections</name>
        <t>Subscription to a multicast channel generally only exposes the IGMP or MLD membership report to others on the same LAN, and as the membership propagates through a multicast-capable network, it ordinarily gets aggregated with other end users.</t>
        <t>However, a RESTCONF connection is a unicast connection, and exposes a different set of information to the operator of the RESTCONF server, including IP address and timing about the requests made.
Where DORMS access becomes required for a successful multicast join (for example, as expected in a browser deployment), this can expose new information about end users relative to services based solely on multicast streams.
The information disclosure occurs by giving the DORMS service operator information about the client's IP and the channels the client queried.
Additionally, an on-path observer may infer multicast subscription intent by observing client traffic directed to a known DORMS server.</t>
        <t>In some deployments it may be possible to use a proxy that aggregates many end users when the aggregate privacy characteristics are needed by end users.</t>
      </section>
    </section>
    <section anchor="operational-considerations">
      <name>Operational Considerations</name>
      <section anchor="provisioning">
        <name>Provisioning</name>
        <t>In contrast to many common RESTCONF deployments that are intended to provide configuration management for a service to a narrow set of authenticated administrators, DORMS servers often provide read-only metadata for public access or for a very large set of end receivers, since it provides metadata in support of multicast data streams and multicast can scale to very large audiences.</t>
        <t>Operators are advised to provision the DORMS service in a way that will scale appropriately to the size of the expected audience.
Specific advice on such scaling is out of scope for this document, but some of the mechanisms outlined in <xref target="RFC3040"/> or other online resources might be useful, depending on the expected number of clients.</t>
      </section>
      <section anchor="scoping">
        <name>Data Scoping</name>
        <t>Except as outlined below, clients SHOULD issue narrowed requests for DORMS resources by following the format from Section 3.5.3 of <xref target="RFC8040"/> to encode data resource identifiers in the request URI.
This avoids downloading excessive data, since the DORMS server may provide metadata for many (S,G)s, possibly from many different senders.</t>
        <t>However, clients that possess out-of-band knowledge about the expected content scope MAY issue (S,G) metadata requests that are filtered only by the source address, or that are unfiltered altogether.
Depending on the request patterns and the contents of the data store, this may result in fewer round trips or less overhead, and can therefore be helpful behavior for scaling purposes in some scenarios.
In general, engaging in this behavior requires some administrative configuration or some optimization heuristics that can recover from unexpected results.</t>
        <t>Servers MAY restrict or throttle client access based on the client certificate presented (if any), or based on heuristics that take note of client request patterns.</t>
        <t>A complete description of the heuristics for clients and servers to meet their scalability goals is out of scope for this document.</t>
      </section>
      <section anchor="ignore">
        <name>Ignore List</name>
        <t>If a DORMS client reaches a DORMS server but determines through examination of responses from that DORMS server that it may not understand or be able to use the responses of the server (for example due to an issue like a version mismatch or modules that are missing but are required for the DORMS client's purposes), the client MAY add this server to an ignore list and reject servers in its ignore list during future discovery attempts.</t>
        <t>A client using the DNS Bootstrap discovery method in <xref target="dns-boot"/> would treat servers in its ignore list as unreachable for the purposes of processing the SRV RR as described in <xref target="RFC2782"/>.
(For example, a client might end up selecting a server with a less-preferred priority than servers in its ignore list, even if an HTTPS connection could have been formed successfully with some of those servers.)</t>
        <t>If an ignore list is maintained, entries SHOULD time out and allow for re-checking after a configurable hold-down time that has a default value no shorter than 1 hour and no longer than 24 hours.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <section anchor="the-yang-module-names-registry">
        <name>The YANG Module Names Registry</name>
        <t>This document adds one YANG module to the "YANG Module Names" registry maintained at &lt;https://www.iana.org/assignments/yang-parameters&gt;.
The following registrations are made, per the format in Section 14 of <xref target="RFC6020"/>:</t>
        <artwork><![CDATA[
      name:      ietf-dorms
      namespace: urn:ietf:params:xml:ns:yang:ietf-dorms
      prefix:    dorms
      reference: I-D.draft-ietf-mboned-dorms
]]></artwork>
      </section>
      <section anchor="the-xml-registry">
        <name>The XML Registry</name>
        <t>This document adds the following registration to the "ns" subregistry of the "IETF XML Registry" defined in <xref target="RFC3688"/>, referencing this document.</t>
        <artwork><![CDATA[
       URI: urn:ietf:params:xml:ns:yang:ietf-dorms
       Registrant Contact: The IESG.
       XML: N/A, the requested URI is an XML namespace.
]]></artwork>
      </section>
      <section anchor="the-service-name-and-transport-protocol-port-number-registry">
        <name>The Service Name and Transport Protocol Port Number Registry</name>
        <t>This document adds one service name to the "Service Name and Transport Protocol Port Number Registry" maintained at &lt;https://www.iana.org/assignments/service-names-port-numbers&gt;.
The following registrations are made, per the format in Section 8.1.1 of <xref target="RFC6335"/>:</t>
        <artwork><![CDATA[
     Service Name:            dorms
     Transport Protocol(s):   TCP, UDP
     Assignee:                IESG <iesg@ietf.org>
     Contact:                 IETF Chair <chair@ietf.org>
     Description:             The DORMS service (RESTCONF that
                              includes ietf-dorms YANG model)
     Reference:               I-D.draft-ietf-mboned-dorms
     Port Number:             N/A
     Service Code:            N/A
     Known Unauthorized Uses: N/A
     Assignment Notes:        N/A
]]></artwork>
      </section>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to Christian Worm Mortensen, Dino Farinacci, Lenny Guiliano, and Reshad Rahman for their very helpful comments and reviews.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <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="RFC2317">
          <front>
            <title>Classless IN-ADDR.ARPA delegation</title>
            <author fullname="H. Eidnes" initials="H." surname="Eidnes"/>
            <author fullname="G. de Groot" initials="G." surname="de Groot"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <date month="March" year="1998"/>
            <abstract>
              <t>This document describes a way to do IN-ADDR.ARPA delegation on non-octet boundaries for address spaces covering fewer than 256 addresses. 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="20"/>
          <seriesInfo name="RFC" value="2317"/>
          <seriesInfo name="DOI" value="10.17487/RFC2317"/>
        </reference>
        <reference anchor="RFC2782">
          <front>
            <title>A DNS RR for specifying the location of services (DNS SRV)</title>
            <author fullname="A. Gulbrandsen" initials="A." surname="Gulbrandsen"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <author fullname="L. Esibov" initials="L." surname="Esibov"/>
            <date month="February" year="2000"/>
            <abstract>
              <t>This document describes a DNS RR which specifies the location of the server(s) for a specific protocol and domain. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2782"/>
          <seriesInfo name="DOI" value="10.17487/RFC2782"/>
        </reference>
        <reference anchor="RFC3596">
          <front>
            <title>DNS Extensions to Support IP Version 6</title>
            <author fullname="S. Thomson" initials="S." surname="Thomson"/>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="V. Ksinant" initials="V." surname="Ksinant"/>
            <author fullname="M. Souissi" initials="M." surname="Souissi"/>
            <date month="October" year="2003"/>
            <abstract>
              <t>This document defines the changes that need to be made to the Domain Name System (DNS) to support hosts running IP version 6 (IPv6). The changes include a resource record type to store an IPv6 address, a domain to support lookups based on an IPv6 address, and updated definitions of existing query types that return Internet addresses as part of additional section processing. The extensions are designed to be compatible with existing applications and, in particular, DNS implementations themselves. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="88"/>
          <seriesInfo name="RFC" value="3596"/>
          <seriesInfo name="DOI" value="10.17487/RFC3596"/>
        </reference>
        <reference anchor="RFC6020">
          <front>
            <title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
            <author fullname="M. Bjorklund" initials="M." role="editor" surname="Bjorklund"/>
            <date month="October" year="2010"/>
            <abstract>
              <t>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">
          <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="RFC6991">
          <front>
            <title>Common YANG Data Types</title>
            <author fullname="J. Schoenwaelder" initials="J." role="editor" surname="Schoenwaelder"/>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document introduces a collection of common data types to be used with the YANG data modeling language. This document obsoletes RFC 6021.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6991"/>
          <seriesInfo name="DOI" value="10.17487/RFC6991"/>
        </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="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>
        <reference anchor="RFC8294">
          <front>
            <title>Common YANG Data Types for the Routing Area</title>
            <author fullname="X. Liu" initials="X." surname="Liu"/>
            <author fullname="Y. Qu" initials="Y." surname="Qu"/>
            <author fullname="A. Lindem" initials="A." surname="Lindem"/>
            <author fullname="C. Hopps" initials="C." surname="Hopps"/>
            <author fullname="L. Berger" initials="L." surname="Berger"/>
            <date month="December" year="2017"/>
            <abstract>
              <t>This document defines a collection of common data types using the YANG data modeling language. These derived common types are designed to be imported by other modules defined in the routing area.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8294"/>
          <seriesInfo name="DOI" value="10.17487/RFC8294"/>
        </reference>
        <reference anchor="RFC8340">
          <front>
            <title>YANG Tree Diagrams</title>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <author fullname="L. Berger" initials="L." role="editor" surname="Berger"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>This document captures the current syntax used in YANG module tree diagrams. The purpose of this document is to provide a single location for this definition. This syntax may be updated from time to time based on the evolution of the YANG language.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="215"/>
          <seriesInfo name="RFC" value="8340"/>
          <seriesInfo name="DOI" value="10.17487/RFC8340"/>
        </reference>
        <reference anchor="RFC8341">
          <front>
            <title>Network Configuration Access Control Model</title>
            <author fullname="A. Bierman" initials="A." surname="Bierman"/>
            <author fullname="M. Bjorklund" initials="M." surname="Bjorklund"/>
            <date month="March" year="2018"/>
            <abstract>
              <t>The standardization of network configuration interfaces for use with the Network Configuration Protocol (NETCONF) or the RESTCONF protocol requires a structured and secure operating environment that promotes human usability and multi-vendor interoperability. There is a need for standard mechanisms to restrict NETCONF or RESTCONF protocol access for particular users to a preconfigured subset of all available NETCONF or RESTCONF protocol operations and content. This document defines such an access control model.</t>
              <t>This document obsoletes RFC 6536.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="91"/>
          <seriesInfo name="RFC" value="8341"/>
          <seriesInfo name="DOI" value="10.17487/RFC8341"/>
        </reference>
        <reference anchor="RFC8446">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8446"/>
          <seriesInfo name="DOI" value="10.17487/RFC8446"/>
        </reference>
        <reference anchor="whatwg-fetch" target="https://fetch.spec.whatwg.org/">
          <front>
            <title>WHATWG Fetch Living Standard</title>
            <author>
              <organization/>
            </author>
            <date year="2020" month="October"/>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC1034">
          <front>
            <title>Domain names - concepts and facilities</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised basic definition of The Domain Name System. It obsoletes RFC-882. This memo describes the domain style names and their used for host address look up and electronic mail forwarding. It discusses the clients and servers in the domain name system and the protocol used between them.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1034"/>
          <seriesInfo name="DOI" value="10.17487/RFC1034"/>
        </reference>
        <reference anchor="RFC1035">
          <front>
            <title>Domain names - implementation and specification</title>
            <author fullname="P. Mockapetris" initials="P." surname="Mockapetris"/>
            <date month="November" year="1987"/>
            <abstract>
              <t>This RFC is the revised specification of the protocol and format used in the implementation of the Domain Name System. It obsoletes RFC-883. This memo documents the details of the domain name client - server communication.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="13"/>
          <seriesInfo name="RFC" value="1035"/>
          <seriesInfo name="DOI" value="10.17487/RFC1035"/>
        </reference>
        <reference anchor="RFC2931">
          <front>
            <title>DNS Request and Transaction Signatures ( SIG(0)s )</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <date month="September" year="2000"/>
            <abstract>
              <t>This document describes the minor but non-interoperable changes in Request and Transaction signature resource records ( SIG(0)s ) that implementation experience has deemed necessary. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2931"/>
          <seriesInfo name="DOI" value="10.17487/RFC2931"/>
        </reference>
        <reference anchor="RFC3040">
          <front>
            <title>Internet Web Replication and Caching Taxonomy</title>
            <author fullname="I. Cooper" initials="I." surname="Cooper"/>
            <author fullname="I. Melve" initials="I." surname="Melve"/>
            <author fullname="G. Tomlinson" initials="G." surname="Tomlinson"/>
            <date month="January" year="2001"/>
            <abstract>
              <t>This memo specifies standard terminology and the taxonomy of web replication and caching infrastructure as deployed today. It introduces standard concepts, and protocols used today within this application domain. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3040"/>
          <seriesInfo name="DOI" value="10.17487/RFC3040"/>
        </reference>
        <reference anchor="RFC3376">
          <front>
            <title>Internet Group Management Protocol, Version 3</title>
            <author fullname="B. Cain" initials="B." surname="Cain"/>
            <author fullname="S. Deering" initials="S." surname="Deering"/>
            <author fullname="I. Kouvelas" initials="I." surname="Kouvelas"/>
            <author fullname="B. Fenner" initials="B." surname="Fenner"/>
            <author fullname="A. Thyagarajan" initials="A." surname="Thyagarajan"/>
            <date month="October" year="2002"/>
          </front>
          <seriesInfo name="RFC" value="3376"/>
          <seriesInfo name="DOI" value="10.17487/RFC3376"/>
        </reference>
        <reference anchor="RFC3688">
          <front>
            <title>The IETF XML Registry</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling"/>
            <date month="January" year="2004"/>
            <abstract>
              <t>This document describes an IANA maintained registry for IETF standards which use Extensible Markup Language (XML) related items such as Namespaces, Document Type Declarations (DTDs), Schemas, and Resource Description Framework (RDF) Schemas.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="81"/>
          <seriesInfo name="RFC" value="3688"/>
          <seriesInfo name="DOI" value="10.17487/RFC3688"/>
        </reference>
        <reference anchor="RFC3810">
          <front>
            <title>Multicast Listener Discovery Version 2 (MLDv2) for IPv6</title>
            <author fullname="R. Vida" initials="R." role="editor" surname="Vida"/>
            <author fullname="L. Costa" initials="L." role="editor" surname="Costa"/>
            <date month="June" year="2004"/>
            <abstract>
              <t>This document updates RFC 2710, and it specifies Version 2 of the ulticast Listener Discovery Protocol (MLDv2). MLD is used by an IPv6 router to discover the presence of multicast listeners on directly attached links, and to discover which multicast addresses are of interest to those neighboring nodes. MLDv2 is designed to be interoperable with MLDv1. MLDv2 adds the ability for a node to report interest in listening to packets with a particular multicast address only from specific source addresses or from all sources except for specific source addresses. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3810"/>
          <seriesInfo name="DOI" value="10.17487/RFC3810"/>
        </reference>
        <reference anchor="RFC4604">
          <front>
            <title>Using Internet Group Management Protocol Version 3 (IGMPv3) and Multicast Listener Discovery Protocol Version 2 (MLDv2) for Source-Specific Multicast</title>
            <author fullname="H. Holbrook" initials="H." surname="Holbrook"/>
            <author fullname="B. Cain" initials="B." surname="Cain"/>
            <author fullname="B. Haberman" initials="B." surname="Haberman"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>The Internet Group Management Protocol Version 3 (IGMPv3) and the Multicast Listener Discovery Protocol Version 2 (MLDv2) are protocols that allow a host to inform its neighboring routers of its desire to receive IPv4 and IPv6 multicast transmissions, respectively. Source-specific multicast (SSM) is a form of multicast in which a receiver is required to specify both the network-layer address of the source and the multicast destination address in order to receive the multicast transmission. This document defines the notion of an "SSM-aware" router and host, and clarifies and (in some cases) modifies the behavior of IGMPv3 and MLDv2 on SSM-aware routers and hosts to accommodate source-specific multicast. This document updates the IGMPv3 and MLDv2 specifications. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4604"/>
          <seriesInfo name="DOI" value="10.17487/RFC4604"/>
        </reference>
        <reference anchor="RFC4607">
          <front>
            <title>Source-Specific Multicast for IP</title>
            <author fullname="H. Holbrook" initials="H." surname="Holbrook"/>
            <author fullname="B. Cain" initials="B." surname="Cain"/>
            <date month="August" year="2006"/>
            <abstract>
              <t>IP version 4 (IPv4) addresses in the 232/8 (232.0.0.0 to 232.255.255.255) range are designated as source-specific multicast (SSM) destination addresses and are reserved for use by source-specific applications and protocols. For IP version 6 (IPv6), the address prefix FF3x::/32 is reserved for source-specific multicast use. This document defines an extension to the Internet network service that applies to datagrams sent to SSM addresses and defines the host and router requirements to support this extension. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4607"/>
          <seriesInfo name="DOI" value="10.17487/RFC4607"/>
        </reference>
        <reference anchor="RFC5013">
          <front>
            <title>The Dublin Core Metadata Element Set</title>
            <author fullname="J. Kunze" initials="J." surname="Kunze"/>
            <author fullname="T. Baker" initials="T." surname="Baker"/>
            <date month="August" year="2007"/>
            <abstract>
              <t>This document defines fifteen metadata elements for resource description in a cross-disciplinary information environment. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5013"/>
          <seriesInfo name="DOI" value="10.17487/RFC5013"/>
        </reference>
        <reference anchor="RFC6335">
          <front>
            <title>Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton"/>
            <author fullname="L. Eggert" initials="L." surname="Eggert"/>
            <author fullname="J. Touch" initials="J." surname="Touch"/>
            <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
            <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
            <date month="August" year="2011"/>
            <abstract>
              <t>This document defines the procedures that the Internet Assigned Numbers Authority (IANA) uses when handling assignment and other requests related to the Service Name and Transport Protocol Port Number registry. It also discusses the rationale and principles behind these procedures and how they facilitate the long-term sustainability of the registry.</t>
              <t>This document updates IANA's procedures by obsoleting the previous UDP and TCP port assignment procedures defined in Sections 8 and 9.1 of the IANA Allocation Guidelines, and it updates the IANA service name and port assignment procedures for UDP-Lite, the Datagram Congestion Control Protocol (DCCP), and the Stream Control Transmission Protocol (SCTP). It also updates the DNS SRV specification to clarify what a service name is and how it is registered. This memo documents an Internet Best Current Practice.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="165"/>
          <seriesInfo name="RFC" value="6335"/>
          <seriesInfo name="DOI" value="10.17487/RFC6335"/>
        </reference>
        <reference anchor="RFC6415">
          <front>
            <title>Web Host Metadata</title>
            <author fullname="E. Hammer-Lahav" initials="E." role="editor" surname="Hammer-Lahav"/>
            <author fullname="B. Cook" initials="B." surname="Cook"/>
            <date month="October" year="2011"/>
            <abstract>
              <t>This specification describes a method for locating host metadata as well as information about individual resources controlled by the host. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6415"/>
          <seriesInfo name="DOI" value="10.17487/RFC6415"/>
        </reference>
        <reference anchor="RFC7858">
          <front>
            <title>Specification for DNS over Transport Layer Security (TLS)</title>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="L. Zhu" initials="L." surname="Zhu"/>
            <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS. Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626. In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
              <t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7858"/>
          <seriesInfo name="DOI" value="10.17487/RFC7858"/>
        </reference>
        <reference anchor="RFC8484">
          <front>
            <title>DNS Queries over HTTPS (DoH)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8484"/>
          <seriesInfo name="DOI" value="10.17487/RFC8484"/>
        </reference>
        <reference anchor="RFC8945">
          <front>
            <title>Secret Key Transaction Authentication for DNS (TSIG)</title>
            <author fullname="F. Dupont" initials="F." surname="Dupont"/>
            <author fullname="S. Morris" initials="S." surname="Morris"/>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="O. Gudmundsson" initials="O." surname="Gudmundsson"/>
            <author fullname="B. Wellington" initials="B." surname="Wellington"/>
            <date month="November" year="2020"/>
            <abstract>
              <t>This document describes a protocol for transaction-level authentication using shared secrets and one-way hashing. It can be used to authenticate dynamic updates to a DNS zone as coming from an approved client or to authenticate responses as coming from an approved name server.</t>
              <t>No recommendation is made here for distributing the shared secrets; it is expected that a network administrator will statically configure name servers and clients using some out-of-band mechanism.</t>
              <t>This document obsoletes RFCs 2845 and 4635.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="93"/>
          <seriesInfo name="RFC" value="8945"/>
          <seriesInfo name="DOI" value="10.17487/RFC8945"/>
        </reference>
        <reference anchor="I-D.draft-ietf-mboned-cbacc">
          <front>
            <title>Circuit Breaker Assisted Congestion Control</title>
            <author fullname="Jake Holland" initials="J." surname="Holland">
              <organization>Akamai Technologies, Inc.</organization>
            </author>
            <author fullname="Kyle Rose" initials="K." surname="Rose">
              <organization>Akamai Technologies, Inc.</organization>
            </author>
            <author fullname="Max Franke" initials="M." surname="Franke">
              <organization>TU Berlin</organization>
            </author>
            <date day="8" month="May" year="2025"/>
            <abstract>
              <t>   This document specifies Circuit Breaker Assisted Congestion Control
   (CBACC).  CBACC enables fast-trip Circuit Breakers by publishing rate
   metadata about multicast channels from senders to intermediate
   network nodes or receivers.  The circuit breaker behavior is defined
   as a supplement to receiver driven congestion control systems, to
   preserve network health if misbehaving or malicious receiver
   applications subscribe to a volume of traffic that exceeds capacity
   policies or capability for a network or receiving device.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mboned-cbacc-05"/>
        </reference>
        <reference anchor="I-D.draft-ietf-mboned-ambi">
          <front>
            <title>Asymmetric Manifest Based Integrity</title>
            <author fullname="Jake Holland" initials="J." surname="Holland">
              <organization>Akamai Technologies, Inc.</organization>
            </author>
            <author fullname="Kyle Rose" initials="K." surname="Rose">
              <organization>Akamai Technologies, Inc.</organization>
            </author>
            <author fullname="Max Franke" initials="M." surname="Franke">
              <organization>TU Berlin</organization>
            </author>
            <date day="7" month="May" year="2025"/>
            <abstract>
              <t>   This document defines Asymmetric Manifest-Based Integrity (AMBI).
   AMBI allows each receiver or forwarder of a stream of multicast
   packets to check the integrity of the contents of each packet in the
   data stream.  AMBI operates by passing cryptographically verifiable
   hashes of the data packets inside manifest messages, and sending the
   manifests over authenticated out-of-band communication channels.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-mboned-ambi-04"/>
        </reference>
        <reference anchor="I-D.draft-ietf-core-comi">
          <front>
            <title>CoAP Management Interface (CORECONF)</title>
            <author fullname="Michel Veillette" initials="M." surname="Veillette">
              <organization>Trilliant Networks Inc.</organization>
            </author>
            <author fullname="Peter Van der Stok" initials="P." surname="Van der Stok">
              <organization>consultant</organization>
            </author>
            <author fullname="Alexander Pelov" initials="A." surname="Pelov">
              <organization>IMT Atlantique</organization>
            </author>
            <author fullname="Andy Bierman" initials="A." surname="Bierman">
              <organization>YumaWorks</organization>
            </author>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="6" month="May" year="2025"/>
            <abstract>
              <t>   This document describes a network management interface for
   constrained devices and networks, called CoAP Management Interface
   (CORECONF).  The Constrained Application Protocol (CoAP) is used to
   access datastore and data node resources specified in YANG, or SMIv2
   converted to YANG.  CORECONF uses the YANG to CBOR mapping and
   converts YANG identifier strings to numeric identifiers for payload
   size reduction.  CORECONF extends the set of YANG based protocols,
   NETCONF and RESTCONF, with the capability to manage constrained
   devices and networks.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-comi-20"/>
        </reference>
        <reference anchor="I-D.draft-openconfig-rtgwg-gnmi-spec">
          <front>
            <title>gRPC Network Management Interface (gNMI)</title>
            <author fullname="Rob Shakir" initials="R." surname="Shakir">
              <organization>Google</organization>
            </author>
            <author fullname="Anees Shaikh" initials="A." surname="Shaikh">
              <organization>Google</organization>
            </author>
            <author fullname="Paul Borman" initials="P." surname="Borman">
              <organization>Google</organization>
            </author>
            <author fullname="Marcus Hines" initials="M." surname="Hines">
              <organization>Google</organization>
            </author>
            <author fullname="Carl Lebsack" initials="C." surname="Lebsack">
              <organization>Google</organization>
            </author>
            <author fullname="Chris Morrow" initials="C." surname="Morrow">
              <organization>Google</organization>
            </author>
            <date day="5" month="March" year="2018"/>
            <abstract>
              <t>   This document describes the gRPC Network Management Interface (gNMI),
   a network management protocol based on the gRPC framework.  gNMI
   supports retrieval and manipulation of state from network elements
   where the data is represented by a tree structure, and addressable by
   paths.  The gNMI service defines operations for configuration
   management, operational state retrieval, and bulk data collection via
   streaming telemetry.  The authoritative gNMI specification is
   maintained at [GNMI-SPEC].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-openconfig-rtgwg-gnmi-spec-01"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA9V963Yb15XmfzxFLeqHyAQASYmSJTjJMk3KMhNR1JBU3L3i
TFYRKABlFaqQqgJpRFFWv8a83jzJ7G9fzqUAUnJ3+jJOtw0CVeeyz77fzmAw
6LV5W2Sj5DRvxtVtVq+Ti2lymTXtuCqnyXnWppO0TZNpVSdX1aoeZ4NmmY3z
aT5OFquizcdp0/bSm5s6u6VBLi7Pr3qTalymCxpzUqfTdpBn7XSwuKnKbDKY
VPWiGRx81aNBs1FvTP+eVfV6lDTtpNfLl/UoaetV0z45OHh58KSX1lk6Si6W
Te+uqj/M6mq1HCXnPFTvQ7amLyej5Kxss7rM2sEppuv1mjYtJ39JC3pqlKyz
prfMR8mf2mrcT5qqbuts2tCn9QIf/tzrpat2XtWjXjLoJfRPXjaj5PfD5Puq
KGgc/k528/v0QxZ9XdWzUXL8IV2keXKdjedlVVSzPKPRz8rxkB9paLqsHSWH
R8+Sb+sqndyla/5hnLe065N0cVPnk1nWT86Pk4Mnh0dH8mu1KluA5X2Zt9kk
uWoJUE1STZPjRVYTzPmpjCYuRslPtK65LGtIYPhmhq+H42oRbekPw+SyarJg
P39YF5n/7n/IZj7UtKBv+N9DWlK0hfNh8l2dlh/CTZynP4df8i6u3yffZnWR
l+HAiyk/9U1OIBq2q8ENPzGcZPEaX2f1Ii3XvV5JmJq2+S1haZJcfnfy5PDw
pX18eviVffzqxRP9+PTZy+f68fnBkwP7+OTo0D6+fGkfv3r5zB54cXDkPh5+
dWQfn7x0H5/6B566wV4cHfFsd/O0vZsNplk7no94K21az3BK87ZdNqP9ff5p
CKIdysOA6748KqS/88P3x9c/vE6+w5PJm/w2L2c4pXKS1pMdfpLJNbkYtxXB
LXlC+yNqLacdGB0ePD3yH58ZjF4+tVU/9Zt9+vQrA9fT5y9e2McXh/bA0fOD
I//RAP7s4PCpwfOpm+L50aF9/OrFsxcORi8cEF8e8QNng9PhJlca36Tj8f0/
E17nW34dV3VG/1p0fquWWQnemc8GdTujs5mVi5yZ5qjXGwwGSXpDhJSOiVNd
z/MmIW65WmRlm0yyKSFnI0w02f2PMOS9fpImi4wY2yRpq2SiQyV0pEmdtXWe
3WZJ9nOblU1+Q1xgYaOmN9WqJTZ5z7jJeJ6WZVY0yaoBkly+uro+uXj73ZC2
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

-->

</rfc>
