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

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY RFC1034 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1034.xml">
<!ENTITY RFC1035 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.1035.xml">
<!ENTITY RFC7858 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7858.xml">
<!ENTITY RFC8484 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8484.xml">
<!ENTITY RFC2119 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
<!ENTITY RFC8174 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
<!ENTITY RFC4501 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.4501.xml">
<!ENTITY RFC7553 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7553.xml">
<!ENTITY RFC7595 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7595.xml">
<!ENTITY RFC3986 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.3986.xml">
<!ENTITY RFC5234 SYSTEM "https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5234.xml">
]>

<?rfc rfcedstyle="yes"?>
<?rfc toc="yes"?>
<?rfc tocindent="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc docmapping="yes"?>

<rfc docName="draft-mglt-dprive-dns-uri-00" category="info">

  <front>
    <title abbrev="DNS URI for DoH and Dot">Domain Name System Uniform Resource Identifiers for DNS over HTTPS and DNS over TLS</title>

    <author initials="D." surname="Migault" fullname="Daniel Migault">
      <organization>Ericsson</organization>
      <address>
        <postal>
          <street>8275 Trans Canada Route</street>
          <city>Saint Laurent, QC</city>
          <code>4S 0B6</code>
          <country>Canada</country>
        </postal>
        <email>daniel.migault@ericsson.com</email>
      </address>
    </author>

    <date year="2020" month="March" day="18"/>

    <area>ART</area>
    <workgroup>dprive</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>Today DNS resources may also be accessed using multiple transport which includes DNS over UDP/TCP port 53 <xref target="RFC1034"/>,<xref target="RFC1035"/>. 
DNS over TLS <xref target="RFC7858"/> or DNS over HTTPS <xref target="RFC8484"/>. This document describes URIs that describes the DNS resource as well as indicate the transport to access the resource.</t>



    </abstract>


  </front>

  <middle>


<section anchor="requirements-notation" title="Requirements Notation">

<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.</t>

</section>
<section anchor="sec-intro" title="Introduction">

<t><xref target="RFC4501"/> defines an URI <xref target="RFC7553"/> for DNS resources accessed but does not specify the transport used to access the DNS resource.</t>

<t>Today DNS resources may also be accessed using multiple transport layers which includes DNS over UDP/TCP port 53 <xref target="RFC1034"/>,<xref target="RFC1035"/>. 
DNS over TLS <xref target="RFC7858"/> or DNS over HTTPS <xref target="RFC8484"/>. This document describes URIs that describes the DNS resource as well as indicate the transport to access the resource.</t>

</section>
<section anchor="dns-over-udptcp-53" title="DNS over UDP/TCP 53">

<t>This section describes the URI template for the registration of the URI as described in <xref target="RFC7595"/> to describe DNS resources being accessed using DNS over TLS.</t>

<figure><artwork><![CDATA[
URL scheme name: "dns53".

URL scheme syntax: A DNS URI designates a DNS resource record set,
referenced by domain name, class, type, and, optionally, the
authority.  The DNS URI follows the generic syntax from {{RFC3986}}
and is described using ABNF {{RFC5234}}.  Strings are not case 
sensitive, and free insertion of linear-white-space is not permitted.

dnsurl          = "dns53:" [ "//" dnsauthority "/" ]
                  dnsname ["?" dnsquery]

dnsauthority    = host [ ":" port ]
                             ; See RFC 3986 for the
                             ; definition of "host" and "port".

dnsname         = *pchar
                             ; See RFC 3986 for the
                             ; definition of "pchar".

                             ; The "dnsname" field may be a
                             ; "relative" or "absolute" name,
                             ; as per RFC 1034, section 3.1.

                             ; Note further that an empty
                             ; "dnsname" value is to be
                             ; interpreted as the root itself.
                             ; See below on relative dnsnames.

dnsquery        = dnsqueryelement [";" dnsquery]

dnsqueryelement = ( "CLASS=" dnsclassval ) / ( "TYPE=" dnstypeval )
                             ; Each clause MUST NOT be used more
                             ; than once.

dnsclassval     = 1*digit / "IN" / "CH" /
                  <Any IANA registered DNS class mnemonic>

dnstypeval      = 1*digit / "A" / "NS" / "MD" /
                  <Any IANA registered DNS type mnemonic>
]]></artwork></figure>

<t>The DNS resource follows <xref target="RFC4501"/> but indicates the DNS resource MUST be accessed using UDP or TCP as described in <xref target="RFC1034"/> or <xref target="RFC1035"/>.</t>

</section>
<section anchor="dns-over-tls-uri-registration" title="DNS over TLS URI Registration">

<t>This section describes the URI template for the registration of the URI as described in <xref target="RFC7595"/> to describe DNS resources being accessed using DNS over TLS.</t>

