<?xml version="1.0" encoding="utf-8"?>
<!-- name="GENERATOR" content="github.com/mmarkdown/mmark Mmark Markdown Processor - mmark.miek.nl" -->
<rfc version="3" ipr="trust200902" docName="draft-ubbink-dnsop-backend-serial-zoneversion-00" submissionType="IETF" category="std" xml:lang="en" xmlns:xi="http://www.w3.org/2001/XInclude" indexInclude="true">

<front>
<title abbrev="dns-backend-zoneversion">DNS Backend Serial Zone Version Option</title><seriesInfo value="draft-ubbink-dnsop-backend-serial-zoneversion-00" stream="IETF" status="standard" name="Internet-Draft"></seriesInfo>
<author initials="S.W.J." surname="Ubbink" fullname="Stefan Ubbink"><organization>SIDN</organization><address><postal><street></street>
</postal><email>stefan.ubbink@sidn.nl</email>
</address></author><date/>
<area>Internet</area>
<workgroup>DNSOP</workgroup>

<abstract>
<t>The DNS Backend Serial Zone Version Opion is a way to get information about
the version of a DNS zone in the backend.
For example when a DNSSEC signer for a zone generates a new SOA serial, because
it has created new RRSIG records, the original data has not changed, but this
is not visible to anyone looking at the zone via DNS. This document will make it
possible to show the zone information which is the source of the presented data.</t>
</abstract>

</front>

<middle>

<section anchor="discussion-venues"><name>Discussion Venues</name>
<t>This note is to be removed before publishing as an RFC.</t>
<t>Source for this draft and an issue tracker can be found at
<eref target="https://github.com/SIDN/ietf-zoneversion-extended.git">https://github.com/SIDN/ietf-zoneversion-extended.git</eref> .</t>
</section>

<section anchor="introduction"><name>Introduction</name>
<t>The DNS Backend Serial Zone Version Option is a way to get
information about the version of a DNS zone in the backend.
For example when a DNSSEC signer for a zone generates a new SOA serial, because
it has created new RRSIG records, the original data has not changed, but this
is not visible to anyone looking at the zone.
This document makes it possible to retreive the backend version that is
the source of data in the DNS response.</t>
</section>

<section anchor="terminology"><name>Terminology and Definitions</name>
<t>The key words &quot;<bcp14>MUST</bcp14>&quot;, &quot;<bcp14>MUST NOT</bcp14>&quot;, &quot;<bcp14>REQUIRED</bcp14>&quot;,
&quot;<bcp14>SHALL</bcp14>&quot;, &quot;<bcp14>SHALL NOT</bcp14>&quot;, &quot;<bcp14>SHOULD</bcp14>&quot;, &quot;<bcp14>SHOULD NOT</bcp14>&quot;,
&quot;<bcp14>RECOMMENDED</bcp14>&quot;, &quot;<bcp14>NOT RECOMMENDED</bcp14>&quot;, &quot;<bcp14>MAY</bcp14>&quot;, and
&quot;<bcp14>OPTIONAL</bcp14>&quot; in this document are to be interpreted as described in
BCP 14 <xref target="RFC2119"></xref><xref target="RFC8174"></xref> when, and only when, they appear in all
capitals, as shown here.</t>
</section>

<section anchor="relation-to-the-zoneversion-option"><name>Relation to the ZONEVERSION option</name>
<t>This document extends the original DNS Zone version Option [!@RFC9660] to
include an extra ZONEVERSION type.</t>
</section>

<section anchor="the-backend-serial-in-the-zone"><name>The backend serial in the zone</name>
<t>To make the backend serial available in the ZONEVERSION, it must be available
in the zone itself. Because creating an out of bound solution would be to much
work.
This document defines a label where the backend serial will be available to be used in the ZONEVERSION.</t>
<t>The backend serial will be published in a _backend-version label under the zone apex.</t>
<t>For example:</t>

<artwork><![CDATA[_backend-version.example.nl IN TXT "2025101099"
]]>
</artwork>
<t>The setting of the value of the _backend-version label is out of scope for
this document. The RDATA is not limited to a 32-bit number, like the
SOA-SERIAL. It can be any string.</t>
<t>There <bcp14>MUST</bcp14> only be one _backend-version label.</t>
</section>

<section anchor="backend-serial"><name>The backend serial ZONEVERSION type</name>
<t>This document defines a new ZONEVERSION option TYPE, which can be constructed
from RDATA in the zone.</t>
<t>The mnemonic for this type is &quot;BACKEND-SERIAL&quot;.</t>
<t>The VERSION value for the BACKEND-SERIAL type <bcp14>MUST</bcp14> come from the RDATA of
the _backend-version label in the zone. Unless the software already knows the
backend serial, then it <bcp14>SHOULD</bcp14> use that.
If there are multiple _backend-version labels at the zone apex, these
<bcp14>MUST</bcp14> all be ignored.</t>
</section>

<section anchor="security"><name>Security Considerations</name>
<t>When using the backend serial zoneversion option it will reveal a small bit of
information of your backend to the world. This should be a consius decission.</t>
</section>

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

<section anchor="zoneversion-type-value"><name>ZONEVERSION TYPE value</name>
<t>This document defines a new item for the ZONEVERSION TYPE option, entitled
BACKEND-SERIAL (see <xref target="backend-serial"></xref>), and assigns a value of &lt;TBD&gt; from the
ZONEVERSION TYPE Values space:</t>
<table>
<thead>
<tr>
<th>ZONEVERSION TYPE</th>
<th>Mnemonic</th>
<th>Reference</th>
</tr>
</thead>

<tbody>
<tr>
<td>&lt;TBD&gt;</td>
<td>BACKEND-SERIAL</td>
<td>[this document]</td>
</tr>
</tbody>
</table></section>

<section anchor="backend-version-underscore-name"><name>_backend-version Underscore Name</name>
<t>Per <xref target="RFC8552"></xref>, IANA is requested to add the following entries to the
&quot;Underscored and Globally Scoped DNS Node Names&quot; registry:</t>
<table>
<thead>
<tr>
<th>RR Type</th>
<th>_NODE NAME</th>
<th>Reference</th>
</tr>
</thead>

<tbody>
<tr>
<td>TXT</td>
<td>_backend-version</td>
<td>[this document]</td>
</tr>
</tbody>
</table></section>
</section>

<section anchor="acknowledgements"><name>Acknowledgements</name>
<t>Many thanks to original authors of <xref target="RFC9660"></xref>. And the following reviewers:
Peter van Dijk.</t>
</section>

</middle>

<back>
<references><name>Normative References</name>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8552.xml"/>
<xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9660.xml"/>
</references>

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

<ul spacing="compact">
<li>draft-ubbink-dnsop-backend-serial-zoneversion-00</li>
</ul>
<blockquote><t>Use a better name for the draft.
Use a different label for the backend version.
Add security considerations</t>
</blockquote>
<ul spacing="compact">
<li>draft-ubbink-zoneversion...</li>
</ul>
<blockquote><t>Initial publication</t>
</blockquote></section>

</back>

</rfc>
