<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.13 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-ietf-mboned-dorms-01" category="std">

  <front>
    <title abbrev="DORMS">Discovery Of Restconf Metadata for Source-specific multicast</title>

    <author initials="J." surname="Holland" fullname="Jake Holland">
      <organization>Akamai Technologies, Inc.</organization>
      <address>
        <postal>
          <street>150 Broadway</street>
          <city>Cambridge, MA 02144</city>
          <country>United States of America</country>
        </postal>
        <email>jakeholland.net@gmail.com</email>
      </address>
    </author>

    <date year="2020" month="October" day="30"/>

    <area>Ops</area>
    <workgroup>Mboned</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<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>


<section anchor="introduction" title="Introduction">

<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 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" title="Background">

<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" title="Terminology">

<texttable>
      <ttcol align='right'>Term</ttcol>
      <ttcol align='left'>Definition</ttcol>
      <c>(S,G)</c>
      <c>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.</c>
      <c>DORMS client</c>
      <c>An application or system that can communicate with DORMS servers to fetch metadata about (S,G)s.</c>
      <c>DORMS server</c>
      <c>A RESTCONF server that implements the ietf-dorms YANG model defined in this document.</c>
      <c>RR</c>
      <c>A DNS Resource Record, as described in <xref target="RFC1034"/></c>
      <c>RRType</c>
      <c>A DNS Resource Record Type, as described in <xref target="RFC1034"/></c>
      <c>SSM</c>
      <c>Source-specific multicast, as described in <xref target="RFC4607"/></c>
</texttable>

<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" title="Motivation">

<t>DORMS provides a framework that can be extended to publish supplemental information about multicas traffic in a globally discoverable manner.
This is useful so that entities engaged in delivery or processing of the traffic that are not affiliated with the sender of the traffic and who may not otherwise have any means to discover information about the traffic, such as forwarding ISPs or operators of firewalls providing security guarantees to their users, can discover the information they may need in order to process the traffic according to their requirements.</t>

<section anchor="use-cases" title="Use cases">

<t>For example, a network that is capable of forwarding multicast traffic may need to take provisioning actions or make admission control decisions at ingress points based on the expected bitrate of the traffic in order to prevent oversubscription of the network.</t>

<t>Other use cases may include metadata that can be used to authenticate the multicast traffic, metadata that describes the contents of the traffic, metadata that makes assertions about the legal status of the traffic within specific contexts, or metadata that describes the protocols or applications that can be used to consume the traffic.
Extensions to DORMS to support these or other kinds of metadata can be defined by later specifications.</t>

<t>Detailing the specific of the 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.</t>

</section>
<section anchor="channel-selection" title="Channel Selection">

<t>In general, a DORMS client might learn of an (S,G) by any means.
Therefore, describing the full set of 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 to give a few examples, 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 futher upstream in the network.</t>

<t>Other approaches for learning an (S,G) 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>
<section anchor="notes-for-contributors-and-reviewers" title="Notes for Contributors and Reviewers">

<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" title="Venues for Contribution and Discussion">

<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>

<t><list style="symbols">
  <t>Join: https://www.ietf.org/mailman/listinfo/mboned</t>
  <t>Search: https://mailarchive.ietf.org/arch/browse/mboned/</t>
</list></t>

</section>
<section anchor="non-obvious-doc-choices" title="Non-obvious doc choices">

<t>Log of odd things that need to be the way they are because of some reason that the author or reviewers may want to know later.</t>

<t><list style="symbols">
  <t>building the draft without this line produces a warning about no reference to <xref target="RFC6991"/> or <xref target="RFC8294"/>, but these are imported in the yang model. RFC 8407 requires the normative reference to 8294 (there’s an exception for 6991 but I’m not sure why and it doesn’t seem forbidden).</t>
</list></t>

</section>
</section>
</section>
<section anchor="disco" title="Discovery and Metdata Retrieval">

<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="dns-boot" title="DNS Bootstrap">

<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 with information about the 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, a receiver or middlebox can issue a DNS query for a 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, while handling a join for (203.0.113.15, 232.1.1.1), a receiver would perform a DNS query for the SRV RRType for the domain:</t>

<figure><artwork><![CDATA[
     _dorms._tcp.15.113.0.203.in-addr.arpa.
]]></artwork></figure>

<t>The DNS response for this domain might return a record such as:</t>

<figure><artwork><![CDATA[
     SRV 0 1 443 dorms-restconf.example.com.
]]></artwork></figure>

<t>This response informs the receiver 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>

</section>
<section anchor="ignore" title="Ignore List">

