<?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.29 (Ruby 3.0.2) -->


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

]>


<rfc ipr="trust200902" docName="draft-simmen-rpp-dns-data-01" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="RPP DNS data representation">DNS data representation for use in RESTful Provisioning Protocol (RPP)</title>

    <author fullname="Christian Simmen">
      <organization>DENIC eG</organization>
      <address>
        <postal>
          <country>DE</country>
        </postal>
        <email>simmen@denic.de</email>
      </address>
    </author>
    <author fullname="Pawel Kowalik">
      <organization>DENIC eG</organization>
      <address>
        <postal>
          <country>DE</country>
        </postal>
        <email>pawel.kowalik@denic.de</email>
      </address>
    </author>

    <date year="2025" month="October" day="20"/>

    <area>Applications and Real-Time</area>
    <workgroup>rpp</workgroup>
    <keyword>rpp</keyword> <keyword>epp</keyword> <keyword>json</keyword> <keyword>provisioning</keyword> <keyword>host</keyword>

    <abstract>


<?line 86?>

<t>This document proposes a unified, extensible JSON representation for DNS resource records for use in the RESTful Provisioning Protocol (RPP). The aim is to create a single, consistent structure for provisioning all DNS-related data - including delegation, DNSSEC, and other record types - that directly mirrors the DNS data model and being mappable to existing EPP model of requests and responses same time. This approach simplifies the adoption of both current and future DNS features by aligning the provisioning format with the target system, thereby streamlining the management of domain names and related objects within RPP.</t>



    </abstract>

    <note title="About This Document" removeInRFC="true">
      <t>
        The latest revision of this draft can be found at <eref target="https://github.com/christian-simmen/draft-simmen-rpp-dns-data"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-simmen-rpp-dns-data/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        WG Working Group mailing list (<eref target="mailto:rpp@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rpp/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/rpp/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/christian-simmen/draft-simmen-rpp-dns-data"/>.</t>
    </note>


  </front>

  <middle>


<?line 90?>

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

<t>The Extensible Provisioning Protocol (EPP) manages DNS delegation data using distinct object types and extensions. Host Objects <xref target="RFC5732"/> are used for name servers (NS records) and their associated addresses (glue A/AAAA records), while DNSSEC data is handled via a separate security extension <xref target="RFC5910"/>. Name server information can be also directly attached to a domain name as a set of Host Attributes <xref target="RFC5731"/>. More recently, control over Time-to-Live (TTL) values was added through another extension <xref target="RFC9803"/>.</t>

<t>While functional, this segmented approach creates complexity. The DNS landscape itself is evolving, with new transport protocols like DNS-over-HTTPS <xref target="RFC8484"/> and DNS-over-QUIC <xref target="RFC9250"/> driving the need for more sophisticated delegation information, such as the proposed DELEG record type <xref target="I-D.draft-ietf-deleg"/>.</t>

<t>Some registry operators have developed their own proprietary solutions. These include grouping name servers into "sets" for easier management or allowing domains to be provisioned with arbitrary DNS resource records (RR) without formal delegation, which is expanding on Host Attribute model with other resource record types.</t>

<t>The development of the RESTful Provisioning Protocol (RPP) provides an opportunity to address this fragmentation. This document proposes a unified data representation for all DNS-related information, specified in a format that directly mirrors DNS resource records. This approach is not intended to influence existing registry data models, but rather to offer a flexible and consistent structure for the data in the protocol. By unifying the representation of delegation data (NS, A/AAAA glue), DNSSEC information, and other record types, this model can be applied across various contexts. It is designed to be equally applicable whether a registry uses separate host objects, host attributes within a domain, or more abstract concepts like name server sets, thereby simplifying implementation and ensuring adaptability for future developments in the DNS.</t>

</section>
<section anchor="domain-names-in-dns"><name>Domain Names in DNS</name>

<t>DNS domain names are hierarchically ordered label separated by a dot ".". Each label represent the delegation of a subordinate namespace or a host name. DNS resource records <xref target="RFC1035"/> are expressed as a dataset containing:</t>

<t>"NAME" "CLASS" "TYPE" "TTL" "RDLENGTH" "RDATA"</t>

<t>A set of resource records describes the behavior of a namespace. Each resource record shares the same top level format.</t>

<t>NAME      The owner name of the DNS entry which <bcp14>MAY</bcp14> be the domain itself or a subordinate hostname.</t>

<t>CLASS     The RR CLASS</t>

<t>TYPE      The RR TYPE of data present in the RDATA field.</t>

<t>TTL       Time interval a RR may be cached by name servers</t>

<t>RDLENGTH  The length of the RDATA field. RDLENGTH will be safely ignored in RPP</t>

<t>RDATA     The actual payload data. Structures defer for each type.</t>

</section>
<section anchor="json-representation"><name>JSON representation</name>

<section anchor="rules"><name>Rules</name>

<section anchor="dns-data-extending-an-domain-object"><name>DNS data extending an domain object</name>
<t>Delegation data, as well as DNSSEC data, is intended to find it's way into the parent side DNS servers. Because of the strong connection to the provisioned domain object and DNS servers both aspects should be visible in the RPP data model. Therefore the domain object is extended by an "dns" object having an array of DNS "records" and a facility for signaling parameters to "control" operational behavior. The top level format of a DNS resource record as described in section 3.2.1 of <xref target="RFC1035"/> is converted into properties. Property names <bcp14>MUST</bcp14> be written in camel case, generally using lower case letters, removing whitespaces and starting subsequent words with a capital letter.</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "",
        "class": "",
        "type": "",
        "rdata": {}
      }
    ],
    "controls": {
      "ttl": {}
    }
  }
}
]]></sourcecode></figure>

