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


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>


<rfc ipr="trust200902" docName="draft-berra-dnsop-announce-scanner-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Announce Parent DNS Scanner">Announce Existence of Parent CDS/CSYNC Scanner</title>

    <author initials="E." surname="Bergström" fullname="Erik Bergström">
      <organization>The Swedish Internet Foundation</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>erik.bergstrom@internetstiftelsen.se</email>
      </address>
    </author>
    <author initials="J." surname="Stenstam" fullname="Johan Stenstam">
      <organization>The Swedish Internet Foundation</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>johan.stenstam@internetstiftelsen.se</email>
      </address>
    </author>
    <author initials="L." surname="Fernandez" fullname="Leon Fernandez">
      <organization>The Swedish Internet Foundation</organization>
      <address>
        <postal>
          <country>Sweden</country>
        </postal>
        <email>leon.fernandez@internetstiftelsen.se</email>
      </address>
    </author>

    <date />

    <area>Internet</area>
    <workgroup>DNSOP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 40?>

<t>In DNS operations, automated scanners are commonly employed by the
operator of a parent zone to detect the presence of specific records,
such as CDS or CSYNC, in child zones, indicating a desire for
delegation updates. However, the presence and periodicity of these
scanners are typically implicit and undocumented, leading to
inefficiencies and uncertainties. ￼</t>

<t>This document proposes an extension to the semantics of the DSYNC
resource record, as defined in
draft-ietf-dnsop-generalized-notify, allowing parent zones to
explicitly signal the presence and scanning interval of such automated
scanners. This enhancement aims to improve transparency and
coordination between child and parent zones.</t>

<t>TO BE REMOVED: This document is being collaborated on in Github at:
<eref target="https://github.com/johanix/draft-berra-dnsop-announce-scanner">https://github.com/johanix/draft-berra-dnsop-announce-scanner</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 62?>

<section anchor="introduction"><name>Introduction</name>

<t>Automated scanners play a vital role in DNS operations by monitoring
zones for specific records that signal desired updates to delegation
information. For instance, the presence of CDS records in a child zone
indicates a request to update DS records in the parent zone. However,
the operation of these scanners is often opaque, with no standardized
method for parent zones to signal their presence or scanning
frequency. ￼</t>

<t>The lack of explicit signaling can lead to inefficiencies, such as
unnecessary scanning or delayed updates due to misaligned expectations
between child and parent zones. To address this, this document
proposes an extension to the semantics of the DSYNC resource record,
enabling parent zones to explicitly announce the presence and scanning
interval of their automated scanners.</t>

<t>As the DSYNC record becomes standard automated child-side systems
looking up the parent DSYNC records are expected. Given that a vast
majority of parent zones do not operate scanners providing a simple
mechaism to inform the child of this fact will be useful.</t>

</section>
<section anchor="requirements-terminology"><name>Requirements Terminology</name>

<t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in <xref target="RFC2119"/>.</t>

</section>
<section anchor="dsync-record-extension-for-scanner-signaling"><name>DSYNC Record Extension for Scanner Signaling</name>

<t>The DSYNC resource record, as defined in
<xref target="I-D.draft-ietf-dnsop-generalized-notify"/>, facilitates the
discovery of endpoints for generalized NOTIFY messages. This document
proposes a new {scheme} for this record that can be used to signal
scanner presence (or absence) and periodicity. This new scheme=3 is
defined as "SCANNER".</t>

<t>The DSYNC record has the following format, as defined in
<xref target="I-D.draft-ietf-dnsop-generalized-notify"/>:</t>

<t>{owner} IN DSYNC {RRtype} {Scheme} {Port} {Target}</t>

<t>For scanner signaling, the fields are interpreted as follows:</t>

<t><list style="symbols">
  <t>owner: The name of the parent zone. Follows the discovery methods
   specified in the DSYNC specification.</t>
  <t>RRtype: The type of record the scanner is monitoring (e.g., CDS,
   CSYNC).</t>
  <t>Scheme: Set to SCANNER (on the wire this is represented as a uint8
   = 3).</t>
  <t>Port: Overloaded to represent the scanning interval in minutes.</t>
  <t>Target: Not used, RECOMMENDED to set to ".".</t>
</list></t>

<section anchor="signaling-scanner-presence"><name>Signaling Scanner Presence</name>

<t>To signal the presence of a scanner that check for CDS and CSYNC records
once every 24 hours, a parent zone would publish the following DSYNC
records:</t>

<t>_dsync.parent.example. IN DSYNC CDS SCANNER 1440 .
_dsync.parent.example. IN DSYNC CSYNC SCANNER 1440 .</t>

<t>The presence of these records informs the child operator that the parent
zone operates a scanner for both CDS and CSYNC records with a 1440-minute
(= 24h) interval.</t>

</section>
<section anchor="signaling-absence-of-a-scanner"><name>Signaling Absence of a Scanner</name>