<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 either the cache expiration time from the response that caused the server to be added to the ignore list, or for a configurable hold-down time that has a default value no shorter than an hour and no longer than 3 days.</t>

</section>
<section anchor="restconf-bootstrap" title="RESTCONF Bootstrap">

<t>Once a DORMS host 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 from a receiver connecting to a new DORMS server.</t>

<section anchor="root-resource-discovery" title="Root Resource Discovery">

<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 receiver might send:</t>

<figure><artwork><![CDATA[
     GET /.well-known/host-meta.json HTTP/1.1
     Host: dorms-restconf.example.com
     Accept: application/json
]]></artwork></figure>

<t>The server might respond as follows:</t>

<figure><artwork><![CDATA[
      HTTP/1.1 200 OK
      Date: Tue, 27 Aug 2019 20:56:00 GMT
      Server: example-server
      Cache-Control: no-cache
      Content-Type: application/json

      {
        "links":[
          {
            "rel":"restconf",
            "href":"/top/restconf"
          }
        ]
      }
]]></artwork></figure>

</section>
<section anchor="yang-library-version" title="Yang Library Version">

<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 receiver might send:</t>

<figure><artwork><![CDATA[
      GET /top/restconf/yang-library-version HTTP/1.1
      Host: dorms-restconf.example.com
      Accept: application/yang-data+json
]]></artwork></figure>

<t>The server might respond as follows:</t>

<figure><artwork><![CDATA[
      HTTP/1.1 200 OK
      Date: Tue, 27 Aug 2019 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></figure>

<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" title="Yang Library Contents">

<t>After checking that the version of the yang-library module will be understood by the receiver, 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 receiver might send:</t>

<figure><artwork><![CDATA[
      GET /top/restconf/data/ietf-yang-library:modules-state/\
          module=ietf-dorms,2016-08-15
      Host: dorms-restconf.example.com
      Accept: application/yang-data+json
]]></artwork></figure>

<t>The server might respond as follows:</t>

<figure><artwork><![CDATA[
    HTTP/1.1 200 OK
    Date: Tue, 27 Aug 2019 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": "2019-08-25",
          "schema":
              "https://example.com/yang/ietf-dorms@2019-08-25.yang"
        }
      ]
    }
]]></artwork></figure>

<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" title="Metadata Retrieval">

<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 receiver might send:</t>

<figure><artwork><![CDATA[
      GET /top/restconf/data/ietf-dorms:metadata/\
          sender=203.0.113.15/group=232.1.1.1
      Host: dorms-restconf.example.com
      Accept: application/yang-data+json
]]></artwork></figure>

<t>The server might respond as follows:</t>

<figure><artwork><![CDATA[
      HTTP/1.1 200 OK
      Date: Tue, 27 Aug 2019 20:56:02 GMT
      Server: example-server
      Cache-Control: no-cache
      Content-Type: application/yang-data+json

      {
        "ietf-dorms:group": [
          {
            "group-address":"232.1.1.1",
            "udp-stream":[
              {
                "port":"5001"
              }
            ]
          }
        ]
      }
]]></artwork></figure>

<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" title="Cross Origin Resource Sharing (CORS)">

<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 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="scalability-considerations" title="Scalability Considerations">

<section anchor="provisioning" title="Provisioning">

<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 receivers.</t>

</section>
<section anchor="scoping" title="Data Scoping">

<t>In the absence of contextual information, 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 MAY use heuristics or out of band information about the service to issue requests for (S,G) metadata narrowed only by the source-address, or not narrowed at all.
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.
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>
<section anchor="model" title="YANG Model">

<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.
Example specified use cases include providing authentication information <xref target="I-D.draft-ietf-mboned-ambi-00"/> and bit-rate information <xref target="I-D.draft-ietf-mboned-cbacc-00"/> for use by receivers and middle boxes, but more use cases are anticipated.</t>

<section anchor="yang-tree" title="Yang Tree">

<t>The tree diagram below follows the notation defined in <xref target="RFC8340"/>.</t>

<figure title="DORMS Tree Diagram"><artwork><![CDATA[
module: ietf-dorms
  +--rw metadata
     +--rw sender* [source-address]
        +--rw source-address    inet:ip-address
        +--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" title="Yang Module">

<figure><artwork><![CDATA[
<CODE BEGINS> file ietf-dorms@2020-10-31.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) 2019 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 2019-08-25 {
        description "Initial revision.";
        reference
            "I-D.draft-ietf-mboned-dorms";
    }

    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;
                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).";
                }

                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.";
                  }
                }
            }
        }
    }
}
<CODE ENDS>
]]></artwork></figure>

</section>
</section>
<section anchor="privacy-considerations" title="Privacy Considerations">