</section>
<section anchor="dns-record-structure-representation"><name>DNS record structure representation</name>

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

<t>The owner name of the DNS entry which <bcp14>MAY</bcp14> be the domain itself or a subordinate hostname. A server <bcp14>MUST NOT</bcp14> accept a NAME which is not a subordinate label to the provisioned domain name.</t>

<t>A server <bcp14>MUST</bcp14> accept values as "@", "relative names" and fully qualified domain names (FQDN).</t>

<t>"@" <bcp14>MUST</bcp14> be interpreted as the provisioned domain name.</t>

<t>"relative names" <bcp14>MUST</bcp14> be appended by the server with the provisioned domain name.</t>

<t>"FQDN" identified by a trailing dot (".") <bcp14>MUST NOT</bcp14> be interpreted by the server. A server <bcp14>MUST</bcp14> check if the provided name is a subordinate to the provisioned domain, or the domain itself.</t>

<t>Example:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "a",
        "rdata": {
          "address": "192.0.2.1"
        }
      },
      {
        "name": "www",
        "type": "a",
        "rdata": {
          "address": "192.0.2.2"
        }
      },
      {
        "name": "web.example.com.",
        "type": "a",
        "rdata": {
          "address": "192.0.2.3"
        }
      }
    ]
  }
}
]]></sourcecode></figure>

<t>The above example implies three resulting records:</t>

<t><list style="symbols">
  <t>An "A" RR for "example.com" ("@") set to 192.0.2.1.</t>
  <t>An "A" RR for "www.example.com" ("www" relative) set to 192.0.2.2.</t>
  <t>An "A" RR for "web.example.com" (FQDN) set to 192.0.2.3.</t>
</list></t>

</section>
<section anchor="class"><name>class</name>

<t>A client <bcp14>SHOULD</bcp14> omit the class. The server <bcp14>MUST</bcp14> assume "IN" as class of a transferred dataset and <bcp14>MAY</bcp14> decline other values. If present the value <bcp14>MUST</bcp14> be chosen from section 3.2.4. (CLASS values) of <xref target="RFC1035"/>.</t>

</section>
<section anchor="type"><name>type</name>

<t>The TYPE of data present in the RDATA. This also implies the expected fields in RDATA.
If present the value <bcp14>MUST</bcp14> chosen from section 3.2.2. (TYPE values) of <xref target="RFC1035"/> or other RFC describing the RR type. Values <bcp14>MUST</bcp14> be converted to lower case.</t>

</section>
<section anchor="ttl"><name>ttl</name>

<t>TTL is considered a operational control (see section 3.1.3 and section 4.3.1 of this document). A server <bcp14>MUST</bcp14> set a default value as TTL and <bcp14>MAY</bcp14> ignore other values send by a client.</t>

</section>
<section anchor="rdlength"><name>rdlength</name>

<t>RDLENGTH specifies the length of the RDATA field and will be ignored in RPP. A client <bcp14>MUST NOT</bcp14> include this field. A server <bcp14>MUST</bcp14> ignore this field if present.</t>

</section>
<section anchor="rdata"><name>rdata</name>

<t>The RDATA structure depends on the TYPE and <bcp14>MUST</bcp14> be expressed as a JSON object. Property names <bcp14>MUST</bcp14> follow the definition of the RDATA presentation format described by the corresponding RFC. Property names <bcp14>MUST</bcp14> be written in camel case, generally using lower case letters, removing whitespaces and starting subsequent words with a capital letter. All property values <bcp14>MUST</bcp14> be represented as <xref target="RFC8259"/> JSON Strings and encode presentation format of the value.</t>

</section>
</section>
<section anchor="operational-controls"><name>Operational controls</name>

<t>In addition to the regular data a server <bcp14>MAY</bcp14> allow clients to control specific operational behavior. A client <bcp14>MAY</bcp14> extend the "dns" JSON object with a number of "controls".</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "<name>",
        "type": "<type>",
        "rdata": {
          "<rdataKey>": "<rdataValue>"
        }
      }
    ],
    "controls": {
      "<namedControl>": "<namedControlValue>"
    }
  }
}
]]></sourcecode></figure>

</section>
<section anchor="future-dns-record-types"><name>Future DNS record types</name>

<t>With respect to an evolving DNS landscape new record types - including delegation - may emerge. Usually these record type will be defined and standardized for the DNS in first. Adopting future record types <bcp14>MUST</bcp14> be done using the rules described in section 3.1.2.6 of this document.</t>

</section>
</section>
</section>
<section anchor="use-cases"><name>Use cases</name>

<section anchor="domain-delegation-host-attribute"><name>Domain delegation (Host Attribute)</name>

<t>To enable domain delegation a server <bcp14>MUST</bcp14> support the "NS", "A" and "AAAA" record types (<xref target="RFC1035"/>, <xref target="RFC3596"/>).</t>

<t>In this delegation model the delegation information and corresponding DNS configuration is attached directly to a domain object. This is corresponding to Host Attribute delegation model of <xref target="RFC5731"/>.</t>

<t>A minimal delegation can be expressed by adding an array of name servers to the DNS data of a domain:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns1.example.net."
        }
      },
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns2.example.net."
        }
      }
    ]
  }
}
]]></sourcecode></figure>

