<?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 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-mboned-dorms-06" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="DORMS">Discovery Of Restconf Metadata for Source-specific multicast</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-mboned-dorms-06"/>
    <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>
    <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="July" day="06"/>
    <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 Metdata 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 futher 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 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, 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 from a receiver connecting to 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 receiver 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 2021 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 receiver 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 2021 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 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>
          <artwork><![CDATA[
      GET /top/restconf/data/ietf-yang-library:modules-state/\
          module=ietf-dorms,2021-07-08
      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 2021 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": "2021-07-08",
          "schema":
              "https://example.com/yang/ietf-dorms@2021-07-08.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 receiver 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 2021 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
           +--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-07-06.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 2021-07-08 {
    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;
          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 (e.g., edit-config) to these data nodes 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 MAY use NACM to constrain write accesses.</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 might require the trusted writers of configuration to use an alternate method of accessing the underlying database such as connecting directly to the origin, or requiring the use of a non-RESTCONF mechanism 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's 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, 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: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 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="RFC8945"/> 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">
        <name>CORS considerations</name>
        <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"/>), 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'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="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 to succeed a 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 receivers.</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 either the cache expiration time from the DNS 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 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="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="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="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:
H4sIABexaWgAA9V963Lb2LXmfz4FSv5hKSEpyZbdNjtJtVpyu5VYlkeS0yeV
zqQgEiTRBgEGAKVmHKfmNeb15klmfeuyLyAlu89J5qKk2iQB7Mva637DYDDo
tXlbZKPkNG/G1W1Wr5OLaXKZNe24KqfJedamk7RNk2lVJ1fVqh5ng2aZjfNp
Pk4Wq6LNx2nT9tKbmzq7pUEuLs+vepNqXKYLGnNSp9N2kGftdLC4qcpsMphU
9aIZHBz0aNBs1BvTf2dVvR4lTTvp9fJlPUraetW0Tw4OXh486aV1lo6Si2XT
u6vqD7O6Wi1HyTkP1fuQrenHySg5K9usLrN2cIrper2mTcvJX9OC7hol66zp
LfNR8ue2GveTpqrbOps29Gm9wIe/9Hrpqp1X9aiXDHoJ/eVlM0p+P0y+r4qC
xuHfZDe/Tz9k0c9VPRslxx/SRZon19l4XlZFNcszGv2sHA/5loamy9pRcvjs
IPm2rtLJXbrmC+O8pV2fpIubOp/Msn5yfpwcPDk8OpKr1apsAZb3Zd5mk+Sq
JUA1STVNjhdZTTDnuzKauBglP9G65rKsIYHhmxl+Ho6rRbSlPwyTy6rJgv38
YV1k/rdfspmjZ/+2zXyoaUHf8H+HtKRoC+fD5Ls6LT+EmzhPfw5/5F1cv0++
zeoiL8OBF1O+65ucQDRsV4MbvmM4yeI1vs7qRVque72SMDVt81vC0iS5/O7k
yeHhS/v49PAr+/jViyf68emzl8/14/MnR4f28eVL+/jVy2cH+vHFwZH7ePjV
kX188tJ9fOpveOoGe3F0xFPczdP2bjaYZu14PuL1t2k9w9HM23bZjPb3+dIQ
lDqUmwHMfblV6H3nh++Pr394nXyHO5M3+W1eznA05SStJzt8J9NocjFuKwJW
8uTgyQGRaDntAObw4OmR//jMAPPyqa36qd/s06dfGYyePn/xwj6+OLQbjp4f
HPmPBuVnB4dPDZ60Cvv41M32/OjQPn714tkLB64XDp4vj/iGs8HpcJMrjW/S
8fj+y4TX+Zar46rO6D+LzrVqmZXgnflsULczOqZZuciZaY56vcFgkKQ3REjp
mDjV9TxvEuKWq0VWtskkmxJyNsJEk93/CkPe6ydpssiIsU2StkomOlRCp5vU
WVvn2W2WZD+3WdnkN8QFFjZqelOtWmKT94ybjOdpWWZFk6wa4Mvlq6vrk4u3
3w1pKxmNTHM0WXL2Ljl9e5X8nYDHy0yDAZqsnGT14wY3pZNJnTVNQkAQgK3q
jNe7okGuLv9IA8pK6AMBe9LgWjqhSdqc7mhpynnVtGAE4CapWw7NUmO7LaF+
slzdFHkzJ8D6XY4xHDaAAZMyu0v+dPz2dbKoJiuCxl3ezpNmtVyStOANKKSq
shn2jvl2TJDTwnhuQBWL6Y5D0ksPdTKUo1/kk0mR9XqPILRqumvc0qj/TkSg
iY91IFszTRWA6uNH5UefPrk7BG51dZtPaBkkgycAGY4KyIRJ85J3vMOEwEJ9
R7bOw4HT0XAEhqwwCOCRjx/5p0+fhrJj/kaoSqJ6JlCvlgBIWgQgDweoaNLa
AYpkky6SjiBE5yZrgRCOV1WlIrbHQ94FBFq64EMl3M3p+OipplqANtLFkkYC
JtL9BAWGyZjmuaGrZUrTTJKbNf1M+/iQEwbQow7B6LcZccjSNk3skpeBnXcP
u6LBy4rhPc9v8pYBi3lpwA0YC0gFVAwLeoo0m4ooslkRH0+b5O2r4GAhiT59
6icnF5ev9Nf7uBhuI1SavT0/i+66n5/hiZuVLLghMVsSbFmuC3PAz7LeSoiR
ZHqwXgICjgQQH9McjMdtCJphB1JVWawdbWDwiSMMUOB9IDOKpHXQaXiOdQ/R
8fP6aETlWB/mYODjLnAo8LlL41KXzKWS3cvLvaRd05b4CKAi4NyPlfcpdNIO
VRJlKafyaHT1/cX7N6eeOSaEgkUG9AVrxfyXlwo3WvSPf+VlD3/8azte0uJX
N5OKdJ/SiPU+9szHJzugS7RFRmwmA5JShMYB2ZDgmhKDEX6vwzN0QJylHYBj
38K1HSdJPb+mK8Tdl1Xp2bCHh7FukJtR+CLkd4JxKknul1Zute8EsphKyASA
Eyo2NjsucrCUDXH5txUjWLy6FFypGdf5jTE2fobJ+9Gj5Nt0zMYK2QkqGFMc
PBhv0xC6sZAjPjJNF3mRp7XHqZu0oR3geOjQx9my3ZhINS7Qnn15hi8mhOjY
m4wWzaxF+aRAc7WEQoebFn3s4C4rCvzb4TeMVh2UZmze3HSA3d19Fk312c26
LfLaSfHO2ehY0zizVOTz/We7dTXQGUnwGCx0V2evz9/dPpU7oIHqHedvTm+f
6K+kgdKvQC02MhNiZuksE7Yz/QJ9qH/veo7+5dDBKreKb9zYFcKCkNf+8R5U
e3xP/pGcguflrILQj6SgDEb/GA3cH/24e9V/vUd3Hn8eBveDgI5kSCMs07zm
43CaHxEfbzc1/gP2wNdpJzRUm5civeVQzt6RHRpSKxZGon25LGglfCOBplk3
bbbwDIRk22JV4gbl3SElM72zsdTVgXnnjZtQCR+Q2Kpl5lAXjNiIHToBFMqf
QJPpSDqYW+BJGH+LTLkHtsIIevTgNQj0nocTXPzMCPR3dXVOI9yrST54vILg
H7J1csccf+f8/dX1Tl/+Td5e8OfLV//t/dnlq1N8vvr++M0b98HuEHnnP/kn
Ty7Oz1+9PZWH6dek89P58Z92hAfuXLy7Prt4e/xmZwPMrJALueXwGS3JFKKt
bOdrZO4rSQmJkZlO3+/mWSnzsDYiX+nA18DCjMiXnk+JrY7TZd6myheaeXVX
JqStZUKN504f5JHeE5c6YR3z46NAVez1BPMC6TmtSXTCExZro1B8J8JJTIWA
9SL4mBYP6sEqInndyayobmj1aycBUzYOQd61amP3DrxI11hMmWUTUSDoFmIt
tO68vK2KW0N7mERFzlpbxeor7AqwehU/tiDaDKnzUHpIJaaJiclMChlEzLeU
2KPjluAsS1qvWg8YuSKmAFHyt1VeC2US9E+JyInPqnZqWM5KK47tQ4mTWlaN
2BGBEfJZbZVuBrvGukmbVxsqTeq0nLEQcoN6kwLomP1Ma2AsFJm1NkCq/Smw
TJPblIz2do2RJvl0SrhEU05X7arOIvP02xVmnZIps2nCYD7FJho1K6o73kZe
FCt4JAA7RtBHyTvchRFZU6WVXYBXkmZBVMIWGu5oM7VeL0o/C48oiEvAAX2w
gd16rIW1ny4Zs2gzdPudyvpNpAQogFAAagvv6zJaF0/f4LAXuJhOFnmDixCd
ZF2D345zOT7SqzLQLB+7gzlZWzXEQgf1oMvWENUgKGjN0AK6AKBnaBrAjVn6
JIMW3xiO646HvbPSNE5Apx9exL2kqDWtLHlVTKDc16Vq0Lq4hqi+WogxZRLK
H+JaYD3sbdh1oWuLGJeZN6zWy/kE2E0bNX8HI7WdpqLD8Yqmh3WXyoEfl2J8
bj90WR1OKOQPZj6BfoPhzE7cOPubjJ7I2O+w5Nty8cUECMOEYcCUA2ATdhoz
Fr6NbJFMfJyBukBGman/oelOSyibRd4CRcQOIFE/ZvuLSCFYPV0nHCiFDvpY
IVgy4SW4vj6UtzBPx3NdF8+hTInxmsbPp2sGghs5F0L3QFmSQZERA9s03wMX
5X/1lE+IaoDqp5nD8s8dtcpNO8WxjAACr4ldKevaPFvVGMWK1Id0rGVADXk5
LlaTbIv8wmTekwAXoz/U2FXD5ixtHLRKfDqkc8aV7WOTXp6nbhe72XA2jO6M
2MkpZG5J4CMEcV65VyIkk6usFQUCPuxPn/Z4UtmeMC3SgmtZtp++IPunSJo2
bVdNlzlB4tFsTkFj8P3Mwo3O8G3FHIPmwGnS0azaqhYT4pI9XMTFer23LKAq
OMaTV5Ocbhkl7+BYgJGyIJQX/GgEsfnpvG3EtFSmq+TJ+oYRk2oI+lTeCP8U
873OWGaBRdKvvHUiF5oyFz6r/jfRD25JNi1FY4MhQMrIShi7Qpzxn5CcrKZa
kfePWbnq7tzWfuoH+PjoFjd+6np/cse5XxN8Vze0HhLYgAxhcDvq9SywMuPL
iK7tv65Xi+X6ophck6wp9r3KPxhDoGZ1r3fJJp9IXjK3xyBL2ixcajRlgxVj
gXBlEChJAQFnIInQbPOG9fSIvHoxDnbamOKwyOqZ6hM4sBZuOVbqCKeJY4n2
yvyJzjqHD6WfLGVkQvhsusK9IJecRSCBhNHlB3gL9NT9vOXMx5yA9whsfCBl
EcDgkBMtgTjpPtY8gMNhv9e78quKznbaUahIbQaZiOAvUtL29PjPv714++oU
psYHcB6z2EWvI/WXjDdhi9/YMuAGT36V/L7KS7/eu7s7v048ToruPh4Hpe/L
CHjqioTyeO6fw634hZRY/zx+2L+pq7sm00dpp71HQVidXQ5Zy9zhUmIwBICP
j8RzBDe9GrV8tFB7mq5NSixNDHIydwgtycwVhdM5rDacZHJ74I/NwHvzZuHd
6rBLBCkw6koDK24kEZzCRMUrwtcDMbxVjVeJZVTlOD6Y1Il88bDZYupo8Ar7
CDxzD1jqqnBDSBfwtKxVmYfqiAXIIKyQzTKyZ1I4LGJvwiKfzVvVwWAQGLQh
xUpSzDNSC5BDEIo9WA1OtZdFN9vHZciGzkULU+j6sdW7eU77I8Z4l2LHoVLy
OV85a/4SrGK9vx9JXj3FSFA6dfwBMHTwjiAxy1pWx5p8RpaWaqc5cwtRYoIJ
kEGArAuNTGDHhUqHBTFGUQ8ILjVLRbo8nmeInE2S43dnxI0ItrxGOs+xIID4
MBsxV4v8pk6JskJ1OHUOdbEHKwiIY7BZ0WM8dCBNBsuU7EfiH636cf7X//if
98CDttgiEHYfXAIFM3l3dk5n1zQgFmysZBckPp6/OaUrixsSCvN8yVKmxtgT
U4ZTOtK7UgJTtoA5nLSsibAGdyO+Cnaa6wKGxFTZyNCteIwLtRZeOo3iDIqO
6muCmXVYDvd1DSndN5l1DEyR78t0pn7l5CdisLBKWWNc6i66JlHvgq8TotRV
Op6r1ObFAQI14cgtob/RhShLN5D6HFIjWC/IAKSTFXjxlqFfALWqOqIxF652
zOEmM9ORlIy1sTGIRYlUL1f1EnEqw9lgKrM05llatHNhZXC3fVtVLezAJZh5
2Qxu6Lt6xOLLhEBLdmWQ4Z3a4dpaGwY7YLKsc8Cz42bsa0QxiNZY/DzgVcPe
e+/Jj2enic01FrFV8cDCbYU0KsysvJdGqW5aMm8FznGonbO0CJc2gzbA1k2t
OtUUFVumBoBNHKk7jcAr2HC/t3n36up8zx2smBCb8PCyL28s8DWxMKGoP4iL
TbKf4QqsgtiVC5Mt6DBYbNYZoehuXg4w/jCtlyJez97dHm06Ra+Uvz0dPsOA
UYgG5sbyeTTC8/tHeBKMgNwiMh4IbD+IRyViUB1dYSosh7ffD0WCuGPYkSZH
ioQFIdlKD09gBjgVVcXaFalWkW2q3j6VdF7o3kIruinUxRGtD6YYa7tYOOGk
hNSE3jSI6TWUrbFXFxTRkKPjYNsOqw+X/42gLYJdnwlcfRfLTF2zbR+r7Ogb
gT7TCV+cvcOJPTk4OBxNbl6MRqmLRImOGiDodPo0G41eHBwcjCb9QEMhGgC7
IwW5bh0R38QshDggyTZQmByjh6eL30lAwH6akn1S3eFmhd8u2U9Er2zsGeAJ
J4g9EseGYwpGaSbqV8YGIpR1utaQXbBH5tA///lPiVlozBkh52E6PHjwf/JE
+Ne948XwZjihfw/525OhkcuQJ+xd1IbcID5F1vgIAhA/OXiKoQ6fDo+2IKXA
We0tBzgJWXv8iqgeyGV6wH0wOOIJae00efiw7oC0zyxn8efdgThhiYU3kWbH
JyWSvM7aFbQOW59JJ9wZrgRbOEgOk6Ojp4mYorXmCw0VxWG56lqYA7uJhWU3
ISqqCzti8WqU3XA4k6gAam/aPjAZjDZWcmhNYmboENAteIcxdW16i9xhiAB0
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
uP8NwvCzS4+RAAA=

-->

</rfc>