<figure><artwork><![CDATA[
URL scheme name: "dot".

URL scheme syntax: A DNS URI designates a DNS resource record set,
referenced by domain name, class, type, and, optionally, the
authority.  The DNS URI follows the generic syntax from {{RFC3986}}
and is described using ABNF {{RFC5234}}.  Strings are not case 
sensitive, and free insertion of linear-white-space is not permitted.

dnsurl          = "dot:" [ "//" dnsauthority "/" ]
                  dnsname ["?" dnsquery]

dnsauthority    = host [ ":" port ]
                             ; See RFC 3986 for the
                             ; definition of "host" and "port".

dnsname         = *pchar
                             ; See RFC 3986 for the
                             ; definition of "pchar".

                             ; The "dnsname" field may be a
                             ; "relative" or "absolute" name,
                             ; as per RFC 1034, section 3.1.

                             ; Note further that an empty
                             ; "dnsname" value is to be
                             ; interpreted as the root itself.
                             ; See below on relative dnsnames.

dnsquery        = dnsqueryelement [";" dnsquery]

dnsqueryelement = ( "CLASS=" dnsclassval ) / ( "TYPE=" dnstypeval )
                             ; Each clause MUST NOT be used more
                             ; than once.

dnsclassval     = 1*digit / "IN" / "CH" /
                  <Any IANA registered DNS class mnemonic>

dnstypeval      = 1*digit / "A" / "NS" / "MD" /
                  <Any IANA registered DNS type mnemonic>
]]></artwork></figure>

<t>The DNS resource follows <xref target="RFC4501"/> but indicates the DNS resource MUST be accessed using TCP over TLS as described in <xref target="RFC7858"/>.</t>

</section>
<section anchor="dns-over-https-uri-registration" title="DNS over HTTPS URI registration">

<t>This section describes the URI template for the registration of the URI as described in <xref target="RFC8484"/> to describe DNS resources being accessed using DNS over HTTPS.</t>

<figure><artwork><![CDATA[
URL scheme name: "doh".

URL scheme syntax: A DNS URI designates a DNS resource record set,
referenced by domain name, class, type, and, optionally, the
authority.  The DNS URI follows the generic syntax from {{RFC3986}}
and is described using ABNF {{RFC5234}}.  Strings are not case 
sensitive, and free insertion of linear-white-space is not permitted.

dnsurl          = "doh:" [ "//" dnsauthority "/" ]
                  dnsname ["?" dnsquery]

dnsauthority    = host [ ":" port ] [ "/" abs_path ] 
                             ; See RFC 3986 for the
                             ; definition of "host" and "port"
                             ; "abs_path"


dnsname         = *pchar
                             ; See RFC 3986 for the
                             ; definition of "pchar".

                             ; The "dnsname" field may be a
                             ; "relative" or "absolute" name,
                             ; as per RFC 1034, section 3.1.

                             ; Note further that an empty
                             ; "dnsname" value is to be
                             ; interpreted as the root itself.
                             ; See below on relative dnsnames.

dnsquery        = dnsqueryelement [";" dnsquery]

dnsqueryelement = ( "CLASS=" dnsclassval ) / ( "TYPE=" dnstypeval )
                             ; Each clause MUST NOT be used more
                             ; than once.

dnsclassval     = 1*digit / "IN" / "CH" /
                  <Any IANA registered DNS class mnemonic>

dnstypeval      = 1*digit / "A" / "NS" / "MD" /
                  <Any IANA registered DNS type mnemonic>
]]></artwork></figure>

<t>The DNS resource follows <xref target="RFC4501"/> but indicates the DNS resource MUST be accessed using HTTPS as described in <xref target="RFC8484"/>.</t>

</section>
<section anchor="acknowledgment" title="Acknowledgment">

<t>The URI template are largly inspired from <xref target="RFC4501"/>.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>

&RFC1034;
&RFC1035;
&RFC7858;
&RFC8484;
&RFC2119;
&RFC8174;
&RFC4501;
&RFC7553;
&RFC7595;
&RFC3986;
&RFC5234;


    </references>




  </back>