<section anchor="linking-content-to-traffic-streams" title="Linking Content to Traffic Streams">

<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" title="Linking Multicast Subscribers to Unicast Connections">

<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 to succeed a multicast join, as expected in a browser deployment, this can expose new information about end users relative to services based solely on multicast streams.</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="iana-considerations" title="IANA Considerations">

<section anchor="the-yang-module-names-registry" title="The YANG Module Names Registry">

<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>

<figure><artwork><![CDATA[
      name:      ietf-dorms
      namespace: urn:ietf:params:xml:ns:yang:ietf-dorms
      prefix:    dorms
      reference: I-D.draft-ietf-mboned-dorms
]]></artwork></figure>

</section>
<section anchor="the-xml-registry" title="The XML Registry">

<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>

<figure><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></figure>

</section>
<section anchor="the-service-name-and-transport-protocol-port-number-registry" title="The Service Name and Transport Protocol Port Number Registry">

<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>

<figure><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></figure>

</section>
</section>
<section anchor="security" title="Security Considerations">

<section anchor="yang-model-considerations" title="YANG Model Considerations">

<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>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 MAY use NACM to control access to data nodes.</t>

<t>No data nodes defined in this YANG module are writable, creatable, or deletable.  This YANG module is intended for publication of read-only data according to a well-defined schema.</t>

</section>
<section anchor="exposure-of-metadata" title="Exposure of Metadata">

<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, because of the purpose of DORMS, be providing the DORMS metadata to potentially many receivers.</t>

<t>Accordingly, future YANG modules that augment data paths under “ietf-dorms:metadata” 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:metadata” 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" title="Secure Communications">

<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" title="Record-Spoofing">

<t>When using the DNS Boostrap method of discovery described in <xref target="dns-boot"/>, the SRV resource record contains information that SHOULD 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 DNS server that provides end-to-end safety to prevent record-spoofing of the response from the trusted server.
The connection to the trusted server can use any secure channel, such as with a TSIG <xref target="RFC2845"/> or SIG(0) <xref target="RFC2931"/> channel, a secure local channel on the host, DNS over TLS <xref target="RFC7858"/>, DNS over HTTPS <xref target="RFC8484"/>, or some other mechanism that provides authentication of the 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" title="CORS considerations">

<t>As described in <xref target="cors-considerations"/>, it’s 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-00"/>), 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-00"/>).</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’s 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="acknowledgements" title="Acknowledgements">

<t>Thanks to Christian Worm Mortensen, Dino Farinacci, and Lenny Guiliano for their very helpful comments and reviews.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<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="RFC2782" target='https://www.rfc-editor.org/info/rfc2782'>
<front>
<title>A DNS RR for specifying the location of services (DNS SRV)</title>
<author initials='A.' surname='Gulbrandsen' fullname='A. Gulbrandsen'><organization /></author>
<author initials='P.' surname='Vixie' fullname='P. Vixie'><organization /></author>
<author initials='L.' surname='Esibov' fullname='L. Esibov'><organization /></author>
<date year='2000' month='February' />
<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" target='https://www.rfc-editor.org/info/rfc3596'>
<front>
<title>DNS Extensions to Support IP Version 6</title>
<author initials='S.' surname='Thomson' fullname='S. Thomson'><organization /></author>
<author initials='C.' surname='Huitema' fullname='C. Huitema'><organization /></author>
<author initials='V.' surname='Ksinant' fullname='V. Ksinant'><organization /></author>
<author initials='M.' surname='Souissi' fullname='M. Souissi'><organization /></author>
<date year='2003' month='October' />
<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="RFC6991" target='https://www.rfc-editor.org/info/rfc6991'>
<front>
<title>Common YANG Data Types</title>
<author initials='J.' surname='Schoenwaelder' fullname='J. Schoenwaelder' role='editor'><organization /></author>
<date year='2013' month='July' />
<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" target='https://www.rfc-editor.org/info/rfc7950'>
<front>
<title>The YANG 1.1 Data Modeling Language</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'><organization /></author>
<date year='2016' month='August' />
<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" target='https://www.rfc-editor.org/info/rfc8040'>
<front>
<title>RESTCONF Protocol</title>
<author initials='A.' surname='Bierman' fullname='A. Bierman'><organization /></author>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<author initials='K.' surname='Watsen' fullname='K. Watsen'><organization /></author>
<date year='2017' month='January' />
<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" target='https://www.rfc-editor.org/info/rfc8174'>
<front>
<title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
<author initials='B.' surname='Leiba' fullname='B. Leiba'><organization /></author>
<date year='2017' month='May' />
<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" target='https://www.rfc-editor.org/info/rfc8294'>
<front>
<title>Common YANG Data Types for the Routing Area</title>
<author initials='X.' surname='Liu' fullname='X. Liu'><organization /></author>
<author initials='Y.' surname='Qu' fullname='Y. Qu'><organization /></author>
<author initials='A.' surname='Lindem' fullname='A. Lindem'><organization /></author>
<author initials='C.' surname='Hopps' fullname='C. Hopps'><organization /></author>
<author initials='L.' surname='Berger' fullname='L. Berger'><organization /></author>
<date year='2017' month='December' />
<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" target='https://www.rfc-editor.org/info/rfc8340'>
<front>
<title>YANG Tree Diagrams</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<author initials='L.' surname='Berger' fullname='L. Berger' role='editor'><organization /></author>
<date year='2018' month='March' />
<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" target='https://www.rfc-editor.org/info/rfc8341'>
<front>
<title>Network Configuration Access Control Model</title>
<author initials='A.' surname='Bierman' fullname='A. Bierman'><organization /></author>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<date year='2018' month='March' />
<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="whatwg-fetch" target="https://fetch.spec.whatwg.org/">
  <front>
    <title>WHATWG Fetch Living Standard</title>
    <author >
      <organization></organization>
    </author>
    <date year="2020" month="October"/>
  </front>