<t>If GLUE records are needed the client may add records of type "A" or "AAAA" :</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns1.example.net."
        }
      },
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns.example.com"
        }
      },
      {
        "name": "ns.example.com.",
        "type": "a",
        "rdata": {
          "address": "192.0.2.1"
        }
      },
      {
        "name": "ns.example.com.",
        "type": "aaaa",
        "rdata": {
          "address": "2001:DB8::1"
        }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
<section anchor="host-object"><name>Host Object</name>

<t><xref target="RFC5731"/> specifies how domain delegation can be expressed as a relation to a separate provisioning object (Host Object), which carries the DNS configuration (name and glue records), with details specified in <xref target="RFC5732"/>.</t>

<t>To enable specification of Host Objexts, similar to direct domain delegation, a server <bcp14>MUST</bcp14> support the "NS", "A" and "AAAA" record types (<xref target="RFC1035"/>, <xref target="RFC3596"/>).</t>

<t>DNS configuration of Host Object is specified by NS, A and AAAA configuration within "dns" data structure:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Host",
  "name": "ns.example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns.example.com"
        }
      },
      {
        "name": "ns.example.com.",
        "type": "a",
        "rdata": {
          "address": "192.0.2.1"
        }
      },
      {
        "name": "ns.example.com.",
        "type": "aaaa",
        "rdata": {
          "address": "2001:DB8::1"
        }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
<section anchor="dnssec"><name>DNSSEC</name>

<t>To enable DNSSEC provisioning a server <bcp14>SHOULD</bcp14> support either "DS" or "DNSKEY" or both record types. The records <bcp14>MUST</bcp14> be added to the "dns" array of the domain. If provided with only "DNSKEY" a server <bcp14>MUST</bcp14> calculate the DS record. If both record types are provided a server <bcp14>MAY</bcp14> use the DNSKEY to validate the DS record.</t>

</section>
<section anchor="operational-controls-1"><name>Operational controls</name>

<section anchor="ttl-1"><name>TTL</name>

<t>The TTL controls the caching behavior of DNS resource records (see Section 5 of <xref target="RFC9499"/>). Typically a default TTL is defined by the registry operator. In some use cases it is desirable for a client to change the TTL value.</t>

<t>A client <bcp14>MAY</bcp14> assign "ttl" to the controls of an RR set which is intended to be present in the parent sides DNS. A server <bcp14>MAY</bcp14> ignore these values e.g. for policy reasons.</t>

<t>Example:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "a",
        "rdata": {
          "address": "192.0.2.1"
        }
      },
      {
        "name": "@",
        "type": "aaaa",
        "rdata": {
          "address": "2001:DB8::1"
        }
      }
    ],
    "controls": {
      "ttl": {
        "a": 86400,
        "aaaa": 3600
    }
    }
  }
}
]]></sourcecode></figure>

</section>
<section anchor="maximum-signature-lifetime"><name>Maximum signature lifetime</name>

<t>Maximum signature lifetime (maximumSignatureLifetime) describes the maximum number of seconds after signature generation a parents signature on signed DNS information should expire. The maximumSignatureLifetime value applies to the RRSIG resource record over the signed DNS RR. See Section 3 of <xref target="RFC4034"/> for information on the RRSIG resource record.</t>

<t>A client <bcp14>MAY</bcp14> assign "maximumSignatureLifetime" to the controls of an RR set which is intended to be signed on the parent side. A server <bcp14>MAY</bcp14> ignore these values, e.g. for policy reasons.</t>

<t>Example:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns1.example.net."
        }
      },
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns2.example.net."
        }
      },
      {
        "name": "@",
        "type": "ds",
        "rdata": {
          "keyTag": "12345",
          "algorithm": "13",
          "digestType": "2",
          "digest": "BE74359954660069D5C632B56F120EE9F3A86764247C"
        }
      }
    ],
    "controls": {
      "maximumSignatureLifetime": {
        "ds": 86400
      }
    }
  }
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="authoritative-dns-data"><name>Authoritative DNS data</name>

<t>A server <bcp14>MAY</bcp14> support additional RR types, e.g. to support delegation-less provisioning. By doing this the registry operators name servers becomes authoritative for the registered domain. A server <bcp14>MUST</bcp14> consider resource records designed for delegation - including DNSSEC - and resource records representing authoritative data - except for GLUE RR - mutual exclusive.</t>

</section>
</section>
<section anchor="discoverability"><name>Discoverability</name>

<t>The server <bcp14>MUST</bcp14> provide the following information per profile in the discovery document in section 10 of <xref target="I-D.draft-ietf-rpp-requirements"/>:</t>

<t><list style="symbols">
  <t>A list of supported resource record types</t>
  <t>A list of applicable operational controls</t>
  <t>Minimum, maximum and default values for operational controls</t>
</list></t>

<t>TODO: Needs rewrite after definition of the discovery document</t>

</section>
<section anchor="epp-compatibility-considerations"><name>EPP compatibility considerations</name>

<t>TODO</t>

</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" 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.</t>

<?line -18?>

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

<section anchor="authoritative-data"><name>Authoritative data</name>

<t>Allowing to store authoritative resource records (see section 4.4 of this document) in the registry provides faster resolution. However, if not done properly situations may occur where the data served authoritative should have been delegated. RPP servers <bcp14>MUST</bcp14> take precautions to not store authoritative and non-authoritative data at the same time.</t>

<t>The types and number of authoritative records can result in uncontrolled growth of the registries zone file and eventually exhaust the hardware resources of the registries name server. RPP servers <bcp14>SHOULD</bcp14> consider limiting the amount of authoritative records and carefully choose which record types are allowed.</t>

</section>
<section anchor="host-references-within-the-rdata-field"><name>Host references within the rdata field</name>

<t>Some RR types (NS, MX and others) use references to host names which can be categorized into three categories:</t>

<t>Domain internal references
are references to a subordinate host name of the domain. E.g. "ns.example.com" is an domain internal reference when used as a name server for "example.com".</t>

<t>Registry internal references
are references to a host name within the same registry. E.g. "ns.example.com" is an domain internal reference when used as a name server for "example2.com".</t>

