<?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.21 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-dnsop-generalized-notify-04" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.0 -->
  <front>
    <title abbrev="Generalized Notifications">Generalized DNS Notifications</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-generalized-notify-04"/>
    <author initials="J." surname="Stenstam" fullname="Johan Stenstam">
      <organization>The Swedish Internet Foundation</organization>
      <address>
        <email>johan.stenstam@internetstiftelsen.se</email>
      </address>
    </author>
    <author initials="P." surname="Thomassen" fullname="Peter Thomassen">
      <organization>deSEC, Secure Systems Engineering</organization>
      <address>
        <email>peter@desec.io</email>
      </address>
    </author>
    <author initials="J." surname="Levine" fullname="John Levine">
      <organization>Standcore LLC</organization>
      <address>
        <email>standards@standcore.com</email>
      </address>
    </author>
    <date/>
    <area>Internet</area>
    <workgroup>DNSOP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 37?>

<t>This document extends the use of DNS NOTIFY (RFC 1996) beyond conventional
zone transfer hints, bringing the benefits of ad-hoc notifications to DNS
delegation maintenance in general.  Use cases include DNSSEC bootstrapping
and key rollovers hints, and quicker changes to a delegation's NS record set.</t>
      <t>To enable this functionality, a method for discovering the receiver endpoint
for such notification message is introduced, via the new DSYNC record type.</t>
      <t>TO BE REMOVED: This document is being collaborated on in Github at:
<eref target="https://github.com/peterthomassen/draft-ietf-dnsop-generalized-notify">https://github.com/peterthomassen/draft-ietf-dnsop-generalized-notify</eref>.
The most recent working version of the document, open issues, etc. should all be
available there.  The authors (gratefully) accept pull requests.</t>
    </abstract>
  </front>
  <middle>
    <?line 52?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Traditional DNS notifications <xref target="RFC1996"/>, which are here referred to as
"NOTIFY(SOA)", are sent from a primary server to a secondary server to
minimize the latter's convergence time to a new version of the
zone. This mechanism successfully addresses a significant inefficiency
in the original protocol.</t>
      <t>Today similar inefficiencies occur in new use cases, in particular delegation
maintenance (DS and NS record updates). Just as in the NOTIFY(SOA) case, a new
set of notification types will have a major positive benefit by
allowing the DNS infrastructure to completely sidestep these
inefficiencies. For additional context, see <xref target="context"/>.</t>
      <t>No DNS protocol changes are introduced by this document. The mechanism
instead makes use of a wider range of DNS messages allowed by the protocol.
Future extension for further use cases (such as multi-signer key exchange)
is possible.</t>
      <t>Readers are expected to be familiar with DNSSEC <xref target="RFC9364"/>, including
<xref target="RFC6781"/>, <xref target="RFC7344"/>, <xref target="RFC7477"/>, <xref target="RFC7583"/>, <xref target="RFC8078"/>,
<xref target="RFC8901"/>, and <xref target="RFC9615"/>.
DNS-specific terminology can be found in <xref target="RFC9499"/>.</t>
      <section anchor="design-requirements">
        <name>Design Requirements</name>
        <t>When the parent operator is interested in notifications for delegation
maintenance (such as DS or NS update hints), a service will need to be
made available for accepting these notifications. Depending on the
context, this service may be run by the parent operator themselves,
or by a designated entity who is in charge of handling the domain's
delegation data (such as a domain registrar).</t>
        <t>It seems desirable to minimize the number of steps that the notification
sender needs to figure out where to send the NOTIFY. This suggests that
the lookup process be ignorant of the details of the parent-side
relationships (e.g., whether there is a registrar or not). This is
addressed by parameterizing the lookup with the name of the child. The
parent operator may then (optionally) announce the notification endpoint
in a delegation-specific way, by publishing it at a child-specific name.
(A catch-all endpoint may be indicated by wildcarding.)</t>
        <t>The solution proposed here is thus for the parent operator to publish
the address where someone listens for notifications, in a child-specific
way (see <xref target="signaling"/>). Potential senders can easily determine the name
of the parent and then look up that information (see <xref target="discovery"/>).</t>
      </section>
      <section anchor="requirements-notation">
        <name>Requirements Notation</name>
        <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 BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.
<?line -6?>
        </t>
      </section>
    </section>
    <section anchor="dsyncrdtype">
      <name>DSYNC RR Type</name>
      <section anchor="wire-format">
        <name>Wire Format</name>
        <t>The DSYNC RDATA wire format is encoded as follows:</t>
        <artwork><![CDATA[
                     1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| RRtype                        | Scheme        | Port
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
                | Target ...  /
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-/
]]></artwork>
        <dl>
          <dt>RRtype</dt>
          <dd>
            <t>The type of generalized NOTIFY that this DSYNC RR defines the
desired target address for (see "Resource Record (RR) TYPEs" IANA
registry). For now, only CDS and CSYNC are supported values, with
the former indicating an updated CDS or CDNSKEY record set.</t>
          </dd>
          <dt>Scheme</dt>
          <dd>
            <t>The scheme indicates the mode used for locating the desired
notification address.  This is an 8 bit unsigned integer. Records
with value 0 (null scheme) are ignored by consumers.  Value 1 is
described in this document, and values 128-255 are reserved for
private use.  All other values are currently unspecified.</t>
          </dd>
          <dt>Port</dt>
          <dd>
            <t>The port on the target host of the notification service. This
is a 16 bit unsigned integer in network byte order.</t>
          </dd>
          <dt>Target</dt>
          <dd>
            <t>The fully-qualified, uncompressed domain name of the target host
providing the service of listening for generalized notifications of the
specified type. This name MUST resolve to one or more address records.</t>
          </dd>
        </dl>
      </section>
      <section anchor="presentation-format">
        <name>Presentation Format</name>
        <t>The presentation format of the RDATA portion is as follows:</t>
        <ul spacing="normal">
          <li>
            <t>The RRtype field is represented as a mnemonic from the "Resource