</reference>


    </references>

    <references title='Informative References'>





<reference  anchor="RFC1034" target='https://www.rfc-editor.org/info/rfc1034'>
<front>
<title>Domain names - concepts and facilities</title>
<author initials='P.V.' surname='Mockapetris' fullname='P.V. Mockapetris'><organization /></author>
<date year='1987' month='November' />
<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" target='https://www.rfc-editor.org/info/rfc1035'>
<front>
<title>Domain names - implementation and specification</title>
<author initials='P.V.' surname='Mockapetris' fullname='P.V. Mockapetris'><organization /></author>
<date year='1987' month='November' />
<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="RFC2845" target='https://www.rfc-editor.org/info/rfc2845'>
<front>
<title>Secret Key Transaction Authentication for DNS (TSIG)</title>
<author initials='P.' surname='Vixie' fullname='P. Vixie'><organization /></author>
<author initials='O.' surname='Gudmundsson' fullname='O. Gudmundsson'><organization /></author>
<author initials='D.' surname='Eastlake 3rd' fullname='D. Eastlake 3rd'><organization /></author>
<author initials='B.' surname='Wellington' fullname='B. Wellington'><organization /></author>
<date year='2000' month='May' />
<abstract><t>This protocol allows for transaction level authentication using shared secrets and one way hashing.  It can be used to authenticate dynamic updates as coming from an approved client, or to authenticate responses as coming from an approved recursive name server.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='2845'/>
<seriesInfo name='DOI' value='10.17487/RFC2845'/>
</reference>



<reference  anchor="RFC2931" target='https://www.rfc-editor.org/info/rfc2931'>
<front>
<title>DNS Request and Transaction Signatures ( SIG(0)s )</title>
<author initials='D.' surname='Eastlake 3rd' fullname='D. Eastlake 3rd'><organization /></author>
<date year='2000' month='September' />
<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" target='https://www.rfc-editor.org/info/rfc3040'>
<front>
<title>Internet Web Replication and Caching Taxonomy</title>
<author initials='I.' surname='Cooper' fullname='I. Cooper'><organization /></author>
<author initials='I.' surname='Melve' fullname='I. Melve'><organization /></author>
<author initials='G.' surname='Tomlinson' fullname='G. Tomlinson'><organization /></author>
<date year='2001' month='January' />
<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" target='https://www.rfc-editor.org/info/rfc3376'>
<front>
<title>Internet Group Management Protocol, Version 3</title>
<author initials='B.' surname='Cain' fullname='B. Cain'><organization /></author>
<author initials='S.' surname='Deering' fullname='S. Deering'><organization /></author>
<author initials='I.' surname='Kouvelas' fullname='I. Kouvelas'><organization /></author>
<author initials='B.' surname='Fenner' fullname='B. Fenner'><organization /></author>
<author initials='A.' surname='Thyagarajan' fullname='A. Thyagarajan'><organization /></author>
<date year='2002' month='October' />
</front>
<seriesInfo name='RFC' value='3376'/>
<seriesInfo name='DOI' value='10.17487/RFC3376'/>
</reference>