<t>Registry external references
are references to a host name outside of the registry. E.g. "ns.example.net" is an domain internal reference when used as a name server for "example.com".</t>

<t>Deletion of a host name while still being referenced may lead to severe security risks for the referencing domain.</t>

</section>
</section>
<section anchor="change-history"><name>Change History</name>

<section anchor="to-01"><name>-00 to -01</name>

<t><list style="symbols">
  <t>Combined structure for resource record definition and operational controls (Section 3.1.1).</t>
  <t>Use camel case for property names instead of snake case.</t>
  <t>Move examples or RR types to Appendix B.</t>
  <t>Clarification tha RDATA presentation format is used. Datatypes for property values in RDATA are set to string.</t>
</list></t>

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

<t>This document has no IANA actions.</t>

</section>
<section anchor="appendix-a-examples-from-current-implementations"><name>Appendix A. Examples from current implementations</name>

<section anchor="epp"><name>EPP</name>

<section anchor="create-domain-using-host-attributes-example"><name>Create domain using host attributes example</name>

<t>EPP XML:</t>

<figure><sourcecode type="xml"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <domain:create
          xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example.com</domain:name>
        <domain:period unit="y">1</domain:period>
        <domain:ns>
          <domain:hostAttr>
            <domain:hostName>ns1.example.com</domain:hostName>
            <domain:hostAddr ip="v4">192.0.2.1</domain:hostAddr>
            <domain:hostAddr ip="v6">2001:db8::1</domain:hostAddr>
          </domain:hostAttr>
          <domain:hostAttr>
            <domain:hostName>ns2.example.com</domain:hostName>
            <domain:hostAddr ip="v4">192.0.2.2</domain:hostAddr>
          </domain:hostAttr>
        </domain:ns>
        <domain:registrant>registrantID</domain:registrant>
        <domain:contact type="admin">adminID</domain:contact>
        <domain:contact type="tech">techID</domain:contact>
      </domain:create>
    </create>
    <extension>
      <secDNS:create
          xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
        <secDNS:maxSigLife>604800</secDNS:maxSigLife>
        <secDNS:dsData>
          <secDNS:keyTag>12345</secDNS:keyTag>
          <secDNS:alg>13</secDNS:alg>
          <secDNS:digestType>2</secDNS:digestType>
          <secDNS:digest>
            BE74359954660069D5C632B56F120EE9F3A86764247
          </secDNS:digest>
        </secDNS:dsData>
      </secDNS:create>
      <ttl:create xmlns:ttl="urn:ietf:params:xml:ns:epp:ttl-1.0">
        <ttl:ttl for="NS">3600</ttl:ttl>
      </ttl:create>
    </extension>
    <clTRID>clTRID-1234</clTRID>
  </command>
</epp>
]]></sourcecode></figure>

<t>RPP JSON representation:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "...": "",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns1.example.com"
        }
      },
      {
        "name": "ns1.example.com",
        "type": "a",
        "rdata": {
          "address": "192.0.2.1"
        }
      },
      {
        "name": "ns1.example.com",
        "type": "aaaa",
        "rdata": {
          "address": "2001:db8::1"
        }
      },
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns2.example.com"
        }
      },
      {
        "name": "ns2.example.com",
        "type": "a",
        "rdata": {
          "address": "192.0.2.2"
        }
      },
      {
        "name": "@",
        "type": "ds",
        "rdata": {
          "keyTag": "12345",
          "algorithm": "13",
          "digestType": "2",
          "digest": "BE74359954660069D5C632B56F120EE9F3A86764247"
        }
      }
    ],
    "controls": {
      "maximumSignatureLifetime": {
        "ds": 604800
      },
      "ttl": {
        "ns": 3600
      }
    }
  }
}
]]></sourcecode></figure>

</section>
<section anchor="create-domain-using-host-object-example"><name>Create domain using host object example</name>

<t>EPP XML:</t>

<figure><sourcecode type="xml"><![CDATA[
<?xml version="1.0" encoding="UTF-8"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <domain:create
          xmlns:domain="urn:ietf:params:xml:ns:domain-1.0">
        <domain:name>example.com</domain:name>
        <domain:period unit="y">1</domain:period>
        <domain:ns>
          <domain:hostObj>ns1.example.net</domain:hostObj>
          <domain:hostObj>ns2.example.net</domain:hostObj>
        </domain:ns>
        <domain:registrant>registrantID</domain:registrant>
        <domain:contact type="admin">adminID</domain:contact>
        <domain:contact type="tech">techID</domain:contact>
      </domain:create>
    </create>
    <extension>
      <secDNS:create
          xmlns:secDNS="urn:ietf:params:xml:ns:secDNS-1.1">
        <secDNS:maxSigLife>604800</secDNS:maxSigLife>
        <secDNS:dsData>
          <secDNS:keyTag>12345</secDNS:keyTag>
          <secDNS:alg>13</secDNS:alg>
          <secDNS:digestType>2</secDNS:digestType>
          <secDNS:digest>
            BE74359954660069D5C632B56F120EE9F3A86764247C
          </secDNS:digest>
        </secDNS:dsData>
      </secDNS:create>
      <ttl:create xmlns:ttl="urn:ietf:params:xml:ns:epp:ttl-1.0">
        <ttl:ttl for="NS">3600</ttl:ttl>
      </ttl:create>
    </extension>
    <clTRID>clTRID-1234</clTRID>
  </command>
</epp>
]]></sourcecode></figure>