Record (RR) TYPEs" registry.</t>
          </li>
          <li>
            <t>The Scheme field is represented as an unsigned decimal integer.</t>
          </li>
          <li>
            <t>The Port field is represented as an unsigned decimal integer.</t>
          </li>
          <li>
            <t>The Target field is represented as a &lt;domain-name&gt; (<xref section="5.1" sectionFormat="comma" target="RFC1035"/>).</t>
          </li>
        </ul>
      </section>
      <section anchor="semantics">
        <name>Semantics</name>
        <t>For now, the only scheme defined is scheme=1 with the interpretation
that when a new CDS/CDNSKEY (or CSYNC) RRset is published, a NOTIFY(CDS)
(or NOTIFY(CSYNC)) should be sent to the address and port listed in
the corresponding DSYNC record.</t>
        <t>Example (for the owner names of these records, see <xref target="signaling"/>):</t>
        <artwork><![CDATA[
IN DSYNC CDS   1 5359 cds-scanner.example.net.
IN DSYNC CSYNC 1 5360 csync-scanner.example.net.
]]></artwork>
        <t>Should a need for other mechanisms arise, other schemes may be defined
to deal with such requirements using alternative logic.</t>
      </section>
    </section>
    <section anchor="signaling">
      <name>Publication of Notification Targets</name>
      <t>To use generalized notifications, it is necessary for the sender to know
where to direct each NOTIFY message. This section describes the
procedure for discovering that notification target.</t>
      <t>Note that generalized NOTIFY messages are but one mechanism for
improving the efficiency of automated delegation maintenance. Other
alternatives, such as contacting the parent operator via an API or
DNS Update (<xref target="RFC2136"/>), may (or may not) be more suitable in
individual cases. Like generalized notifications, they similarly require
a means for discovering where to send the API or DNS Update requests.</t>
      <t>The scope for the publication mechanism is therefore wider than only to
support generalized notifications, and a unified approach that works
independently of the notification method is specified in this section.</t>
      <t>Parent operators participating in the discovery scheme for the purpose of
delegation maintenance notifications MUST publish endpoint information
using the record type defined in <xref target="dsyncrdtype"/> under the <tt>_dsync</tt>
subdomain of the parent zone, as described in the following subsection.</t>
      <t>There MUST NOT be more than one DSYNC record for each combination of
rrtype and scheme.
It is RECOMMENDED to secure the corresponding zone with DNSSEC.</t>
      <t>For practical purposes, the parent operator MAY delegate the <tt>_dsync</tt>
domain as a separate zone, and/or synthesize records under it. If
child-specificity is not needed, the parent can publish a static
wildcard DSYNC record.</t>
      <section anchor="wildcard-method">
        <name>Wildcard Method</name>
        <t>If the parent operator itself performs CDS/CDNSKEY or CSYNC processing
for some or all delegations, or wants to forward notifications to some
other party, a default notification target may be specified as follows:</t>
        <artwork><![CDATA[
*._dsync.example.  IN DSYNC  CDS   scheme port target
*._dsync.example.  IN DSYNC  CSYNC scheme port target
]]></artwork>
        <t>To accommodate indirect delegation management models, the