<reference  anchor="RFC3688" target='https://www.rfc-editor.org/info/rfc3688'>
<front>
<title>The IETF XML Registry</title>
<author initials='M.' surname='Mealling' fullname='M. Mealling'><organization /></author>
<date year='2004' month='January' />
<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" target='https://www.rfc-editor.org/info/rfc3810'>
<front>
<title>Multicast Listener Discovery Version 2 (MLDv2) for IPv6</title>
<author initials='R.' surname='Vida' fullname='R. Vida' role='editor'><organization /></author>
<author initials='L.' surname='Costa' fullname='L. Costa' role='editor'><organization /></author>
<date year='2004' month='June' />
<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" target='https://www.rfc-editor.org/info/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 initials='H.' surname='Holbrook' fullname='H. Holbrook'><organization /></author>
<author initials='B.' surname='Cain' fullname='B. Cain'><organization /></author>
<author initials='B.' surname='Haberman' fullname='B. Haberman'><organization /></author>
<date year='2006' month='August' />
<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 &quot;SSM-aware&quot; 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" target='https://www.rfc-editor.org/info/rfc4607'>
<front>
<title>Source-Specific Multicast for IP</title>
<author initials='H.' surname='Holbrook' fullname='H. Holbrook'><organization /></author>
<author initials='B.' surname='Cain' fullname='B. Cain'><organization /></author>
<date year='2006' month='August' />
<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="RFC6020" target='https://www.rfc-editor.org/info/rfc6020'>
<front>
<title>YANG - A Data Modeling Language for the Network Configuration Protocol (NETCONF)</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund' role='editor'><organization /></author>
<date year='2010' month='October' />
<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="RFC6335" target='https://www.rfc-editor.org/info/rfc6335'>
<front>
<title>Internet Assigned Numbers Authority (IANA) Procedures for the Management of the Service Name and Transport Protocol Port Number Registry</title>
<author initials='M.' surname='Cotton' fullname='M. Cotton'><organization /></author>
<author initials='L.' surname='Eggert' fullname='L. Eggert'><organization /></author>
<author initials='J.' surname='Touch' fullname='J. Touch'><organization /></author>
<author initials='M.' surname='Westerlund' fullname='M. Westerlund'><organization /></author>
<author initials='S.' surname='Cheshire' fullname='S. Cheshire'><organization /></author>
<date year='2011' month='August' />
<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" target='https://www.rfc-editor.org/info/rfc6415'>
<front>
<title>Web Host Metadata</title>
<author initials='E.' surname='Hammer-Lahav' fullname='E. Hammer-Lahav' role='editor'><organization /></author>
<author initials='B.' surname='Cook' fullname='B. Cook'><organization /></author>
<date year='2011' month='October' />
<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" target='https://www.rfc-editor.org/info/rfc7858'>
<front>
<title>Specification for DNS over Transport Layer Security (TLS)</title>
<author initials='Z.' surname='Hu' fullname='Z. Hu'><organization /></author>
<author initials='L.' surname='Zhu' fullname='L. Zhu'><organization /></author>
<author initials='J.' surname='Heidemann' fullname='J. Heidemann'><organization /></author>
<author initials='A.' surname='Mankin' fullname='A. Mankin'><organization /></author>
<author initials='D.' surname='Wessels' fullname='D. Wessels'><organization /></author>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'><organization /></author>
<date year='2016' month='May' />
<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="RFC8446" target='https://www.rfc-editor.org/info/rfc8446'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<date year='2018' month='August' />
<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="RFC8484" target='https://www.rfc-editor.org/info/rfc8484'>
<front>
<title>DNS Queries over HTTPS (DoH)</title>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'><organization /></author>
<author initials='P.' surname='McManus' fullname='P. McManus'><organization /></author>
<date year='2018' month='October' />
<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="I-D.draft-ietf-mboned-cbacc-00">
<front>
<title>Circuit Breaker Assisted Congestion Control</title>

<author initials='J' surname='Holland' fullname='Jake Holland'>
    <organization />
</author>

<date month='March' day='11' year='2020' />

<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 receivers subscribe to a volume of traffic that exceeds capacity policies or capability for a network or receiver.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-mboned-cbacc-00' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-mboned-cbacc-00.txt' />
</reference>



<reference anchor="I-D.draft-ietf-mboned-ambi-00">
<front>
<title>Asymmetric Manifest Based Integrity</title>

<author initials='J' surname='Holland' fullname='Jake Holland'>
    <organization />
</author>

<author initials='K' surname='Rose' fullname='Kyle Rose'>
    <organization />
</author>

<date month='March' day='11' year='2020' />

<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-00' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-mboned-ambi-00.txt' />
</reference>




    </references>



  </back>

<!-- ##markdown-source:
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
wV51Dhap7sZC/g8IEZf3Nn8AAA==

-->

</rfc>

