<?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.35 (Ruby 3.4.9) -->
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc comments="yes"?>
<?rfc subcompact="no"?>
<?rfc iprnotified="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-core-transport-indication-10" category="std" consensus="true" submissionType="IETF" tocDepth="3" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.33.0 -->
  <front>
    <title>CoAP Transport Indication</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-core-transport-indication-10"/>
    <author initials="C." surname="Amsüss" fullname="Christian Amsüss">
      <organization/>
      <address>
        <postal>
          <country>Austria</country>
        </postal>
        <email>christian@amsuess.com</email>
      </address>
    </author>
    <author fullname="Martine Sophie Lenders">
      <organization abbrev="TU Dresden">TUD Dresden University of Technology</organization>
      <address>
        <postal>
          <street>Helmholtzstr. 10</street>
          <city>Dresden</city>
          <code>D-01069</code>
          <country>Germany</country>
        </postal>
        <email>martine.lenders@tu-dresden.de</email>
      </address>
    </author>
    <date year="2026" month="April" day="30"/>
    <area>Internet</area>
    <workgroup>CoRE</workgroup>
    <keyword>CoRE, Web Linking, Proxy, URI, aliasing</keyword>
    <abstract>
      <?line 82?>

<t>The Constrained Application Protocol (CoAP, <xref target="RFC7252"/>) is available over different transports
(UDP, DTLS, TCP, TLS, WebSockets),
but lacks a way to unify these addresses.
This document provides terminology and provisions based on Web Linking <xref target="RFC8288"/>
and Service Bindings (SVCB, <xref target="RFC9460"/>)
to express alternative transports available to a device,
and to optimize exchanges using these.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://core-wg.github.io/transport-indication/"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-core-transport-indication/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        core Working Group mailing list (<eref target="mailto:core@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/core/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/core/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/core-wg/transport-indication"/>.</t>
    </note>
  </front>
  <middle>
    <?line 92?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Constrained Application Protocol (CoAP) provides multiple transports mechanisms:
UDP and DTLS since <xref target="RFC7252"/>, and TCP, TLS and WebSockets since <xref target="RFC8323"/>.
Some additional transports being used in LwM2M <xref target="lwm2m"/>,
and even more being explored (<xref target="I-D.bormann-t2trg-slipmux"/>, <xref target="I-D.amsuess-core-coap-over-gatt"/>).
These are mutually incompatible on the wire,
but CoAP implementations commonly support several of them,
and proxies can translate between them.</t>
      <t>CoAP currently lacks a way to indicate which transports are available for a given resource,
and which endpoints are available for them.
This document introduces ways to discover
and how to use them.</t>
      <t>CoAP also lacks a unified scheme to label a resource in a transport-independent way.
This document does <em>not</em> attempt to introduce any new scheme here,
or raise a scheme to be the canonical one.
Instead, each host or application can pick a canonical address for its resources,
and advertise other transports in addition.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>Readers are expected to be familiar with the terms and concepts
described in CoAP <xref target="RFC7252"/>.
For web link based discovery,
terminology introduced for link format <xref target="RFC6690"/> is used
(or, equivalently, web links as described in <xref target="RFC8288"/>);
for DNS based discovery,
<xref target="RFC9460"/> provides the relevant definitions.</t>
        <t>The phrase "the transport indicated by (a URI)" is used as described in <xref target="identifying"/>.</t>
        <t>A protocol that implements CoAP request-response semantics for a lower layer
is called a "(CoAP) transport".</t>
        <t>When the term "endpoint" is used in this document,
it is generalized from the <xref target="RFC7252"/> definition
to mean the transport and any multiplexing information particular to that transport.</t>
      </section>
      <section anchor="goals">
        <name>Goals</name>
        <t>This document introduces provisions for the seamless use of different transport mechanisms for CoAP.
Combined, these provide:</t>
        <ol spacing="normal" type="1"><li>
            <t>Enablement: Inform clients of the availability of other transports of servers.</t>
          </li>
          <li>
            <t>No Aliasing: Any URI aliasing must be opt-in by the server. Any defined mechanisms must allow applications to keep working on the canonical URIs given by the server.</t>
          </li>
          <li>
            <t>Optimization: Do not incur per-request overhead from switching transports. This may depend on the server's willingness to create aliased URIs.</t>
          </li>
          <li>
            <t>Proxy usability: All information provided must be usable by aware proxies to reduce the need for duplicate cache entries.</t>
          </li>
          <li>
            <t>Proxy announcement: Allow third parties to announce that they provide alternative transports to a host.</t>
          </li>
        </ol>
        <t>For all these functions, security policies must be described that allow the client to use them as securely as the original transport.</t>
        <t>This document will not concern itself with changes in transport availability over time,
neither in causing them ("Please take up your TCP interface, I'm going to send a firmware update")
nor in advertising their availability in advance.
Hosts whose transport's availability changes over time can utilize
any suitable mechanism to keep client updated,
such as placing a suitable Max-Age value on their resources
or having them observable.</t>
      </section>
      <section anchor="endpoints-are-proxies">
        <name>Core principle: Transport endpoints are proxies</name>
        <t>CoAP does not need any special provisions to send the same request for a single resource through different transports:
A request to any globally addressable resource
can be sent to any endpoint
by phrasing it as a proxy request.</t>
        <t>Whether that endpoint is
trusted to,
capable of
and willing to
relay that request,
and how to find suitable endpoints
to serve as a proxy for a request
is discussed in this document.</t>
        <t>When resource identifiers have different meanings depending on the host.
the applicability of this document is limited.
<cref anchor="applicabilitylimited">Possibly not limited a lot, but we have not looked into those cases in detail yet. --CA</cref>
Examples of such resources are those whose URIs including loopback addresses or partially-qualified domain names.</t>
      </section>
      <section anchor="registered-names-and-transport-setup">
        <name>Registered names and transport setup</name>
        <t>The CoAP specification is intentionally open about the resolution services
by which indirect identifiers in the host portion of a CoAP URI are resolved,
giving DNS as one example without going into details (<xref section="6.1" sectionFormat="of" target="RFC7252"/>).</t>
        <t>This document does not change any of that,
but it does point out in <xref target="findendpoint"/> the breadth of information that such a service can provide
(e.g. providing multiple addresses, or metadata on services used on them),
and gives a concrete example of the information that modern DNS idioms deliver
(which it enables by performing a registration in <xref target="iana-underscored"/>).</t>
      </section>
      <section anchor="concepts">
        <name>Concepts</name>
        <dl>
          <dt>Same-host proxy:</dt>
          <dd>
            <t>A CoAP server that accepts forward proxy requests (i.e., requests carrying the Proxy-Scheme option)
exclusively for URIs that it is also the authoritative server for is defined as a "same-host proxy".</t>
          </dd>
          <dt/>
          <dd>
            <t>The distinction between a same-host and any other proxy is only relevant on a practical, server-implementation and illustrative level;
this specification does not use the distinction in normative requirements,
and clients need not make the distinction at all.</t>
          </dd>
        </dl>
        <t>When talking of proxy requests,
this document only talks of the Proxy-Scheme option.
Given that all URIs this is usable with can be expressed in decomposed CoAP URIs,
the need for using the Proxy-URI option should never arise.
The Proxy-URI option is still equivalent to the decomposed options,
and can be used if the server supports it.</t>
        <section anchor="identifying">
          <name>Using URIs to identify transport endpoints</name>
          <t>The URI <tt>coap://[2001:db8::1]</tt> identifies a particular resource, possibly a "welcome" text.
It is, colloquially, also used to identify the combination
of a CoAP transport and the transport specific details.</t>
          <t>For precision, this document uses the term
"the transport address indicated by (a URI)" to refer to the transport and its details,
but otherwise no big deal is made of it.</t>
          <t>Note that as such a URI may contain a registered name:
as with any CoAP URI, resolution services apply.
Therefore, it may indicate multiple transport endpoints.</t>
          <t>[ TBD: Do we want to extend this to HTTP proxies? Probably just not, and if so, only to those that can just take coap://... for a URI. ]</t>
        </section>
      </section>
    </section>
    <section anchor="findendpoint">
      <name>Finding suitable endpoints for a URI</name>
      <t>When a CoAP request is created by a client,
a typical starting point is the URI of the request's target resource.
To send the request,
a suitable endpoint needs to be discovered.
This section lists the ways one or more such endpoints can be found.</t>
      <t>In some situations,
a client decides to use a forward proxy to access the resource:
either because it is explicitly configured to do so (<xref target="actualproxies"/>),
or because it has discovered a preferred proxy (<xref target="hasproxy"/>).
In that case, it
finds the endpoint of the configured proxy (using <xref target="processing-scheme-authority"/>, if not given explicitly).
The proxy then decides on an endpoint to which to forward the request for its own,
(again using the tools described in this section).
Otherwise, it uses the information of scheme and authority,
often through a resolution service (<xref target="processing-scheme-authority"/>).</t>
      <t>No matter how the endpoint (and thus transport) was discovered and whether a proxy is involved,
it does not alter the URI of the resource being requested.
The Proxy-Scheme, Uri-Host and Uri-Port options are set as needed
to ensure that the request keeps targeting the requested resource.
This happens, respectively,
if the URI scheme associated with the selected transport differs from the request URI's scheme
(or a proxy is used),
when the host name is not the default one for the transport
(e.g. if it is not an IP literal in the UDP or TCP cases, or a proxy is used;
DNS CNAME entries or SVCB target do not alter the URI's host name at all)
or a different port is used (as possible through SVCB).
(Outside proxy cases,
<xref section="6.4" sectionFormat="of" target="RFC7252"/> only talks of setting the Uri-Host to preserve the URI, and not of setting Proxy-Scheme or Uri-Port.
That is because at the time of writing, no mechanisms were available to select a different transport or port).</t>
      <t>Note that there is no meaningful difference in a client's behavior between
when it is configured with a proxy,
has discovered a proxy through links
or has discovered a completely different transport:
this is the essence of "transport endpoints are proxies" <xref target="endpoints-are-proxies"/>.</t>
      <t><cref anchor="moveme">The following two paragraphs may need a new home eventually to keep this section to the point. --CA</cref></t>
      <t>For servers that follow the common pattern of exposing the same resources on all transports (and thus having multiple aliased URIs for the same resource)
and that do not act as proxies for other systems,
the presence of the Proxy-Scheme option introduced by using alternative transports has little practical consequence:
such servers become same-host proxies,
and can ignore the Proxy-Scheme option as long as they recognize the Uri-Host value
(which they already have been required to process).</t>
      <t>While a server is at liberty to create aliases,
clients can not infer from the presence of a transport for a host
that URIs created from addressing that transport are present.
For example, if <tt>coap://h.example.net/sensors/temp</tt> is a known resource,
and CoAP-over-TCP on [2001:db8::1] is indicated as a transport endpoint,
there is no reason for the client to assume that <tt>coap+tcp://[2001:db8::1]/sensors/temp</tt> exists,
let alone is the same resource:
Clients that access the known resource by establishing a TCP connection
need to send the options Proxy-Scheme value "coap", the Uri-Host value "h.example.net"
and the Uri-Path values "sensors" and "temp".</t>
      <section anchor="processing-scheme-authority">
        <name>Processing scheme and authority</name>
        <t>To discover endpoints for a given URI,
the scheme and the authority component of the URI
are typical starting points for resolution services.</t>
        <t>The outcome of any resolution service is a list of transport candidates.
It may be partially sorted, and may arrive piece by piece.</t>
        <t>In addition to the list of transport candidates,
a resolution service may also provide general metadata of the endpoint
(e.g. necessary or sufficient requirements on the endpoint's credentials,
such as they are present in TLSA records).</t>
        <t>Conceptually, each entry contains:</t>
        <ul spacing="normal">
          <li>
            <t>Which CoAP transport is used (e.g. CoAP-over-TCP; typically expressed as an ALPN).</t>
          </li>
          <li>
            <t>The transport's address details (e.g. an IP address and port number).</t>
          </li>
          <li>
            <t>Any additional metadata that facilitates communication (e.g. public keys for <xref target="I-D.ietf-tls-esni"/>).</t>
          </li>
        </ul>
        <t>While it is generally preferable for the lookup result to be complete, it might manage only partial information.
From that partial information,
further resolution may be performed,
or the information may already suffice to send a request based on other known proxy information.</t>
        <t>Resolution services may have more structure in that list,
may provide multiple choices in a single result
or may branch out in multiple layers.
At a conceptual level, those are reduced to an expanded list of individual candidates.</t>
        <section anchor="transport-unaware-resolution">
          <name>Transport-unaware resolution</name>
          <t>The IP based transports specified so far (CoAP over UDP, DTLS, TCP, TLS and WebSockets)
all indicate the transport in their scheme,
and either use their default port or indicate the port explicitly.
The only remaining details of multiplexing information required are the IP version(s) and IP address(es) of the server.</t>
          <t>If the host component of the URI is a literal,
that information is already available.</t>
          <t>If the host component of the URI is a registered name,
a name resolution service is used for a simple name lookup:
When DNS is used as a resolution service,
AAAA (or A) records of the name are looked up.
The /etc/hosts file and nsswitch "host" database can provide that same information.</t>
          <t>Additional metadata provided by this resolution service
are the zone identifier (implied in DNS by using the zone the DNS response was obtained through)
or additional records (such as khe aforementionened TLSA records).</t>
          <t>Simple resolution services do not indicate which transports are available on the address.
Servers reached that way can resort to <xref target="hasproxy"/> to indicate alternative transports while exchanging initial data through the original transport,
or to store information in link format / web-link based information systems (such as a Resource Directory <xref target="RFC9176"/>).</t>
        </section>
        <section anchor="transport-aware-resolution-mechanisms">
          <name>Transport-aware resolution mechanisms</name>
          <t>Advanced resolution services
provide information about which transports are available in addition to those of the previous section.</t>
          <t>For the DNS resolution mechanism, SVCB lookups described in <xref target="svcb-discovery"/>
provide that information.</t>
          <t>It is recommended
that future transports are designed to utilize transport-aware resolution mechanisms; see <xref target="upcomingtransports"/> for details.</t>
        </section>
      </section>
      <section anchor="hasproxy">
        <name>Explicit proxy indication</name>
        <t>A server can advertise a recommended proxy
by publishing a Web Link with the "has-proxy" relation, defined in this document, to a URI indicating its transport address.
In particular (and that is a typical case),
it can indicate its own network address on an alternative transport when implementing same-host proxy functionality.</t>
        <t>The semantics of a link from S to P with relations has-proxy ("S has-proxy P", <tt>&lt;P&gt;;rel=has-proxy;anchor="S"</tt>)
are that for any resource that has the same origin as S, the transport address indicated by P can be used to obtain that resource.</t>
        <section anchor="example">
          <name>Example</name>
          <t>A constrained device at the address 2001:db8::1 that supports CoAP over TCP in addition to CoAP can self-describe like this:</t>
          <figure anchor="fig-has-proxy">
            <name>Discovery and follow-up request through a has-proxy relation</name>
            <artwork><![CDATA[
Req: to [ff02::fd]:5683 on UDP
Code: GET
Uri-Path: /.well-known/core
Uri-Query: if=tag:example.com,sensor

Res: from [2001:db8::1]:5683
Content-Format: application/link-format
Payload:
</sensors/temp>;if="tag:example.com,sensor",
<coap+tcp://[2001:db8::1]>;rel=has-proxy;anchor="/"


Req: to [2001:db8::1]:5683 on TCP
Code: GET
Proxy-Scheme: coap
Uri-Path: /sensors/temp
Observe: 0

Res: 2.05 Content
Observe: 0
Payload:
39.1°C
]]></artwork>
          </figure>
          <t>The discovery process yields two links:
The first describes the resource,
the second describes that an additional (TCP) endpoint is available for all resources on this host.</t>
          <t>Note that generating this discovery file needs to be dynamic based on its available addresses;
only if queried using a link-local source address, the server may also respond with a link-local address in the authority component of the proxy URI.</t>
        </section>
      </section>
    </section>
    <section anchor="operational-concerns-of-discovered-transport-endpoints">
      <name>Operational concerns of discovered transport endpoints</name>
      <section anchor="secctx-propagation">
        <name>Security context propagation</name>
        <t>Any security requirements posed by a server or client application on a CoAP request
MUST be applied independently of the transport that is used to perform the request.
If a transport can not be used to satisfy the requirements,
it is ineligible for use with the request (from a client's point of view),
and unauthorized (from a server's point of view).</t>
        <t>If the requirements contain transport layer security,
the proxy needs to present the credentials required of the server to the client,
and those of the client to the server;
this is only practical when the proxy is a same-host proxy.</t>
        <t>Some applications have requirements
exceeding the requirements of a secure connection,
e.g., (explicitly or implicitly) requiring that
name resolution happen through a secure process
and packets are only routed into networks where it trusts that they will not be intercepted on the path to the server.
Such applications need to extend their requirements to the the sources used to obtain the endpoints
(i.e., the source of any <tt>has-proxy</tt> statement or the SVCB data);
a sufficient (but maybe needlessly strict) requirement for <tt>has-proxy</tt> statements is to only follow those
that are part of the same resource that advertises the link currently being followed.
Section <xref target="proxy-foreign-advertisement"/> adds further considerations.</t>
        <section anchor="exception-narrowing-security-requirements">
          <name>Exception: Narrowing security requirements</name>
          <t>If a concrete application starts with a minimal set of security requirements,
has no means of discovering security properties of the endpoint
and can only discovery security properties of a transport,
it MAY describe how a first step of transport discovery narrows the security requirements.</t>
          <t>An example of this is <xref section="3.2" sectionFormat="of" target="I-D.ietf-core-dns-over-coap"/>
where the target name of the SVCB record is used to set the hostname component of a URI and thus set security requirements.</t>
          <t>Before making use of this option,
alternatives such as using TLSA records should be exhausted.</t>
        </section>
      </section>
      <section anchor="choice-of-endpoints">
        <name>Choice of endpoints</name>
        <t>It is up to the client whether to use an advertised endpoint,
or (if multiple are provided) which to pick.</t>
        <t>Information about endpoints may be annotated with additional metadata that may help guide such a choice;
defining such metadata is out of scope for this document.</t>
        <t>Clients MAY switch between endpoints as long as the source describing them is fresh;
they may even do so per request.
(For example, they may perform individual requests using CoAP-over-UDP,
but choose CoAP-over-TCP for requests with large expected responses).
When the information about endpoints is obtained through CoAP (e.g. as a <tt>has-proxy</tt> link),
the client can use the describing representation's ETag to efficiently renew its justification for using the alternative transport.</t>
      </section>
      <section anchor="selection-of-a-canonical-origin">
        <name>Selection of a canonical origin</name>
        <t>While a server is at liberty to provide the same resource independently on different transports (i.e. to create aliases),
it may make sense for it to pick a single scheme and authority under which it announces its resources.
Using only one address helps proxies keep their caches efficient,
and makes it easier for clients to avoid exploring the same server twice from different angles.</t>
        <t>When there is a predominant scheme and authority through which an existing service is discovered,
it makes sense to use these for the canonical addresses.</t>
        <t>Otherwise,
it is suggested to use the <tt>coap</tt> or <tt>coaps</tt> scheme
(given that these are the most basic and widespread ones),
and the most stable usable name the host has.</t>
        <section anchor="unreachable-canonical-origin-addresses">
          <name>Unreachable canonical origin addresses</name>
          <t>For devices that are not generally reachable at a stable address,
it may make sense to use a scheme and authority as the canonical address that can not actually be dereferenced.</t>
          <t>The registered names available for that purpose depend on the resolution mechanisms in use.
When the Domain Name System (DNS) is used,
such names would not be associated with any A or AAAA records
(but may still use, for example, TLSA records).</t>
          <t>Such URIs are <em>only</em> usable to clients that discover a suitable proxy along with the URI,
and which can place sufficient trust in that proxy.</t>
        </section>
      </section>
      <section anchor="advertisement-through-a-resource-directory">
        <name>Advertisement through a Resource Directory</name>
        <t>In the Resource Directory specification <xref target="rfc9176"/>,
protocol negotiation was anticipated to use multiple base values.
This approach was abandoned since then,
as it would incur heavy URI aliasing.</t>
        <t>Instead, devices can submit their has-proxy links to the Resource Directory like all their other metadata.</t>
        <t>A client performing resource lookup can ask the RD to provide available (same-host-)proxies in a follow-up request
by asking for <tt>?anchor=&lt;the-discovered-host&gt;&amp;rel=has-proxy</tt>.
<!-- We don't say that the RD can not do that, right? -->
The RD may also volunteer that information during resource lookups even though the has-proxy link itself does not match the search criteria.</t>
        <t>[</t>
        <t>It may be useful to define RD parameters for use with lookup here, which'd guide which available proxies to include.
For example, asking <tt>?if=tag:example.com,sensor&amp;proxy-links=tcp</tt> could give as a result:</t>
        <t><tt>&lt;coap://[2001:db8::1]/s&gt;;rt=tag:example.com,sensor,&lt;coap+tcp://[2001:db8::1]/&gt;;rel=has-proxy;anchor="coap://[2001:db8::1]/"</tt></t>
        <t>This is similar to the extension suggested in <xref section="5" sectionFormat="of" target="I-D.amsuess-core-resource-directory-extensions"/>.</t>
        <t>]</t>
      </section>
    </section>
    <section anchor="elision-of-proxy-scheme-and-uri-host">
      <name>Elision of Proxy-Scheme and Uri-Host</name>
      <t>A CoAP server may publish and accept multiple URIs for the same resource,
for example when it accepts requests on different IP addresses that do not carry a Uri-Host option,
or when it accepts requests both with and without the Uri-Host option carrying a registered name.
Likewise, the server may serve the same resources on different transports.
This makes for efficient requests (with no Proxy-Scheme or Uri-Host option),
but in general is discouraged <xref target="aliases"/>.</t>
      <t>To make efficient requests possible without creating URI aliases that propagate,
the "has-unique-proxy" specialization of the has-proxy relation
and the "is-unique-proxy" SVCB parameter are defined.</t>
      <t>If a proxy is unique,
it means that requests arriving at the proxy are treated the same
no matter whether the scheme, authority and port of the link context are set in the Proxy-Scheme, Uri-Host and Uri-Port options, respectively,
or whether all of them are absent.</t>
      <t>[ The following two paragraphs are both true but follow different approaches to explaining the observable and implementable behavior;
   it may later be decided to focus on one or the other in this document. ]</t>
      <t>While this creates URI aliasing in the requests as they are sent over the network,
applications that discover a proxy this way should not "think" in terms of these URIs,
but retain the originally discovered URIs (which, because Cool URIs Don't Change<xref target="cooluris"/>, should be long-term usable).
They use the proxy for as long as they have fresh knowledge of the has-(unique-)proxy statement.</t>
      <t>In a way, advertising <tt>has-unique-proxy</tt> can be viewed as a description of the link target in terms of SCHC <xref target="I-D.ietf-lpwan-coap-static-context-hc"/>:
In requests to that target, the link source's scheme and host are implicitly present.</t>
      <t>While applications retain knowledge of the originally requested URI
(even if it is not expressed in full on the wire),
the original URI is not accessible to caches both within the host and on the network
(for the latter, see <xref target="actualproxies"/>).
Thus, cached responses to the canonical and any aliased URI are mutually interchangeable
as long as both the response and the proxy statement are fresh.</t>
      <t>A client MAY use a unique-proxy like a proxy and still send the Proxy-Scheme and Uri-Host option;
such a client needs to recognize both relation types, as relations of the has-unique-proxy type
are a specialization of has-proxy and typically don't carry the latter (redundant) annotation.
[ To be evaluated -- on one hand, supporting it this way means that the server needs to identify all of its addresses and reject others.
   Then again, is a server that (like many now do) fully ignore any set Uri-Host correct at all? ]</t>
      <t>Example:</t>
      <figure anchor="fig-has-unique-proxy">
        <name>Follow-up request through a has-unique-proxy relation. Compared to the last example, 5 bytes of scheme indication are saved during the follow-up request.</name>
        <artwork><![CDATA[
Req: to [ff02::fd]:5683 on UDP
Code: GET
Uri-Path: /.well-known/core
Uri-Query: if=tag:example.com,sensor

Res: from [2001:db8::1]:5683
Content-Format: application/link-format
Payload:
</sensors/>;if="tag:example.com,collection",
<coaps+ws://[2001:db8::1]>;rel=has-unique-proxy;anchor="/"


Req: to [2001:db8::1] via WebSockets over HTTPS
Code: GET
Uri-Path: /sensors/

Res: 2.05 Content
Content-Format: application/link-format
Payload:
</sensors/temperature>;if="tag:example.com,sensor"
]]></artwork>
      </figure>
      <t>It is noteworthy that when the URI reference <tt>/sensors/temperature</tt> is resolved,
the base URI is <tt>coap://device0815.example.com</tt> and not its coaps+ws counterpart --
as the request is still for that URI, which both the client and the server are aware of.
However, this detail is of little practical importance:
A simplistic client that uses <tt>coaps+ws://device0815.proxy.rd.example.com</tt> as a base URI will still arrive at an identical follow-up request with no ill effect,
as long as it only uses the wrongly assembled URI for dereferencing resources,
the security context is the same,
the state is kept no longer than the has-unique-proxy statement is fresh,
and it does not (for example) pass the URI on to other devices.</t>
      <section anchor="impact-on-caches">
        <name>Impact on caches</name>
        <t>[ This section is written with the "there is implied URI aliasing" mindset;
it should be possible to write it with the "compression" mindset as well
(but there is no point in having both around in the document at this time).</t>
        <t>It is also slightly duplicating, but also more detailed than,
the brief note on the topic in <xref target="actualproxies"/>
]</t>
        <t>When a node that performs caching learns of a <tt>has-unique-proxy</tt> statement,
it can utilize the information about the implied URI aliasing:
As long as the <tt>has-unique-proxy</tt> statement is fresh and trusted,
requests for either of the origins can be served from the cache of the other origin.</t>
      </section>
      <section anchor="unique-security">
        <name>Using unique proxies securely</name>
        <t>The elision of the host name afforded by the <tt>unique-proxy</tt> relation
is only possible if the required security mechanisms verify the scheme and host of the server.</t>
        <t>This is given for OSCORE based mechanisms,
where "unprotected message fields (including Uri-Host [...]) MUST not lead to an OSCORE message becoming verified".</t>
        <t>With TLS based security mechanisms,
name and scheme can not be completely elided in general.
While the use of the SNI HostName field sets the default Uri-Host already,
the scheme still needs to be sent in a Proxy-Scheme option
to satisfy the requirement of <xref target="secctx-propagation"/>.</t>
        <t>[
It may be possible to relax this requirement
if the host publishes a <em>trustworthy</em> statement about serving the same content on all schemes;
however, no urgent need for this optimization is currently known that warrants the extra scrutiny.
]</t>
      </section>
      <section anchor="self-description-as-a-unique-proxy">
        <name>Self-description as a unique proxy</name>
        <t>The level of assurance a client needs from a server
to elide the Uri-Host option in a request that was created from a URI with no IP address literal
has been a controversial topic.
[ Should we dig up old conversations, link to https://github.com/core-wg/wiki/wiki/CoAP-FAQ#q4,
or just let the weight of a WG consensus-document-to-be do its work? ]</t>
        <t>The <tt>has-unique-proxy</tt> relation provides an easy way for a server
to indicate that this is in fact allowed:
A server can publish a statement such as <tt>&lt;/&gt;;rel=has-unique-proxy</tt> in its <tt>/.well-known/core</tt> file.
A client that receives and understands it can thus elide the Uri-Host option in requests to the server
as per the definition of the relation.</t>
      </section>
    </section>
    <section anchor="thirdparty">
      <name>Third party proxy services</name>
      <t>A server that is aware of a suitable cross proxy may use the has-proxy relation to advertise that proxy.
If the transport used towards the proxy provides name indication (as CoAP over TLS or WebSockets does),
or by using a large number of addresses or ports,
it can even advertise a (more efficient) has-unique-proxy relation.
This is particularly interesting when the advertisements are made available across transports,
for example in a Resource Directory.</t>
      <t>How the server can discover and trust such a proxy
is out of scope for this document,
but generally involves the same kind of links.
In particular, a server may obtain a link to a third party proxy from an administrator as part of its configuration.</t>
      <t>The proxy may advertise itself without the origin server's involvement;
in that case, the client needs to take additional care (see <xref target="proxy-foreign-advertisement"/>).</t>
      <figure anchor="fig-external-proxy">
        <name>HTTP based discovery and CoAP-over-WS request to a CoAP resource through a has-unique-proxy relation</name>
        <artwork><![CDATA[
Req: GET http://rd.example.com/rd-lookup?if=tag:example.com,sensor

Res:
Content-Format: application/link-format
Payload:
<coap://device0815.example.com/sensors/>;if="tag:example.com,collection",
<coap+wss://device0815.proxy.rd.example.com>;rel=has-unique-proxy;anchor="coap://device0815.example.com/"


Req: to device0815.proxy.rd.example.com on WebSocket
Host (indicated during upgrade): device0815.proxy.rd.example.com
Code: GET
Uri-Path: /sensors/

Res: 2.05 Content
Content-Format: application/link-format
Payload:
</sensors/temperature>;if="tag:example.com,sensor"
]]></artwork>
      </figure>
      <section anchor="generic-advertisements">
        <name>Generic proxy advertisements</name>
        <t>A third party proxy may advertise its availability to act as a proxy for arbitrary CoAP requests.
This use is not directly related to the transport indication in other parts of this document,
but sufficiently similar to warrant being described in the same document.</t>
        <t>The resource type "CPA-core.proxy" can be used to describe such a proxy.</t>
        <figure anchor="fig-6lbr-proxy">
          <name>A CoAP client discovers that its border router can also serve as a proxy, and uses that to access a resource on an HTTP server.</name>
          <artwork><![CDATA[
Req: GET coap://[fe80::1]/.well-known/core?rt=CPA-core.proxy

Res:
Content-Format: application/link-format
Payload:
<>;rt=CPA-core.proxy

Req: to [fe80::1] via CoAP
Code: GET
Proxy-Scheme: http
Uri-Host: example.com
Uri-Path: /motd
Accept: text/plain

Res: 2.05 Content
Content-Format: text/plain
Payload:
On Monday, October 25th 2021, there is no special message of the day.
]]></artwork>
        </figure>
        <t>The considerations of <xref target="proxy-foreign-advertisement"/> apply here.</t>
        <t>A generic advertised proxy is always a forward proxy,
and can not be advertised as a "unique" proxy as it would lack information about where to forward.</t>
        <t>A proxy may be limited in the URIs it can service,
for technical reasons (e.g. when none of the URI's transports are supported by the server)
or for policy reasons (only accessing servers inside an organizational structure).
Future documents (or versions of this document) may add target attributes
that allow specifying the capabilities of a proxy.
[
An earlier version of this document contained a proxy-schemes attribute.
This was discontinued because it could already not express whether a proxy could access IPv4 or IPv6 peers,
and because the use of schemes is becoming less useful given the new recommendation of incorporating details from registered name resolution into the transport selection.
]</t>
        <t>The use of a generic proxy can be limited to a set of devices that have permission to use it.
Clients can be allowed by their network address if they can be verified,
or by using explicit client authentication using the methods of <xref target="I-D.tiloca-core-oscore-capable-proxies"/>.</t>
      </section>
    </section>
    <section anchor="actualproxies">
      <name>Client picked proxies</name>
      <t>This section is purely informative,
and serves to illustrate that the mechanisms introduced in this document do not hinder the continued use of existing proxies.</t>
      <t>When a resource is accessed through an "actual" proxy (i.e., a host between the client and the server, which itself may have a same-host proxy in addition to that),
the proxy's choice of the upstream server is originally (i.e., without the mechanisms of this document)
either configured (as in a "chain" of proxies)
or determined by the request URI (where a proxy picks CoAP over TCP and resolves the given name for a request aimed at a coap+tcp URI).</t>
      <t>A proxy that has learned,
by active solicitation of the information or by consulting links in its cache,
that the requested URI is available through a (possibly same-host) proxy,
may use that information
in choosing the upstream transport,
to correct the URI associated with a cached response,
and to use responses obtained through one transport to satisfy requests on another.</t>
      <t>For example, if a host at coap://h1.example.com has advertised <tt>&lt;/res&gt;,&lt;coap+tcp://h1.example.com&gt;;rel=has-proxy;anchor="/"</tt>,
then a proxy that has an active CoAP-over-TCP connection to h1.example.com
can forward an incoming request for coap://h1.example.com/res through that CoAP-over-TCP connection
with a suitable Proxy-Scheme and Uri-Host on that connection.</t>
      <t>If the host had marked the proxy point as <tt>&lt;coap+tcp://h1.example.com&gt;;rel=has-unique-proxy</tt> instead,
then the proxy could elide the Proxy-Scheme and Uri-Host options,
and would (from the original CoAP caching rules) also be allowed
to use any fresh cache representation of coap+tcp://h1.example.com/res
to satisfy requests for coap://h1.example.com/res.</t>
      <t>A client that uses a forward proxy
and learns of a different proxy advertised to access a particular resource
will not change its behavior if its original proxy is part of its configuration.
If the forward proxy was only used out of necessity
(e.g., to access a resource whose indicated transport not supported by the client)
it can be practical for the client to use the advertised proxy instead.</t>
    </section>
    <section anchor="service-binding-parameters-for-coap-transports">
      <name>Service Binding Parameters for CoAP transports</name>
      <t>Discovery mechanisms that exist in DNS <xref target="RFC9460"/>, DHCP, Router Advertisements <xref target="RFC9463"/> or other mechanisms
can provide details already that would otherwise only be discovered later through proxy links.
For when those details are provided in the shape of Service Binding Parameters,
this section describes their interpretation in the context of CoAP transport indication.</t>
      <t>This document is an SVCB mapping document as described in <xref target="RFC9460"/>.
As a non-normative overview, the mapping summary (following the template of <xref section="B" sectionFormat="of" target="RFC9460"/>)
is as follows:</t>
      <table>
        <thead>
          <tr>
            <th align="left"> </th>
            <th align="left"> </th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>Mapped schemes</strong></td>
            <td align="left">"coap", "coaps", "coap+tcp", "coaps+tcp", "coap+ws", "coaps+ws"</td>
          </tr>
          <tr>
            <td align="left">
              <strong>RR type</strong></td>
            <td align="left">SVCB (64)</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Name prefix</strong></td>
            <td align="left">
              <tt>_coap</tt> for the scheme's default port, else <tt>_$PORT._coap</tt></td>
          </tr>
          <tr>
            <td align="left">
              <strong>Automatically Mandatory Keys</strong></td>
            <td align="left">
              <tt>port</tt>, <tt>no-default-alpn</tt></td>
          </tr>
          <tr>
            <td align="left">
              <strong>SvcParam defaults</strong></td>
            <td align="left">
              <tt>alpn</tt>: according to scheme (or empty)</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Special behaviors</strong></td>
            <td align="left">Multiple mapped schemes; <tt>alpn</tt> default influenced by initial URI.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>Keys that records must include</strong></td>
            <td align="left">None</td>
          </tr>
        </tbody>
      </table>
      <t>[ The following paragraph is outdated, but its replacement will depend on the outcome of IETF122 discussions. ]</t>
      <t>The subsections in this section are arranged to describe a consistent sequential full picture.
The capabilities of this big picture are not exercised by any application known at the time of draft publication.
It is instead backed by many small-scope use cases
(such as bootstrapping issues of proxy-link based CoAP scheme unification, <xref target="I-D.lenders-core-dnr"/>, <xref target="I-D.amsuess-t2trg-onion-coap"/> and also applications outside CoAP such as <xref target="SUIB"/>)
and presents a unified solution framework.</t>
      <section anchor="svcb-discovery">
        <name>Discovering transport indication details from name resolution</name>
        <t>This document registers the <tt>_coap</tt> attrleaf label
in <xref target="iana-underscored"/>
using the pattern described as described in <xref section="10.4.5" sectionFormat="of" target="RFC9460"/>,
and thus enables the use of SVCB records.
This path is chosen over the creation of a new SVCB RR "COAP"
because it is considered unlikely that DNS implementations would update their code bases to apply SVCB behavior;
this assumption will be revisited before registration.</t>
        <t>These can be used during the resolution of URIs that use any CoAP scheme.
The presence of an SVCB record for a registered name
implies that any transport advertised in the record is suitable for proxying to
resources of any CoAP scheme and that registered name,
provided that a resource is available at that URI in the first place.
This does not create URI aliasing:
Any resource is still accessed at its original URI through the advertised proxy endpoints.</t>
        <t>It is possible through this to advertise transports without transport layer security
for URIs with the schemes "coaps", "coaps+tcp" and "coaps+ws".
Unless the application explicitly regards an object layer security mechanism as a sufficient replacement for transport layer security,
those transports can not be selected for operations on such URIs as per <xref target="secctx-propagation"/>.</t>
        <t>Some SVCB parameters have defaults; for "_coap", these are:</t>
        <ul spacing="normal">
          <li>
            <t>port: 5683</t>
          </li>
          <li>
            <t>ALPN: empty</t>
          </li>
        </ul>
        <t>As SVCB records were not specified for the existing CoAP transports originally,
generic CoAP clients are not required to use the SVCB lookup mechanism,
but MAY attempt it opportunistically in order to obtain a usable transport
(or to obtain it faster).
Applications built on CoAP MAY require clients to perform this kind of discovery.
Adding such a requirement is particularly useful if the application frequently advertises URIs with a scheme that defaults to a transport which its clients may not support,
or when the application makes use of functionality afforded by <xref target="RFC9460"/> such as apex domain redirection.
(Had the SVCB specification predated the first new CoAP transports,
that mechanism might have been used in the first place instead of additional schemes).</t>
        <t>[ The following paragraph may need to be revisited depending on the outcome of IETF122 discussions. ]</t>
        <t>The effects on a client of seeing SVCB parameters are similar
to those of seeing a "has-proxy" link from the origin to the URI built using {#svcblit}.
The precise implications of any DNSSec-backed applicable credentials expressed in SVCB parameters
are subject to ongoing discussion (especially with regard to whether they apply to the proxy or the origin server).</t>
      </section>
      <section anchor="svcparams">
        <name>Service Parameters</name>
        <t>Several parameters are relevant in the context of CoAP,
independently of whether they are used with SVCB records or Service Binding Parameters transported outside SVCB records,
and independently of whether they apply to the <tt>_coap</tt> service or another service that can be used on top of CoAP (such as <tt>_dns</tt>):</t>
        <ul spacing="normal">
          <li>
            <t><tt>port</tt>: The CoAP service using the transport described in this parameter is reachable on this port
(described in <xref target="RFC9460"/>). It is automatically mandatory.  </t>
            <t>
This document does not limit which ports can be used with CoAP.</t>
          </li>
          <li>
            <t><tt>alpn</tt>: The ALPN "coap" has been defined for CoAP-over-TLS <xref target="RFC8323"/>, and "co" for CoAP-over-DTLS in <xref target="I-D.ietf-core-coap-dtls-alpn"/>.  </t>
            <t>
If an ALPN service parameter is found, this indicates that the ALPN(s) and thus the CoAP transport that can be used on this address / port.
For example, "co" indicates that DTLS (and thus UDP) is used.  </t>
            <t>
ALPN IDs are defined in this document and in <xref target="I-D.ietf-core-coap-dtls-alpn"/> for the CoAP transports that had no such identifier when they were specified.  </t>
            <t>
The default value of <tt>alpn</tt> when processing a URI (as in <xref target="processing-scheme-authority"/>) is the ALPN corresponding to the used scheme.
The default value when not processing a URI (e.g. when processing service parameters from DNR <xref target="RFC9463"/>) is empty.</t>
          </li>
          <li>
            <t><tt>no-default-alpn</tt>, <tt>mandatory</tt>, <tt>ipv4hint</tt>, <tt>ipv6hint</tt>:
Used as described in <xref section="7" sectionFormat="of" target="RFC9460"/>.</t>
          </li>
          <li>
            <t><tt>is-unique-proxy</tt>: This is a new parameter defined in this document,
and equivalent to the <tt>has-unique-proxy</tt> in its semantics.  </t>
            <t>
Its value is empty.</t>
          </li>
          <li>
            <t>Applications may extend the supported parameters.
In particular, <xref target="I-D.ietf-core-dns-over-coap"/> has already introduced the <tt>docpath</tt> parameter
which indicates a path at which DNS-over-CoAP is available at the given address.</t>
          </li>
        </ul>
        <t>The following parameters are under consideration for inclusion in this list,
but it is unsure whether they are suitable.
Those parameters would describe the origin server
and not the individual (proxy) transport through which it can be reached.</t>
        <ul spacing="normal">
          <li>
            <t><tt>cred</tt>: This is a new parameter defined in this document, and describes COSE credentials that can authenticate the server, e.g. when used with EDHOC.  </t>
            <t>
The <tt>cred</tt> parameter's value is a CBOR sequence of COSE Header maps as defined in <xref target="RFC9052"/>.
If the parameter is present, it indicates that
the server can be authenticated by any credential expressed in the sequence.
This is similar to the TLSA records specified in <xref target="RFC6698"/>.  </t>
            <t>
A COSE Header map can express many properties, not all of which are sufficient to authenticate a peer on any given security mechanism.
Without excluding applications that may process other entries,
a practical criterion for whether a header map is suitable for EDHOC is that the header map could also be used in EDHOC as <tt>ID_CRED_R</tt>
if the credential is sent by value.  </t>
            <t>
For example, a header map with a <tt>kccs</tt> entry can be used to indicate a public key including a Key ID (<tt>kid</tt>),
and that public key does not need to be sent during the EDHOC exchange.
Alternatively, a header map with an <tt>x5t</tt> identifies the end entity certificate the server presents by a thumbprint (hash).  </t>
            <t>
It is up to the application to define requirements for the provenance of the <tt>cred</tt> parameter,
whether it needs to be provided through secure mechanism,
or whether the server is strictly required to present that credential.  </t>
            <t>
This is unlike TLSA, which needs to be transported through DNSSEC,
because a <tt>cred</tt> parameter may be sent using other means than DNS
(for example in DHCPv6 responses or Router Advertisements).</t>
          </li>
          <li>
            <t><tt>edhoc-app-prof</tt> and <tt>edhocpath</tt>: The parameters describe how EDHOC can be used on the server;
they are specified in <xref target="I-D.-ietf-lake-app-profiles"/>.</t>
          </li>
          <li>
            <t><tt>oauth-hints</tt>: This is a new parameter defined in this document,
describing how ACE-OAuth <xref target="RFC9200"/> can be used with this service.  </t>
            <t>
Its value is a CBOR map containing AS Request Creation Hints as described in <xref section="5.3" sectionFormat="of" target="RFC9200"/>.
While an empty map can be useful (hinting that the client should use its configured ACE-OAuth setup),
typical useful keys are
1 (AS, indicating the URI of the Authorization Server),
5 (audience, indicating the name under which the service is known to the Authorization Server),
and 9 (scope, when discovering a particular service rather than just getting transport information for a host).
That data is using the same shape the server might use when responding to an attempt at an unencrypted connection,
and can not only speed up the discovery of the right AS,
but can also protect that information (e.g. when DNSSEC is used),
and avoids the need for an unprotected first request.  </t>
            <t>
It is up to the application to define requirements for the use of such data.
For example,
it may require that the audience matches the requested host name,
or may require that the scope matches the kind of service being discovered.  </t>
            <t>
When expressed in text format, e.g. in DNS zone files,
the CBOR diagnostic notation <xref target="I-D.ietf-cbor-edn-literals"/> can be used.</t>
          </li>
        </ul>
        <section anchor="examples-of-using-name-resolution-discovery-and-parameters">
          <name>Examples of using name resolution discovery and parameters</name>
          <section anchor="generic-client-discovering-transport-options">
            <name>Generic client discovering transport options</name>
            <t>A generic client is directed to obtain <tt>coap://dev1.example.com/log</tt>
requests the name to be resolved using the system's resolution mechanisms,
resulting in a DNS query for these records:</t>
            <artwork><![CDATA[
_coap.dev1.example.com IN SVCB
dev1.example.com       IN AAAA
]]></artwork>
            <t>The following records are returned:</t>
            <artwork><![CDATA[
_coap.dev1.example.com IN SVCB 1 . alpn=COAP,CO
_coap.dev1.example.com IN SVCB 1 . alpn=co,coap port=5684
_coap.dev1.example.com IN SVCB 1 . alpn=CO port=61616
dev1.example.com       IN AAAA 2001:db8:1::1
]]></artwork>
            <t>Exceeding the single option it had with just the IP address,
it may now also choose to establish a TCP connection on the default port,
to use port 61616 for UDP (which results in more compact frames on a 6LoWPAN link),
or to use either of the TLS based options.</t>
          </section>
          <section anchor="application-mandating-svcb">
            <name>Application mandating SVCB</name>
            <t>An example application's policy is to mandate client support for SVCB records,
and to require that a security mechanism must be used where credentials are backed either by DNSSEC or by the Web PKI.</t>
            <t>A server operator is running in a legacy network that only provides an IPv4 address behind NAT with a dynamic public address,
but has PCP <xref target="RFC7291"/> available.
After running PCP to open a UDP port,
it learns that 1.2.3.4:5678 will be available for some time.</t>
            <t>It therefore updates its DNS record like this:</t>
            <artwork><![CDATA[
_coap.host.example.net 600 IN SVCB 1 publicudp.host.example.net       \
                       port=5678                                      \
                       cred={14:{... /KCCS with its public key/}}
]]></artwork>
            <t>When a client starts using <tt>coap://host.example.net/interactive</tt>,
it looks up that record and verifies it using DNSSEC.
It then proceeds to send EDHOC requests over CoAP to 1.2.3.4 port 5678,
setting the Uri-Host option to "host.example.net".</t>
            <t>The client could also have initiated an EDHOC session if no cred parameter had been present,
but then,
it would have required that the server present some credential that could be verified through the Web PKI,
for example an x5chain containing a Let's Encrypt certificate.</t>
          </section>
        </section>
      </section>
      <section anchor="svcb2uri">
        <name>Producing requests for a discovered service</name>
        <t>If a service's discovery process does not produce a URI but an address, host name and/or Service Binding Parameters,
those can be converted to a CoAP URI,
for which transport hints are already encoded in the parameters the URI is constructed from.
An example of this is DNS server discovery <xref target="I-D.ietf-core-coap-dtls-alpn"/>.</t>
        <t>While it is up to the service to define the service's semantics,
this section applies to any service
whose use with CoAP is defined by a normative referencing this section:</t>
        <ul spacing="normal">
          <li>
            <t>The client tries the available services with their ALPNs and CoAP transports
according to its capabilities
and the priorities and mandatory parameters
as defined for Service Bindings.</t>
          </li>
          <li>
            <t>The service either defines a well-known path,
or it defines a Service Binding Parameter that describes the service's path on the described endpoint,
or it defines both (and the well-known path is the default in absence of the defined parameter).  </t>
            <t>
The value is a CBOR sequence <xref target="RFC8742"/> of text strings,
which represent Uri-Path options in a CoAP request,
or (equivalently) the path of a CRI reference
<xref target="I-D.ietf-core-href"/>.  </t>
            <t>
A parameter value that is not a well-formed CBOR sequence,
or any item is not a text string,
is considerd malformed.  </t>
            <t>
When expressed in text format, e.g. in DNS zone files,
the CBOR diagnostic notation <xref target="I-D.ietf-cbor-edn-literals"/> can be used.  </t>
            <t>
To access the service,
a client sets the text string values
of the used Service Binding parameter
as Uri-Path options in the request.  </t>
            <t>
If the resource is unavailable,
the client may continue with options that have a larger SvcPriority value associated
(if such a property exists in the discovery method).  </t>
            <t>
An example of such an option is <tt>docpath</tt>
as defined in <xref target="I-D.ietf-core-dns-over-coap"/>.
(As that document precedes this one,
it repeats the same rules explicitly rather than reusing these rules).</t>
          </li>
          <li>
            <t>A Service Binding is accompanied by a hostname:
For example,
this is the hostname of the Encrypted DNS Resolver or the Special-Use Domain Name
in the case of <xref target="RFC9462"/> lookups,
or the authentication-domain-name in case of <xref target="RFC9463"/> DHCP options or Router Advertisements.  </t>
            <t>
Unless its value is identical to the default value for Uri-Host
(which is the case on transports with Server Name Indication (SNI)),
the that name is added in the Uri-Host option.</t>
          </li>
          <li>
            <t>If the <tt>port</tt> Service Binding Parameter is set,
the Uri-Port option is set to the port that set in the port prefix of the query
(or the used CoAP transport's default port),
unless that is its default value anyway.</t>
          </li>
          <li>
            <t>No Proxy-Scheme option is set.</t>
          </li>
        </ul>
        <t>By following the rules of <xref section="6.5" sectionFormat="of" target="RFC7252"/>
or the equivalent rules for the respective CoAP transport,
<!-- I'd rather not need that, see https://github.com/core-wg/corrclar/issues/38 -->
the service can be translated into a URI.
This implies URI aliasing between the composed URIs of all transports
if any of the transports use different schemes.</t>
        <t>The rules for setting Uri-Host and Uri-Port result in the authority component of the URI
being equal to the Binding Authority defined in <xref target="RFC9461"/>.</t>
        <t>Note that since different security policies may apply to service discovery
and other application components that dereference URIs,
any connections established while using the service
and cache entries created by it
need to be treated carefully,
for example by using separate connection and cache pools.</t>
      </section>
      <section anchor="svcblit">
        <name>Expressing Service Parameters as literals</name>
        <t>A method for expressing Service Parameters in URIs that do not use registered names
is described in <xref target="newlit"/>.</t>
        <t>Among other things,
that mechanism allows encoding the full information obtained during service discovery in a URI
instead of just the one choice taken.
It is also required if different CoAP transports are using the same scheme
(as is recommended in <xref target="upcomingtransports"/>)
with IP address literals in URIs,
for which unlike for resolved names no service parameters are available.</t>
      </section>
    </section>
    <section anchor="upcomingtransports">
      <name>Guidance to upcoming transports</name>
      <t>When new transports are defined for CoAP,
it is recommended to use the "coap" scheme
(or "coaps" for TLS based transports).</t>
      <t>If the transport's identifiers are IP based and have identifiers typically resolved through DNS,
authors of new transports are encouraged to specify how they are expressed in Service Binding records (<xref target="RFC9460"/>),
e.g., using an <tt>alpn</tt> parameter (which does not necessarily indicate the use of a TLS based transport),
and if IP literals are relevant to the transport, to follow up on <xref target="newlit"/>.</t>
      <t>If the transport's native identifiers are compatible with the structure of the authority component of a URI,
those identifiers can be used as an authority as-is.
To help the host decide the resolution mechanism,
it may be helpful to register a subdomain of .arpa as described in <xref target="rfc3172"/>.
The guidence for users is to never attempt to resolve such a name,
and for the zone's implementation is to return NXDOMAIN unconditionally.</t>
      <t>If the transport's native identifiers are incompatible with that structure
(e.g. because they contain colons),
the document may define some transformation.</t>
      <t>If a transport's native identifiers are only local,
the zone .alt <xref target="rfc9476"/> may be used instead.</t>
      <t>For example,
CoAP over GATT <xref target="I-D.amsuess-core-coap-over-gatt"/>
removes the colons from Bluetooth Low Energy MAC addresses like 00:11:22:33:44:55
and combines them into authority components such as <tt>001122334455.ble.arpa</tt>.
Slipmux <xref target="I-D.bormann-t2trg-slipmux"/>
might use the locally significant device name <tt>/dev/ttyUSB0</tt>
as <tt>coap://ttyUSB0.dev.alt/</tt>.</t>
      <t>URIs created from such names may not indicate the protocol uniquely:
Additional transports specified later may also provide CoAP services for the same name.
In the sense of <xref target="identifying"/>,
both transport would be identified by that URI.
That is not an issue as long as the protocols underneath the CoAP transport
provide a means of advertising the precise protocol used.
For example,
a hypothetical CoAP transport for BLE that is not GATT based
can be selected for the same scheme and authority based on data in the BLE advertisement.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security considerations</name>
      <section anchor="security-context-propagation">
        <name>Security context propagation</name>
        <t>Clients need to strictly enforce the rules of <xref target="secctx-propagation"/>.
Failure to do so,
in particular using a thusly announced proxy based on a certificate that attests the proxy's name,
would allow attackers to circumvent the client's security expectation.</t>
        <t>When security is terminated at proxies (as is in DTLS and TLS),
a third party proxy can usually not satisfy this requirement;
these transports are limited to same-host proxies.</t>
      </section>
      <section anchor="proxy-foreign-advertisement">
        <name>Traffic misdirection</name>
        <t>Accepting arbitrary proxies,
even with security context propagation performed properly,
would allow attackers to redirect traffic through systems under their control.
Not only does that impact availability,
it also allows an attacker to observe traffic patterns.</t>
        <t>This affects both OSCORE and (D)TLS,
as neither protect the participants' network addresses.</t>
        <t>Other than the security context propagation rules,
there are no hard and general rules about when an advertised proxy is a suitable candidate.
Aspects for consideration are:</t>
        <ul spacing="normal">
          <li>
            <t>When no direct connection is possible
(e.g. because the resource to be accessed is served as coap+tcp and TCP is not implemented in the client,
or because the resource's host is available on IPv6 while the client has no default IPv6 route),
using a proxy is necessary if complete service disruption is to be avoided.  </t>
            <t>
While an adversary can cause such a situation (e.g. by manipulating routing or DNS entries),
such an adversary is usually already in a position to observe traffic patterns.</t>
          </li>
          <li>
            <t>A proxy advertised by the device hosting the resource to be accessed is less risky to use than one advertised by a third party.  </t>
            <t>
The <tt>/.well-known/core</tt> resource is regarded as a source of authoritative information on the endpoint's CoAP related metadata,
and can be queried early in the discovery process,
or queried for verification (with filtering applied) after discovery through an RD.
Other resources may be less trustworthy as they may be controlled by entities not trusted with the endpoint's traffic.</t>
          </li>
        </ul>
        <!-- Note that these aspects' applicability is mutually exclusive:
When the advertisement was obtained from the target host,
that needs to be reachable. -->

<t><xref target="ead"/> describes an extension to <xref target="I-D.ietf-lake-edhoc"/> by which the client can verify that the proxy used by the client is recognized by the server.
This is similar to querying <tt>/.well-known/core</tt> for any proxies advertised there,
but happens earlier in the connection establishment,
and leaves the decision whether the proxy is legitimate to the server.</t>
        <t>It only conveys information about the URI of the proxy.
The mapping of any host name inside it to an IP address,
or of an IP address to a routing decision,
is left to the security mechanisms of the respective layers.</t>
      </section>
      <section anchor="protecting-the-proxy">
        <name>Protecting the proxy</name>
        <t>A widely published statement about a host's availability as a proxy can cause many clients to attempt to use it.</t>
        <t>This is mitigated in well-behaved clients by observing the rate limits of <xref target="RFC7252"/>,
and by ceasing attempts to reach a proxy for the Max-Age of received errors.</t>
        <t>Operators can further limit ill-effects
by ensuring that their client systems do not needlessly use proxies advertised in an unsecured way,
and by providing own proxies when their clients need them<!-- in a sense, avoid having starving clients that grab any straw at connectivity -->.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA considerations</name>
      <section anchor="link-relation-types">
        <name>Link Relation Types</name>
        <t>IANA is asked to add two entries into the Link Relation Type Registry last updated in <xref target="RFC8288"/>:</t>
        <table anchor="tab-iana">
          <name>New Link Relation types</name>
          <thead>
            <tr>
              <th align="left">Relation Name</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">has-proxy</td>
              <td align="left">The link target can be used as a proxy to reach URIs inside the origin of the link context.</td>
              <td align="left">RFCthis</td>
            </tr>
            <tr>
              <td align="left">has-unique-proxy</td>
              <td align="left">Like has-proxy, and using this proxy implies scheme and host of the target.</td>
              <td align="left">RFCthis</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="resource-types">
        <name>Resource Types</name>
        <t>IANA is asked to add an entry into the "Resource Type (rt=) Link Target Attribute Values" registry under the Constrained RESTful Environments (CoRE) Parameters:</t>
        <t>[ The RFC Editor is asked to replace any occurrence of CPA-core.proxy with the actually registered attribute value. ]</t>
        <t>Attribute Value: core.proxy</t>
        <t>Description: Forward proxying services</t>
        <t>Reference: [ this document ]</t>
      </section>
      <section anchor="tls-application-layer-protocol-negotiation-alpn-protocol-ids">
        <name>TLS Application-Layer Protocol Negotiation (ALPN) Protocol IDs</name>
        <t>IANA is requested to add the following entries to the TLS Application-Layer Protocol Negotiation (ALPN) Protocol IDs
registry (<xref target="RFC7301"/>).</t>
        <t>The identification sequences are suggestions to be approvded by the reviewers</t>
        <table>
          <thead>
            <tr>
              <th align="left">Protocol</th>
              <th align="left">Identification sequence</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">CoAP (over UDP)</td>
              <td align="left">0x43 0x4f ("CO")</td>
              <td align="left">
                <xref target="RFC7252"/></td>
            </tr>
            <tr>
              <td align="left">CoAP (over TCP)</td>
              <td align="left">0x43 0x4f 0x41 0x50 ("COAP")</td>
              <td align="left">
                <xref target="RFC8323"/></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="service-parameter-key-svcparamkey">
        <name>Service Parameter Key (SvcParamKey)</name>
        <t>IANA is NOT YET requested to add the following entries to the SVCB Service Parameters
registry (<xref target="RFC9460"/>). The definition of this parameter can be found in <xref target="upcomingtransports"/>.</t>
        <table>
          <thead>
            <tr>
              <th align="left">Number</th>
              <th align="left">Name</th>
              <th align="left">Meaning</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">to be assigned</td>
              <td align="left">cred</td>
              <td align="left">COSE credentials identifying the server</td>
            </tr>
            <tr>
              <td align="left">to be assigned</td>
              <td align="left">oauth-hints</td>
              <td align="left">Describes how to obtain a token at an ACE Authorization Server</td>
            </tr>
          </tbody>
        </table>
        <t>All entries have in common that their Reference is this this document, <xref target="svcparams"/>},
and that their change controller is IETF.</t>
      </section>
      <section anchor="iana-underscored">
        <name>Underscored and Globally Scoped DNS Node Names</name>
        <t>IANA is NOT YET requested to add the following entry to the Underscored and Globally Scoped DNS Node Names registry
(in the DNS Parameters group)
established in <xref target="RFC8552"/>
and thus enables its use with SVCB records:</t>
        <ul spacing="normal">
          <li>
            <t>SVCB, <tt>_coap</tt>, <xref target="svcb-discovery"/> of this document</t>
          </li>
        </ul>
        <t>The request for registration is deliberately not expressed at this point
because it is yet to be revisited whether the creation of a "COAP" RR
similar to the "HTTPS" RR would be preferable.</t>
      </section>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC8288">
          <front>
            <title>Web Linking</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This specification defines a model for the relationships between resources on the Web ("links") and the type of those relationships ("link relation types").</t>
              <t>It also defines the serialisation of such links in HTTP headers with the Link header field.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8288"/>
          <seriesInfo name="DOI" value="10.17487/RFC8288"/>
        </reference>
        <reference anchor="RFC6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6690"/>
          <seriesInfo name="DOI" value="10.17487/RFC6690"/>
        </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="RFC9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size. There is a need to be able to define basic security services for this data format. This document defines the CBOR Object Signing and Encryption (COSE) protocol. This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization. This specification additionally describes how to represent cryptographic keys using CBOR.</t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="96"/>
          <seriesInfo name="RFC" value="9052"/>
          <seriesInfo name="DOI" value="10.17487/RFC9052"/>
        </reference>
        <reference anchor="RFC8742">
          <front>
            <title>Concise Binary Object Representation (CBOR) Sequences</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes the Concise Binary Object Representation (CBOR) Sequence format and associated media type "application/cbor-seq". A CBOR Sequence consists of any number of encoded CBOR data items, simply concatenated in sequence.</t>
              <t>Structured syntax suffixes for media types allow other media types to build on them and make it explicit that they are built on an existing media type as their foundation. This specification defines and registers "+cbor-seq" as a structured syntax suffix for CBOR Sequences.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8742"/>
          <seriesInfo name="DOI" value="10.17487/RFC8742"/>
        </reference>
        <reference anchor="I-D.ietf-core-href">
          <front>
            <title>Constrained Resource Identifiers</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="21" month="November" year="2025"/>
            <abstract>
              <t>   The Constrained Resource Identifier (CRI) is a complement to the
   Uniform Resource Identifier (URI) that represents the URI components
   in Concise Binary Object Representation (CBOR) rather than as a
   sequence of characters.  This approach simplifies parsing,
   comparison, and reference resolution in environments with severe
   limitations on processing power, code size, and memory size.

   This RFC updates RFC 7595 by adding a column on the "URI Schemes"
   registry.


   // (This "cref" paragraph will be removed by the RFC editor:) After
   // approval of -28 and nit fixes in -29, the present revision -30
   // contains two more small fixes for nits that were uncovered in the
   // RPC intake process.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-href-30"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="aliases" target="https://www.w3.org/TR/webarch/#uri-aliases">
          <front>
            <title>Architecture of the World Wide Web, Section 2.3.1 URI aliases</title>
            <author>
              <organization>W3C</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="cooluris" target="https://www.w3.org/Provider/Style/URI">
          <front>
            <title>Cool URIs don't change</title>
            <author initials="T." surname="BL" fullname="Tim BL">
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="lwm2m" target="https://omaspecworks.org/white-paper-lightweight-m2m-1-1/">
          <front>
            <title>White Paper – Lightweight M2M 1.1</title>
            <author>
              <organization>OMA SpecWorks</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="I-D.ietf-lake-edhoc">
          <front>
            <title>Ephemeral Diffie-Hellman Over COSE (EDHOC)</title>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Francesca Palombini" initials="F." surname="Palombini">
              <organization>Ericsson AB</organization>
            </author>
            <date day="22" month="January" year="2024"/>
            <abstract>
              <t>   This document specifies Ephemeral Diffie-Hellman Over COSE (EDHOC), a
   very compact and lightweight authenticated Diffie-Hellman key
   exchange with ephemeral keys.  EDHOC provides mutual authentication,
   forward secrecy, and identity protection.  EDHOC is intended for
   usage in constrained scenarios and a main use case is to establish an
   OSCORE security context.  By reusing COSE for cryptography, CBOR for
   encoding, and CoAP for transport, the additional code size can be
   kept very low.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lake-edhoc-23"/>
        </reference>
        <reference anchor="w3address" target="http://info.cern.ch/hypertext/WWW/Addressing/BNF.html#43">
          <front>
            <title>W3 address syntax: BNF</title>
            <author initials="T." surname="BL" fullname="Tim BL">
              <organization/>
            </author>
            <date year="1992" month="June" day="29"/>
          </front>
        </reference>
        <reference anchor="noproxy" target="https://about.gitlab.com/blog/2021/01/27/we-need-to-talk-no-proxy/">
          <front>
            <title>We need to talk: Can we standardize NO_PROXY?</title>
            <author initials="S." surname="Hu" fullname="Stan Hu">
              <organization/>
            </author>
            <date year="2021" month="January" day="27"/>
          </front>
        </reference>
        <reference anchor="evossl" target="https://www.digicert.com/blog/evolution-of-ssl">
          <front>
            <title>The Evolution of SSL and TLS</title>
            <author initials="E." surname="Baier" fullname="Elizabeth Baier">
              <organization/>
            </author>
            <date year="2015" month="February" day="02"/>
          </front>
        </reference>
        <reference anchor="SUIB" target="https://manysecured.net/wp-content/uploads/2022/09/ManySecured-SUIB-White-Paper.pdf">
          <front>
            <title>Router and IoT Vulnerabilities: Insecure by Design</title>
            <author>
              <organization/>
            </author>
            <date year="2021"/>
          </front>
        </reference>
        <reference anchor="RFC8323">
          <front>
            <title>CoAP (Constrained Application Protocol) over TCP, TLS, and WebSockets</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="S. Lemay" initials="S." surname="Lemay"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="B. Silverajan" initials="B." surname="Silverajan"/>
            <author fullname="B. Raymor" initials="B." role="editor" surname="Raymor"/>
            <date month="February" year="2018"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP), although inspired by HTTP, was designed to use UDP instead of TCP. The message layer of CoAP over UDP includes support for reliable delivery, simple congestion control, and flow control.</t>
              <t>Some environments benefit from the availability of CoAP carried over reliable transports such as TCP or Transport Layer Security (TLS). This document outlines the changes required to use CoAP over TCP, TLS, and WebSockets transports. It also formally updates RFC 7641 for use with these transports and RFC 7959 to enable the use of larger messages over a reliable transport.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8323"/>
          <seriesInfo name="DOI" value="10.17487/RFC8323"/>
        </reference>
        <reference anchor="I-D.bormann-t2trg-slipmux">
          <front>
            <title>Slipmux: Using an UART interface for diagnostics, configuration, and packet transfer</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universitaet Bremen TZI</organization>
            </author>
            <author fullname="Tobias Kaupat" initials="T." surname="Kaupat">
              <organization>Lobaro UG</organization>
            </author>
            <date day="4" month="November" year="2019"/>
            <abstract>
              <t>   Many research and maker platforms for Internet of Things
   experimentation offer a serial interface.  This is often used for
   programming, diagnostic output, as well as a crude command interface
   ("AT interface").  Alternatively, it is often used with SLIP
   (RFC1055) to transfer IP packets only.

   The present report describes how to use a single serial interface for
   diagnostics, configuration commands and state readback, as well as
   packet transfer.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-t2trg-slipmux-03"/>
        </reference>
        <reference anchor="I-D.amsuess-core-coap-over-gatt">
          <front>
            <title>CoAP over GATT (Bluetooth Low Energy Generic Attributes)</title>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <date day="20" month="October" year="2025"/>
            <abstract>
              <t>   Interaction from computers and cell phones to constrained devices is
   limited by the different network technologies used, and by the
   available APIs.  This document describes a transport for the
   Constrained Application Protocol (CoAP) that uses Bluetooth GATT
   (Generic Attribute Profile) and its use cases.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-amsuess-core-coap-over-gatt-08"/>
        </reference>
        <reference anchor="I-D.ietf-tls-esni">
          <front>
            <title>TLS Encrypted Client Hello</title>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>Independent</organization>
            </author>
            <author fullname="Kazuho Oku" initials="K." surname="Oku">
              <organization>Fastly</organization>
            </author>
            <author fullname="Nick Sullivan" initials="N." surname="Sullivan">
              <organization>Cryptography Consulting LLC</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="14" month="June" year="2025"/>
            <abstract>
              <t>   This document describes a mechanism in Transport Layer Security (TLS)
   for encrypting a ClientHello message under a server public key.

Discussion Venues

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

   Source for this draft and an issue tracker can be found at
   https://github.com/tlswg/draft-ietf-tls-esni
   (https://github.com/tlswg/draft-ietf-tls-esni).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-esni-25"/>
        </reference>
        <reference anchor="RFC9176">
          <front>
            <title>Constrained RESTful Environments (CoRE) Resource Directory</title>
            <author fullname="C. Amsüss" initials="C." role="editor" surname="Amsüss"/>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="M. Koster" initials="M." surname="Koster"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>In many Internet of Things (IoT) applications, direct discovery of resources is not practical due to sleeping nodes or networks where multicast traffic is inefficient. These problems can be solved by employing an entity called a Resource Directory (RD), which contains information about resources held on other servers, allowing lookups to be performed for those resources. The input to an RD is composed of links, and the output is composed of links constructed from the information stored in the RD. This document specifies the web interfaces that an RD supports for web servers to discover the RD and to register, maintain, look up, and remove information on resources. Furthermore, new target attributes useful in conjunction with an RD are defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9176"/>
          <seriesInfo name="DOI" value="10.17487/RFC9176"/>
        </reference>
        <reference anchor="I-D.ietf-core-dns-over-coap">
          <front>
            <title>DNS over CoAP (DoC)</title>
            <author fullname="Martine Sophie Lenders" initials="M. S." surname="Lenders">
              <organization>TUD Dresden University of Technology</organization>
            </author>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <author fullname="Cenk Gündoğan" initials="C." surname="Gündoğan">
              <organization>NeuralAgent GmbH</organization>
            </author>
            <author fullname="Thomas C. Schmidt" initials="T. C." surname="Schmidt">
              <organization>HAW Hamburg</organization>
            </author>
            <author fullname="Matthias Wählisch" initials="M." surname="Wählisch">
              <organization>TUD Dresden University of Technology &amp; Barkhausen Institut</organization>
            </author>
            <date day="16" month="September" year="2025"/>
            <abstract>
              <t>   This document defines a protocol for exchanging DNS queries (OPCODE
   0) over the Constrained Application Protocol (CoAP).  These CoAP
   messages can be protected by (D)TLS-Secured CoAP (CoAPS) or Object
   Security for Constrained RESTful Environments (OSCORE) to provide
   encrypted DNS message exchange for constrained devices in the
   Internet of Things (IoT).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-dns-over-coap-20"/>
        </reference>
        <reference anchor="rfc9176">
          <front>
            <title>Constrained RESTful Environments (CoRE) Resource Directory</title>
            <author fullname="C. Amsüss" initials="C." role="editor" surname="Amsüss"/>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="M. Koster" initials="M." surname="Koster"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. van der Stok" initials="P." surname="van der Stok"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>In many Internet of Things (IoT) applications, direct discovery of resources is not practical due to sleeping nodes or networks where multicast traffic is inefficient. These problems can be solved by employing an entity called a Resource Directory (RD), which contains information about resources held on other servers, allowing lookups to be performed for those resources. The input to an RD is composed of links, and the output is composed of links constructed from the information stored in the RD. This document specifies the web interfaces that an RD supports for web servers to discover the RD and to register, maintain, look up, and remove information on resources. Furthermore, new target attributes useful in conjunction with an RD are defined.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9176"/>
          <seriesInfo name="DOI" value="10.17487/RFC9176"/>
        </reference>
        <reference anchor="I-D.amsuess-core-resource-directory-extensions">
          <front>
            <title>CoRE Resource Directory Extensions</title>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <date day="6" month="November" year="2024"/>
            <abstract>
              <t>   A collection of extensions to the Resource Directory [rfc9176] that
   can stand on their own, and have no clear future in specification
   yet.

Discussion Venues

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

   Discussion of this document takes place on the Constrained RESTful
   Environments Working Group mailing list (core@ietf.org), which is
   archived at https://mailarchive.ietf.org/arch/browse/core/.

   Source for this draft and an issue tracker can be found at
   https://gitlab.com/chrysn/resource-directory-extensions.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-amsuess-core-resource-directory-extensions-11"/>
        </reference>
        <reference anchor="I-D.ietf-lpwan-coap-static-context-hc">
          <front>
            <title>Static Context Header Compression (SCHC) for the Constrained Application Protocol (CoAP)</title>
            <author fullname="Ana Minaburo" initials="A." surname="Minaburo">
              <organization>Acklio</organization>
            </author>
            <author fullname="Laurent Toutain" initials="L." surname="Toutain">
              <organization>Institut MINES TELECOM; IMT Atlantique</organization>
            </author>
            <author fullname="Ricardo Andreasen" initials="R." surname="Andreasen">
              <organization>Universidad de Buenos Aires</organization>
            </author>
            <date day="8" month="March" year="2021"/>
            <abstract>
              <t>This document defines how to compress Constrained Application Protocol (CoAP) headers using the Static Context Header Compression and fragmentation (SCHC) framework.  SCHC defines a header compression mechanism adapted for Constrained Devices.  SCHC uses a static description of the header to reduce the header's redundancy and size.  While RFC 8724 describes the SCHC compression and fragmentation framework, and its application for IPv6/UDP headers, this document applies SCHC to CoAP headers.  The CoAP header structure differs from IPv6 and UDP, since CoAP uses a flexible header with a variable number of options, themselves of variable length.  The CoAP message format is asymmetric: the request messages have a header format different from the format in the response messages.  This specification gives guidance on applying SCHC to flexible headers and how to leverage the asymmetry for more efficient compression Rules.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lpwan-coap-static-context-hc-19"/>
        </reference>
        <reference anchor="I-D.tiloca-core-oscore-capable-proxies">
          <front>
            <title>OSCORE-capable Proxies</title>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <date day="10" month="July" year="2023"/>
            <abstract>
              <t>   Object Security for Constrained RESTful Environments (OSCORE) can be
   used to protect CoAP messages end-to-end between two endpoints at the
   application layer, also in the presence of intermediaries such as
   proxies.  This document defines how to use OSCORE for protecting CoAP
   messages also between an origin application endpoint and an
   intermediary, or between two intermediaries.  Also, it defines how to
   secure a CoAP message by applying multiple, nested OSCORE
   protections, e.g., both end-to-end between origin application
   endpoints, as well as between an application endpoint and an
   intermediary or between two intermediaries.  Thus, this document
   updates RFC 8613.  The same approach can be seamlessly used with
   Group OSCORE, for protecting CoAP messages when group communication
   with intermediaries is used.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-tiloca-core-oscore-capable-proxies-07"/>
        </reference>
        <reference anchor="RFC9463">
          <front>
            <title>DHCP and Router Advertisement Options for the Discovery of Network-designated Resolvers (DNR)</title>
            <author fullname="M. Boucadair" initials="M." role="editor" surname="Boucadair"/>
            <author fullname="T. Reddy.K" initials="T." role="editor" surname="Reddy.K"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <author fullname="N. Cook" initials="N." surname="Cook"/>
            <author fullname="T. Jensen" initials="T." surname="Jensen"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document specifies new DHCP and IPv6 Router Advertisement options to discover encrypted DNS resolvers (e.g., DNS over HTTPS, DNS over TLS, and DNS over QUIC). Particularly, it allows a host to learn an Authentication Domain Name together with a list of IP addresses and a set of service parameters to reach such encrypted DNS resolvers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9463"/>
          <seriesInfo name="DOI" value="10.17487/RFC9463"/>
        </reference>
        <reference anchor="I-D.lenders-core-dnr">
          <front>
            <title>Discovery of Network-designated OSCORE-based Resolvers: Problem Statement</title>
            <author fullname="Martine Sophie Lenders" initials="M. S." surname="Lenders">
              <organization>TUD Dresden University of Technology</organization>
            </author>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <author fullname="Thomas C. Schmidt" initials="T. C." surname="Schmidt">
              <organization>HAW Hamburg</organization>
            </author>
            <author fullname="Matthias Wählisch" initials="M." surname="Wählisch">
              <organization>TUD Dresden University of Technology &amp; Barkhausen Institut</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   This document states problems when designing DNS SVCB records to
   discover endpoints that communicate over Object Security for
   Constrained RESTful Environments (OSCORE) [RFC8613].  As a
   consequence of learning about OSCORE, this discovery will allow a
   host to learn both CoAP servers and DNS over CoAP resolvers that use
   OSCORE to encrypt messages and Ephemeral Diffie-Hellman Over COSE
   (EDHOC) [RFC9528] for key exchange.  Challenges arise because SVCB
   records are not meant to be used to exchange security contexts, which
   is required in OSCORE scenarios.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-lenders-core-dnr-06"/>
        </reference>
        <reference anchor="I-D.amsuess-t2trg-onion-coap">
          <front>
            <title>Using onion routing with CoAP</title>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <author fullname="Marco Tiloca" initials="M." surname="Tiloca">
              <organization>RISE AB</organization>
            </author>
            <author fullname="Rikard Höglund" initials="R." surname="Höglund">
              <organization>RISE AB</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   The CoAP protocol was designed with direct connections and proxies in
   mind.  This document defines mechanisms by which chains of proxies
   can be set up.  In combination, they enable the operation of hidden
   services and of clients similar to how Tor (onion routing) enables it
   for TCP-based protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-amsuess-t2trg-onion-coap-04"/>
        </reference>
        <reference anchor="I-D.ietf-core-coap-dtls-alpn">
          <front>
            <title>ALPN ID Specification for CoAP over DTLS</title>
            <author fullname="Martine Sophie Lenders" initials="M. S." surname="Lenders">
              <organization>TUD Dresden University of Technology</organization>
            </author>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <author fullname="Thomas C. Schmidt" initials="T. C." surname="Schmidt">
              <organization>HAW Hamburg</organization>
            </author>
            <author fullname="Matthias Wählisch" initials="M." surname="Wählisch">
              <organization>TUD Dresden University of Technology &amp; Barkhausen Institut</organization>
            </author>
            <date day="11" month="August" year="2025"/>
            <abstract>
              <t>   This document specifies an Application-Layer Protocol Negotiation
   (ALPN) ID for transport-layer-secured Constrained Application
   Protocol (CoAP) services.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-core-coap-dtls-alpn-05"/>
        </reference>
        <reference anchor="RFC6698">
          <front>
            <title>The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schlyter" initials="J." surname="Schlyter"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>Encrypted communication on the Internet often uses Transport Layer Security (TLS), which depends on third parties to certify the keys used. This document improves on that situation by enabling the administrators of domain names to specify the keys used in that domain's TLS servers. This requires matching improvements in TLS client software, but no change in TLS server software. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6698"/>
          <seriesInfo name="DOI" value="10.17487/RFC6698"/>
        </reference>
        <reference anchor="I-D.-ietf-lake-app-profiles">
          <front>
            <title>*** BROKEN REFERENCE ***</title>
            <author>
              <organization/>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="RFC9200">
          <front>
            <title>Authentication and Authorization for Constrained Environments Using the OAuth 2.0 Framework (ACE-OAuth)</title>
            <author fullname="L. Seitz" initials="L." surname="Seitz"/>
            <author fullname="G. Selander" initials="G." surname="Selander"/>
            <author fullname="E. Wahlstroem" initials="E." surname="Wahlstroem"/>
            <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="August" year="2022"/>
            <abstract>
              <t>This specification defines a framework for authentication and authorization in Internet of Things (IoT) environments called ACE-OAuth. The framework is based on a set of building blocks including OAuth 2.0 and the Constrained Application Protocol (CoAP), thus transforming a well-known and widely used authorization solution into a form suitable for IoT devices. Existing specifications are used where possible, but extensions are added and profiles are defined to better serve the IoT use cases.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9200"/>
          <seriesInfo name="DOI" value="10.17487/RFC9200"/>
        </reference>
        <reference anchor="I-D.ietf-cbor-edn-literals">
          <front>
            <title>CBOR Extended Diagnostic Notation (EDN)</title>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <date day="29" month="April" year="2026"/>
            <abstract>
              <t>   This document formalizes and consolidates the definition of the
   Extended Diagnostic Notation (EDN) of the Concise Binary Object
   Representation (CBOR), addressing implementer experience.

   Replacing EDN's previous informal descriptions, it updates RFC 8949,
   obsoleting its Section 8, and RFC 8610, obsoleting its Appendix G.

   It also specifies registry-based extension points and uses them to
   support text representations such as of epoch-based dates/times and
   of IP addresses and prefixes.


   // (This cref will be removed by the RFC editor:) The present -23 is
   // intended as reference material during the 2026-04-29 CBOR interim,
   // a complete specification that reacts to discussion on previous
   // draft revisions and that can be used to confirm the results in a
   // WGLC.  Among other concerns, the discussion revealed that some
   // additional editorial content was required; the attempt was to
   // address this need without making technical changes.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-edn-literals-23"/>
        </reference>
        <reference anchor="RFC7291">
          <front>
            <title>DHCP Options for the Port Control Protocol (PCP)</title>
            <author fullname="M. Boucadair" initials="M." surname="Boucadair"/>
            <author fullname="R. Penno" initials="R." surname="Penno"/>
            <author fullname="D. Wing" initials="D." surname="Wing"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>This document specifies DHCP (IPv4 and IPv6) options to configure hosts with Port Control Protocol (PCP) server IP addresses. The use of DHCPv4 or DHCPv6 depends on the PCP deployment scenarios. The set of deployment scenarios to which DHCPv4 or DHCPv6 can be applied is outside the scope of this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7291"/>
          <seriesInfo name="DOI" value="10.17487/RFC7291"/>
        </reference>
        <reference anchor="RFC9462">
          <front>
            <title>Discovery of Designated Resolvers</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="E. Kinnear" initials="E." surname="Kinnear"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <author fullname="T. Jensen" initials="T." surname="Jensen"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document defines Discovery of Designated Resolvers (DDR), a set of mechanisms for DNS clients to use DNS records to discover a resolver's encrypted DNS configuration. An Encrypted DNS Resolver discovered in this manner is referred to as a "Designated Resolver". These mechanisms can be used to move from unencrypted DNS to encrypted DNS when only the IP address of a resolver is known. These mechanisms are designed to be limited to cases where Unencrypted DNS Resolvers and their Designated Resolvers are operated by the same entity or cooperating entities. It can also be used to discover support for encrypted DNS protocols when the name of an Encrypted DNS Resolver is known.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9462"/>
          <seriesInfo name="DOI" value="10.17487/RFC9462"/>
        </reference>
        <reference anchor="RFC9461">
          <front>
            <title>Service Binding Mapping for DNS Servers</title>
            <author fullname="B. Schwartz" initials="B." surname="Schwartz"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>The SVCB DNS resource record type expresses a bound collection of endpoint metadata, for use when establishing a connection to a named service. DNS itself can be such a service, when the server is identified by a domain name. This document provides the SVCB mapping for named DNS servers, allowing them to indicate support for encrypted transport protocols.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9461"/>
          <seriesInfo name="DOI" value="10.17487/RFC9461"/>
        </reference>
        <reference anchor="rfc3172">
          <front>
            <title>Management Guidelines &amp; Operational Requirements for the Address and Routing Parameter Area Domain ("arpa")</title>
            <author fullname="G. Huston" initials="G." role="editor" surname="Huston"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This memo describes the management and operational requirements for the address and routing parameter area ("arpa") domain. 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="52"/>
          <seriesInfo name="RFC" value="3172"/>
          <seriesInfo name="DOI" value="10.17487/RFC3172"/>
        </reference>
        <reference anchor="rfc9476">
          <front>
            <title>The .alt Special-Use Top-Level Domain</title>
            <author fullname="W. Kumari" initials="W." surname="Kumari"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="September" year="2023"/>
            <abstract>
              <t>This document reserves a Top-Level Domain (TLD) label "alt" to be used in non-DNS contexts. It also provides advice and guidance to developers creating alternative namespaces.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9476"/>
          <seriesInfo name="DOI" value="10.17487/RFC9476"/>
        </reference>
        <reference anchor="RFC7301">
          <front>
            <title>Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension</title>
            <author fullname="S. Friedl" initials="S." surname="Friedl"/>
            <author fullname="A. Popov" initials="A." surname="Popov"/>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="E. Stephan" initials="E." surname="Stephan"/>
            <date month="July" year="2014"/>
            <abstract>
              <t>This document describes a Transport Layer Security (TLS) extension for application-layer protocol negotiation within the TLS handshake. For instances in which multiple application protocols are supported on the same TCP or UDP port, this extension allows the application layer to negotiate which protocol will be used within the TLS connection.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7301"/>
          <seriesInfo name="DOI" value="10.17487/RFC7301"/>
        </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>
        <reference anchor="RFC7838">
          <front>
            <title>HTTP Alternative Services</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <author fullname="J. Reschke" initials="J." surname="Reschke"/>
            <date month="April" year="2016"/>
            <abstract>
              <t>This document specifies "Alternative Services" for HTTP, which allow an origin's resources to be authoritatively available at a separate network location, possibly accessed with a different protocol configuration.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7838"/>
          <seriesInfo name="DOI" value="10.17487/RFC7838"/>
        </reference>
        <reference anchor="I-D.amsuess-t2trg-rdlink">
          <front>
            <title>rdlink: Robust distributed links to constrained devices</title>
            <author fullname="Christian Amsüss" initials="C." surname="Amsüss">
         </author>
            <date day="23" month="September" year="2019"/>
            <abstract>
              <t>   Thing to thing communication in Constrained RESTful Environments
   (CoRE) relies on URIs to link to servers.  Next to hierarchical
   configuration and short-lived IP addresses, this document introduces
   a naming scheme for devices based on cryptographic identifiers.  A
   special purpose domain is reserved for expressing those identifiers,
   and mechanisms for constrained devices to announce their names and to
   look them up are described.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-amsuess-t2trg-rdlink-01"/>
        </reference>
        <reference anchor="RFC2616">
          <front>
            <title>Hypertext Transfer Protocol -- HTTP/1.1</title>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="J. Gettys" initials="J." surname="Gettys"/>
            <author fullname="J. Mogul" initials="J." surname="Mogul"/>
            <author fullname="H. Frystyk" initials="H." surname="Frystyk"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <author fullname="P. Leach" initials="P." surname="Leach"/>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>HTTP has been in use by the World-Wide Web global information initiative since 1990. This specification defines the protocol referred to as "HTTP/1.1", and is an update to RFC 2068. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2616"/>
          <seriesInfo name="DOI" value="10.17487/RFC2616"/>
        </reference>
        <reference anchor="RFC5952">
          <front>
            <title>A Recommendation for IPv6 Address Text Representation</title>
            <author fullname="S. Kawamura" initials="S." surname="Kawamura"/>
            <author fullname="M. Kawashima" initials="M." surname="Kawashima"/>
            <date month="August" year="2010"/>
            <abstract>
              <t>As IPv6 deployment increases, there will be a dramatic increase in the need to use IPv6 addresses in text. While the IPv6 address architecture in Section 2.2 of RFC 4291 describes a flexible model for text representation of an IPv6 address, this flexibility has been causing problems for operators, system engineers, and users. This document defines a canonical textual representation format. It does not define a format for internal storage, such as within an application or database. It is expected that the canonical format will be followed by humans and systems when representing IPv6 addresses as text, but all implementations must accept and be able to handle any legitimate RFC 4291 format. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5952"/>
          <seriesInfo name="DOI" value="10.17487/RFC5952"/>
        </reference>
        <reference anchor="RFC1123">
          <front>
            <title>Requirements for Internet Hosts - Application and Support</title>
            <author fullname="R. Braden" initials="R." role="editor" surname="Braden"/>
            <date month="October" year="1989"/>
            <abstract>
              <t>This RFC is an official specification for the Internet community. It incorporates by reference, amends, corrects, and supplements the primary protocol standards documents relating to hosts. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="3"/>
          <seriesInfo name="RFC" value="1123"/>
          <seriesInfo name="DOI" value="10.17487/RFC1123"/>
        </reference>
        <reference anchor="RFC4648">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes. It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="RFC3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <author fullname="T. Berners-Lee" initials="T." surname="Berners-Lee"/>
            <author fullname="R. Fielding" initials="R." surname="Fielding"/>
            <author fullname="L. Masinter" initials="L." surname="Masinter"/>
            <date month="January" year="2005"/>
            <abstract>
              <t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource. This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet. The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier. This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="66"/>
          <seriesInfo name="RFC" value="3986"/>
          <seriesInfo name="DOI" value="10.17487/RFC3986"/>
        </reference>
        <reference anchor="I-D.silverajan-core-coap-protocol-negotiation">
          <front>
            <title>CoAP Protocol Negotiation</title>
            <author fullname="Bill Silverajan" initials="B." surname="Silverajan">
              <organization>TUT</organization>
            </author>
            <author fullname="Mert Ocak" initials="M." surname="Ocak">
              <organization>Ericsson</organization>
            </author>
            <date day="2" month="July" year="2018"/>
            <abstract>
              <t>   CoAP has been standardised as an application-level REST-based
   protocol.  When multiple transport protocols exist for exchanging
   CoAP resource representations, this document introduces a way forward
   for CoAP endpoints as well as intermediaries to agree upon alternate
   transport and protocol configurations as well as URIs for CoAP
   messaging.  Several mechanisms are proposed: Extending the CoRE
   Resource Directory with new parameter types, introducing a new CoAP
   Option with which clients can interact directly with servers without
   needing the Resource Directory, and finally a new CoRE Link Attribute
   allowing exposing alternate locations on a per-resource basis.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-silverajan-core-coap-protocol-negotiation-09"/>
        </reference>
      </references>
    </references>
    <?line 1247?>

<section anchor="change-log">
      <name>Change log</name>
      <t><cref anchor="remove-changelog">This section is to be removed before publication.</cref></t>
      <t>Since draft-ietf-core-transport-indication-09:</t>
      <ul spacing="normal">
        <li>
          <t>edhoc-info replaced with app-profiles' edhoc-app-prof.</t>
        </li>
      </ul>
      <t>Since draft-ietf-core-transport-indication-08:</t>
      <ul spacing="normal">
        <li>
          <t>Explicitly become an SVCB mapping document for the CoAP schemes.</t>
        </li>
        <li>
          <t>Remove coaptransport parameter; instead, request ALPNs for remaining protocols.</t>
        </li>
        <li>
          <t>Point out issue about some metadata pertaining to transport choices and some metadata pertaining to the server itself.</t>
        </li>
        <li>
          <t>Acknowledge that there is structure (eg. in SVCB lookups) that is conceptually flattened.</t>
        </li>
        <li>
          <t>Sulkily accept DNS-over-CoAP reaching into target names as an exception in security requirements.</t>
        </li>
        <li>
          <t>Editorial updates.</t>
        </li>
      </ul>
      <t>Since draft-ietf-core-transport-indication-07:</t>
      <ul spacing="normal">
        <li>
          <t>Update sections 1 and 2:
          </t>
          <ul spacing="normal">
            <li>
              <t>Work more explicitly with 7252's resolution services.</t>
            </li>
            <li>
              <t>List (coarsely) the information received from resolution services.</t>
            </li>
            <li>
              <t>Homogenize treatment of proxy URIs and other resolution service outcomes.</t>
            </li>
            <li>
              <t>Point out parallels to /etc/hosts.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Phrase possible differences w/rt hop-to-hop vs. end-to-end encryption more carefully.</t>
        </li>
        <li>
          <t>SVCB: Rename edhoc-cred to cred.</t>
        </li>
        <li>
          <t>Rework literals following discussion around onion-coap.</t>
        </li>
        <li>
          <t>Point out the fates of appendices.</t>
        </li>
        <li>
          <t>Editorial fixes.</t>
        </li>
      </ul>
      <t>Since draft-ietf-core-transport-indication-06:</t>
      <ul spacing="normal">
        <li>
          <t>Split introduction into terminology (with new definitions), goals and concepts.</t>
        </li>
        <li>
          <t>Add principle of operation into abstract, elevating SVCB and has-proxy to equally ranked sources of endpoint information.</t>
        </li>
        <li>
          <t>Restructure document to split overview and operations from the concrete methods of obtaining endpoints.</t>
        </li>
        <li>
          <t>Add is-unique-proxy SVCB parameter equivalent to has-unique-proxy relation.</t>
        </li>
        <li>
          <t>Remove <tt>_coaps</tt> service, describing <tt>_coap</tt> as applying to all CoAP transports.</t>
        </li>
        <li>
          <t>Add SVCB to abstract.</t>
        </li>
        <li>
          <t>Remove distracting text on URIs identifying transports/endpoints.</t>
        </li>
        <li>
          <t>Editorial changes.</t>
        </li>
        <li>
          <t>IANA considerations: Set change controller to IETF.</t>
        </li>
      </ul>
      <t>Since draft-ietf-core-transport-indication-05:</t>
      <ul spacing="normal">
        <li>
          <t>Semantics for where a has-proxy applies were changed from "wherever there is a <tt>hosts</tt> relation" to "across the same origin".  </t>
          <t>
The <tt>hosts</tt> relation has received complaints about its complexity,
and there were no strong voices in either direction during or after IETF119 when the question has been asked;
going for the easier version.</t>
        </li>
        <li>
          <t>Use of SVCB is added as a section. Underscore prefixes are registered for CoAP, enabling the use of SVCB DNS records for applications that opt in to it (rather than processing it as an alternative history).  </t>
          <t>
While the alternative history section was appreciated during IETF119,
the authors found it highly impractical to provide SVCB ground work without having the actual registrations
(it would have worked only because DNS discovery acts on a separate <tt>_dns</tt> prefix anyway),
and chose the consistent approach of allowing SVCB lookups.</t>
        </li>
        <li>
          <t>Material from the DNS and DNR for CoAP documents was moved in (and overhauled in the process):  </t>
          <ul spacing="normal">
            <li>
              <t>Constructing CoAP requests from Service Parameters that did not result from a host name lookup is described.</t>
            </li>
            <li>
              <t>The coaptransport SVCB parameter is defined.</t>
            </li>
            <li>
              <t>SVCB hints for ACE/OAuth are defined.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Section on how a host can tell that Uri-Host is optional was moved from Open Questions into a section.  </t>
          <t>
This had been around for ages,
and gathering some more experience with the matter,
looks like the obvious approach.</t>
        </li>
        <li>
          <t>Editorial:  </t>
          <ul spacing="normal">
            <li>
              <t>Style for unallocated registrations changed from TBD to CPA</t>
            </li>
            <li>
              <t>References updated</t>
            </li>
            <li>
              <t>Tooling updates</t>
            </li>
            <li>
              <t>Minor fixes</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Since draft-ietf-core-transport-indication-04:</t>
      <ul spacing="normal">
        <li>
          <t>Not just the scheme, but also the authority value influences the transport selection.
          </t>
          <ul spacing="normal">
            <li>
              <t>Add guidance section for new transports.</t>
            </li>
            <li>
              <t>Point out that registerd names already can fan out to different addresses.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Rephrase and simplify security considerations, especially by limiting unique proxying for TLS.</t>
        </li>
        <li>
          <t>Add recommendation to new scheme authors to use "coap"/"coaps" and let the resolution process guide the selection.
          </t>
          <ul spacing="normal">
            <li>
              <t>Remove proxy-schemes attribute from core.proxy because of its greatly reduced value.</t>
            </li>
          </ul>
        </li>
        <li>
          <t>Update "Related work" appendix to cover SVCB instead of SRV records</t>
        </li>
        <li>
          <t>Rename to "Transport Indication", using "protocol" only for other protocols, in established phrases, or when referring to CoAP as a general protocol.</t>
        </li>
        <li>
          <t>Add note linking CoAP-over-WS's .well-known/coap to dohpath</t>
        </li>
        <li>
          <t>Remove OSCORE vs. unique-proxy open point</t>
        </li>
        <li>
          <t>EDHOC EAD: Describe response option content</t>
        </li>
        <li>
          <t>Editorial updates</t>
        </li>
      </ul>
      <t>Since draft-ietf-core-transport-indication-03:</t>
      <ul spacing="normal">
        <li>
          <t>Added appendices on alternative history and Literals beyond IP addresses.
The remaining document was not brought in sync with those new parts.</t>
        </li>
      </ul>
      <t>Since draft-ietf-core-transport-indication-02:</t>
      <ul spacing="normal">
        <li>
          <t>Added EAD appendix, adjusted security considerations to match.</t>
        </li>
      </ul>
      <t>Since draft-ietf-core-transport-indication-01:</t>
      <ul spacing="normal">
        <li>
          <t>Simplify same-host proxy behavior by referring to existing RFC7252 mandate.</t>
        </li>
        <li>
          <t>proxy-links= lookup: Refer to prior art.</t>
        </li>
      </ul>
      <t>Since draft-ietf-core-transport-indication-00:</t>
      <ul spacing="normal">
        <li>
          <t>Add section on canonical URIs that are not necessarily reachable.</t>
        </li>
        <li>
          <t>Clarify that the the "hosts" relation is followed transitively.</t>
        </li>
        <li>
          <t>Cross reference with compatible multicast-notifications concept.</t>
        </li>
      </ul>
      <t>Since draft-amsuess-core-transport-indication-03:</t>
      <ul spacing="normal">
        <li>
          <t>No changes (merely changing the name after WG adoption)</t>
        </li>
      </ul>
      <t>Since -02 (mainly processing reviews from Marco and Klaus):</t>
      <ul spacing="normal">
        <li>
          <t>Acknowledge that 'coap://hostname/' is not the proxy but a URI that (in a particular phrasing) is used to stand in for the proxy's address (while it regularly identifies a resurce on the server)</t>
        </li>
        <li>
          <t>Security: Referencing traffic misdirection already in the first security block.</t>
        </li>
        <li>
          <t>Security: Add (incomplete) considerations for unique-proxy case.</t>
        </li>
        <li>
          <t>Narrow down "unique" proxy semantics to those properties used by the client, allowing unique proxies to be co-hosted with forward proxies.</t>
        </li>
        <li>
          <t>"Client picked proxies" clarified to merely illustrate how this is compatible with them.</t>
        </li>
        <li>
          <t>Use of "hosts" relation sharpened.</t>
        </li>
        <li>
          <t>Precision on how this does and does not consider changing transports.</t>
        </li>
        <li>
          <t>"Related work" section demoted to appendix.</t>
        </li>
        <li>
          <t>Add note on DTLS session resumption.</t>
        </li>
        <li>
          <t>Variable renaming.</t>
        </li>
        <li>
          <t>Various editorial fixes.</t>
        </li>
      </ul>
      <t>Since -01:</t>
      <ul spacing="normal">
        <li>
          <t>Removed suggestion for generally trusted proxies;
now stating that with (D)TLS,
"a third party proxy can usually not satisfy [the security context propagation requirement]".</t>
        </li>
        <li>
          <t>State more clearly that valid cache entries for resources aliased through has-unique-proxy can be used.</t>
        </li>
        <li>
          <t>Added considerations for Multipath TCP.</t>
        </li>
        <li>
          <t>Added concrete suggestion and example for advertisement of general proxies.</t>
        </li>
        <li>
          <t>Added concrete suggestion for RD lookup extension that provides proxies.</t>
        </li>
        <li>
          <t>Minor editorial and example changes.</t>
        </li>
      </ul>
      <t>Since -00:</t>
      <ul spacing="normal">
        <li>
          <t>Added introduction</t>
        </li>
        <li>
          <t>Added examples</t>
        </li>
        <li>
          <t>Added SCHC analogy</t>
        </li>
        <li>
          <t>Expanded security considerations</t>
        </li>
        <li>
          <t>Added guidance on choice of transport, and canonical addresses</t>
        </li>
        <li>
          <t>Added subsection on interaction with a Resource Directory</t>
        </li>
        <li>
          <t>Added comparisons with related work, including rdlink and DNS-SD sketches</t>
        </li>
        <li>
          <t>Added IANA considerations</t>
        </li>
        <li>
          <t>Added section on open questions</t>
        </li>
      </ul>
    </section>
    <section anchor="related-work-and-applicability-to-related-fields">
      <name>Related work and applicability to related fields</name>
      <t><cref anchor="remove-relatedwork">This section is to be removed before submission to the IESG, with at least the MP-TCP section worked into corr-clar.</cref></t>
      <section anchor="on-http">
        <name>On HTTP</name>
        <t>The mechanisms introduced here are similar to the Alt-Svc header of <xref target="RFC7838"/>
in that they do not create different application-visible addresses,
but provide dispatch through lower transport implementations.</t>
        <t>In HTTP, different versions of the protocol (i.e., different transports)
are distinguished using a protocol identifier equivalent to an ALPN.
This works well because all relevant transports use transport layer security and thus can use ALPNs.
In contrast, the currently specified CoAP transports predate ALPNs,
and specified per-transport schemes, which enable the use of URIs that indicate transports.</t>
        <t>To accommodate the message size constraints typical of CoRE environments,
and accounting for the differences between HTTP headers and CoAP options,
information is delivered once at discovery time.</t>
        <t>Using the has-proxy and has-unique-proxy with HTTP URIs as the context is NOT RECOMMENDED;
the HTTP provisions of the Alt-Svc header and ALPN are preferred.</t>
      </section>
      <section anchor="using-dns">
        <name>Using DNS</name>
        <t>DNS Service Binding resource records (SVCB RRs)
described in <xref target="RFC9460"/> can carry many of the details otherwise negotiated using the proxy relations.
In HTTP, they can be used in a way similar to Alt-Svc headers.</t>
        <t>SVCB records were not specified when CoAP was specified for TCP.</t>
        <t>If at any point SVCB records for CoAP are defined,
name resolution produces a set of transport details that can be used immediately
without the need for a <tt>has-proxy</tt> link.
Explicit <tt>has-proxy</tt> links would still be relevant for third party advertised proxies.</t>
      </section>
      <section anchor="using-names-outside-regular-dns">
        <name>Using names outside regular DNS</name>
        <t>Names that are resolved through different mechanisms than DNS,
or names which are defined within the scope of DNS but have no universally valid answers to A/AAAA requests,
can be advertised using the relation types defined here and CoAP discovery.</t>
        <t>In <xref target="fig-rdlink"/>, a server using a cryptographic name as described in <xref target="I-D.amsuess-t2trg-rdlink"/> is discovered and used.</t>
        <figure anchor="fig-rdlink">
          <name>Obtaining a sensor value from a local device with a global name</name>
          <artwork><![CDATA[
Req: to [ff02::fd]:5683 on UDP
Code: GET
Uri-Path: /.well-known/core
Uri-Query: rel=has-proxy
Uri-Query: anchor=coap://nbswy3dpo5xxe3denbswy3dpo5xxe3de.ab.rdlink.arpa

Res: from [2001:db8::1]:5683
Content-Format: application/link-format
Payload:
<coap+tcp://[2001:db8::1]>;rel=has-unique-proxy;
  anchor="coap://nbswy3dpo5xxe3denbswy3dpo5xxe3de.ab.rdlink.arpa"


Req: to [2001:db8::1]:5683 on TCP
Code: GET
OSCORE: ...
Uri-Path: /sensors/temp
Observe: 0

Res: 2.05 Content
OSCORE: ...
Observe: 0
Payload:
39.1°C
]]></artwork>
        </figure>
      </section>
      <section anchor="multipath-tcp">
        <name>Multipath TCP</name>
        <t>When CoAP-over-TCP is used over Multipath TCP
and no Uri-Host option is sent,
the implicit assumption is that there is aliasing between URIs containing any of the endpoints' addresses.</t>
        <t>As these are negotiated within MPTCP,
this works independently of this document's mechanisms.
As long as all the server's addresses are equally reachable,
there is no need to advertise multiple addresses that can later be discovered through MPTCP anyway.
When advertisements are long-lived and there is no single more stable address,
several available addresses can be advertised (independently of whether MPTCP is involved or not).
If a client uses an address that is merely a proxy address (and not a unique proxy address),
but during MPTCP finds out that the network location being accessed is actually an MPTCP alternative address of the used one,
the client MAY forego sending of the Proxy-Scheme and Uri-Path option.</t>
        <t>[ This follows from multiple addresses being valid for that TCP connection;
at some point we may want to say something about what that means for the default value of the Uri-Host option --
maybe something like "has the default value of any of the associated addresses, but the server may only enable MPTCP if there is implicit aliasing between all of them" (similar to OSCORE's statement)?  ]</t>
        <t>[ TBD: Do we need a section analog to this that deals with (D)TLS session resumption in absence of SNI? ]</t>
      </section>
    </section>
    <section anchor="open-questions-further-ideas">
      <name>Open Questions / further ideas</name>
      <t><cref anchor="remove-openquestions">This section is to be either converted into concrete guidance, or removed before submission to the IESG.</cref></t>
      <ul spacing="normal">
        <li>
          <t>Advertising under a stable name:  </t>
          <t>
If a host wants to advertise its host name rather than its IP address during multicast, how does it best do that?  </t>
          <t>
Options, when answering from 2001:db8::1 to a request to ff02::fd are:  </t>
          <artwork><![CDATA[
<coap://myhostname/foo>,...,
<coap://[2001:db8::1]>;rel=has-unique-proxy;anchor="coap://myhostname"
]]></artwork>
          <t>
which is verbose but formally clear, and  </t>
          <artwork><![CDATA[
</foo>,...,
<coap://[2001:db8::1]>;rel=has-unique-proxy;anchor="coap://myhostname"
]]></artwork>
          <t>
which is compatible with unaware clients,
but its correctness with respect to canonical URIs needs to be argued by the client, in this sequence  </t>
          <ul spacing="normal">
            <li>
              <t>understanding the has-unique-proxy line,</t>
            </li>
            <li>
              <t>understanding that the request that went to 2001:db8::1 was really a Proxy-Scheme/Uri-Host-elided version of a request to coap://myhostname, and then</t>
            </li>
            <li>
              <t>processing any relative reference with this new base in mind.</t>
            </li>
          </ul>
          <t>
(Not that it'd need to happen in software in that sequence,
but that's the sequence needed to understand how the <tt>/foo</tt> here is really <tt>coap://myhostname/foo</tt>).  </t>
          <t>
If CoRAL is used during discovery, a base directive or reverse relation to has-unique-proxy would make this easier.</t>
        </li>
      </ul>
    </section>
    <section anchor="ead">
      <name>EDHOC EAD for verifying legitimate proxies</name>
      <t><cref anchor="remove-edhocead">This section is to be moved into another document, possibly <tt>groupcomm-proxy</tt>.</cref></t>
      <t>This document sketches an extension to <xref target="I-D.ietf-lake-edhoc"/> that informs the server of the public address the client is using,
allowing it to detect undesired reverse proxies.</t>
      <t>[ This section is immature, and written up as a discussion starting point. Further research into prior art is still necessary. ]</t>
      <t>The External Authorization Data (EAD) item with name "Proxy CRI", label 24-CPA, is defined for use with messages 1, 2 and 3.</t>
      <t>A client can set this label in uncritical form, followed by a CRI (<xref target="I-D.ietf-core-href"/>) that is CBOR-encoded in a byte string as a CBOR sequence.
The transport indicated by the URI is the proxy the client chose from information advertised about the server.</t>
      <t>If a server can not determine its set of legitimate proxies,
it ignores the option (as does any EDHOC implementation that is unaware of it).</t>
      <t>If it recognizes the CRI as belonging to a legitimate proxy,
it places the empty label in its non-critical form in the next message to confirm the proxy choice.
Otherwise, it places the label in its critical form, either empty or containing a recommended CRI.
The client may then decide to discontinue using the proxy,
or to use more extensive padding options to sidestep the attack.
Both the client and the server may alert their administrators of a possible traffic misdirection.</t>
      <t>[ While using an EDHOC EAD is suitable for connection setup,
   such a mechanism may also be useful at a later time,
   e.g. to re-check a server's address after a name change;
   establishing an equivalent CoAP option is being considered,
   also oin light of the discussion around https://github.com/core-wg/corrclar/pull/40 and https://github.com/core-wg/groupcomm-proxy/issues/3.
   ]</t>
    </section>
    <section anchor="newlit">
      <name>Literals beyond IP addresses</name>
      <t>[
This section is placed here preliminarily:
After initial review in CoRE, this may be better moved into a separate document aiming for a wider IETF audience.
]</t>
      <section anchor="motivation-for-new-literal-ish-names">
        <name>Motivation for new literal-ish names</name>
        <t>IP literals were part of URIs from the start <xref target="w3address"/>.
Initially, they were equivalent to host names in their expressiveness,
save for their inherent difference that the former can be used without a shared resolver,
and the latter can be switched to a different network address.</t>
        <t>This equivalence got lost gradually:
Certificates for TLS (its precursor SSL has been available since 1995 <xref target="evossl"/>)
<!-- TBD cite - https://en.wikipedia.org/wiki/HTTPS or  ? -->
have only practically been available to host names.
The Host header introduced in HTTP 1.1 <xref section="14.23" sectionFormat="of" target="RFC2616"/>
introduced name based virtual hosting in 1999.
DANE <xref target="RFC6698"/>, which provides TLS public keys augmenting the or outside of the public key infrastructure,
is only available for host names resolved through DNSSEC.
SVCB records <xref target="RFC9460"/> introduced in 2023
allow starting newer HTTP transports without going through HTTP/1.1 first,
enables load balancing, fail-over,
and enable Encrypted Client Hello --
again, only for host names resolved through DNS.</t>
        <t>This document proposes an expression for the host component of a URI
that fills that gap.
Note that no attempt is yet made to register <tt>service.arpa</tt> in the .ARPA Zone Management;
that name is used only for the purpose of discussion.</t>
        <t><cref anchor="prelim">The structure and even more the syntax used here is highly preliminary.
They serves to illustrate that the desired properties can be obtained,
and do not claim to be optimal.
As one of many aspects, they are missing considerations for normalization
and for internationalization.</cref></t>
      </section>
      <section anchor="structure-of-servicearpa">
        <name>Structure of <tt>service.arpa</tt></name>
        <t>Names under service.arpa are structured into
an ordered list of key-value component pairs,
and the common suffix <tt>service.arpa</tt>.</t>
        <t>These pairs represent the very items also produced by <xref target="processing-scheme-authority"/>.
In the current version, they can <em>not</em> express multiple entries with different structures.
They can express different entries, but any repeated items (e.g. different ALPNs and IP addresses)
only produce their product
(i.e., no "TCP on this or that address, TLS on another").</t>
        <t>Keeping with the style of DNS (least significant component first),
pairs are expressed with their data a first label, followed by the key in a separate label.
Data items ending with a "-" character are concatenated with their previous label to avoid overflowing the 63-octet limit of DNS
(even though those do not wind up in DNS serialization).</t>
        <t>For example, "world.hello-.label.8080.port" contains,
in that order,
information about port 8080 and the label "helloworld".</t>
        <t>Initial component types are:</t>
        <ul spacing="normal">
          <li>
            <t>"6": The value encodes an IPv6 address
in <xref target="RFC5952"/> format, with the colon character (":") replaced with a dash ("-").  </t>
            <t>
It indicates an address of a host providing the service.  </t>
            <t>
If any address information is present,
a client SHOULD use that information to access the service.</t>
          </li>
          <li>
            <t>"4": The value encodes an IPv4 address
in dotted decimal format <xref target="RFC1123"/>, with the dot character (".") replaced with a dash ("-").  </t>
            <t>
It indicates an address of a host providing the service.</t>
          </li>
          <li>
            <t>"tlsa": The data of a DNS TLSA record <xref target="RFC6698"/> encoded in base32 <xref target="RFC4648"/>.  </t>
            <t>
Depending on the usage, this describes TLS credentials through which the service can be authenticated.  </t>
            <t>
If present,
a client MUST establish a secure connection,
and MUST fail the connection if the TLSA record's requirements are not met.</t>
          </li>
          <li>
            <t>"cred", "edhoc-app-prof", "edhocpath", "oauth-info": SvcbParams in base32 encoding of their wire format.</t>
          </li>
          <li>
            <t>"alpn": The ALPN(s) in hexadecimal encoding, separated by dashes.</t>
          </li>
        </ul>
        <t>Due to <xref target="RFC3986"/>'s rules,
all components are case insensitive and canonically lowercase.</t>
        <t>Note that while using the IPvFuture mechanism of <xref target="RFC3986"/> would avoid compatibility issues around the 63 character limit
and some of the character restrictions,
it would not resolve the larger limitation of case insensitivity.</t>
      </section>
      <section anchor="processing-servicearpa">
        <name>Processing <tt>service.arpa</tt></name>
        <t>A client accessing a resource under a service.arpa name
does not consult DNS,
but obtains information equivalent to the results of a DNS query from parsing the name.</t>
        <t>DNS resolvers should refuse to resolve service.arpa names.
(They would have all the information needed to produce sensible results,
but operational aspects would need a lot of consideration;
future versions of this document may revise this).</t>
      </section>
      <section anchor="examples">
        <name>Examples</name>
        <t>TBD: For SvcParams, the examples are inconsistent with the base32 recommendation;
they serve to explore the possible alternatives.</t>
        <ul spacing="normal">
          <li>
            <t>http://683263.alpn.2001-db8--1.6.service.arpa/ -- The server is reachable on 2001:db8::1 using HTTP/2 (h2c is 683263 in hex)</t>
          </li>
          <li>
            <t>https://amaqckrkfivcukrkfivcukrkfivcukrkfivcukrkfivcukrkfivcukrk.tlsa.service.arpa/ -- No address information is provided, the client needs to resort to other discovery mechanisms.
Any server is eligible to serve the resource if it can present a (possibly self-signed) certificate whose public key SHA256 matches the encoded value.</t>
          </li>
          <li>
            <t>coap://434f4150.alpn.2001-db8--1.6.rai3ouj4a.ueekcandaeasabbblaqlxq2jmbjg5jgtf2kazljkenaurxocc6i2ckx3zowjgy-.cred.service.arpa/ -- The server is reachable using CoAP over TCP with any security mechanism at 2001:db8::1, and the service is identifiable by the use of a KCCS credential describing an X25519 public key (which is currently only usable with EDHOC).</t>
          </li>
          <li>
            <t>coap://rai3ouj4a.ueekcandaeasabbblaqlxq2jmbjg5jgtf2kazljkenaurxocc6i2ckx3zowjgyr-.cred.service.arpa/ -- The same server without any discoverability hints; it is up to the client to discover a (possibly short-lived) connection opportunities to the server identified by that key.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>This document heavily builds on concepts
explored by Bill Silverajan and Mert Ocak in <xref target="I-D.silverajan-core-coap-protocol-negotiation"/>,
and together with Ines Robles and Klaus Hartke inside T2TRG.</t>
      <t>[ TBD: reviewers
Marco
Klaus
]</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA929a3YbWZIm+N9X4Q3NaZFRAPiSFBKUkVEMUhGhk3qVSFVU
TWZ00gE4QE8B7kh3BymkUn1mD7ORXsD86tnJrGTMPjO7DweokLJ65sx01DmV
IumP6/dhz88+GwwGyc0oPUmStmgX+Sg9q07fpJd1Vjarqm7T5+W0mGRtUZXJ
tJqU2ZIumdbZrB0UeTsbTKo6H7R29aBwVw+ODpOmzcrpn7NFVdJNbb3Ok+Qm
L9f5KEnTZVYsRinf/s/8oGFVz+m386K9Xo/l94Pb+cGuJ9Nli6zNm3aU9q7b
dtWMDg70+qHcPyyqnXce9JKkWNUYS9MeHx4+OTxO6E+jtGmnNNo6z5aj9Pmz
yx+TVcGDpF8VE/rz/U3e3Kef22oS/TDNV+01/eaEf242yzqfNf6Cht4e/2ZS
LVdZ+ED6xTIvW7qEfsG3rMf+mrLiS2jAZdUWsyKf6u8yGicNs2zzuszb5HbO
i/b2WfL+Vv7RT3/Jx+mLonxflPN++qauPmz66bu3z/tptiiyhn6bZOv2uqpH
ySAtSnr72TA9XTb/5//R8CBkkc+u66Jpi6wM/jKp1mVbb0bp6ZqnJqNf5bqQ
dvU/Z8tmnTfNkL6Dnj5bLxbyvJdZ3RZlnl5Uq+siT1/k5TSv+aG08qP08t15
el7nzTQv03dlcUN/KtpNWs3Sy3xyXVaLar6ha7PxuM5v+HK7WlYpz2nCfs4X
y+tq0f6NfjFMaf/RgOkho+DSSTWloZwPDo8OHz0JP+invF5m5cZ/0FKGO1zI
OP+5XQ+m8pjhNE+KclbRDS0NlPcJpjVv+J+0L+QcndaT66LNJ+26zvk72us8
/aWqF9P0l2Ka8xL10wv6M+3L9Hh4MjziFbIn4UG2Rin+wzT9cnIm78jqOX+y
7f/b29vh7QkfooPLtwe3+Tijtx/cW9fFwD9xUlUL+k08zDP6Jb+5SadVeb+l
hczKeb7j/bKKl8Uy/eHFb42BttwNfWR9cNFuFvkBPZ4P7e3yeBm9+xeeoPRN
tsrr9P/63/532rLz6/Y25/+fvjx+mR4Nj+6aiNcvT9OLVT6hGX3f7BxOtcwa
uuCWL8CgbvltgxW/bbDwbxrQqAZHg6MDesrzwfkQYm2Rvc8H+fSazjv9+vYk
m/LixzPX++Uk1d/T2S/b7MMo/eHVj72vnTsaK2+n4YSO85BW7XpDI2zzD+3B
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
X779aehRUZ7bFgXACe7hqPn/Dd6crfewOAEA

-->

</rfc>