<!-- ##markdown-source:
H4sIABrdcl4AA+1Z3W4aRxS+36c43dy0EWATTOKQui0BR7aEsQP4Ioqiatgd
YJTdmc3MrOkqIs/SZ+mT9ZzZH8B2TFu1rqrCzbJn5sz5+875Brter3tW2Ih3
AD99FTMhYchiDuPMWB7DtRQzpWMYcaNSHXA4D7m0Yia4NoAr0B+OQd1wDWeT
ydUYmAzXoslg7HlsOtX8puOk16PzXEmd5TuV9UIVSDTYgVCzma3H88jWw0SL
G14PpamnWtQPDz08R3PWge5o4i3nuNnt8D4uO3AuLdeS23qfDvACZjsg5Ex5
XiI6HoCeBTw0NqMgM25QYlWw8VVICqkUGKWt5jNTvWfx1qvVIqg2ByqOUbda
FTISsjKDkcUsSYSc5xKPpXahNPlEn3rxJDU8od+ACzFnaWQreZ6XPpOCR3cW
lcZjT9EbY5SspOgf5+jf8bMXbZhoJg30mGQhg5FKLa/2BcJmHRhjuS0MWKox
ihq87a3XVYimj8Zw+Pr5hjCVVqNefmQl5wibCGviHG3EuaM/8cK3BmbJ8+r1
OrApuscC63kTFbLMQUIXwDIQo4RFRsGUAwtQYngIqcH0QYzniSTiYCmiBEsE
y4UIFpi5IEpDVK4wd92/Opj0rsBtarfg8+dvRm96zcPW0WpVq17aq1UDvE2g
FhtfHLePVyu4C+x8+fjo+IhUJwthqL4plR/QgUCLKbqBADdgF2xTZhd8K1Jg
BpY8iuiJ2BMIWO42rYOzqsiAk5eKjTyLsQjDiGNHPMGu/JQKzR0GYagsswKx
4E1Q6SPPYKl0aMC/uB5P/Fr+hOGl+z46fXt9Pjrt0/fxWXcwqL54xY7x2eX1
oL/+ttbsXV5cnA77uTJKYUvk+Rfdd7hC/e1fXk3OL4fdgY+RYiybScN+pjix
2IIaONHcYr2Z8crMhaTzunf126/NoyL9z5rNl1idohbNF1gLBAKXuTUlo6x4
xbRlHvYeZ5pOYZjtgCXCIr5qlHezUEsJC64pqZhInCFahWlA+YPPTwwP6oJE
K8/LjR21D5toLOQzbHCD5twsKzDTbrdwrZyGa0RXKJ6mCAiFEqksmIQHYpbd
KnlK+7brvnkYovVvaJqIZTS3/5+98+RuoO0WNQu6gwV3pd+2TCVGEkwiskLl
zU+cCxpjbr+aVRvRoy3klth4ifkip8rFWwWccqrVrdJtJpcq/+XLF+96NAAT
LLDZC17wkR7bLR8j21gymbTsF+TJim/RrphLjADxuJ1LzQMcEBi7rXnIcdgM
MiCwZlgddxEgOzUIImawa2yWcNdnNVAJBY9NlblOK3gNGaUBMCkqllN9FKll
nss5l0QIhYMw0youUtR6efx8tfKog8VmDvNUdF8P3xQb289aDkAwRhKWc+NG
CHVUwAwHz3BphMVbQT4NZkiExKxcl5Uibma6jui3vG4ShikQeUsmXMfC4vzB
ZGJWUx1B9TkpEt3x4T34Bwc+4GsVMUp8+ODBnQ9uovTBe/9Hp/Ep5Tr74I5f
K7vjF8pYOhoNOADfd9rG5xWMMTBMB1DiSlju0nGDS5SZ8Mmmn49osunncTuH
13E/TYIF04/gjbNDPuxQI2z5hZ8+4B00Ct0ApNm3S9fXHNsY0eHTgPLxKqIi
vBD5Och3aWNzI0ZcnDQOa9XAaDWau/1GZsb5kWrMjM4nHPIHzhWb7fS6ivaG
RanDq+PMXXrblJrPLYVAF9bwaNb4IzWdcuxd5FQoE1dC2uRgcYAuVU4qiPPI
XUcQ969u435r/QS+Bb836I7HJ26fmzIYJHwHB7Q0eXd1mq/Q4HELu7w+Zchq
eA5SKZR3HcKGo9ZY6Z1Zw9IgIKVji02X8gibT0MxFxbd88+HPj16Z/i459Dv
uzKD8+6wW5AFTtb8V5E7EWLJYyVF8IOzUoZ310rXGRmO3eOi/ydt0bkbpohC
vMltOi0n9NYlh24rJbneQ8EutXevG8ip1FlEq/dTYX6PoD1bV4ktYqbLBDHH
aINk/9MUreyeoB+BoJXd0/M/5s2enr/q9Z6e9/T836Bn4uWKYr9ChO73+zYh
5z/giSv0I1Jy/qeCv0zJzumHSHmxJ+XHIOXF45Gys+PTX5h/TphdoOBfoOmd
dFG653t7Qn9Qe0/oe0LfE/qDhF78v/UB/nRM3g0+SrWMeDgnGOQubTE00UHE
9DzKaO4nguLZ4JncR/ovye/rUpQILB4AAA==

-->

</rfc>