<t>RPP JSON representation:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "...": "",
  "_object_references": {
    "nameserver": [
      {
        "name": "ns1.example.net.",
        "href": "https://rpp.example/nameservers/ns1.example.net",
        "rel": "nameserver"
      },
      {
        "name": "ns2.example.net.",
        "href": "https://rpp.example/nameservers/ns2.example.net",
        "rel": "nameserver"
      }
    ]
  },
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "ds",
        "rdata": {
          "keyTag": "12345",
          "algorithm": "13",
          "digestType": "2",
          "digest": "BE74359954660069D5C632B56F120EE9F3A86764247C"
        }
      }
    ],
    "controls": {
      "maximumSignatureLifetime": {
        "ds": 604800
      },
      "ttl": {
        "ns": 3600
      }
    }
  }
}
]]></sourcecode></figure>

</section>
<section anchor="create-host-object-example"><name>Create host object example</name>

<t>EPP XML:</t>

<figure><sourcecode type="xml"><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <host:create
       xmlns:host="urn:ietf:params:xml:ns:host-1.0">
        <host:name>ns1.example.com</host:name>
        <host:addr ip="v4">192.0.2.2</host:addr>
        <host:addr ip="v4">192.0.2.29</host:addr>
        <host:addr ip="v6">2001:db8::1</host:addr>
      </host:create>
    </create>
    <clTRID>ABC-12345</clTRID>
  </command>
</epp>
]]></sourcecode></figure>

<t>RPP JSON representation:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Host",
  "...": "",
  "name": "ns1.example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns.example.com"
        }
      },
      {
          "name": "@",
          "type": "a",
          "rdata": {
              "address": "192.0.2.2"
          }
      },
      {
          "name": "@",
          "type": "a",
          "rdata": {
              "address": "192.0.2.29"
          }
      },
      {
          "name": "@",
          "type": "aaaa",
          "rdata": {
              "address": "2001:db8::1"
          }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="free-registry-for-enum-and-domains-fred"><name>Free Registry for ENUM and Domains (FRED)</name>

<t>FRED is an open source registry software developed by CZ.NIC</t>

<section anchor="create-domain-example"><name>Create domain example</name>

<t>EPP XML:</t>

<figure><sourcecode type="xml"><![CDATA[
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <domain:create
          xmlns:domain="http://www.nic.cz/xml/epp/domain-1.4">
        <domain:name>example.cz</domain:name>
        <domain:registrant>registrantID</domain:registrant>
        <domain:admin>adminID</domain:admin>
        <domain:nsset>nssetID</domain:nsset>
        <domain:keyset>keysetID</domain:keyset>
      </domain:create>
    </create>
    <clTRID>clTRID-1234</clTRID>
  </command>
</epp>
]]></sourcecode></figure>

</section>
<section anchor="create-nsset-example"><name>Create nsset example</name>

<t>EPP XML:</t>

<figure><sourcecode type="xml"><![CDATA[
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <nsset:create
          xmlns:nsset="http://www.nic.cz/xml/epp/nsset-1.2">
        <nsset:id>nssetID</nsset:id>
        <nsset:ns>
          <nsset:name>ns1.example.cz</nsset:name>
          <nsset:addr>192.0.2.1</nsset:addr>
          <nsset:addr>192.0.2.2</nsset:addr>
        </nsset:ns>
        <nsset:ns>
          <nsset:name>nameserver-example.cz</nsset:name>
        </nsset:ns>
        <nsset:tech>techID</nsset:tech>
        <nsset:reportlevel>1</nsset:reportlevel>
      </nsset:create>
    </create>
    <clTRID>clTRID-1234</clTRID>
  </command>
</epp>
]]></sourcecode></figure>

</section>
<section anchor="create-keyset-example"><name>Create keyset example</name>

<t>EPP XML:</t>

<figure><sourcecode type="xml"><![CDATA[
<?xml version="1.0" encoding="utf-8" standalone="no"?>
<epp xmlns="urn:ietf:params:xml:ns:epp-1.0">
  <command>
    <create>
      <keyset:create
          xmlns:keyset="http://www.nic.cz/xml/epp/keyset-1.3">
        <keyset:id>keysetID</keyset:id>
        <keyset:dnskey>
          <keyset:flags>257</keyset:flags>
          <keyset:protocol>3</keyset:protocol>
          <keyset:alg>5</keyset:alg>
          <keyset:pubKey>AwEAAddt2AkL4RJ9Ao6LCWheg8</keyset:pubKey>
        </keyset:dnskey>
        <keyset:dnskey>
          <keyset:flags>257</keyset:flags>
          <keyset:protocol>3</keyset:protocol>
          <keyset:alg>5</keyset:alg>
          <keyset:pubKey>AwEAAddt2AkL4RJ9Ao6LCWheg9</keyset:pubKey>
        </keyset:dnskey>
        <keyset:tech>techID</keyset:tech>
      </keyset:create>
    </create>
    <clTRID>clTRID-1234</clTRID>
  </command>
</epp>
]]></sourcecode></figure>

<t>RPP JSON representation:</t>

<t>TODO</t>

<figure><sourcecode type="json"><![CDATA[
{}
]]></sourcecode></figure>

</section>
</section>
<section anchor="realtime-registry-interface-rri"><name>Realtime Registry Interface (RRI)</name>

<t>RRI is a proprietary protocol developed by DENIC</t>

<section anchor="create-domain-with-name-servers-example"><name>Create domain with name servers example</name>

<t>RRI XML:</t>

<figure><sourcecode type="xml"><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<registry-request
    xmlns="http://registry.denic.de/global/5.0"
    xmlns:domain="http://registry.denic.de/domain/5.0"
    xmlns:dnsentry="http://registry.denic.de/dnsentry/5.0">
  <domain:create>
    <domain:handle>example.de</domain:handle>
    <domain:contact role="holder">registrantID</domain:contact>
    <dnsentry:dnsentry xsi:type="dnsentry:NS">
      <dnsentry:owner>example.de</dnsentry:owner>
      <dnsentry:rdata>
        <dnsentry:nameserver>ns1.example.com</dnsentry:nameserver>
      </dnsentry:rdata>
    </dnsentry:dnsentry>
    <dnsentry:dnsentry xsi:type="dnsentry:NS">
      <dnsentry:owner>example.de</dnsentry:owner>
      <dnsentry:rdata>
        <dnsentry:nameserver>ns1.example.de</dnsentry:nameserver>
        <dnsentry:address>192.0.2.1</dnsentry:address>
      </dnsentry:rdata>
    </dnsentry:dnsentry>
    <dnsentry:dnsentry xsi:type="dnsentry:DNSKEY">
      <dnsentry:owner>example.de.</dnsentry:owner>
      <dnsentry:rdata>
        <dnsentry:flags>257</dnsentry:flags>
        <dnsentry:protocol>3</dnsentry:protocol>
        <dnsentry:algorithm>5</dnsentry:algorithm>
        <dnsentry:publicKey>
          AwEAAddt2AkL4RJ9Ao6LCWheg8
        </dnsentry:publicKey>
      </dnsentry:rdata>
    </dnsentry:dnsentry>
  </domain:create>
  <ctid>clTRID-1234</ctid>
</registry-request>
]]></sourcecode></figure>