<t>To explicitly signal the absence of a scanner, the parent zone would
set the port field to 0:</t>

<t>_dsync.parent.example. IN DSYNC CDS SCANNER 0 .
_dsync.parent.example. IN DSYNC CSYNC SCANNER 0 .</t>

<t>The presence of these records indicate that the parent zone does not
operate a scanner for CDS or CSYNC records.</t>

</section>
<section anchor="wildcard-and-child-specific-methods"><name>Wildcard and Child-specific Methods</name>

<t>Parent zones can also use the wildcard and child-specific methods
to signal the presence or absence of scanners as described in
<xref target="I-D.draft-ietf-dnsop-generalized-notify"/>.</t>

<t>For example:</t>

<t>*._dsync.parent.example. IN DSYNC CDS SCANNER 0 .
*._dsync.parent.example. IN DSYNC CSYNC SCANNER 0 .</t>

<t>or</t>

<t>child._dsync.parent.example. IN DSYNC CDS SCANNER 0 .
child._dsync.parent.example. IN DSYNC CSYNC SCANNER 0 .</t>

</section>
</section>
<section anchor="operational-considerations"><name>Operational Considerations</name>

<t>Publishing DSYNC records (typically for both CDS and CSYNC records)
requires no coordination between parent and child zones. The parent
zone operator should ensure that the DSYNC records accurately reflect
their scanner operations (or absence of a scanner). Child zone
operators may use this information to adjust their expectations and
processes accordingly.</t>

<t>It's important to note that overloading the port field for scanner
interval signaling deviates from its original purpose. Using a new
{scheme}, "SCANNER", is intended to minimize the implications of this
as software implementations SHOULD discard any unsupported schemes.</t>

</section>
<section anchor="security-considerations"><name>Security Considerations</name>

<t>The proposed new DSYNC scheme does not introduce new security
vulnerabilities. As in <xref target="I-D.draft-ietf-dnsop-generalized-notify"/>
use of DNSSEC is RECOMMENDED but not required. Hence, a child service
that looks up DSYNC RRsets in the parent zone may choose to ignore
unsigned DSYNC RRsets.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>IANA is requested to assign a new "scheme" value to the registry for
"DSYNC Location of Synchronization Endpoints" as follows:</t>

<t>Reference  (this document)</t>

<figure><artwork><![CDATA[
+========+========+==========+======================+=================+
| RRtype | Scheme | Mnemonic | Purpose              | Reference       |
+========+========+==========+======================+=================+
| CDS    | 3      | SCANNER  | Scanner announcement | (this document) |
+--------+--------+----------+----------------------+-----------------+
| CSYNC  | 3      | SCANNER  | Scanner announcement | (this document) |
+--------+--------+----------+----------------------+-----------------+
]]></artwork></figure>

</section>


  </middle>

  <back>


<references title='References' anchor="sec-combined-references">

    <references title='Normative References' anchor="sec-normative-references">



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




    </references>

    <references title='Informative References' anchor="sec-informative-references">




<reference anchor="I-D.draft-ietf-dnsop-generalized-notify">
   <front>
      <title>Generalized DNS Notifications</title>
      <author fullname="Johan Stenstam" initials="J." surname="Stenstam">
         <organization>The Swedish Internet Foundation</organization>
      </author>
      <author fullname="Peter Thomassen" initials="P." surname="Thomassen">
         <organization>deSEC, Secure Systems Engineering</organization>
      </author>
      <author fullname="John R. Levine" initials="J. R." surname="Levine">
         <organization>Standcore LLC</organization>
      </author>
      <date day="19" month="March" year="2025"/>
      <abstract>
	 <t>   This document generalizes and extends the use of DNS NOTIFY (RFC
   1996) beyond conventional zone transfer hints, to allow triggering
   other types of actions via the DNS that were previously lacking a
   trigger mechanism.  Notifications merely nudge the receiver to
   initiate a predefined action promptly (instead of on a schedule);
   they do not alter the action itself (including any security checks it
   might employ).

   To enable this functionality, a method for discovering the receiver
   endpoint for such notification messages is introduced, via the new
   DSYNC record type.  Notification types are recorded in a new
   registry, with initial support for parental NS and DS record updates
   including DNSSEC bootstrapping.

   TO BE REMOVED: This document is being collaborated on in Github at:
   https://github.com/peterthomassen/draft-ietf-dnsop-generalized-notify
   (https://github.com/peterthomassen/draft-ietf-dnsop-generalized-
   notify).  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>
   <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-generalized-notify-09"/>
   
</reference>




    </references>

</references>


<?line 202?>

<section anchor="change-history-to-be-removed-before-publication"><name>Change History (to be removed before publication)</name>

<ul empty="true"><li>
  <t>Initial public draft
Make sure examples use _dsync label and propose new scheme</t>
</li></ul>

</section>


  </back>

<!-- ##markdown-source:
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
AFigLmllHAAA

-->

</rfc>