designated notification target may relay notifications to a third party
(such as the registrar, in ICANN's model). The details of such
arrangements are out of scope for this document.</t>
        <t>If for some reason the parent operator cannot publish wildcard records,
the wildcard label may be dropped from the DSYNC owner name (i.e., it
may be published at the <tt>_dsync</tt> label instead). This practice requires
an additional step during discovery (see <xref target="discovery"/>), and is
therefore NOT RECOMMENDED.</t>
      </section>
      <section anchor="child-specific-method">
        <name>Child-specific Method</name>
        <t>It is also possible to publish child-specific records, where the
wildcard label is replaced by the child's FQDN with the parent zone's
labels stripped.</t>
        <t>As an example, consider a registrar offering domains like
<tt>child.example</tt>, delegated from <tt>example</tt> zone. If the registrar
provides the notification endpoint, e.g., <tt>rr-endpoint.example:5300</tt>,
the parent may publish this information as follows:</t>
        <artwork><![CDATA[
child._dsync.example.  IN DSYNC  CDS  1 5300 rr-endpoint.example.
]]></artwork>
      </section>
    </section>
    <section anchor="delegation-maintenance-cdscdnskey-and-csync-notifications">
      <name>Delegation Maintenance: CDS/CDNSKEY and CSYNC Notifications</name>
      <t>Delegation maintenance notifications address the inefficiencies related
to scanning child zones for CDS/CDNSKEY records
<xref target="RFC7344"/><xref target="RFC8078"/><xref target="RFC9615"/>. (For an overview of the issues,
see <xref target="context"/>.)</t>
      <t>NOTIFY messages for delegation maintenance MUST be formatted as described in
<xref target="RFC1996"/>, with the <tt>qtype</tt> field replaced as appropriate.</t>
      <t>To address the CDS/CDNSKEY dichotomy, the NOTIFY(CDS) message (with
<tt>qtype=CDS</tt>) is defined to indicate any child-side changes pertaining
to an upcoming update of DS records.
As the child DNS operator generally is unaware of whether the parent
registry consumes CDS records or prefers CDNSKEY, or when that policy
changes, it seems advisable to publish both types of records,
preferably using automation features of common authoritative nameserver
software for ensuring consistency.</t>
      <t>Upon receipt of NOTIFY(CDS), the recipient (the parent registry or a
registrar) SHOULD initiate the same DNS lookups and verifications for
DNSSEC bootstrapping <xref target="RFC9615"/> or DS maintenance
<xref target="RFC7344"/><xref target="RFC8078"/> that would otherwise be triggered based on a
timer.</t>
      <t>The CSYNC <xref target="RFC7477"/> inefficiency may be similarly treated, with the
child sending a NOTIFY(CSYNC) message (with <tt>qtype=CSYNC</tt>) to an address
where the parent operator (or a designated party) is listening for CSYNC
notifications.</t>
      <t>In both cases the notification will speed up processing times by
providing the recipient with a hint that a particular child zone has
published new CDS, CDNSKEY and/or CSYNC records.</t>
      <section anchor="discovery">
        <name>Endpoint Discovery</name>
        <t>To locate the target for outgoing delegation maintenance notifications,
the notification sender MUST perform the following procedure:</t>
        <ol spacing="normal" type="1"><li>
            <t>Construct the lookup name, by injecting the <tt>_dsync</tt> label after the
first label of the delegation owner name.</t>
          </li>
          <li>
            <t>Perform a lookup of type DSYNC for the lookup name, and validate the
response if DNSSEC is enabled. If a DSYNC RRset results, return it.</t>
          </li>
          <li>
            <t>If the query resulted in a negative response:  </t>
            <ul spacing="normal">
              <li>
                <t>If the response's SOA record indicates that the parent is more than
one label away from the <tt>_dsync</tt> label, construct a new lookup name
by inserting the <tt>_dsync</tt> label into the delegation owner name just
before the parent zone labels inferred from the negative response,
and go to step 2.      </t>
                <t>
For example, <tt>city.ise.mie.jp</tt> is delegated from <tt>jp</tt> (and not
from <tt>ise.mie.jp</tt> or <tt>mie.jp</tt>!). The initial DSYNC query relating
to it is thus directed at <tt>city._dsync.ise.mie.jp</tt>. This is
expected to result in a negative response from <tt>jp</tt>, and another
query for <tt>city.ise.mie._dsync.jp</tt> is then required;</t>
              </li>
              <li>
                <t>Otherwise, if the lookup name has any labels in front of the
<tt>_dsync</tt> label, remove them to construct a new lookup name (such
as <tt>_dsync.jp</tt>), and go to step 2.
(This is to enable zone structures without wildcards.)</t>
              </li>
              <li>
                <t>Otherwise, return null (no notification target available).</t>
              </li>
            </ul>
          </li>
        </ol>
      </section>
      <section anchor="sending-notifications">
        <name>Sending Notifications</name>
        <t>When creating or changing a CDS/CDNSKEY/CSYNC RRset in the child zone,
the DNS operator SHOULD send a suitable notification to one of the
endpoints discovered as described in the previous section.</t>
        <t>A NOTIFY message can only carry information about changes concerning one
child zone. When there are changes to several child zones, the sender
MUST send a separate notification for each one.</t>
        <t>When a primary name server publishes a new RRset in the child, there
typically is a time delay until all publicly visible copies of the zone
are updated. If the primary sends a notification at the exact time of
publication, there is a potential for CDS/CDNSKEY/CSYNC processing to be
attempted before the corresponding records are served. As a result, a
desired update may not be detected (or appear inconsistent), preventing
it from being applied.</t>
        <t>It is therefore RECOMMENDED that the child delays sending notifications
to the recipient until a consistent public view of the pertinent
records is ensured.</t>
        <section anchor="timeouts-and-error-handling">
          <name>Timeouts and Error Handling</name>
          <t>NOTIFY messages are expected to elicit a response from the recipient
(<xref target="RFC1996"/> Section 4.7). If no response is received, senders SHOULD
employ the same logic as for SOA notifications (<xref target="RFC1996"/> Sections
3.5 and 3.6).</t>
          <t>The recipient's attempt to act upon the delegation update request may
fail for a variety of reasons (e.g., due to violation of the continuity
requirement set forth in <xref target="RFC7344"/> Section 4.1). Such failures may
occur asynchronously, even after the NOTIFY response has been sent.</t>
          <t>In order to learn about such failures, senders MAY include an
<xref target="RFC9567"/> EDNS0 Report-Channel option in the NOTIFY message to
request the receiving side to report any errors by making a report query
with an appropriate extended DNS error code as described in
<xref target="RFC8914"/>. When including this EDNS0 option, its agent domain MUST
be subordinate or equal to one of the NS hostnames, as listed in the
child's delegation in the parent zone.</t>
        </section>
        <section anchor="roles">
          <name>Roles</name>
          <t>While the CDS/CDNSKEY/CSYNC processing following the receipt of a NOTIFY
will often be performed by the registry, the protocol anticipates that
in some contexts (especially for ICANN gTLDs), registrars may take on
the task. In such cases, the current registrar notification endpoint may
be published, enabling notifications to be directed to the
appropriate target. The mechanics of how this is arranged between
registry and registrar are out of scope for this document; the protocol
only offers the possibility to arrange things such that from the child
perspective, it is inconsequential how the parent-side parties are
organized: notifications are simply sent to the published address.</t>
          <t>Because of the security model where a notification by itself never
causes a change (it can only speed up the time until the next
check for the same thing), the sender's identity is not crucial.
This opens up the possibility of having an arbitrary party (e.g., a
side-car service) send the notifications, enabling this functionality
even before the emergence of native support in nameserver software.</t>
        </section>
      </section>
      <section anchor="processing-of-notify-messages">
        <name>Processing of NOTIFY Messages</name>
        <t>NOTIFY(CDS) messages carrying notification payloads (records) for
several child zones MUST be discarded, as sending them is an error.</t>
        <t>Upon receipt of a (potentially forwarded) valid NOTIFY(CDS) message for
a particular child zone at the published address for CDS notifications,
the receiving side (parent registry or registrar) has two options:</t>
        <ol spacing="normal" type="1"><li>
            <t>Acknowledge receipt by sending a NOTIFY response as described in
<xref target="RFC1996"/> Section 4.7 (identical to NOTIFY query, but with QR
bit set) and schedule an immediate check of the CDS and CDNSKEY
RRsets as published by that particular child zone.  </t>
            <t>
If the NOTIFY message contains an <xref target="RFC9567"/> EDNS0 Report-Channel
option with an agent domain subordinate or equal to one of the NS
hostnames listed in the delegation, the processing party SHOULD
report any errors occuring during CDS/CDNSKEY processing by sending
a report query with an appropriate extended DNS error code as
described in <xref target="RFC8914"/>.  </t>
            <t>
When using period scanning, notifications preempt the scanning
timer. If the NOTIFY-induced check finds that the CDS/CDNSKEY RRset
is indeed new or has changed, the corresponding child's timer may
be reset and the scanning frequency reduced (e.g. to once a week).
If a CDS/CDNSKEY change is later detected through scanning (without
having received a notification), NOTIFY-related state SHOULD be
cleared, reverting to the default scanning schedule for this child.  </t>
            <t>
When introducing CDS/CDNSKEY scanning support at the same time as
NOTIFY(CDS) support, backwards compatibility considerations
regarding the scanning interval do not apply; a low-frequency
scanning schedule MAY thus be used by default in such cases.</t>
          </li>
          <li>
            <t>Do not act upon the notification. To prevent retries, recipients
SHOULD acknowledge the notification by sending a NOTIFY response
even when otherwise ignoring the request, combined with a report
query if feasible (see above). One reason to do this may be a rate
limit (see <xref target="security"/>), in which case "Blocked" (15) may be a
suitable extended DNS error code.</t>
          </li>
        </ol>
        <t>Implementing the first option will significantly decrease the
convergence time (between publication of a new CDS/CDNSKEY record in the
child and publication of the resulting DS), thereby providing improved
service for the child.</t>
        <t>If, in addition to scheduling an immediate check for the child zone of
the notification, the scanning schedule is also modified to be less
frequent, the cost of providing the scanning service will be reduced.</t>
        <t>Upon receipt of a NOTIFY(CSYNC) to the published address for CSYNC
notifications, the same options and considerations apply as for the
NOTIFY(CDS).</t>
      </section>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>The original NOTIFY specification sidesteps most security issues by not
relying on the information in the NOTIFY message in any way, and instead
only using it to "enter the state it would if the zone's refresh timer
had expired" (<xref section="4.7" sectionFormat="of" target="RFC1996"/>).</t>
      <t>This security model is reused for generalized NOTIFY messages. It
therefore seems impossible to affect the behaviour of the recipient of
the NOTIFY other than by hastening the timing for when different checks
are initiated.</t>
      <t>The receipt of a notification message will, in general, cause the
receiving party to perform one or more outbound queries for the records
of interest (for example, NOTIFY(CDS) will cause CDS/CDNSKEY
queries). When done using standard DNS, the size of these queries is
comparable to that of the NOTIFY messages themselves, rendering any
amplification attempts futile. The number of queries triggered per
notification is also limited by the requirement that a NOTIFY message
can refer to one child only.</t>
      <t>However, when the outgoing query occurs via encrypted transport, some
amplification is possible, both with respect to bandwidth and
computational burden. In this case, the usual principle of bounding the
work, even under unreasonable events, applies.</t>
      <t>Receivers therefore MUST implement rate limiting for notification
processing. It is RECOMMENDED to configure rate limiting independently
for both the notification's source IP address and the name of the zone
that is conveyed in the NOTIFY message. Rate limiting also mitigates
processing load from garbage notifications.</t>
      <t>Alternative solutions (such as signing notifications and validating
their signatures) appear significantly more expensive without tangible
benefit.</t>
      <t>In order to facilitate schemes that are authenticated outside of DNSSEC
(such as via SIG(0)), zones containing DSYNC records are not required to
be signed. Spoofed DSYNC responses would prevent notifications from
reaching their legitimate target, and a different party may receive
unsolicited notifications; both effects, however, can also be achieved
in the presence of DNSSEC. The illegitimate target is also enabled to
learn notification contents in real-time, which may be a privacy concern
for the sender. If so, the sender may choose to ignore unsigned DSYNC
records.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t><strong>Note to the RFC Editor</strong>: In this section, please replace occurrences of "(this document)" with a proper reference.</t>
      <section anchor="dsync-rr-type">
        <name>DSYNC RR Type</name>
        <t>IANA is requested to update the "Resource Record (RR) TYPEs" registry
under the "Domain Name System (DNS) Parameters" registry group as
follows:</t>
        <dl>
          <dt>Type</dt>
          <dd>
            <t>DSYNC</t>
          </dd>
          <dt>Value</dt>
          <dd>
            <t>66</t>
          </dd>
          <dt>Meaning</dt>
          <dd>
            <t>Endpoint discovery for delegation synchronization</t>
          </dd>
          <dt>Reference</dt>
          <dd>
            <t>(this document)</t>
          </dd>
        </dl>
      </section>
      <section anchor="dsync-scheme-registration">
        <name>DSYNC Scheme Registration</name>
        <t>Per <xref target="RFC8552"/>, IANA is requested to create a new registry on the
"Domain Name System (DNS) Parameters" IANA web page as follows:</t>
        <dl>
          <dt>Name</dt>
          <dd>
            <t>DSYNC: Location of Synchronization Endpoints</t>
          </dd>
          <dt>Assignment Policy</dt>
          <dd>
            <t>Expert Review</t>
          </dd>
          <dt>Reference</dt>
          <dd>
            <t>(this document)</t>
          </dd>
        </dl>
        <table>
          <thead>
            <tr>
              <th align="left">RRtype</th>
              <th align="left">Scheme</th>
              <th align="left">Purpose</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left"> </td>
              <td align="left">0</td>
              <td align="left">Null scheme (no-op)</td>
              <td align="left">(this document)</td>
            </tr>
            <tr>
              <td align="left">CDS</td>
              <td align="left">1</td>
              <td align="left">Delegation management</td>
              <td align="left">(this document)</td>
            </tr>
            <tr>
              <td align="left">CSYNC</td>
              <td align="left">1</td>
              <td align="left">Delegation management</td>
              <td align="left">(this document)</td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">2-127</td>
              <td align="left">Unassigned</td>
              <td align="left"> </td>
            </tr>
            <tr>
              <td align="left"> </td>
              <td align="left">128-255</td>
              <td align="left">Reserved (private use)</td>
              <td align="left">(this document)</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="dsync-underscore-name">
        <name>_dsync Underscore Name</name>
        <t>IANA is requested to add the following entries to the
"Underscored and Globally Scoped DNS Node Names" registry:</t>
        <artwork><![CDATA[
+---------+------------+-----------------+
| RR Type | _NODE NAME | Reference       |
+---------+------------+-----------------+
| DSYNC   | _dsync     | (this document) |
+---------+------------+-----------------+
]]></artwork>
      </section>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t><strong>Note to the RFC Editor</strong>: please remove this entire section before publication.</t>
      <t>Johan Stenstam's experimental nameserver implements this draft
(https://github.com/johanix/tdns).</t>
      <section anchor="child-dns-operator-side">
        <name>Child DNS Operator-side</name>
        <ul spacing="normal">
          <li>
            <t>IronDNS implementation under way</t>
          </li>
          <li>
            <t>deSEC implementation under way (Q1/2025)</t>
          </li>
        </ul>
      </section>
      <section anchor="parent-side">
        <name>Parent-side</name>
        <ul spacing="normal">
          <li>
            <t>.SE/.NU will implement this once it is an RFC.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>In order of first contribution:
Joe Abley, Mark Andrews, Christian Elmerot, Ólafur Guðmundsson, Paul
Wouters, Brian Dickson, Warren Kumari, Patrick Mevzek, Tim Wicinski</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC1996">
          <front>
            <title>A Mechanism for Prompt Notification of Zone Changes (DNS NOTIFY)</title>
            <author fullname="P. Vixie" initials="P." surname="Vixie"/>
            <date month="August" year="1996"/>
            <abstract>
              <t>This memo describes the NOTIFY opcode for DNS, by which a master server advises a set of slave servers that the master's data has been changed and that a query should be initiated to discover the new data. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1996"/>
          <seriesInfo name="DOI" value="10.17487/RFC1996"/>
        </reference>
        <reference anchor="RFC9364">
          <front>
            <title>DNS Security Extensions (DNSSEC)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>This document describes the DNS Security Extensions (commonly called "DNSSEC") that are specified in RFCs 4033, 4034, and 4035, as well as a handful of others. One purpose is to introduce all of the RFCs in one place so that the reader can understand the many aspects of DNSSEC. This document does not update any of those RFCs. A second purpose is to state that using DNSSEC for origin authentication of DNS data is the best current practice. A third purpose is to provide a single reference for other documents that want to refer to DNSSEC.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="237"/>
          <seriesInfo name="RFC" value="9364"/>
          <seriesInfo name="DOI" value="10.17487/RFC9364"/>
        </reference>
        <reference anchor="RFC7344">
          <front>
            <title>Automating DNSSEC Delegation Trust Maintenance</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="O. Gudmundsson" initials="O." surname="Gudmundsson"/>
            <author fullname="G. Barwood" initials="G." surname="Barwood"/>
            <date month="September" year="2014"/>
            <abstract>
              <t>This document describes a method to allow DNS Operators to more easily update DNSSEC Key Signing Keys using the DNS as a communication channel. The technique described is aimed at delegations in which it is currently hard to move information from the Child to Parent.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7344"/>
          <seriesInfo name="DOI" value="10.17487/RFC7344"/>
        </reference>
        <reference anchor="RFC7477">
          <front>
            <title>Child-to-Parent Synchronization in DNS</title>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
            <date month="March" year="2015"/>
            <abstract>
              <t>This document specifies how a child zone in the DNS can publish a record to indicate to a parental agent that the parental agent may copy and process certain records from the child zone. The existence of the record and any change in its value can be monitored by a parental agent and acted on depending on local policy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7477"/>
          <seriesInfo name="DOI" value="10.17487/RFC7477"/>
        </reference>
        <reference anchor="RFC8078">
          <front>
            <title>Managing DS Records from the Parent via CDS/CDNSKEY</title>
            <author fullname="O. Gudmundsson" initials="O." surname="Gudmundsson"/>
            <author fullname="P. Wouters" initials="P." surname="Wouters"/>
            <date month="March" year="2017"/>
            <abstract>
              <t>RFC 7344 specifies how DNS trust can be maintained across key rollovers in-band between parent and child. This document elevates RFC 7344 from Informational to Standards Track. It also adds a method for initial trust setup and removal of a secure entry point.</t>
              <t>Changing a domain's DNSSEC status can be a complicated matter involving multiple unrelated parties. Some of these parties, such as the DNS operator, might not even be known by all the organizations involved. The inability to disable DNSSEC via in-band signaling is seen as a problem or liability that prevents some DNSSEC adoption at a large scale. This document adds a method for in-band signaling of these DNSSEC status changes.</t>
              <t>This document describes reasonable policies to ease deployment of the initial acceptance of new secure entry points (DS records).</t>
              <t>It is preferable that operators collaborate on the transfer or move of a domain. The best method is to perform a Key Signing Key (KSK) plus Zone Signing Key (ZSK) rollover. If that is not possible, the method using an unsigned intermediate state described in this document can be used to move the domain between two parties. This leaves the domain temporarily unsigned and vulnerable to DNS spoofing, but that is preferred over the alternative of validation failures due to a mismatched DS and DNSKEY record.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8078"/>
          <seriesInfo name="DOI" value="10.17487/RFC8078"/>
        </reference>
        <reference anchor="RFC9615">
          <front>
            <title>Automatic DNSSEC Bootstrapping Using Authenticated Signals from the Zone's Operator</title>
            <author fullname="P. Thomassen" initials="P." surname="Thomassen"/>
            <author fullname="N. Wisiol" initials="N." surname="Wisiol"/>
            <date month="July" year="2024"/>
            <abstract>
              <t>This document introduces an in-band method for DNS operators to publish arbitrary information about the zones for which they are authoritative, in an authenticated fashion and on a per-zone basis. The mechanism allows managed DNS operators to securely announce DNSSEC key parameters for zones under their management, including for zones that are not currently securely delegated.</t>
              <t>Whenever DS records are absent for a zone's delegation, this signal enables the parent's registry or registrar to cryptographically validate the CDS/CDNSKEY records found at the child's apex. The parent can then provision DS records for the delegation without resorting to out-of-band validation or weaker types of cross-checks such as "Accept after Delay".</t>
              <t>This document establishes the DS enrollment method described in Section 4 of this document as the preferred method over those from Section 3 of RFC 8078. It also updates RFC 7344.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9615"/>
          <seriesInfo name="DOI" value="10.17487/RFC9615"/>
        </reference>
        <reference anchor="RFC9499">
          <front>
            <title>DNS Terminology</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="K. Fujiwara" initials="K." surname="Fujiwara"/>
            <date month="March" year="2024"/>
            <abstract>
              <t>The Domain Name System (DNS) is defined in literally dozens of different RFCs. The terminology used by implementers and developers of DNS protocols, and by operators of DNS systems, has changed in the decades since the DNS was first defined. This document gives current definitions for many of the terms used in the DNS in a single document.</t>
              <t>This document updates RFC 2308 by clarifying the definitions of "forwarder" and "QNAME". It obsoletes RFC 8499 by adding multiple terms and clarifications. Comprehensive lists of changed and new definitions can be found in Appendices A and B.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="219"/>
          <seriesInfo name="RFC" value="9499"/>
          <seriesInfo name="DOI" value="10.17487/RFC9499"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <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="RFC2136">
          <front>
            <title>Dynamic Updates in the Domain Name System (DNS UPDATE)</title>
            <author fullname="P. Vixie" initials="P." role="editor" surname="Vixie"/>
            <author fullname="S. Thomson" initials="S." surname="Thomson"/>
            <author fullname="Y. Rekhter" initials="Y." surname="Rekhter"/>
            <author fullname="J. Bound" initials="J." surname="Bound"/>
            <date month="April" year="1997"/>
            <abstract>
              <t>Using this specification of the UPDATE opcode, it is possible to add or delete RRs or RRsets from a specified zone. Prerequisites are specified separately from update operations, and can specify a dependency upon either the previous existence or nonexistence of an RRset, or the existence of a single RR. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2136"/>
          <seriesInfo name="DOI" value="10.17487/RFC2136"/>
        </reference>
        <reference anchor="RFC9567">
          <front>
            <title>DNS Error Reporting</title>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="M. Larson" initials="M." surname="Larson"/>
            <date month="April" year="2024"/>
            <abstract>
              <t>DNS error reporting is a lightweight reporting mechanism that provides the operator of an authoritative server with reports on DNS resource records that fail to resolve or validate. A domain owner or DNS hosting organization can use these reports to improve domain hosting. The reports are based on extended DNS errors as described in RFC 8914.</t>
              <t>When a domain name fails to resolve or validate due to a misconfiguration or an attack, the operator of the authoritative server may be unaware of this. To mitigate this lack of feedback, this document describes a method for a validating resolver to automatically signal an error to a monitoring agent specified by the authoritative server. The error is encoded in the QNAME; thus, the very act of sending the query is to report the error.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9567"/>
          <seriesInfo name="DOI" value="10.17487/RFC9567"/>
        </reference>
        <reference anchor="RFC8914">
          <front>
            <title>Extended DNS Errors</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="E. Hunt" initials="E." surname="Hunt"/>
            <author fullname="R. Arends" initials="R." surname="Arends"/>
            <author fullname="W. Hardaker" initials="W." surname="Hardaker"/>
            <author fullname="D. Lawrence" initials="D." surname="Lawrence"/>
            <date month="October" year="2020"/>
            <abstract>
              <t>This document defines an extensible method to return additional information about the cause of DNS errors. Though created primarily to extend SERVFAIL to provide additional information about the cause of DNS and DNSSEC failures, the Extended DNS Errors option defined in this document allows all response types to contain extended error information. Extended DNS Error information does not change the processing of RCODEs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8914"/>
          <seriesInfo name="DOI" value="10.17487/RFC8914"/>
        </reference>
        <reference anchor="RFC8552">
          <front>
            <title>Scoped Interpretation of DNS Resource Records through "Underscored" Naming of Attribute Leaves</title>
            <author fullname="D. Crocker" initials="D." surname="Crocker"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Formally, any DNS Resource Record (RR) may occur under any domain name. However, some services use an operational convention for defining specific interpretations of an RRset by locating the records in a DNS branch under the parent domain to which the RRset actually applies. The top of this subordinate branch is defined by a naming convention that uses a reserved node name, which begins with the underscore character (e.g., "_name"). The underscored naming construct defines a semantic scope for DNS record types that are associated with the parent domain above the underscored branch. This specification explores the nature of this DNS usage and defines the "Underscored and Globally Scoped DNS Node Names" registry with IANA. The purpose of this registry is to avoid collisions resulting from the use of the same underscored name for different services.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="222"/>
          <seriesInfo name="RFC" value="8552"/>
          <seriesInfo name="DOI" value="10.17487/RFC8552"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC6781">
          <front>
            <title>DNSSEC Operational Practices, Version 2</title>
            <author fullname="O. Kolkman" initials="O." surname="Kolkman"/>
            <author fullname="W. Mekking" initials="W." surname="Mekking"/>
            <author fullname="R. Gieben" initials="R." surname="Gieben"/>
            <date month="December" year="2012"/>
            <abstract>
              <t>This document describes a set of practices for operating the DNS with security extensions (DNSSEC). The target audience is zone administrators deploying DNSSEC.</t>
              <t>The document discusses operational aspects of using keys and signatures in the DNS. It discusses issues of key generation, key storage, signature generation, key rollover, and related policies.</t>
              <t>This document obsoletes RFC 4641, as it covers more operational ground and gives more up-to-date requirements with respect to key sizes and the DNSSEC operations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6781"/>
          <seriesInfo name="DOI" value="10.17487/RFC6781"/>
        </reference>
        <reference anchor="RFC7583">
          <front>
            <title>DNSSEC Key Rollover Timing Considerations</title>
            <author fullname="S. Morris" initials="S." surname="Morris"/>
            <author fullname="J. Ihren" initials="J." surname="Ihren"/>
            <author fullname="J. Dickinson" initials="J." surname="Dickinson"/>
            <author fullname="W. Mekking" initials="W." surname="Mekking"/>
            <date month="October" year="2015"/>
            <abstract>
              <t>This document describes the issues surrounding the timing of events in the rolling of a key in a DNSSEC-secured zone. It presents timelines for the key rollover and explicitly identifies the relationships between the various parameters affecting the process.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7583"/>
          <seriesInfo name="DOI" value="10.17487/RFC7583"/>
        </reference>
        <reference anchor="RFC8901">
          <front>
            <title>Multi-Signer DNSSEC Models</title>
            <author fullname="S. Huque" initials="S." surname="Huque"/>
            <author fullname="P. Aras" initials="P." surname="Aras"/>
            <author fullname="J. Dickinson" initials="J." surname="Dickinson"/>
            <author fullname="J. Vcelak" initials="J." surname="Vcelak"/>
            <author fullname="D. Blacka" initials="D." surname="Blacka"/>
            <date month="September" year="2020"/>
            <abstract>
              <t>Many enterprises today employ the service of multiple DNS providers to distribute their authoritative DNS service. Deploying DNSSEC in such an environment may present some challenges, depending on the configuration and feature set in use. In particular, when each DNS provider independently signs zone data with their own keys, additional key-management mechanisms are necessary. This document presents deployment models that accommodate this scenario and describes these key-management requirements. These models do not require any changes to the behavior of validating resolvers, nor do they impose the new key-management requirements on authoritative servers not involved in multi-signer configurations.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8901"/>
          <seriesInfo name="DOI" value="10.17487/RFC8901"/>
        </reference>
        <reference anchor="I-D.ietf-dnsop-dnssec-automation">
          <front>
            <title>DNSSEC automation</title>
            <author fullname="Ulrich Wisser" initials="U." surname="Wisser">
         </author>
            <author fullname="Shumon Huque" initials="S." surname="Huque">
              <organization>Salesforce</organization>
            </author>
            <author fullname="Johan Stenstam" initials="J." surname="Stenstam">
              <organization>The Swedish Internet Foundation</organization>
            </author>
            <date day="19" month="October" year="2024"/>
            <abstract>
              <t>   This document describes an algorithm and protocol to automate the
   setup, operations, and decomissioning of Multi-Signer DNSSEC
   [RFC8901] configurations.  It employs Model 2 of the multi-signer
   specification, where each operator has their own distinct KSK and ZSK
   sets (or CSK sets), Managing DS Records from the Parent via CDS/
   CDNSKEY [RFC8078], and Child-to-Parent Synchronization in DNS
   [RFC7477] to accomplish this.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-dnssec-automation-03"/>
        </reference>
      </references>
    </references>
    <?line 554?>

<section anchor="context">
      <name>Efficiency and Convergence Issues in DNS Scanning</name>
      <section anchor="original-notify-for-zone-transfer-nudging">
        <name>Original NOTIFY for Zone Transfer Nudging</name>
        <t><xref target="RFC1996"/> introduced the concept of a DNS Notify message which was used
to improve the convergence time for secondary servers when a DNS zone
had been updated in the primary. The basic idea was to augment the
traditional "pull" mechanism (a periodic SOA query) with a "push"
mechanism (a Notify) for a common case that was otherwise very
inefficient (due to either slow convergence or wasteful overly
frequent scanning of the primary for changes).</t>
        <t>While it is possible to indicate how frequently checks should occur
(via the SOA Refresh parameter), these checks did not allow catching
zone changes that fall between checkpoints. <xref target="RFC1996"/> addressed the
optimization of the time-and-cost trade-off between a secondary checking
frequently for new versions of a zone, and infrequent checking, by
replacing scheduled scanning with the more efficient NOTIFY mechanism.</t>
      </section>
      <section anchor="similar-issues-for-ds-maintenance-and-beyond">
        <name>Similar Issues for DS Maintenance and Beyond</name>
        <t>Today, we have similar issues with slow updates of DNS data in spite of
the data having been published. The two most obvious cases are CDS and
CSYNC scanners deployed in a growing number of TLD registries. Because of
the large number of child delegations, scanning for CDS and CSYNC records
is rather slow (as in infrequent).</t>
        <t>It is only a very small number of the delegations that will have updated
CDS or CDNSKEY record in between two scanning runs. However, frequent
scanning for CDS and CDNSKEY records is costly, and infrequent scanning
causes slower convergence (i.e., delay until the DS RRset is updated).</t>
        <t>Unlike in the original case, where the primary is able to suggest the
scanning interval via the SOA Refresh parameter, an equivalent mechanism
does not exist for DS-related scanning.</t>
        <t>All of the above also applies to automated NS and glue record
maintenance via CSYNC scanning <xref target="RFC7477"/>. Again, given that CSYNC
records change only rarely, frequent scanning of a large number of
delegations seems disproportionately costly, while infrequent scanning
causes slower convergence (delay until the delegation is updated).</t>
        <t>While use of the NOTIFY mechanism for coordinating the key exchange in
multi-signer setups <xref target="I-D.ietf-dnsop-dnssec-automation"/> is
conceivable, the detailed specification is left for future work.</t>
      </section>
    </section>
    <section anchor="change-history-to-be-removed-before-publication">
      <name>Change History (to be removed before publication)</name>
      <ul spacing="normal">
        <li>
          <t>draft-ietf-dnsop-generalized-notify-04</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Add section on Implementation Status</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Use assigned DSYNC RRtype value</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Define DSYNC presentation format</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Make all needed IANA requests</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Editorial changes</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-ietf-dnsop-generalized-notify-03</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Include DNSSEC bootstrapping use case</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Remove sections with approaches not pursued</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Editorial changes</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-ietf-dnsop-generalized-notify-02</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Nits by Tim Wicinski</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Dnsdir feedback</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Specify timeout and error handling</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Editorial nits</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Reserve scheme value 0</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-ietf-dnsop-generalized-notify-01</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Reserve scheme values 128-255</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Rename NOTIFY rrtype to DSYNC (to distinguish from NOTIFY message)</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Describe endpoint discovery</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Discussion on garbage notifications</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>More discussion on amplification risks</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Clean-up, editorial changes</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-ietf-dnsop-generalized-notify-00</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Revision after adoption.</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-thomassen-dnsop-generalized-dns-notify-02</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Add rationale for staying in band</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Add John as an author</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-thomassen-dnsop-generalized-dns-notify-01</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Mention Ry-to-Rr forwarding to accommodate RRR model</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Add port number flexibility</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Add scheme parameter</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Drop SRV-based alternative in favour of new NOTIFY RR</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Editorial improvements</t>
        </li>
      </ul>
      <ul spacing="normal">
        <li>
          <t>draft-thomassen-dnsop-generalized-dns-notify-00</t>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <t>Initial public draft.</t>
        </li>
      </ul>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA6197Xobx5Hu/7mKXvqHAQeASH2L2XVCk7TNrEQxpBw/Prv7
RANMAxxzMANPD0jDiq7i3MC5hHMNZ2/s1FtV/TEg6MjJynkiEpjp6amuj7fe
qm6Nx+OsK7vKHppvbG3bvCp/sYU5Ob8y501XzstZ3pVN7bJ8Om3tbf+q/hVF
M6vzJQ1UtPm8G5e2m4+L2jWr8SLeM65xz2a8/zQr8o4u/nBy9O70Y0aD2EXT
bg6N64osK1ftoenatese7++/2n+c5a3ND81Z3dm2tl1217Q3i7ZZrw4x1bcX
5nv6oKwX5ht8mN3YDV1RxBvGJ5hTlrkur4u/5lVT06M31mWr8tD8R9fMRsY1
bdfauaOfNkv88F9Zlq+766Y9zMw4M/SnrN2h+dPEXHW2ppGW/KG885+a67zu
f9G0i7wuf2HpHJp319Zc3dmidNdhVubrZl0XfAHfYZd5WR2aHzHWxOlYfyz1
akeC62zlLH1ne1O6mNDwzTJ39F0ypwtLN259Q5OiBbJXp8cjc2Vn65ZmtaFH
LZ05rRdlbW1LYkxns8Iofyyss7NJ2WyL4rW9pZv6gqjTT/mBVxD7rKGHvX59
nA7O65G3hfuj85dMZs0yy+qmXZJgbu0hKUM9T34bj8cmn7quzWe0oO+uS2dI
89ZLW3fG/kxCK5zpSNhrZ00zF01+++7s6x/M4PLrY3Pw6tXzoZnaTVMXZtbU
t3QfyT+vsl9IKUjn8trNSWzXJHbShSnEAcXCkFPS43nZOYybF+PrZmbq1ARM
1+B5WWEru+CPDL0mLV+d1zNLMjNqCRNjvqPpzXJnHX08q9aFxZ20LGbaNB3e
brXCQpBQDGmzaZuqam5t6/zE8MVP63J2Q3Odkb4sLD8+N/HhnztDL99akmph
nO0mJK7G0GSmFb0oBDdf1zN5+7Lb0JhmaUnhC0PyNqSpMzzRvzyNY2kFWhqg
WDU0iQxXufXsuicEGsK5fEFvizfr2qZYz2wxMrdlzsPU9s6cXP1wfuwn1m1W
FjN7a746NZenb97+5fQE5pKuK/08tZjIjMSQT5uWvEVh6GEk0m/K7no9NXl3
mP3Hddet3OGjRwv+DJr0iNW38zbw6BN8038N/keGGU4y2PyycR3Ljl7jTp0U
1hGiIjWCSPxrjkyzsvROzq0trbDtZhPjrpt1VZi8qkgCWX5LVqPLZ8lUDLsV
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
wnLKYrXoOrWIgs26jRbleU/Vah2+0UaQnB0mIQCtoWt+58vp7CVJtSlN5gZT
mIzL5BAG6XgoIhcYNXTnUTBQ7VFy/A25V85ZoV0R8QvSQ9OI1nXT3UcU66d8
vACcb2njVmPfp0RP92cGyOaPUBpM4ygbmTw8cVSZDjpUwqrAk0VV/AFF8Kpq
P2jYDTtJ/HRKl3FADtvnGYs1u/A3sw5+vz/NH/mxuKhNhimn1QBmVpGmUspt
hTCJW/H9s2OnB0muv8/PeykONSn9FElTbV7ozzFD/s/NOR7Ji5eEEdGyf9vc
ASSNfD+QjS0HEhwZkTvetECBo91w0YHPVhIYw12+/ZdNTsYYSc8Gh96WCS82
2CktxV1ZMEovWNxr2aNEHma6plS1ZoJLABkfhIKZrd2aD20pa7KHipeONUl1
no8SU6pX2q/XtURviaqAJSAXuTzh+MwOOQcpLVFw7l36MMshXkTural3TEJM
SWDiO7rVySPr0Qn9kXobE7jXWvqqtkIW+Szdz3p20dtMxRcmmwu5RiX72/VY
nU3MybZ34lz2piKxj35Gfd0lr2TAVwhXRuhzCvPf7sk5SrYi+QMFktNTGIvc
YxWTxg3uk7u2ZWukKQi0+tDXm/pIhn0Hqi8UqG5tKAl3KMzS8mZ63M0WeT/P
Z0DVeGG/5UqspJXDliT95yOo1h0TFY3vHImt19D9q7NvBvtDwjNC0Wjivb1t
Tfg+gGRflQebz61X2D04MVerppnb2McvkNZptPLYeeuQFFoBcq757FoVncRF
STat2DJSsH43TPTz4oSl0Zz1PFvXruGS1fZWmt+L9lmOQWQi194pwHewfgCl
0vMtYFusODvPqOmOC+mxqO5NLjgv7cSBUKSs0nNxTI2j1s3HmuTVGHHaH1AV
UDdvHZ5tfJE66+9J4+TaNSljybfOrhvswEF7B29ujjs6eSmy2K+Fw7SOzo+2
IFGWffGF7DgTqIYD6E4JnzbtF18cBl+lxfeRIf+R8+5E7lMVJ9pCWkyO7w16
rPZwz+cmoCtwqJHlNZwpCdk7OIH0G7Nj7MEZjgBWrcthar+6Cd7zb1ncELR3
IuzPOfyJHCFoBrSiQ3PhD0tJbjR8WCNS29hY/U729oskM94mTr8+f55lb2zO
7Mdh7IGLDfdbfcK+ZKcHLcI/qxjo9i2JZYlgdPvvpbKJcu8FvZyyOM+ePUYr
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
ESbZ/weLQ5FsI2gAAA==

-->

</rfc>