<t>RPP JSON representation:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.de",
  "...": "",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns1.example.com"
        }
      },
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns1.example.de"
        }
      },
      {
        "name": "ns1.example.de",
        "type": "a",
        "rdata": {
          "address": "192.0.2.1"
        }
      },
      {
        "name": "@",
        "type": "dnskey",
        "rdata": {
          "flags": "257",
          "protocol": "3",
          "algorithm": "5",
          "publicKey": "AwEAAddt2AkL4RJ9Ao6LCWheg8"
        }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
<section anchor="create-domain-without-delegation-example"><name>Create domain without delegation example</name>

<t>RRI XML:</t>

<figure><sourcecode type="xml"><![CDATA[
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<registry-request
    xmlns="http://registry.denic.de/global/5.0"
    xmlns:domain="http://registry.denic.de/domain/5.0"
    xmlns:dnsentry="http://registry.denic.de/dnsentry/5.0">
  <domain:update>
    <domain:handle>example.de</domain:handle>
    <domain:contact role="holder">registrantID</domain:contact>
    <dnsentry:dnsentry xsi:type="dnsentry:A">
      <dnsentry:owner>example.de</dnsentry:owner>
      <dnsentry:rdata>
        <dnsentry:address>192.0.2.1</dnsentry:address>
      </dnsentry:rdata>
    </dnsentry:dnsentry>
  </domain:update>
  <ctid>clTRID-1234</ctid>
</registry-request>
]]></sourcecode></figure>

<t>RPP JSON representation:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.de",
  "...": "",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "a",
        "rdata": {
          "address": "192.0.2.1"
        }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
</section>
<section anchor="rdap"><name>RDAP</name>

<section anchor="domain-object"><name>Domain object</name>

<t>Registration Data Access Protocol (RDAP) is described in <xref target="RFC9083"/>. An extention proposing Time-to-Live (TTL) values is described in
<xref target="I-D.draft-brown-rdap-ttl-extension"/> and is close to adoption in the regext working group.</t>

<t>RDAP JSON:</t>

<figure><sourcecode type="json"><![CDATA[
{
  "objectClassName": "domain",
  "ldhName": "example.com",
  "nameservers": [
    {
      "objectClassName": "nameserver",
      "ldhName": "ns1.example.com",
      "ipAddresses": {
        "v4": ["192.0.2.1"],
        "v6": ["2001:db8::1"]
      }
    },
    {
      "objectClassName": "nameserver",
      "ldhName": "ns2.example.com",
      "ipAddresses": {
        "v4": ["192.0.2.2"]
      }
    }
  ],
  "secureDNS": {
    "delegationSigned": true,
    "maxSigLife": 604800,
    "dsData": [
      {
        "keyTag": 12345,
        "algorithm": 13,
        "digestType": 2,
        "digest": "BE74359954660069D5C632B56F120EE9F3A86764247C"
      }
    ]
  },
  "ttl": [
       {
         "types": [ "NS" ],
         "value": 3600
       }
  ],
  "events": [
    {
      "eventAction": "registration",
      "eventDate": "2025-01-01T00:00:00Z"
    },
    {
      "eventAction": "expiration",
      "eventDate": "2035-01-01T00:00:00Z"
    }
  ],
  "status": ["active"]
}
]]></sourcecode></figure>

</section>
</section>
</section>
<section anchor="appendix-b-example-structures-for-rr-types"><name>Appendix B. Example Structures for RR Types</name>

<section anchor="a-rfc1035"><name>A (<xref target="RFC1035"/>)</name>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "a",
        "rdata": {
          "address": "192.0.2.1"
        }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
<section anchor="aaaa-rfc3596"><name>AAAA (<xref target="RFC3596"/>)</name>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "ns.example.com.",
        "type": "aaaa",
        "rdata": {
          "address": "2001:DB8::1"
        }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
<section anchor="dnskey-rfc4034"><name>DNSKEY (<xref target="RFC4034"/>)</name>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com.",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "dnskey",
        "rdata": {
          "flags": "257",
          "protocol": "3",
          "algorithm": "5",
          "publicKey": "AwEAAddt2AkL4RJ9Ao6LCWheg8"
        }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
<section anchor="ds-rfc4034"><name>DS (<xref target="RFC4034"/>)</name>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "ds",
        "rdata": {
          "keyTag": "12345",
          "algorithm": "13",
          "digestType": "2",
          "digest": "BE74359954660069D5C632B56F120EE9F3A86764247C"
        }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
<section anchor="ns-rfc1035"><name>NS (<xref target="RFC1035"/>)</name>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "ns",
        "rdata": {
          "nsdname": "ns1.example.net."
        }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
<section anchor="mx-rfc1035"><name>MX (<xref target="RFC1035"/>)</name>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "mx",
        "rdata": {
          "preference": "10",
          "exchange": "mx1.example.net"
        }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
<section anchor="svcb-rfc9460"><name>SVCB (<xref target="RFC9460"/>)</name>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "svcb",
        "rdata": {
          "svcPriority": "10",
          "targetName": "svc.example.com",
          "svcParams": {
            "ipv4hint": "192.0.2.1",
            "ipv6hint": "2001:DB8::1"
          }
        }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
<section anchor="txt-rfc1035"><name>TXT (<xref target="RFC1035"/>)</name>

<figure><sourcecode type="json"><![CDATA[
{
  "@type": "Domain",
  "name": "example.com",
  "dns": {
    "records": [
      {
        "name": "@",
        "type": "txt",
        "rdata": {
          "txtData": "v=spf1 -all"
        }
      }
    ]
  }
}
]]></sourcecode></figure>

</section>
</section>


  </middle>

  <back>


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

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



<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="RFC5731">
  <front>
    <title>Extensible Provisioning Protocol (EPP) Domain Name Mapping</title>
    <author fullname="S. Hollenbeck" initials="S." surname="Hollenbeck"/>
    <date month="August" year="2009"/>
    <abstract>
      <t>This document describes an Extensible Provisioning Protocol (EPP) mapping for the provisioning and management of Internet domain names stored in a shared central repository. Specified in XML, the mapping defines EPP command syntax and semantics as applied to domain names. This document obsoletes RFC 4931. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="69"/>
  <seriesInfo name="RFC" value="5731"/>
  <seriesInfo name="DOI" value="10.17487/RFC5731"/>
</reference>

<reference anchor="RFC5732">
  <front>
    <title>Extensible Provisioning Protocol (EPP) Host Mapping</title>
    <author fullname="S. Hollenbeck" initials="S." surname="Hollenbeck"/>
    <date month="August" year="2009"/>
    <abstract>
      <t>This document describes an Extensible Provisioning Protocol (EPP) mapping for the provisioning and management of Internet host names stored in a shared central repository. Specified in XML, the mapping defines EPP command syntax and semantics as applied to host names. This document obsoletes RFC 4932. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="69"/>
  <seriesInfo name="RFC" value="5732"/>
  <seriesInfo name="DOI" value="10.17487/RFC5732"/>
</reference>

<reference anchor="RFC5910">
  <front>
    <title>Domain Name System (DNS) Security Extensions Mapping for the Extensible Provisioning Protocol (EPP)</title>
    <author fullname="J. Gould" initials="J." surname="Gould"/>
    <author fullname="S. Hollenbeck" initials="S." surname="Hollenbeck"/>
    <date month="May" year="2010"/>
    <abstract>
      <t>This document describes an Extensible Provisioning Protocol (EPP) extension mapping for the provisioning and management of Domain Name System security (DNSSEC) extensions for domain names stored in a shared central repository. Specified in XML, this mapping extends the EPP domain name mapping to provide additional features required for the provisioning of DNS security extensions. This document obsoletes RFC 4310. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="5910"/>
  <seriesInfo name="DOI" value="10.17487/RFC5910"/>
</reference>

<reference anchor="RFC9803">
  <front>
    <title>Extensible Provisioning Protocol (EPP) Mapping for DNS Time-to-Live (TTL) Values</title>
    <author fullname="G. Brown" initials="G." surname="Brown"/>
    <date month="June" year="2025"/>
    <abstract>
      <t>This document describes an extension to the Extensible Provisioning
Protocol (EPP) that allows EPP clients to manage the Time-to-Live
(TTL) value for domain name delegation records.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9803"/>
  <seriesInfo name="DOI" value="10.17487/RFC9803"/>
</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="RFC4034">
  <front>
    <title>Resource Records for the DNS Security Extensions</title>
    <author fullname="R. Arends" initials="R." surname="Arends"/>
    <author fullname="R. Austein" initials="R." surname="Austein"/>
    <author fullname="M. Larson" initials="M." surname="Larson"/>
    <author fullname="D. Massey" initials="D." surname="Massey"/>
    <author fullname="S. Rose" initials="S." surname="Rose"/>
    <date month="March" year="2005"/>
    <abstract>
      <t>This document is part of a family of documents that describe the DNS Security Extensions (DNSSEC). The DNS Security Extensions are a collection of resource records and protocol modifications that provide source authentication for the DNS. This document defines the public key (DNSKEY), delegation signer (DS), resource record digital signature (RRSIG), and authenticated denial of existence (NSEC) resource records. The purpose and format of each resource record is described in detail, and an example of each resource record is given.</t>
      <t>This document obsoletes RFC 2535 and incorporates changes from all updates to RFC 2535. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="4034"/>
  <seriesInfo name="DOI" value="10.17487/RFC4034"/>
</reference>

<reference anchor="RFC9083">
  <front>
    <title>JSON Responses for the Registration Data Access Protocol (RDAP)</title>
    <author fullname="S. Hollenbeck" initials="S." surname="Hollenbeck"/>
    <author fullname="A. Newton" initials="A." surname="Newton"/>
    <date month="June" year="2021"/>
    <abstract>
      <t>This document describes JSON data structures representing registration information maintained by Regional Internet Registries (RIRs) and Domain Name Registries (DNRs). These data structures are used to form Registration Data Access Protocol (RDAP) query responses. This document obsoletes RFC 7483.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="95"/>
  <seriesInfo name="RFC" value="9083"/>
  <seriesInfo name="DOI" value="10.17487/RFC9083"/>
</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>




    </references>

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



<reference anchor="RFC8259">
  <front>
    <title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
    <author fullname="T. Bray" initials="T." role="editor" surname="Bray"/>
    <date month="December" year="2017"/>
    <abstract>
      <t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format. It was derived from the ECMAScript Programming Language Standard. JSON defines a small set of formatting rules for the portable representation of structured data.</t>
      <t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t>
    </abstract>
  </front>
  <seriesInfo name="STD" value="90"/>
  <seriesInfo name="RFC" value="8259"/>
  <seriesInfo name="DOI" value="10.17487/RFC8259"/>
</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="RFC9250">
  <front>
    <title>DNS over Dedicated QUIC Connections</title>
    <author fullname="C. Huitema" initials="C." surname="Huitema"/>
    <author fullname="S. Dickinson" initials="S." surname="Dickinson"/>
    <author fullname="A. Mankin" initials="A." surname="Mankin"/>
    <date month="May" year="2022"/>
    <abstract>
      <t>This document describes the use of QUIC to provide transport confidentiality for DNS. The encryption provided by QUIC has similar properties to those provided by TLS, while QUIC transport eliminates the head-of-line blocking issues inherent with TCP and provides more efficient packet-loss recovery than UDP. DNS over QUIC (DoQ) has privacy properties similar to DNS over TLS (DoT) specified in RFC 7858, and latency characteristics similar to classic DNS over UDP. This specification describes the use of DoQ as a general-purpose transport for DNS and includes the use of DoQ for stub to recursive, recursive to authoritative, and zone transfer scenarios.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9250"/>
  <seriesInfo name="DOI" value="10.17487/RFC9250"/>
</reference>

<reference anchor="RFC9460">
  <front>
    <title>Service Binding and Parameter Specification via the DNS (SVCB and HTTPS Resource Records)</title>
    <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
    <author fullname="M. Bishop" initials="M." surname="Bishop"/>
    <author fullname="E. Nygren" initials="E." surname="Nygren"/>
    <date month="November" year="2023"/>
    <abstract>
      <t>This document specifies the "SVCB" ("Service Binding") and "HTTPS" DNS resource record (RR) types to facilitate the lookup of information needed to make connections to network services, such as for HTTP origins. SVCB records allow a service to be provided from multiple alternative endpoints, each with associated parameters (such as transport protocol configuration), and are extensible to support future uses (such as keys for encrypting the TLS ClientHello). They also enable aliasing of apex domains, which is not possible with CNAME. The HTTPS RR is a variation of SVCB for use with HTTP (see RFC 9110, "HTTP Semantics"). By providing more information to the client before it attempts to establish a connection, these records offer potential benefits to both performance and privacy.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="9460"/>
  <seriesInfo name="DOI" value="10.17487/RFC9460"/>
</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="I-D.draft-ietf-deleg">
   <front>
      <title>Extensible Delegation for DNS</title>
      <author fullname="Tim April" initials="T." surname="April">
         <organization>Google, LLC</organization>
      </author>
      <author fullname="Petr Špaček" initials="P." surname="Špaček">
         <organization>ISC</organization>
      </author>
      <author fullname="Ralf Weber" initials="R." surname="Weber">
         <organization>Akamai Technologies</organization>
      </author>
      <author fullname="David C Lawrence" initials="" surname="Lawrence">
         <organization>Salesforce</organization>
      </author>
      <date day="16" month="October" year="2025"/>
      <abstract>
	 <t>   This document proposes a new extensible method for the delegation of
   authority for a domain in the Domain Name System (DNS) using DELEG
   and DELEGI records.

   A delegation in the DNS enables efficient and distributed management
   of the DNS namespace.  The traditional DNS delegation is based on NS
   records which contain only hostnames of servers and no other
   parameters.  The new delegation records are extensible, can be
   secured with DNSSEC, and eliminate the problem of having two sources
   of truth for delegation information.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-deleg-04"/>
   
</reference>


<reference anchor="I-D.draft-ietf-rpp-requirements">
   <front>
      <title>RESTful Provisioning Protocol (RPP) - Requirements</title>
      <author fullname="Maarten Wullink" initials="M." surname="Wullink">
         <organization>SIDN Labs</organization>
      </author>
      <author fullname="Paweł Kowalik" initials="P." surname="Kowalik">
         <organization>DENIC</organization>
      </author>
      <date day="13" month="October" year="2025"/>
      <abstract>
	 <t>   This document describes the requirement for the development of the
   RESTful Provisioning Protocol (RPP).

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-rpp-requirements-02"/>
   
</reference>


<reference anchor="I-D.draft-brown-rdap-ttl-extension">
   <front>
      <title>RDAP Extension for DNS Time-To-Live (TTL Values)</title>
      <author fullname="Gavin Brown" initials="G." surname="Brown">
         <organization>ICANN</organization>
      </author>
      <date day="17" month="June" year="2025"/>
      <abstract>
	 <t>   This document describes an extension to the Registration Data Access
   Protocol ([RFC9083]) which allows the Time-To-Live (TTL) values for
   relevant DNS record types to be included in RDAP responses.

About this draft

   This note is to be removed before publishing as an RFC.

   The source for this draft, and an issue tracker, may can be found at
   https://github.com/gbxyz/rdap-ttl-extension.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-brown-rdap-ttl-extension-03"/>
   
</reference>




    </references>

</references>


<?line 1285?>

<section numbered="false" anchor="acknowledgments"><name>Acknowledgments</name>

</section>


  </back>

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

-->

</rfc>

