<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version  -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc strict="yes"?>
<?rfc toc="yes"?>
<?rfc tocdepth="3"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="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-resource-directory-24" category="std" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" tocDepth="3" symRefs="true" sortRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 2.40.1 -->
  <front>
    <title>CoRE Resource Directory</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-core-resource-directory-24"/>
    <author initials="Z." surname="Shelby" fullname="Zach Shelby">
      <organization>ARM</organization>
      <address>
        <postal>
          <street>150 Rose Orchard</street>
          <city>San Jose</city>
          <code>95134</code>
          <country>USA</country>
        </postal>
        <phone>+1-408-203-9434</phone>
        <email>zach.shelby@arm.com</email>
      </address>
    </author>
    <author initials="M." surname="Koster" fullname="Michael Koster">
      <organization>SmartThings</organization>
      <address>
        <postal>
          <street>665 Clyde Avenue</street>
          <city>Mountain View</city>
          <code>94043</code>
          <country>USA</country>
        </postal>
        <phone>+1-707-502-5136</phone>
        <email>Michael.Koster@smartthings.com</email>
      </address>
    </author>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universitaet Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <author initials="P." surname="van der Stok" fullname="Peter van der Stok">
      <organization abbrev="consultant">consultant</organization>
      <address>
        <phone>+31-492474673 (Netherlands), +33-966015248 (France)</phone>
        <email>consultancy@vanderstok.org</email>
        <uri>www.vanderstok.org</uri>
      </address>
    </author>
    <author initials="C." surname="Amsüss" fullname="Christian Amsüss" role="editor">
      <organization/>
      <address>
        <postal>
          <street>Hollandstr. 12/4</street>
          <code>1020</code>
          <country>Austria</country>
        </postal>
        <phone>+43-664-9790639</phone>
        <email>christian@amsuess.com</email>
      </address>
    </author>
    <date year="2020" month="March" day="09"/>
    <area>Internet</area>
    <workgroup>CoRE</workgroup>
    <keyword>CoRE, Web Linking, Resource Discovery, Resource Directory</keyword>
    <abstract>
      <t>In many IoT applications, direct discovery of resources is not practical
due to sleeping nodes, disperse networks, 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 a Resource Directory supports for web servers to discover the RD and to register, maintain, lookup
and remove information on resources. Furthermore, new target attributes useful
in conjunction with an RD are defined.</t>
    </abstract>
    <note>
      <name>Note to Readers</name>
      <t>Discussion of this document takes place on the
  CORE Working Group mailing list (core@ietf.org),
  which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/core/">https://mailarchive.ietf.org/arch/browse/core/</eref>.</t>
      <t>Source for this draft and an issue tracker can be found at
  <eref target="https://github.com/core-wg/resource-directory">https://github.com/core-wg/resource-directory</eref>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>In the work on Constrained RESTful Environments (CoRE), a REST architecture
suitable for constrained nodes (e.g. with limited RAM and ROM <xref target="RFC7228" format="default"/>)
and networks (e.g. 6LoWPAN <xref target="RFC4944" format="default"/>)
has been established and is used in
Internet-of-Things (IoT) or
machine-to-machine (M2M) applications such as smart energy
and building automation.</t>
      <t>The discovery of resources offered by a constrained server is very important
in machine-to-machine applications where there are no humans in the loop and
static interfaces result in fragility. The discovery of resources provided by
an HTTP Web Server is typically called Web Linking <xref target="RFC8288" format="default"/>. The use of
Web Linking for the description and discovery of resources hosted by
constrained web servers is specified by the CoRE Link Format
<xref target="RFC6690" format="default"/>. However, <xref target="RFC6690" format="default"/> only describes how to discover
resources from the web server that hosts them by querying
<tt>/.well-known/core</tt>. In many constrained scenarios, direct discovery of resources is
not practical due to sleeping nodes, disperse networks, 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.</t>
      <t>This document specifies the web interfaces that a Resource Directory supports for web servers to discover the RD and to register, maintain, lookup
and remove information on resources. Furthermore, new target attributes useful in
conjunction with a Resource Directory are defined. Although the examples in
this document show the use of these interfaces with CoAP <xref target="RFC7252" format="default"/>, they
can be applied in an equivalent manner to HTTP <xref target="RFC7230" format="default"/>.</t>
    </section>
    <section anchor="terminology" numbered="true" toc="default">
      <name>Terminology</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL"
in this
document are to be interpreted as described in <xref target="RFC2119" format="default"/>. The
term "byte" is used in its now customary sense as a synonym for "octet".</t>
      <t>This specification requires readers to be familiar with all the terms and
concepts that are discussed in <xref target="RFC3986" format="default"/>, <xref target="RFC8288" format="default"/> and <xref target="RFC6690" format="default"/>. Readers should
also be familiar with the terms and concepts discussed in <xref target="RFC7252" format="default"/>.  To
describe the REST interfaces defined in this specification, the URI Template
format is used <xref target="RFC6570" format="default"/>.</t>
      <t>This specification makes use of the following additional terminology:</t>
      <dl newline="true" spacing="normal">
        <dt>resolve against</dt>
        <dd>
  The expression "a URI-reference is <em>resolved against</em> a base URI" is used
to describe the process of <xref target="RFC3986" format="default"/> Section 5.2. Noteworthy corner cases are
that if the URI-reference is a (full) URI and resolved  against any base URI, that gives the original full URI, and
that resolving an empty URI reference gives the base URI without any fragment identifier.</dd>
        <dt>Resource Directory</dt>
        <dd>
  A web entity that stores information about web resources and implements the
REST interfaces defined in this specification for registration and lookup
of those resources.</dd>
        <dt>Sector</dt>
        <dd>
  In the context of a Resource Directory, a sector is a
logical grouping of endpoints.</dd>
        <dt/>
        <dd>The abbreviation "d=" is used for the sector in query parameters for
compatibility with deployed implementations.</dd>
        <dt>Endpoint</dt>
        <dd>
  Endpoint (EP) is a term used to describe a web server or client in <xref target="RFC7252" format="default"/>.
In the context of this specification an endpoint is used to describe a
web server that registers resources to the Resource Directory. An endpoint
is identified by its endpoint name, which is included during registration,
and has a unique name within the associated sector of the registration.</dd>
        <dt>Registration Base URI</dt>
        <dd>
  The Base URI of a Registration is a URI that typically gives scheme and
authority information about an Endpoint. The Registration Base URI is provided at registration time, and is used by the Resource Directory to
resolve relative references of the registration into URIs.</dd>
        <dt>Target</dt>
        <dd>
  The target of a link is the destination address (URI) of the link. It is sometimes identified with "href=", or displayed as <tt>&lt;target&gt;</tt>. Relative targets need resolving with respect to the Base URI (section 5.2 of <xref target="RFC3986" format="default"/>).</dd>
        <dt/>
        <dd>This use of the term Target is consistent with <xref target="RFC8288" format="default"/>'s use of the term.</dd>
        <dt>Context</dt>
        <dd>
  The context of a link is the source address (URI) of the link,
and describes which resource is linked to the target.
A link's context is made explicit in serialized links as the "anchor=" attribute.</dd>
        <dt/>
        <dd>This use of the term Context is consistent with <xref target="RFC8288" format="default"/>'s use of the term.</dd>
        <dt>Directory Resource</dt>
        <dd>
  A resource in the Resource Directory (RD) containing registration resources.</dd>
        <dt>Registration Resource</dt>
        <dd>
  A resource in the RD that contains information about an Endpoint and its links.</dd>
        <dt>Commissioning Tool</dt>
        <dd>
  Commissioning Tool (CT) is a device that assists during the installation of the
network by assigning values to parameters, naming endpoints and groups, or adapting
the installation to the needs of the applications.</dd>
        <dt>Registrant-ep</dt>
        <dd>
  Registrant-ep is the endpoint that is registered into the RD. The registrant-ep can register itself, or a CT registers the registrant-ep.</dd>
        <dt>RDAO</dt>
        <dd>
  Resource Directory Address Option.
A new IPv6 Neighbor Discovery option defined for announcing a Resource Directory's address.</dd>
      </dl>
    </section>
    <section anchor="arch" numbered="true" toc="default">
      <name>Architecture and Use Cases</name>
      <section anchor="principles" numbered="true" toc="default">
        <name>Principles</name>
        <t>The Resource Directory is primarily a tool to make discovery operations more
efficient than querying /.well-known/core on all connected devices, or across
boundaries that would be limiting those operations.</t>
        <t>It provides information about resources hosted by other devices that could otherwise only be obtained by
directly querying the /.well-known/core resource on these other devices, either by a unicast request or a multicast request.</t>
        <t>Information SHOULD only be stored in the resource directory
if it can be obtained by querying the described device's
/.well-known/core resource directly.</t>
        <t>Data in the resource directory can only be provided by the
device which hosts those data or a dedicated Commissioning Tool (CT).
These CTs are thought to act on behalf of endpoints too constrained, or generally
unable, to present that information themselves. No other client can modify data
in the resource directory. Changes to the information in the Resource Directory do not propagate automatically back to the web servers from where the information originated.</t>
      </section>
      <section anchor="architecture" numbered="true" toc="default">
        <name>Architecture</name>
        <t>The resource directory architecture is illustrated in <xref target="fig-arch" format="default"/>. A
Resource Directory (RD) is used as a repository of registrations
describing resources hosted on other web servers, also called endpoints
(EP).
An endpoint is a web server associated with a scheme, IP address and port. A physical node may host one or more endpoints. The
RD implements a set of REST interfaces for endpoints to register and maintain
resource directory registrations, and for endpoints to
lookup resources from the RD. An RD can be logically segmented by the use of Sectors.</t>
        <t>A mechanism to discover an RD using CoRE Link Format <xref target="RFC6690" format="default"/> is defined.</t>
        <t>Registrations
in the RD are soft state and need to be periodically refreshed.</t>
        <t>An endpoint uses specific interfaces to register, update and remove a registration. It is also possible for an RD to fetch Web Links
from endpoints and add their contents to resource directory registrations.</t>
        <t>At the first registration of an endpoint, a "registration resource" is created,
the location of which is returned to the registering endpoint. The registering
endpoint uses this registration resource to manage the contents of registrations.</t>
        <t>A lookup interface for discovering any of the Web Links stored in the RD is
provided using the CoRE Link Format.</t>
        <figure anchor="fig-arch">
          <name>The resource directory architecture.</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
             Registration         Lookup
              Interface         Interface
  +----+          |                 |
  | EP |----      |                 |
  +----+    ----  |                 |
                --|-    +------+    |
  +----+          | ----|      |    |     +--------+
  | EP | ---------|-----|  RD  |----|-----| Client |
  +----+          | ----|      |    |     +--------+
                --|-    +------+    |
  +----+    ----  |                 |
  | CT |----      |                 |
  +----+

]]></artwork>
        </figure>
        <t>A Registrant-EP MAY keep concurrent registrations to more than one RD at the same time
if explicitly configured to do so,
but that is not expected to be supported by typical EP implementations.
Any such registrations are independent of each other.
The usual expectation when multiple discovery mechanisms or addresses are configured
is that they constitute a fall-back path for a single registration.</t>
      </section>
      <section anchor="ER-model" numbered="true" toc="default">
        <name>RD Content Model</name>
        <t>The Entity-Relationship (ER) models shown in <xref target="fig-ER-WKC" format="default"/> and <xref target="fig-ER-RD" format="default"/> model the contents of /.well-known/core and the resource directory respectively, with entity-relationship diagrams <xref target="ER" format="default"/>. Entities (rectangles) are used for concepts that exist independently. Attributes (ovals) are used for concepts that exist only in connection with a related entity. Relations (diamonds) give a semantic meaning to the relation between entities. Numbers specify the cardinality of the relations.</t>
        <t>Some of the attribute values are URIs. Those values are always full URIs and never relative references in the information model.
They can, however, be expressed as relative references in serializations, and often are.</t>
        <t>These models provide an abstract view of the information expressed in link-format documents and a Resource Directory. They cover the concepts, but not necessarily all details of an RD's operation; they are meant to give an overview, and not be a template for implementations.</t>
        <figure anchor="fig-ER-WKC">
          <name>E-R Model of the content of /.well-known/core</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
                    +----------------------+
                    |   /.well-known/core  |
                    +----------------------+
                               |
                               | 1
                       ////////\\\\\\\
                      <    contains   >
                       \\\\\\\\///////
                               |
                               | 0+
                     +--------------------+
                     |      link          |
                     +--------------------+
                               |
                               |  1   oooooooo
                               +-----o target o
                               |      oooooooo
          oooooooooooo   0+    |
         o    target  o--------+
         o  attribute o        | 0+   oooooo
          oooooooooooo         +-----o rel  o
                               |      oooooo
                               |
                               | 1    ooooooooo
                               +-----o context o
                                      ooooooooo



]]></artwork>
        </figure>
        <t>The model shown in <xref target="fig-ER-WKC" format="default"/> models the contents of /.well-known/core which contains:</t>
        <ul spacing="normal">
          <li>a set of links belonging to the hosting web server</li>
        </ul>
        <t>The web server is free to choose links it deems appropriate to be exposed in its <tt>.well-known/core</tt>.
Typically, the links describe resources that are served by the host, but the set can also contain links to resources on other servers (see examples in <xref target="RFC6690" format="default"/> page 14).
The set does not necessarily contain links to all resources served by the host.</t>
        <t>A link has the following attributes (see <xref target="RFC8288" format="default"/>):</t>
        <ul spacing="normal">
          <li>
            <t>Zero or more link relations: They describe relations between the link context and the link target.  </t>
            <t>
In link-format serialization, they are expressed as space-separated values in the "rel" attribute, and default to "hosts".</t>
          </li>
          <li>
            <t>A link context URI: It defines the source of the relation, e.g. <em>who</em> "hosts" something.  </t>
            <t>
In link-format serialization, it is expressed in the "anchor" attribute. It defaults to that document's URI.</t>
          </li>
          <li>
            <t>A link target URI: It defines the destination of the relation (e.g. <em>what</em> is hosted), and is the topic of all target attributes.  </t>
            <t>
In link-format serialization, it is expressed between angular brackets, and sometimes called the "href".</t>
          </li>
          <li>Other target attributes (e.g. resource type (rt), interface (if), or content format (ct)).
These provide additional information about the target URI.</li>
        </ul>
        <figure anchor="fig-ER-RD">
          <name>E-R Model of the content of the Resource Directory</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
             +----------------------+
             |  resource-directory  |
             +----------------------+
                        | 1
                        |
                        |
                        |
                        |
                   //////\\\\
                  < contains >
                   \\\\\/////
                        |
                     0+ |
 ooooooo     1  +---------------+
o  base o-------|  registration |
 ooooooo        +---------------+
                    |       | 1
                    |       +--------------+
       oooooooo   1 |                      |
      o  href  o----+                 /////\\\\
       oooooooo     |                < contains >
                    |                 \\\\\/////
       oooooooo   1 |                      |
      o   ep   o----+                      | 0+
       oooooooo     |             +------------------+
                    |             |      link        |
       oooooooo 0-1 |             +------------------+
      o    d   o----+                      |
       oooooooo     |                      |  1   oooooooo
                    |                      +-----o target o
       oooooooo   1 |                      |      oooooooo
      o   lt   o----+     ooooooooooo   0+ |
       oooooooo     |    o  target   o-----+
                    |    o attribute o     | 0+   oooooo
    ooooooooooo 0+  |     ooooooooooo      +-----o rel  o
   o  endpoint o----+                      |      oooooo
   o attribute o                           |
    ooooooooooo                            | 1   ooooooooo
                                           +----o context o
                                                 ooooooooo
]]></artwork>
        </figure>
        <t>The model shown in <xref target="fig-ER-RD" format="default"/> models the contents of the resource directory which contains in addition to /.well-known/core:</t>
        <ul spacing="normal">
          <li>0 to n Registrations of endpoints,</li>
        </ul>
        <t>A registration is associated with one endpoint. A registration defines a set of links as defined for /.well-known/core. A Registration has six types of attributes:</t>
        <ul spacing="normal">
          <li>an endpoint name ("ep", a Unicode string) unique within a sector</li>
          <li>a Registration Base URI ("base", a URI typically describing the scheme://authority part)</li>
          <li>a lifetime ("lt"),</li>
          <li>a registration resource location inside the RD ("href"),</li>
          <li>optionally a sector ("d", a Unicode string)</li>
          <li>optional additional endpoint attributes (from <xref target="iana-registry" format="default"/>)</li>
        </ul>
        <t>The cardinality of "base" is currently 1;
future documents are invited to extend the RD specification to support multiple values (e.g. <xref target="I-D.silverajan-core-coap-protocol-negotiation" format="default"/>).
Its value is used as a Base URI when resolving URIs in the links contained in the endpoint.</t>
        <t>Links are modelled as they are in <xref target="fig-ER-WKC" format="default"/>.</t>
      </section>
      <section anchor="linklocal" numbered="true" toc="default">
        <name>Link-local addresses and zone identifiers</name>
        <t>Registration Base URIs can contain link-local IP addresses.
To be usable across hosts, those can not be serialized to contain zone identifiers (see <xref target="RFC6874" format="default"/> Section 1).</t>
        <t>Link-local addresses can only be used on a single link
(therefore RD servers can not announce them when queried on a different link),
and lookup clients using them need to keep track of which interface they got them from.</t>
        <t>Therefore, it is advisable in many scenarios
to use addresses with larger scope if available.</t>
      </section>
      <section anchor="cellular" numbered="true" toc="default">
        <name>Use Case: Cellular M2M</name>
        <t>Over the last few years, mobile operators around the world
have focused on development of M2M solutions in order to
expand the business to the new type of users: machines. The
machines are connected directly to a mobile network using an appropriate
embedded wireless interface (GSM/GPRS, WCDMA, LTE) or via a gateway providing
short and wide range wireless interfaces. From the system design point of
view, the ambition is to design horizontal solutions that can enable utilization
of machines in different applications depending on their current availability
and capabilities as well as application requirements, thus avoiding silo
like solutions. One of the crucial enablers of such design is the ability
to discover resources (machines -- endpoints) capable of providing required
information at a given time or acting on instructions from the end users.</t>
        <t>Imagine a scenario where endpoints installed on vehicles enable
tracking of the position of these vehicles for fleet management purposes and allow
monitoring of environment parameters. During the boot-up process
endpoints register with a Resource Directory, which is hosted by the
mobile operator or somewhere in the cloud. Periodically, these endpoints
update their registration and may modify resources they offer.</t>
        <t>When endpoints are not always connected, for example because they enter
a sleep mode, a remote server is usually used to provide proxy access to
the endpoints. Mobile apps or web applications for environment monitoring contact the RD, look up the endpoints capable of providing information about the environment using an appropriate set of link parameters, obtain information on how to contact them (URLs of the proxy server), and then initiate interaction to obtain information that is finally processed, displayed on the screen and usually stored in a database. Similarly, fleet management systems provide
the appropriate link parameters to the RD to look up for EPs deployed on
the vehicles the application is responsible for.</t>
      </section>
      <section anchor="automation" numbered="true" toc="default">
        <name>Use Case: Home and Building Automation</name>
        <t>Home and commercial building automation systems can benefit from the use
of M2M web services.  The discovery requirements of these applications are
demanding. Home automation usually relies on run-time discovery to commission
the system, whereas in building automation a combination of professional
commissioning and run-time discovery is used. Both home and building automation
involve peer-to-peer interactions between endpoints, and involve battery-powered
sleeping devices.</t>
        <t>Two phases can be discerned for a network servicing the system: (1) installation and (2) operation. During the operational phase, the network is connected to the Internet with a Border router (6LBR) and the nodes connected to the network can use the Internet services that are provided by the Internet Provider or the network administrator. During the installation phase, the network is completely stand-alone, no 6LBR is connected, and the network only supports the IP communication between the connected nodes. The installation phase is usually followed by the operational phase.</t>
      </section>
      <section anchor="usecase-catalogues" numbered="true" toc="default">
        <name>Use Case: Link Catalogues</name>
        <t>Resources may be shared through data brokers that have no knowledge beforehand
of who is going to consume the data. Resource Directory can be used to hold
links about resources and services hosted anywhere to make them discoverable
by a general class of applications.</t>
        <t>For example, environmental and weather sensors that generate data for public
consumption may provide data to an intermediary server, or broker. Sensor
data are published to the intermediary upon changes or at regular intervals.
Descriptions of the sensors that resolve to links to sensor data may be published
to a Resource Directory. Applications wishing to consume the data can use
RD Lookup to discover and resolve links
to the desired resources and endpoints. The Resource Directory service need
not be coupled with the data intermediary service. Mapping of Resource Directories
to data intermediaries may be many-to-many.</t>
        <t>Metadata in web link formats like <xref target="RFC6690" format="default"/> which may be internally stored as  triples, or relation/attribute
pairs providing metadata about resource links, need to be supported by Resource Directories . External catalogues that are
represented in other formats may be converted to common web linking formats for
storage and access by Resource Directories. Since it is common practice for these
to be encoded in URNs <xref target="RFC8141" format="default"/>, simple and lossless structural transforms should
generally be sufficient to store external metadata in Resource Directories.</t>
        <t>The additional features of Resource Directory allow sectors to be defined
to enable access to a particular set of resources from particular applications.
This provides isolation and protection of sensitive data when needed. Application groups with multicast addresses may be defined to support efficient data transport.</t>
      </section>
    </section>
    <section anchor="rd-discovery-and-other-interface-independent-components" numbered="true" toc="default">
      <name>RD discovery and other interface-independent components</name>
      <t>This and the following sections define the required set of REST interfaces between a Resource Directory
(RD), endpoints and lookup clients. Although the examples throughout these sections assume the use of
CoAP <xref target="RFC7252" format="default"/>, these REST interfaces can also be realized using HTTP <xref target="RFC7230" format="default"/>.
Only multicast discovery operations are not possible on HTTP, and Simple Registration can not be executed as base attribute (which is mandatory for HTTP) can not be used there.
In all definitions in these sections, both CoAP response codes (with dot notation) and HTTP response codes
(without dot notation) are shown. An RD implementing this specification MUST support
the discovery, registration, update, lookup, and removal interfaces.</t>
      <t>All operations on the contents of the Resource Directory MUST be atomic and idempotent.</t>
      <t>For several operations, interface templates are given in list form;
those describe the operation participants, request codes, URIs, content formats and outcomes.
Sections of those templates contain normative content about
Interaction, Method, URI Template and URI Template Variables
as well as the details of the Success condition.
The additional sections
on options like Content-Format and on Failure codes
give typical cases that an implementation of the RD should deal with.
Those serve to illustrate the typical responses
to readers who are not yet familiar with all the details of CoAP based interfaces;
they do not limit what a server may respond under atypical circumstances.</t>
      <t>REST clients (registrant-EPs / CTs, lookup clients, RD servers during simple registrations)
MUST be prepared to receive any unsuccessful code and act upon it
according to its definition, options and/or payload to the best of their capabilities,
falling back to failing the operation if recovery is not possible.
In particular, they should retry the request upon 5.03 (Service Unavailable; 503 in HTTP)
according to the Max-Age (Retry-After in HTTP) option,
and fall back to link-format when receiving 4.15 (Unsupported Content-Format; 415 in HTTP).</t>
      <t>A resource directory MAY make the information submitted to it available to further
directories, if it can ensure that a loop does not form.  The protocol used
between directories to ensure loop-free operation is outside the scope of
this document.</t>
      <section anchor="finding_an_rd" numbered="true" toc="default">
        <name>Finding a Resource Directory</name>
        <t>A (re-)starting device may want to find one or more resource directories
for discovery purposes. Dependent on the operational conditions, one or more of the techniques below apply.</t>
        <t>The device may be pre-configured to exercise specific mechanisms for
finding the resource directory:</t>
        <ol spacing="normal" type="1">
          <li>It may be configured with a specific IP address for the RD.  That IP
address may also be an anycast address, allowing the network to
forward RD requests to an RD that is topologically close; each
target network environment in which some of these preconfigured
nodes are to be brought up is then configured with a route for this
anycast address that leads to an appropriate RD.  (Instead of using
an anycast address, a multicast address can also be preconfigured.
The RD servers then need to configure one of their
interfaces with this multicast address.)</li>
          <li>It may be configured with a DNS name for the RD and use DNS to return
the IP address of the RD; it can find a DNS server to perform the lookup using the usual mechanisms for finding DNS servers.</li>
          <li>It may be configured to use a service discovery mechanism such as
DNS-SD, as outlined in <xref target="rd-using-dnssd" format="default"/>.</li>
        </ol>
        <t>For cases where the device is not specifically configured with a way
to find a resource directory, the network may want to provide a
suitable default.</t>
        <ol spacing="normal" type="1">
          <li>If the address configuration of the network is performed via SLAAC,
this is provided by the RDAO option <xref target="rdao" format="default"/>.</li>
          <li>If the address configuration of the network is performed via DHCP,
this could be provided via a DHCP option (no such option is defined
at the time of writing).</li>
        </ol>
        <t>Finally, if neither the device nor the network offers any specific
configuration, the device may want to employ heuristics to find a
suitable resource directory.</t>
        <t>The present specification does not fully define these heuristics, but
suggests a number of candidates:</t>
        <ol spacing="normal" type="1">
          <li>In a 6LoWPAN, just assume the Border Router (6LBR) can act as a
resource directory (using the ABRO option to find that <xref target="RFC6775" format="default"/>).
Confirmation can be obtained by sending a Unicast to
<tt>coap://[6LBR]/.well-known/core?rt=core.rd*</tt>.</li>
          <li>In a network that supports multicast well, discovering the RD using
a multicast query for /.well-known/core as specified in CoRE Link
Format <xref target="RFC6690" format="default"/>: Sending a Multicast GET to
<tt>coap://[MCD1]/.well-known/core?rt=core.rd*</tt>.  RDs within the
multicast scope will answer the query.</li>
        </ol>
        <t>When answering a multicast request directed at a link-local address,
  the RD may want to respond from a routable address;
  this makes it easier for registrants to use one of their own routable addresses for registration.</t>
        <t>As some of the RD addresses obtained by the methods listed here are
just (more or less educated) guesses, endpoints MUST make use of any
error messages to very strictly rate-limit requests to candidate IP
addresses that don't work out.  For example, an ICMP Destination
Unreachable message (and, in particular, the port unreachable code for
this message) may indicate the lack of a CoAP server on the candidate
host, or a CoAP error response code such as 4.05 "Method Not Allowed"
may indicate unwillingness of a CoAP server to act as a directory
server.</t>
        <t>The following RD discovery mechanisms are recommended:</t>
        <ul spacing="normal">
          <li>In managed networks with border routers that need stand-alone operation, the RDAO option is recommended (e.g. operational phase described in <xref target="automation" format="default"/>).</li>
          <li>In managed networks without border router (no Internet services available), the use of a preconfigured anycast address is recommended (e.g. installation phase described in <xref target="automation" format="default"/>).</li>
          <li>In networks managed using DNS-SD, the use of DNS-SD for discovery as described in <xref target="rd-using-dnssd" format="default"/> is recommended.</li>
        </ul>
        <t>The use of multicast discovery in mesh networks is NOT recommended.</t>
        <section anchor="rdao" numbered="true" toc="default">
          <name>Resource Directory Address Option (RDAO)</name>
          <t>The Resource Directory Address Option (RDAO) using IPv6 Neighbor Discovery (ND) carries
information about the address of the Resource Directory (RD). This information is
needed when endpoints cannot discover the Resource Directory with a link-local
or realm-local scope multicast address, for instance because the
endpoint and the RD are separated by a Border Router
(6LBR). In many circumstances the availability of DHCP cannot be guaranteed either
during commissioning of the network. The presence and the use of the RD is
essential during commissioning.</t>
          <t>It is possible to send multiple RDAO options in one message,
indicating as many resource directory addresses.</t>
          <t>The RDAO format is:</t>
          <figure anchor="fig-rdao">
            <name>Resource Directory Address Option</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
0                   1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|     Type      |  Length = 3   |       Valid Lifetime          |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                           Reserved                            |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|                                                               |
+                                                               +
|                                                               |
+                          RD Address                           +
|                                                               |
+                                                               +
|                                                               |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Fields:

Type:                   TBD38

Length:                 8-bit unsigned integer.  The length of
                        the option in units of 8 bytes.
                        Always 3.

Valid Lifetime:         16-bit unsigned integer.  The length of
                        time in units of 60 seconds (relative to
                        the time the packet is received) that
                        this Resource Directory address is valid.
                        A value of all zero bits (0x0) indicates
                        that this Resource Directory address
                        is not valid anymore.

Reserved:               This field is unused.  It MUST be
                        initialized to zero by the sender and
                        MUST be ignored by the receiver.

RD Address:             IPv6 address of the RD.
]]></artwork>
          </figure>
        </section>
        <section anchor="rd-using-dnssd" numbered="true" toc="default">
          <name>Using DNS-SD to discover a resource directory</name>
          <t>A resource directory can advertise its presence in DNS-SD <xref target="RFC6763" format="default"/>
using the service name <tt>_core-rd._udp</tt> (for CoAP), <tt>_core-rd-dtls._udp</tt> (for CoAP over DTLS),
<tt>_core-rd._tcp</tt> (for CoAP over TCP) or <tt>_core-rd-tls._tcp</tt> (for CoAP over TLS)
defined in this document.
(For the WebSocket transports of CoAP, no service is defined
as DNS-SD is typically unavailable in environments where CoAP over WebSockets is used).</t>
          <t>The selection of the service indicates the protocol used, and
the SRV record points the client to a host name and port to use as a starting point for the URI discovery steps of <xref target="discovery" format="default"/>.</t>
          <t>This section is a simplified concrete application of the more generic mechanism
specified in <xref target="I-D.ietf-core-rd-dns-sd" format="default"/>.</t>
        </section>
      </section>
      <section anchor="payload-content-formats" numbered="true" toc="default">
        <name>Payload Content Formats</name>
        <t>Resource Directory implementations using this specification MUST support the
application/link-format content format (ct=40).</t>
        <t>Resource Directories implementing this specification MAY support additional content formats.</t>
        <t>Any additional content format supported by a Resource Directory implementing this
specification SHOULD be able to express all the information expressible in link-format.
It MAY be able to express information that is inexpressible in link-format,
but those expressions SHOULD be avoided where possible.</t>
      </section>
      <section anchor="discovery" numbered="true" toc="default">
        <name>URI Discovery</name>
        <t>Before an endpoint can make use of an RD, it must first know the RD's address
and port, and the URI path information for its REST APIs. This section defines
discovery of the RD and its URIs using the well-known interface of the
CoRE Link Format <xref target="RFC6690" format="default"/> after having discovered a host as described in <xref target="finding_an_rd" format="default"/>.</t>
        <t>Discovery of the RD registration URI path is performed by sending either a multicast or
unicast GET request to <tt>/.well-known/core</tt> and including a Resource Type (rt)
parameter <xref target="RFC6690" format="default"/> with the value "core.rd" in the query string. Likewise, a
Resource Type parameter value of "core.rd-lookup*" is used to discover the
URIs for RD Lookup operations, core.rd* is used to discover all URI paths for RD operations.
Upon success, the response will contain a payload with
a link format entry for each RD function discovered, indicating the URI
of the RD function returned and the corresponding Resource Type. When performing
multicast discovery, the multicast IP address used will depend on the scope required
and the multicast capabilities of the network (see <xref target="mc-registration" format="default"/>).</t>
        <t>A Resource Directory MAY provide hints about the content-formats it supports in the links it exposes or registers, using the "ct" target attribute, as shown in the example below. Clients MAY use these hints to select alternate content-formats for interaction with the Resource Directory.</t>
        <t>HTTP does not support multicast and consequently only unicast discovery can be supported
at the using the HTTP <tt>/.well-known/core</tt> resource.</t>
        <t>An implementation of this  resource directory specification MUST support query filtering for
the rt parameter as defined in <xref target="RFC6690" format="default"/>.</t>
        <t>While the link targets in this discovery step are often expressed in path-absolute form,
this is not a requirement.
Clients of the RD SHOULD therefore accept URIs of all schemes they support,
both as URIs and relative references,
and not limit the set of discovered URIs to those hosted at the address used for URI discovery.</t>
        <t>The URI Discovery operation can yield multiple URIs of a given resource type.
The client of the RD can use any of the discovered addresses initially.</t>
        <t>The discovery request interface is specified as follows
(this is exactly the Well-Known Interface of <xref target="RFC6690" format="default"/> Section 4,
with the additional requirement that the server MUST support query filtering):</t>
        <dl newline="false" spacing="normal">
          <dt>Interaction:</dt>
          <dd>
  EP and Client -&gt; RD</dd>
          <dt>Method:</dt>
          <dd>
  GET</dd>
          <dt>URI Template:</dt>
          <dd>
  /.well-known/core{?rt}</dd>
          <dt>URI Template Variables:</dt>
          <dd>
            <dl newline="false" spacing="normal">
              <dt>rt :=</dt>
              <dd>
        Resource Type. SHOULD contain one of the values "core.rd", "core.rd-lookup*",
"core.rd-lookup-res", "core.rd-lookup-ep", or "core.rd*"</dd>
            </dl>
          </dd>
          <dt>Accept:</dt>
          <dd>
  absent, application/link-format or any other media type representing web links</dd>
        </dl>
        <t>The following response is expected on this interface:</t>
        <dl newline="false" spacing="normal">
          <dt>Success:</dt>
          <dd>
  2.05 "Content" or 200 "OK" with an
application/link-format or other web link payload containing one or more matching entries for the RD resource.</dd>
        </dl>
        <t>The following example shows an endpoint discovering an RD using this interface,
thus learning that the directory resource location, in this example, is /rd, and that the
content-format delivered by the server hosting the resource is application/link-format
(ct=40).  Note that it is up to the RD to choose its RD locations.</t>
        <figure anchor="example-discovery">
          <name>Example discovery exchange</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET coap://[MCD1]/.well-known/core?rt=core.rd*

Res: 2.05 Content
</rd>;rt="core.rd";ct=40,
</rd-lookup/ep>;rt="core.rd-lookup-ep";ct=40,
</rd-lookup/res>;rt="core.rd-lookup-res";ct=40,
]]></artwork>
        </figure>
        <t>The following example shows the way of indicating that a client may request
alternate content-formats. The Content-Format code attribute "ct" MAY include a
space-separated sequence of Content-Format codes as specified in
Section 7.2.1 of <xref target="RFC7252" format="default"/>, indicating that multiple content-formats are available.
The example below shows the required Content-Format 40 (application/link-format)
indicated as well as a CBOR and JSON representation from <xref target="I-D.ietf-core-links-json" format="default"/>
(which have no numeric values assigned yet, so they are shown as TBD64 and TBD504 as in that draft).
The RD resource locations /rd, and /rd-lookup are example values.
The server in this example also indicates that it is capable of providing observation on resource lookups.</t>
        <figure anchor="example-discovery-ct">
          <name>Example discovery exchange indicating additional content-formats</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET coap://[MCD1]/.well-known/core?rt=core.rd*

Res: 2.05 Content
</rd>;rt="core.rd";ct="40 65225",
</rd-lookup/res>;rt="core.rd-lookup-res";ct="40 TBD64 TBD504";obs,
</rd-lookup/ep>;rt="core.rd-lookup-ep";ct="40 TBD64 TBD504",
]]></artwork>
        </figure>
        <t>From a management and maintenance perspective,
it is necessary to identify the components that constitute the RD server.
The identification refers to information about for example client-server incompatibilities,
supported features, required updates and other aspects.
The URI discovery address, a described in section 4 of <xref target="RFC6690" format="default"/> can be used to find the identification.</t>
        <t>It
would typically be stored in an implementation information link
(as described in <xref target="I-D.bormann-t2trg-rel-impl" format="default"/>):</t>
        <figure anchor="example-impl-discovery">
          <name>Example exchange of obtaining implementation information</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET /.well-known/core?rel=impl-info

Res: 2.05 Content
<http://software.example.com/shiny-resource-directory/1.0beta1>;
    rel="impl-info"
]]></artwork>
        </figure>
        <t>Note that depending on the particular server's architecture,
such a link could be anchored at the RD server's root,
at the discovery site (as in this example) or
at individual RD components.
The latter is to be expected when different applications
are run on the same server.</t>
      </section>
    </section>
    <section anchor="registration" numbered="true" toc="default">
      <name>Registration</name>
      <t>After discovering the location of an RD, a registrant-ep or CT MAY
register the resources of the registrant-ep using the registration interface. This interface
accepts a POST from an endpoint containing the list of resources to be added
to the directory as the message payload in the CoRE Link Format <xref target="RFC6690" format="default"/> or other representations of web links, along with query
parameters indicating the name of the endpoint, and optionally the sector,
lifetime and base URI of the registration.
It is expected that other specifications will define further parameters (see
<xref target="iana-registry" format="default"/>). The RD then creates a new registration resource in the RD and returns its location. The receiving endpoint MUST use that
location when refreshing registrations using this interface. Registration
resources in the RD are kept active for the period indicated by the lifetime
parameter. The creating endpoint is responsible for refreshing the registration resource within this
period using either the registration or update interface. The registration
interface MUST be implemented to be idempotent, so that registering twice
with the same endpoint parameters ep and d (sector) does not create multiple registration resources.</t>
      <t>The following rules apply for a registration request targeting a given (ep, d) value pair:</t>
      <ul spacing="normal">
        <li>When the (ep, d) value pair of the registration-request is different from any existing registration,
a new registration is generated.</li>
        <li>When the (ep, d) value pair of the registration-request is equal to an existing registration,
the content and parameters of the existing registration are replaced with the content of the registration request.</li>
      </ul>
      <t>The posted link-format document can (and typically does) contain relative references
both in its link targets and in its anchors, or contain empty anchors.
The RD server needs to resolve these references in order to faithfully represent them in lookups.
They are resolved against the base URI of the registration,
which is provided either explicitly in the <tt>base</tt> parameter or constructed implicitly from the requester's URI as constructed from its network address and scheme.</t>
      <t>For media types to which <xref target="limitedlinkformat" format="default"/> applies
(i.e. documents in application/link-format),
the RD only needs to accept representations in Limited Link Format as described there.
Its behavior with representations outside that subset is implementation defined.</t>
      <t>The registration request interface is specified as follows:</t>
      <dl newline="false" spacing="normal">
        <dt>Interaction:</dt>
        <dd>
  EP -&gt; RD</dd>
        <dt>Method:</dt>
        <dd>
  POST</dd>
        <dt>URI Template:</dt>
        <dd>
  {+rd}{?ep,d,lt,base,extra-attrs*}</dd>
        <dt>URI Template Variables:</dt>
        <dd>
          <dl newline="false" spacing="normal">
            <dt>rd :=</dt>
            <dd>
        RD registration URI
(mandatory). This is the location of
the RD, as obtained from discovery.</dd>
            <dt>ep :=</dt>
            <dd>
        Endpoint name (mostly mandatory). The endpoint name is an identifier
that MUST be unique within a sector.

As the endpoint name is a Unicode string,
it is encoded in UTF-8 (and possibly pct-encoded) during variable expansion (see <xref target="RFC6570" format="default"/> Section 3.2.1).
The endpoint name MUST NOT contain any character in the inclusive ranges 0-31 or 127-159.
The maximum length of this parameter is 63 UTF-8 encoded bytes.
If the RD is configured to recognize the endpoint (e.g. based on its security context), the RD assigns an endpoint name based on a set of configuration parameter values.</dd>
            <dt>d :=</dt>
            <dd>
        Sector (optional). The sector to which this endpoint belongs.
When this parameter is not present, the
RD MAY associate the endpoint with a configured default sector or leave it empty.

The sector is encoded like the ep parameter, and is limited to 63 UTF-8 encoded bytes as well.
The endpoint name and sector name are not set when one or both are set in an accompanying authorization token.</dd>
            <dt>lt :=</dt>
            <dd>
        Lifetime (optional). Lifetime of the registration in seconds. Range of 1-4294967295.
If no lifetime is included in the initial registration, a default value of
90000 (25 hours) SHOULD be assumed.</dd>
            <dt>base :=</dt>
            <dd>
        Base URI (optional). This parameter sets the base URI of the registration, under which
the relative links in the payload are to be interpreted. The specified URI typically does not have a path component of its own, and MUST be suitable as a base URI to resolve any relative references given in the registration. The parameter is therefore usually of the shape "scheme://authority" for
HTTP and CoAP URIs.
The URI SHOULD NOT have a query or fragment component
as any non-empty relative part in a reference would remove those parts from the resulting URI.</dd>
            <dt/>
            <dd>In the absence of this parameter the scheme of the protocol, source address
and source port of the registration request are assumed.
The Base URI is consecutively constructed by concatenating the used protocol's scheme
with the characters "://", the requester's source address as an address
literal and ":" followed by its port (if it was not the protocol's default
one) in analogy to <xref target="RFC7252" format="default"/> Section 6.5.</dd>
            <dt/>
            <dd>This parameter is
mandatory when the directory is filled by a third party such as an
commissioning tool.</dd>
            <dt/>
            <dd>If the registrant-ep uses an ephemeral port to register with, it MUST include the base
parameter in the registration to provide a valid network path.</dd>
            <dt/>
            <dd>A registrant that can not be reached by potential lookup clients at the address it registers from
 (e.g. because it is behind some form of Network Address Translation (NAT))
 MUST provide a reachable base address with its registration.</dd>
            <dt/>
            <dd>If the Base URI contains a link-local IP literal, it MUST NOT contain a Zone Identifier,
and MUST be local to the link on which the registration request is received.</dd>
            <dt/>
            <dd>Endpoints that register with a base that contains a path component
can not meaningfully use <xref target="RFC6690" format="default"/> Link Format due to its prevalence of
the Origin concept in relative reference resolution.
Those applications should use different representations of links to which <xref target="limitedlinkformat" format="default"/> is not applicable
(e.g. <xref target="I-D.hartke-t2trg-coral" format="default"/>).
<!-- or may use non-Limited-Link-Format documents on servers that share their necessarily-non6690 understanding of links - but we can't say that in an RFC, can we? -->
            </dd>
            <dt>extra-attrs :=</dt>
            <dd>
        Additional registration attributes (optional). The endpoint can pass any
parameter registered at <xref target="iana-registry" format="default"/> to the directory. If the RD is
aware of the parameter's specified semantics, it processes it accordingly.
Otherwise, it MUST store the unknown key and its value(s) as an endpoint
attribute for further lookup.</dd>
          </dl>
        </dd>
        <dt>Content-Format:</dt>
        <dd>
  application/link-format or any other indicated media type representing web links</dd>
      </dl>
      <t>The following response is expected on this interface:</t>
      <dl newline="false" spacing="normal">
        <dt>Success:</dt>
        <dd>
  2.01 "Created" or 201 "Created". The Location-Path option or Location header field
MUST be included in the response. This location MUST be a stable identifier
generated by the RD as it is used for all subsequent
operations on this registration resource. The registration resource location thus returned is for the purpose of updating the lifetime
of the registration and for maintaining the content of the
registered links, including updating and deleting links.</dd>
        <dt/>
        <dd>A registration with an already registered ep and d value pair
responds with the same success code and location as the original registration;
the set of links registered with the endpoint is replaced with the links
from the payload.</dd>
        <dt/>
        <dd>The location MUST NOT have a query or fragment component,
as that could conflict with query parameters during the Registration Update operation.
Therefore, the Location-Query option MUST NOT be present in a successful response.</dd>
      </dl>
      <t>If the registration fails, including request timeouts,
or if delays from Service Unavailable responses with Max-Age or Retry-After
accumulate to exceed the registrant's configured timeouts,
it SHOULD pick another registration URI from the "URI Discovery" step
and if there is only one or the list is exhausted,
pick other choices from the "Finding a Resource Directory" step.
Care has to be taken to consider the freshness of results obtained earlier,
e.g. of the result of a <tt>/.well-known/core</tt> response,
the lifetime of an RDAO option and
of DNS responses.
Any rate limits and persistent errors from the "Finding a Resource Directory" step
must be considered for the whole registration time,
not only for a single operation.</t>
      <t>The following example shows a registrant-ep with the name "node1" registering
two resources to an RD using this interface. The location "/rd"
is an example RD location discovered in a request similar to <xref target="example-discovery" format="default"/>.</t>
      <figure anchor="example-payload">
        <name>Example registration payload</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Req: POST coap://rd.example.com/rd?ep=node1
Content-Format: 40
Payload:
</sensors/temp>;ct=41;rt="temperature-c";if="sensor",
<http://www.example.com/sensors/temp>;
  anchor="/sensors/temp";rel="describedby"

Res: 2.01 Created
Location-Path: /rd/4521
]]></artwork>
      </figure>
      <t>A Resource Directory may optionally support HTTP. Here is an example of almost the same registration operation above, when done using HTTP.</t>
      <figure anchor="example-payload-http">
        <name>Example registration payload as expressed using HTTP</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Req:
POST /rd?ep=node1&base=http://[2001:db8:1::1] HTTP/1.1
Host: example.com
Content-Type: application/link-format

</sensors/temp>;ct=41;rt="temperature-c";if="sensor",
<http://www.example.com/sensors/temp>;
  anchor="/sensors/temp";rel="describedby"

Res:
HTTP/1.1 201 Created
Location: /rd/4521
]]></artwork>
      </figure>
      <section anchor="simple" numbered="true" toc="default">
        <name>Simple Registration</name>
        <t>Not all endpoints hosting resources are expected to know how to upload links to an RD as described in <xref target="registration" format="default"/>. Instead, simple endpoints can implement the Simple Registration approach described in this section. An RD implementing this specification MUST implement Simple Registration. However, there may
be security reasons why this form of directory discovery would be disabled.</t>
        <t>This approach requires that the registrant-ep makes available the hosted resources
that it wants to be discovered, as links on its <tt>/.well-known/core</tt> interface as
specified in <xref target="RFC6690" format="default"/>.
The links in that document are subject to the same limitations as the payload of a registration
(with respect to <xref target="limitedlinkformat" format="default"/>).</t>
        <ul spacing="normal">
          <li>The registrant-ep finds one or more addresses of the directory server as described in <xref target="finding_an_rd" format="default"/>.</li>
          <li>
            <t>The registrant-ep sends (and regularly refreshes with) a POST
request to the <tt>/.well-known/core</tt> URI of the directory server of choice. The body of the POST request is empty, and triggers the resource
directory server to perform GET requests at the requesting registrant-ep's /.well-known/core to obtain the link-format payload to register.  </t>
            <t>
The registrant-ep includes the same registration parameters in the POST request as it would per <xref target="registration" format="default"/>. The registration base URI of the registration is taken from the registrant-ep's network address (as is default with regular registrations).  </t>
            <t>
Example request from registrant-EP to RD (unanswered until the next step):</t>
          </li>
        </ul>
        <figure anchor="example-simple1">
          <name>First half example exchange of a simple registration</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
Req: POST /.well-known/core?lt=6000&ep=node1
(No payload)
]]></artwork>
        </figure>
        <ul spacing="normal">
          <li>
            <t>The Resource Directory queries the registrant-ep's discovery resource to determine the success of the operation.
It SHOULD keep a cache of the discovery resource and not query it again as long as it is fresh.  </t>
            <t>
Example request from the RD to the registrant-EP:</t>
          </li>
        </ul>
        <figure anchor="example-simple2">
          <name>Example exchange of the RD querying the simple endpoint</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET /.well-known/core
Accept: 40

Res: 2.05 Content
Content-Format: 40
Payload:
</sen/temp>
]]></artwork>
        </figure>
        <t>With this response, the RD would answer the previous step's request:</t>
        <figure anchor="example-simple3">
          <name>Second half example exchange of a simple registration</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
Res: 2.04 Changed
]]></artwork>
        </figure>
        <t>The sequence of fetching the registration content before sending a successful response
was chosen to make responses reliable,
and the caching item was chosen to still allow very constrained registrants.
Registrants MUST be able to serve a GET request to <tt>/.well-known/core</tt> after having requested registration.
Constrained devices MAY regard the initial request as temporarily failed when they need RAM occupied by their own request to serve the RD's GET,
and retry later when the RD already has a cached representation of their discovery resources.
Then, the RD can reply immediately and the registrant can receive the response.</t>
        <t>The simple registration request interface is specified as follows:</t>
        <dl newline="false" spacing="normal">
          <dt>Interaction:</dt>
          <dd>
  EP -&gt; RD</dd>
          <dt>Method:</dt>
          <dd>
  POST</dd>
          <dt>URI Template:</dt>
          <dd>
  /.well-known/core{?ep,d,lt,extra-attrs*}</dd>
        </dl>
        <t>URI Template Variables are as they are for registration in <xref target="registration" format="default"/>.
The base attribute is not accepted to keep the registration interface simple;
that rules out registration over CoAP-over-TCP or HTTP that would need to specify one.</t>
        <t>The following response is expected on this interface:</t>
        <dl newline="false" spacing="normal">
          <dt>Success:</dt>
          <dd>
  2.04 "Changed".</dd>
        </dl>
        <t>For the second interaction triggered by the above, the registrant-ep takes the role of server and the RD the role of client.
(Note that this is exactly the Well-Known Interface of <xref target="RFC6690" format="default"/> Section 4):
<!-- the above paragraph could just as well be any other text;
what matters is that the tables above and below are clearly separated. -->
        </t>
        <dl newline="false" spacing="normal">
          <dt>Interaction:</dt>
          <dd>
  RD -&gt; EP</dd>
          <dt>Method:</dt>
          <dd>
  GET</dd>
          <dt>URI Template:</dt>
          <dd>
  /.well-known/core</dd>
        </dl>
        <t>The following response is expected on this interface:</t>
        <dl newline="false" spacing="normal">
          <dt>Success:</dt>
          <dd>
  2.05 "Content".</dd>
        </dl>
        <t>The RD MUST delete registrations created by simple registration after the expiration of their lifetime. Additional operations on the registration resource cannot be executed because no registration location is returned.</t>
      </section>
      <section anchor="third-party-registration" numbered="true" toc="default">
        <name>Third-party registration</name>
        <t>For some applications, even Simple Registration may be too taxing
for some very constrained devices, in particular if the security requirements
become too onerous.</t>
        <t>In a controlled environment (e.g. building control), the Resource Directory
can be filled by a third party device, called a Commissioning Tool (CT). The commissioning
tool can fill the Resource Directory from a database or other means. For
that purpose scheme, IP address and port of the URI of the registered device is
 the value of the "base" parameter of the registration described in <xref target="registration" format="default"/>.</t>
        <t>It should be noted that the value of the "base" parameter applies to all the links of the registration and has consequences for the anchor value of the individual links as exemplified in <xref target="weblink" format="default"/>. An eventual (currently non-existing) "base" attribute of the link is not affected by the value of "base" parameter in the registration.</t>
      </section>
      <section anchor="operations-on-the-registration-resource" numbered="true" toc="default">
        <name>Operations on the Registration Resource</name>
        <t>This section describes how the registering endpoint can maintain the registrations that it created. The registering endpoint can be the registrant-ep or the CT. An endpoint SHOULD NOT use this interface for registrations that it did not create. The registrations are resources of the RD.</t>
        <t>After the initial registration, the registering endpoint retains the returned location of the Registration Resource for further operations, including refreshing the registration in order to extend the lifetime and "keep-alive" the registration. When the lifetime of the registration has expired, the RD SHOULD NOT respond to discovery queries concerning this endpoint. The RD SHOULD continue to provide access to the Registration Resource after a registration time-out occurs in order to enable the registering endpoint to eventually refresh the registration. The RD MAY eventually remove the registration resource for the purpose of garbage collection. If the Registration Resource is removed, the corresponding endpoint will need to be re-registered.</t>
        <t>The Registration Resource may also be used cancel the registration using DELETE, and to perform further operations beyond the scope of this specification.</t>
        <t>These operations are described below.</t>
        <section anchor="update" numbered="true" toc="default">
          <name>Registration Update</name>
          <t>The update interface is used by the registering endpoint to refresh or update its
registration with an RD. To use the interface, the registering endpoint sends a POST request to the registration resource returned by the initial registration operation.</t>
          <t>An update MAY update the lifetime or the base URI registration parameters
"lt", "base" as in <xref target="registration" format="default"/>. Parameters that are not being changed SHOULD NOT
be included in an update. Adding parameters that have not changed increases
the size of the message but does not have any other implications.
Parameters MUST be included as query parameters in an update operation as
in <xref target="registration" format="default"/>.</t>
          <t>A registration update resets the timeout of the registration to the (possibly
updated) lifetime of the registration, independent of whether a <tt>lt</tt> parameter
was given.</t>
          <t>If the base URI of the registration is changed in an update,
relative references submitted in the original registration or later updates are resolved anew against the new base.</t>
          <t>The registration update operation only describes the use of POST with an empty payload.
Future standards might describe the semantics of using content formats and payloads
with the POST method to update the links of a registration (see <xref target="link-up" format="default"/>).</t>
          <t>The update registration request interface is specified as follows:</t>
          <dl newline="false" spacing="normal">
            <dt>Interaction:</dt>
            <dd>
  EP -&gt; RD</dd>
            <dt>Method:</dt>
            <dd>
  POST</dd>
            <dt>URI Template:</dt>
            <dd>
  {+location}{?lt,base,extra-attrs*}</dd>
            <dt>URI Template Variables:</dt>
            <dd>
              <dl newline="false" spacing="normal">
                <dt>location :=</dt>
                <dd>
        This is the Location returned by the RD as a result of a successful
earlier registration.</dd>
                <dt>lt :=</dt>
                <dd>
        Lifetime (optional). Lifetime of the registration in seconds. Range of 1-4294967295.
If no lifetime is included, the previous last
lifetime set on a previous update or the original registration
(falling back to 90000) SHOULD be used.</dd>
                <dt>base :=</dt>
                <dd>
        Base URI (optional). This parameter updates the Base URI established in the
original registration to a new value.

If the parameter is set in an update, it is stored by the RD as the new
Base URI under which to interpret the relative links present in the payload of the original registration, following
the same restrictions as in the registration.
If the parameter is not set in the request but was set before, the previous
Base URI value is kept unmodified.
If the parameter is not set in the request and was not set before either, the
source address and source port of the update request are stored as the
Base URI.</dd>
                <dt>extra-attrs :=</dt>
                <dd>
        Additional registration attributes (optional). As with the registration,
the RD processes them if it knows their semantics. Otherwise, unknown
attributes are stored as endpoint attributes, overriding any previously
stored endpoint attributes of the same key.</dd>
                <dt/>
                <dd>Note that this default behavior does not allow removing an endpoint attribute in an update.
For attributes whose functionality depends on the endpoints' ability to remove them in an update,
it can make sense to define a value whose presence is equivalent to the absence of a value.
As an alternative, an extension can define different updating rules for their attributes.
That necessitates either discovery of whether the RD is aware of that extension,
or tolerating the default behavior.</dd>
              </dl>
            </dd>
            <dt>Content-Format:</dt>
            <dd>
  none (no payload)</dd>
          </dl>
          <t>The following responses are expected on this interface:</t>
          <dl newline="false" spacing="normal">
            <dt>Success:</dt>
            <dd>
  2.04 "Changed" or 204 "No Content" if the update was successfully processed.</dd>
            <dt>Failure:</dt>
            <dd>
  4.04 "Not Found" or 404 "Not Found". Registration does not exist (e.g. may have been removed).</dd>
          </dl>
          <t>If the registration fails in any way, including "Not Found" and request timeouts,
or if the time indicated in a Service Unavailable Max-Age/Retry-After exceeds the remaining lifetime,
the registering endpoint SHOULD attempt registration again.</t>
          <t>The following example shows how the registering endpoint updates its registration resource at
an RD using this interface with the example location value: /rd/4521.</t>
          <figure anchor="example-update">
            <name>Example update of a registration</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
Req: POST /rd/4521

Res: 2.04 Changed
]]></artwork>
          </figure>
          <t>The following example shows the registering endpoint updating its registration resource at
an RD using this interface with the example location value: /rd/4521. The initial registration by the registering endpoint set the following values:</t>
          <ul spacing="normal">
            <li>endpoint name (ep)=endpoint1</li>
            <li>lifetime (lt)=500</li>
            <li>Base URI (base)=coap://local-proxy-old.example.com:5683</li>
            <li>payload of <xref target="example-payload" format="default"/></li>
          </ul>
          <t>The initial state of the Resource Directory is reflected in the following request:</t>
          <figure anchor="example-update-base-lookup-pre">
            <name>Example lookup before a change to the base address</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET /rd-lookup/res?ep=endpoint1

Res: 2.05 Content
Payload:
<coap://local-proxy-old.example.com:5683/sensors/temp>;ct=41;
    rt="temperature-c";if="sensor";
    anchor="coap://local-proxy-old.example.com:5683/",
<http://www.example.com/sensors/temp>;
    anchor="coap://local-proxy-old.example.com:5683/sensors/temp";rel="describedby"
]]></artwork>
          </figure>
          <t>The following example shows the registering endpoint changing the Base URI to <tt>coaps://new.example.com:5684</tt>:</t>
          <figure anchor="example-update-base">
            <name>Example registration update that changes the base address</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
Req: POST /rd/4521?base=coaps://new.example.com:5684

Res: 2.04 Changed
]]></artwork>
          </figure>
          <t>The consecutive query returns:</t>
          <figure anchor="example-update-base-lookup-post">
            <name>Example lookup after a change to the base address</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET /rd-lookup/res?ep=endpoint1

Res: 2.05 Content
Payload:
<coap://new.example.com:5684/sensors/temp>;ct=41;
    rt="temperature-c";if="sensor";
    anchor="coap://new.example.com:5684/",
<http://www.example.com/sensors/temp>;
    anchor="coap://new.example.com:5684/sensors/temp";rel="describedby"
]]></artwork>
          </figure>
        </section>
        <section anchor="removal" numbered="true" toc="default">
          <name>Registration Removal</name>
          <t>Although RD registrations have soft state and will eventually timeout after their
lifetime, the registering endpoint SHOULD explicitly remove an entry from the RD if it
knows it will no longer be available (for example on shut-down). This is
accomplished using a removal interface on the RD by performing a DELETE on
the endpoint resource.</t>
          <t>The removal request interface is specified as follows:</t>
          <dl newline="false" spacing="normal">
            <dt>Interaction:</dt>
            <dd>
  EP -&gt; RD</dd>
            <dt>Method:</dt>
            <dd>
  DELETE</dd>
            <dt>URI Template:</dt>
            <dd>
  {+location}</dd>
            <dt>URI Template Variables:</dt>
            <dd>
              <dl newline="false" spacing="normal">
                <dt>location :=</dt>
                <dd>
        This is the Location returned by the RD as a result of a successful
earlier registration.</dd>
              </dl>
            </dd>
          </dl>
          <t>The following responses are expected on this interface:</t>
          <dl newline="false" spacing="normal">
            <dt>Success:</dt>
            <dd>
  2.02 "Deleted" or 204 "No Content" upon successful deletion</dd>
            <dt>Failure:</dt>
            <dd>
  4.04 "Not Found" or 404 "Not Found". Registration does not exist (e.g. may already have been removed).</dd>
          </dl>
          <t>The following examples shows successful removal of the endpoint from the RD with example location value /rd/4521.</t>
          <figure anchor="example-removal">
            <name>Example of a registration removal</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
Req: DELETE /rd/4521

Res: 2.02 Deleted
]]></artwork>
          </figure>
        </section>
        <section anchor="link-up" numbered="true" toc="default">
          <name>Further operations</name>
          <t>Additional operations on the registration can be specified in future documents, for example:</t>
          <ul spacing="normal">
            <li>Send iPATCH (or PATCH) updates (<xref target="RFC8132" format="default"/>) to add, remove or change the links of a registration.</li>
            <li>Use GET to read the currently stored set of links in a registration resource.</li>
          </ul>
          <t>Those operations are out of scope of this document, and will require media types suitable for modifying sets of links.</t>
        </section>
      </section>
    </section>
    <section anchor="lookup" numbered="true" toc="default">
      <name>RD Lookup</name>
      <t>To discover the resources registered with the RD,
a lookup interface must be provided. This lookup interface
is defined as a default, and it is assumed that RDs may also support lookups
to return resource descriptions in alternative formats (e.g. JSON or CBOR link format <xref target="I-D.ietf-core-links-json" format="default"/>)
or using more advanced interfaces (e.g. supporting context or semantic
based lookup) on different resources that are discovered independently.</t>
      <t>RD Lookup allows lookups for endpoints and resources
using attributes defined in this document and for use with the CoRE
Link Format. The result of a lookup request is the list of links (if any)
corresponding to the type of lookup.  Thus, an endpoint lookup MUST return a list of endpoints and a resource lookup MUST return a list of links to resources.</t>
      <t>The lookup type is selected by a URI endpoint, which is indicated by a Resource Type as per <xref target="lookup-types" format="default"/> below:</t>
      <table anchor="lookup-types" align="center">
        <name>Lookup Types</name>
        <thead>
          <tr>
            <th align="left">Lookup Type</th>
            <th align="left">Resource Type</th>
            <th align="left">Mandatory</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">Resource</td>
            <td align="left">core.rd-lookup-res</td>
            <td align="left">Mandatory</td>
          </tr>
          <tr>
            <td align="left">Endpoint</td>
            <td align="left">core.rd-lookup-ep</td>
            <td align="left">Mandatory</td>
          </tr>
        </tbody>
      </table>
      <section anchor="resource-lookup" numbered="true" toc="default">
        <name>Resource lookup</name>
        <t>Resource lookup results in links that are semantically equivalent to the links submitted to the RD.
The links and link parameters returned by the lookup are equal to the submitted ones,
except that the target and anchor references are fully resolved.</t>
        <t>Links that did not have an anchor attribute are therefore returned with the  base URI of the registration as the anchor.
Links of which href or anchor was submitted as a (full) URI are returned with these attributes unmodified.</t>
        <t>Above rules allow the client to interpret the response as links without any further knowledge of the storage conventions of the RD.
The Resource Directory MAY replace the registration base URIs with a configured intermediate proxy, e.g. in the case of an HTTP lookup interface for CoAP endpoints.</t>
        <t>If the base URI of a registration contains a link-local address,
the RD MUST NOT show its links unless the lookup was made from the
same link.
The RD MUST NOT include zone identifiers in the resolved URIs.</t>
      </section>
      <section anchor="lookup-filtering" numbered="true" toc="default">
        <name>Lookup filtering</name>
        <t>Using the Accept Option, the requester can control whether the returned list is returned in CoRE Link Format (<tt>application/link-format</tt>, default) or in alternate content-formats (e.g. from <xref target="I-D.ietf-core-links-json" format="default"/>).</t>
        <t>The page and count parameters are used to obtain lookup results in specified increments using pagination, where count specifies how many links to return and page specifies which subset of links organized in sequential pages, each containing 'count' links, starting with link zero and page zero. Thus, specifying count of 10 and page of 0 will return the first 10 links in the result set (links 0-9). Count = 10 and page = 1 will return the next 'page' containing links 10-19, and so on.</t>
        <t>Multiple search criteria MAY be included in a lookup. All included criteria MUST match for a link to be returned. The Resource Directory MUST support matching with multiple search criteria.</t>
        <t>A link matches a search criterion if it has an attribute of the same name and the same value, allowing for a trailing "*" wildcard operator as in Section 4.1 of <xref target="RFC6690" format="default"/>.
Attributes that are defined as "link-type" match if the search value matches any of their values (see Section 4.1 of <xref target="RFC6690" format="default"/>; e.g. <tt>?if=core.s</tt> matches <tt>;if="abc core.s";</tt>).
A resource link also matches a search criterion if its endpoint would match the criterion, and vice versa, an endpoint link matches a search criterion if any of its resource links matches it.</t>
        <t>Note that <tt>href</tt> is a valid search criterion and matches target references. Like all search criteria, on a resource lookup it can match the target reference of the resource link itself, but also the registration resource of the endpoint that registered it.
Queries for resource link targets MUST be in URI form (i.e. not relative references) and are matched against a resolved link target. Queries for endpoints SHOULD be expressed in path-absolute form if possible and MUST be expressed in URI form otherwise; the RD SHOULD recognize either.
The <tt>anchor</tt> attribute is usable for resource lookups, and, if queried, MUST be for in URI form as well.</t>
        <t>Endpoints that are interested in a lookup result repeatedly or continuously can use
mechanisms like ETag caching, resource observation (<xref target="RFC7641" format="default"/>),
or any future mechanism that might allow more efficient observations of collections.
These are advertised, detected and used according to their own specifications
and can be used with the lookup interface as with any other resource.</t>
        <t>When resource observation is used,
every time the set of matching links changes, or the content of a matching link changes, the RD sends a notification with the matching link set.
The notification contains the successful current response to the given request,
especially with respect to representing zero matching links
(see "Success" item below).</t>
        <t>The lookup interface is specified as follows:</t>
        <dl newline="false" spacing="normal">
          <dt>Interaction:</dt>
          <dd>
  Client -&gt; RD</dd>
          <dt>Method:</dt>
          <dd>
  GET</dd>
          <dt>URI Template:</dt>
          <dd>
  {+type-lookup-location}{?page,count,search*}</dd>
          <dt>URI Template Variables:</dt>
          <dd>
            <dl newline="false" spacing="normal">
              <dt>type-lookup-location :=</dt>
              <dd>
        RD Lookup URI for a given lookup type (mandatory). The address is
discovered as described in <xref target="discovery" format="default"/>.</dd>
              <dt>search :=</dt>
              <dd>
        Search criteria for limiting the number of results (optional).</dd>
              <dt>page :=</dt>
              <dd>
        Page (optional). Parameter cannot be used without the count
parameter. Results are returned from result set in pages that contain
'count' links starting from index (page * count). Page numbering starts
with zero.</dd>
              <dt>count :=</dt>
              <dd>
        Count (optional). Number of results is limited to this parameter value. If
the page parameter is also present, the response MUST only include 'count'
links starting with the (page * count) link in the result set from the query. If
the count parameter is not present, then the response MUST return all matching
links in the result set. Link numbering starts with zero.</dd>
            </dl>
          </dd>
          <dt>Accept:</dt>
          <dd>
  absent, application/link-format or any other indicated media type representing web links</dd>
        </dl>
        <t>The following responses codes are defined for this interface:</t>
        <dl newline="false" spacing="normal">
          <dt>Success:</dt>
          <dd>
  2.05 "Content" or 200 "OK" with an <tt>application/link-format</tt> or other web link payload containing matching entries for the lookup.

The payload can contain zero links (which is an empty payload in <xref target="RFC6690" format="default"/> link format, but could also be <tt>[]</tt> in JSON based formats),
indicating that no entities matched the request.</dd>
        </dl>
      </section>
      <section anchor="resource-lookup-examples" numbered="true" toc="default">
        <name>Resource lookup examples</name>
        <t>The examples in this section assume the existence of CoAP hosts with a default CoAP port 61616. HTTP hosts are possible and do not change the nature of the examples.</t>
        <t>The following example shows a client performing a resource lookup with the example resource look-up locations discovered in <xref target="example-discovery" format="default"/>:</t>
        <figure anchor="example-lookup-res">
          <name>Example a resource lookup</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET /rd-lookup/res?rt=temperature

Res: 2.05 Content
<coap://[2001:db8:3::123]:61616/temp>;rt="temperature";
           anchor="coap://[2001:db8:3::123]:61616"
]]></artwork>
        </figure>
        <t>A client that wants to be notified of new resources as they show up can use
observation:</t>
        <figure anchor="example-lookup-obs">
          <name>Example an observing resource lookup</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET /rd-lookup/res?rt=light
Observe: 0

Res: 2.05 Content
Observe: 23
Payload: empty

(at a later point in time)

Res: 2.05 Content
Observe: 24
Payload:
<coap://[2001:db8:3::124]/west>;rt="light";
    anchor="coap://[2001:db8:3::124]",
<coap://[2001:db8:3::124]/south>;rt="light";
    anchor="coap://[2001:db8:3::124]",
<coap://[2001:db8:3::124]/east>;rt="light";
    anchor="coap://[2001:db8:3::124]"
]]></artwork>
        </figure>
        <t>The following example shows a client performing a paginated resource lookup</t>
        <figure anchor="example-lookup-page">
          <name>Examples of paginated resource lookup</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET /rd-lookup/res?page=0&count=5

Res: 2.05 Content
<coap://[2001:db8:3::123]:61616/res/0>;rt=sensor;ct=60;
    anchor="coap://[2001:db8:3::123]:61616",
<coap://[2001:db8:3::123]:61616/res/1>;rt=sensor;ct=60;
    anchor="coap://[2001:db8:3::123]:61616",
<coap://[2001:db8:3::123]:61616/res/2>;rt=sensor;ct=60;
    anchor="coap://[2001:db8:3::123]:61616",
<coap://[2001:db8:3::123]:61616/res/3>;rt=sensor;ct=60;
    anchor="coap://[2001:db8:3::123]:61616",
<coap://[2001:db8:3::123]:61616/res/4>;rt=sensor;ct=60;
    anchor="coap://[2001:db8:3::123]:61616"

Req: GET /rd-lookup/res?page=1&count=5

Res: 2.05 Content
<coap://[2001:db8:3::123]:61616/res/5>;rt=sensor;ct=60;
    anchor="coap://[2001:db8:3::123]:61616",
<coap://[2001:db8:3::123]:61616/res/6>;rt=sensor;ct=60;
    anchor="coap://[2001:db8:3::123]:61616",
<coap://[2001:db8:3::123]:61616/res/7>;rt=sensor;ct=60;
    anchor="coap://[2001:db8:3::123]:61616",
<coap://[2001:db8:3::123]:61616/res/8>;rt=sensor;ct=60;
    anchor="coap://[2001:db8:3::123]:61616",
<coap://[2001:db8:3::123]:61616/res/9>;rt=sensor;ct=60;
    anchor="coap://[2001:db8:3::123]:61616"
]]></artwork>
        </figure>
        <t>The following example shows a client performing a lookup of all resources
of all endpoints of a given endpoint type. It assumes that two endpoints (with endpoint
names <tt>sensor1</tt> and <tt>sensor2</tt>) have previously registered with their respective
addresses <tt>coap://sensor1.example.com</tt> and <tt>coap://sensor2.example.com</tt>, and
posted the very payload of the 6th request of section 5 of <xref target="RFC6690" format="default"/>.</t>
        <t>It demonstrates how absolute link targets stay unmodified, while relative ones
are resolved:</t>
        <figure anchor="example-lookup-multiple">
          <name>Example of resource lookup from multiple endpoints</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET /rd-lookup/res?et=oic.d.sensor

<coap://sensor1.example.com/sensors>;ct=40;title="Sensor Index";
    anchor="coap://sensor1.example.com",
<coap://sensor1.example.com/sensors/temp>;rt="temperature-c";
    if="sensor"; anchor="coap://sensor1.example.com",
<coap://sensor1.example.com/sensors/light>;rt="light-lux";
    if="sensor"; anchor="coap://sensor1.example.com",
<http://www.example.com/sensors/t123>;rel="describedby";
    anchor="coap://sensor1.example.com/sensors/temp",
<coap://sensor1.example.com/t>;rel="alternate";
    anchor="coap://sensor1.example.com/sensors/temp",
<coap://sensor2.example.com/sensors>;ct=40;title="Sensor Index";
    anchor="coap://sensor2.example.com",
<coap://sensor2.example.com/sensors/temp>;rt="temperature-c";
    if="sensor"; anchor="coap://sensor2.example.com",
<coap://sensor2.example.com/sensors/light>;rt="light-lux";
    if="sensor"; anchor="coap://sensor2.example.com",
<http://www.example.com/sensors/t123>;rel="describedby";
    anchor="coap://sensor2.example.com/sensors/temp",
<coap://sensor2.example.com/t>;rel="alternate";
    anchor="coap://sensor2.example.com/sensors/temp"
]]></artwork>
        </figure>
      </section>
      <section anchor="ep-lookup" numbered="true" toc="default">
        <name>Endpoint lookup</name>
        <t>The endpoint lookup returns registration resources which can only be manipulated by the registering endpoint.</t>
        <t>Endpoint registration resources are annotated with their endpoint names (ep), sectors (d, if present) and registration base URI (base; reports the registrant-ep's address if no explicit base was given) as well as a constant resource type (rt="core.rd-ep"); the lifetime (lt) is not reported.
Additional endpoint attributes are added as target attributes to their endpoint link unless their specification says otherwise.</t>
        <t>Links to endpoints SHOULD be presented in path-absolute form or, if required, as (full) URIs. (This avoids the RFC6690 ambiguities.)</t>
        <t>Base addresses that contain link-local addresses MUST NOT include zone identifiers,
and such registrations <!-- or "' base attributes" --> MUST NOT be
shown unless the lookup was made from the same link from which the
registration was made.</t>
        <t>While Endpoint Lookup does expose the registration resources,
the RD does not need to make them accessible to clients.
Clients SHOULD NOT attempt to dereference or manipulate them.</t>
        <t>A Resource Directory can report endpoints in lookup that are not hosted at the same address.
Lookup clients MUST be prepared to see arbitrary URIs as registration resources in the results
and treat them as opaque identifiers;
the precise semantics of such links are left to future specifications.</t>
        <t>The following example shows a client performing an endpoint type (et) lookup with  the value oic.d.sensor (which is currently a registered rt value):</t>
        <figure anchor="example-lookup-ep">
          <name>Examples of endpoint lookup</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET /rd-lookup/ep?et=oic.d.sensor

Res: 2.05 Content
</rd/1234>;base="coap://[2001:db8:3::127]:61616";ep="node5";
et="oic.d.sensor";ct="40";rt="core.rd-ep",
</rd/4521>;base="coap://[2001:db8:3::129]:61616";ep="node7";
et="oic.d.sensor";ct="40";d="floor-3";rt="core.rd-ep"
]]></artwork>
        </figure>
      </section>
    </section>
    <section anchor="policies" numbered="true" toc="default">
      <name>Security policies</name>
      <t>The Resource Directory (RD) provides assistance to applications situated on a selection of nodes to discover endpoints on connected nodes. This section discusses different security aspects of accessing the RD.</t>
      <t>The contents of the RD are inserted in two ways:</t>
      <ol spacing="normal" type="1">
        <li>
          <t>The node hosting the discoverable endpoint fills the RD with the contents of /.well-known/core by:
          </t>
          <ul spacing="normal">
            <li>Storing the contents directly into RD (see <xref target="registration" format="default"/>)</li>
            <li>Requesting the RD to load the contents from /.well-known/core (see <xref target="simple" format="default"/>)</li>
          </ul>
        </li>
        <li>A Commissioning Tool (CT) fills the RD with endpoint information for a set of discoverable nodes. (see <xref target="registration" format="default"/> with base=authority parameter value)</li>
      </ol>
      <t>In both cases, the nodes filling the RD should be authenticated and authorized to change the contents of the RD. An Authorization Server (AS) is responsible to assign a token to the registering node to authorize the node to discover or register endpoints in a given RD <xref target="I-D.ietf-ace-oauth-authz" format="default"/>.</t>
      <t>It can be imagined that an installation is divided in a set of security regions, each one with its own RD(s) to discover the endpoints that are part of a given security region. An endpoint that wants to discover an RD, responsible for a given region, needs to be authorized to learn the contents of a given RD. Within a region, for a given RD, a more fine-grained security division is possible based on the values of the endpoint registration parameters. Authorization to discover endpoints with a given set of filter values is recommended for those cases.</t>
      <t>When a node registers its endpoints, criteria are needed to authorize the node to enter them. An important aspect is the uniqueness of the (endpoint name, and optional sector) pair within the RD. Consider the two cases separately: (1) CT registers endpoints, and (2) the registering node registers its own endpoint(s).</t>
      <ul spacing="normal">
        <li>A CT needs authorization to register a set of endpoints. This authorization can be based on the region, i.e. a given CT is authorized to register any endpoint (endpoint name, sector) into a given RD, or to register an endpoint with (endpoint name, sector) value pairs assigned by the AS, or can be more fine-grained, including a subset of registration parameter values.</li>
        <li>A given endpoint that registers itself, needs to proof its possession of its unique (endpoint name, sector) value pair. Alternatively, the AS can authorize the endpoint to register with an (endpoint name, sector) value pair assigned by the AS.</li>
      </ul>
      <t>A separate document needs to specify these aspects to ensure interoperability between registering nodes and RD. The subsections below give some hints how to handle a subset of the different aspects.</t>
      <section anchor="secure-rd-discovery" numbered="true" toc="default">
        <name>Secure RD discovery</name>
        <t>The Resource Server (RS) discussed in <xref target="I-D.ietf-ace-oauth-authz" format="default"/> is equated to the RD. The client (C) needs to discover the RD as discussed in <xref target="finding_an_rd" format="default"/>. C can discover the related AS by sending a request to the RD. The RD denies the request by sending the address of the related AS, as discussed in section 5.1 of <xref target="I-D.ietf-ace-oauth-authz" format="default"/>.
The client MUST send an authorization request to the AS. When appropriate, the AS returns a token that specifies the authorization permission which needs to be specified in a separate document.</t>
      </section>
      <section anchor="secure-rd-filtering" numbered="true" toc="default">
        <name>Secure RD filtering</name>
        <t>The authorized parameter values for the queries by a given endpoint must be registered by the AS. The AS communicates the parameter values in the token. A separate document needs to specify the parameter value combinations and their storage in the token. The RD decodes the token and checks the validity of the queries of the client.</t>
      </section>
      <section anchor="secure-ep" numbered="true" toc="default">
        <name>Secure endpoint Name assignment</name>
        <t>This section only considers the assignment of a name to the endpoint based on an automatic mechanism without use of AS. More elaborate protocols are out of scope. The registering endpoint is authorized by the AS to discover the RD and add registrations. A token is provided by the AS and communicated from registering endpoint to RD.  It is assumed that DTLS is used to secure the channel between registering endpoint and RD, where the registering endpoint is the DTLS client. Assuming that the client is provided by a certificate at manufacturing time, the certificate is uniquely identified by the CN field and the serial number (see <xref target="RFC5280" format="default"/> Section 4.1.2.2). The RD can assign a unique endpoint name by using the certificate identifier as endpoint name. Proof of possession of the endpoint name by the registering endpoint is checked by encrypting the certificate identifier with the private key of the registering endpoint, which the RD can decrypt with the public key stored in the certificate.
Even simpler, the authorized registering endpoint can generate a random number (or string) that identifies the endpoint. The RD can check for the improbable replication of the random value. The RD MUST check that registering endpoint uses only one random value for each authorized endpoint.</t>
      </section>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>The security considerations as described in Section 5 of <xref target="RFC8288" format="default"/> and
Section 6 of <xref target="RFC6690" format="default"/> apply. The <tt>/.well-known/core</tt> resource may be
protected e.g. using DTLS when hosted on a CoAP server as described in
<xref target="RFC7252" format="default"/>. DTLS or TLS based security SHOULD be used on all resource
directory interfaces defined in this document<!-- TODO: Improve the exact DTLS
or TLS security requirements and references  -->.</t>
      <section anchor="endpoint_identification" numbered="true" toc="default">
        <name>Endpoint Identification and Authentication</name>
        <t>An Endpoint (name, sector) pair is unique within the et of endpoints registered by the RD. An Endpoint MUST NOT be identified by its protocol, port or IP
address as these may change over the lifetime of an Endpoint.</t>
        <t>Every operation performed by an Endpoint on a resource directory
SHOULD be mutually authenticated using Pre-Shared Key, Raw Public Key or
Certificate based security.</t>
        <t>Consider the following threat: two devices A and B are registered at a single server. Both devices have unique, per-device credentials for use with DTLS to make sure that only parties with authorization to access A or B can do so.</t>
        <t>Now, imagine that a malicious device A wants to sabotage the device B. It uses its credentials during the DTLS exchange. Then, it specifies the
endpoint name of device B as the name of its own endpoint in device A. If the server does not check
whether the identifier provided in the DTLS handshake matches the
identifier used at the CoAP layer then it may be inclined to use the
endpoint name for looking up what information to provision to the malicious device.</t>
        <t><xref target="secure-ep" format="default"/> specifies an example that removes this threat for endpoints that have a certificate installed.</t>
      </section>
      <section anchor="access-control" numbered="true" toc="default">
        <name>Access Control</name>
        <t>Access control SHOULD be performed separately for the RD registration and Lookup
API paths, as different endpoints may be authorized to register
with an RD from those authorized to lookup endpoints from the RD. Such access
control SHOULD be performed in as fine-grained a level as possible. For example
access control for lookups could be performed either at the sector, endpoint
or resource level.</t>
      </section>
      <section anchor="denial-of-service-attacks" numbered="true" toc="default">
        <name>Denial of Service Attacks</name>
        <t>Services that run over UDP unprotected are vulnerable to unknowingly
become part of a DDoS attack as UDP does not require return
routability check. Therefore, an attacker can easily spoof the source
IP of the target entity and send requests to such a service which
would then respond to the target entity. This can be used for
large-scale DDoS attacks on the target. Especially, if the service
returns a response that is order of magnitudes larger than the
request, the situation becomes even worse as now the attack can be
amplified. DNS servers have been widely used for DDoS amplification
attacks. There is also a danger that NTP Servers could become implicated in denial-of-service (DoS) attacks since they run on unprotected UDP, there
is no return routability check, and they can have a large amplification factor.
The responses from the NTP server were found to be
19 times larger than the request. A Resource Directory (RD) which responds
to wild-card lookups is potentially vulnerable if run with CoAP over UDP.
Since there is no return routability check and the responses can be significantly
larger than requests, RDs can unknowingly become part of a DDoS amplification
attack.</t>
      </section>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section anchor="iana-rt" numbered="true" toc="default">
        <name>Resource Types</name>
        <t>IANA is asked to enter the following values into the Resource Type (rt=) Link
Target Attribute Values sub-registry of the Constrained Restful Environments
(CoRE) Parameters registry defined in <xref target="RFC6690" format="default"/>:</t>
        <table align="center">
          <thead>
            <tr>
              <th align="left">Value</th>
              <th align="left">Description</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">core.rd</td>
              <td align="left">Directory resource of an RD</td>
              <td align="left">RFCTHIS <xref target="discovery" format="default"/></td>
            </tr>
            <tr>
              <td align="left">core.rd-lookup-res</td>
              <td align="left">Resource lookup of an RD</td>
              <td align="left">RFCTHIS <xref target="discovery" format="default"/></td>
            </tr>
            <tr>
              <td align="left">core.rd-lookup-ep</td>
              <td align="left">Endpoint lookup of an RD</td>
              <td align="left">RFCTHIS <xref target="discovery" format="default"/></td>
            </tr>
            <tr>
              <td align="left">core.rd-ep</td>
              <td align="left">Endpoint resource of an RD</td>
              <td align="left">RFCTHIS <xref target="lookup" format="default"/></td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="ipv6-nd-resource-directory-address-option" numbered="true" toc="default">
        <name>IPv6 ND Resource Directory Address Option</name>
        <t>This document registers one new ND option type under the sub-registry "IPv6 Neighbor Discovery Option Formats":</t>
        <ul spacing="normal">
          <li>Resource Directory Address Option (TBD38)</li>
        </ul>
        <t>[ The RFC editor is asked to replace TBD38
with the assigned number in the document;
the value 38 is suggested. ]</t>
      </section>
      <section anchor="iana-registry" numbered="true" toc="default">
        <name>RD Parameter Registry</name>
        <t>This specification defines a new sub-registry for registration and lookup
parameters called "RD Parameters" under "CoRE Parameters". Although this
specification defines a basic set of parameters, it is expected that other
standards that make use of this interface will define new ones.</t>
        <t>Each entry in the registry must include</t>
        <ul spacing="normal">
          <li>the human readable name of the parameter,</li>
          <li>the short name as used in query parameters or target attributes,</li>
          <li>indication of whether it can be passed as a query parameter at registration of endpoints, as a query parameter in lookups, or be expressed as a target attribute,</li>
          <li>validity requirements if any,</li>
          <li>a description,</li>
          <li>and a link to reference documentation.</li>
        </ul>
        <t>The query parameter MUST be both a valid URI query key <xref target="RFC3986" format="default"/> and a token as used in <xref target="RFC8288" format="default"/>.</t>
        <t>The description must give details on whether the parameter can be updated, and how it is to be processed in lookups.</t>
        <t>The mechanisms around new RD parameters should be designed in such a way that they tolerate RD implementations that are unaware of the parameter and expose any parameter passed at registration or updates on in endpoint lookups. (For example, if a parameter used at registration were to be confidential, the registering endpoint should be instructed to only set that parameter if the RD advertises support for keeping it confidential at the discovery step.)</t>
        <t>Initial entries in this sub-registry are as follows:</t>
        <table anchor="tab-registry" align="center">
          <name>RD Parameters</name>
          <thead>
            <tr>
              <th align="left">Full name</th>
              <th align="left">Short</th>
              <th align="left">Validity</th>
              <th align="left">Use</th>
              <th align="left">Description</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">Endpoint Name</td>
              <td align="left">ep</td>
              <td align="left">Unicode*</td>
              <td align="left">RLA</td>
              <td align="left">Name of the endpoint</td>
            </tr>
            <tr>
              <td align="left">Lifetime</td>
              <td align="left">lt</td>
              <td align="left">1-4294967295</td>
              <td align="left">R</td>
              <td align="left">Lifetime of the registration in seconds</td>
            </tr>
            <tr>
              <td align="left">Sector</td>
              <td align="left">d</td>
              <td align="left">Unicode*</td>
              <td align="left">RLA</td>
              <td align="left">Sector to which this endpoint belongs</td>
            </tr>
            <tr>
              <td align="left">Registration Base URI</td>
              <td align="left">base</td>
              <td align="left">URI</td>
              <td align="left">RLA</td>
              <td align="left">The scheme, address and port and path at which this server is available</td>
            </tr>
            <tr>
              <td align="left">Page</td>
              <td align="left">page</td>
              <td align="left">Integer</td>
              <td align="left">L</td>
              <td align="left">Used for pagination</td>
            </tr>
            <tr>
              <td align="left">Count</td>
              <td align="left">count</td>
              <td align="left">Integer</td>
              <td align="left">L</td>
              <td align="left">Used for pagination</td>
            </tr>
            <tr>
              <td align="left">Endpoint Type</td>
              <td align="left">et</td>
              <td align="left">
                <xref target="et-description" format="default"/></td>
              <td align="left">RLA</td>
              <td align="left">Semantic type of the endpoint (see <xref target="et-registry" format="default"/>)</td>
            </tr>
          </tbody>
        </table>
        <t>(Short: Short name used in query parameters or target attributes. Validity: Unicode* = 63 Bytes of UTF-8 encoded Unicode, with no control characters as per <xref target="registration" format="default"/>. Use: R = used at registration, L = used at lookup, A = expressed in target attribute</t>
        <t>The descriptions for the options defined in this document are only summarized here.
To which registrations they apply and when they are to be shown is described in the respective sections of this document.
All their reference documentation entries point to this document.</t>
        <t>The IANA policy for future additions to the sub-registry is "Expert Review"
as described in <xref target="RFC8126" format="default"/>. The evaluation should consider
formal criteria,
duplication of functionality (Is the new entry redundant with an existing one?),
topical suitability (E.g. is the described property actually a property of the endpoint and not a property of a particular resource, in which case it should go into the payload of the registration and need not be registered?),
and the potential for conflict with commonly used target attributes (For example, <tt>if</tt> could be used as a parameter for conditional registration if it were not to be used in lookup or attributes, but would make a bad parameter for lookup, because a resource lookup with an <tt>if</tt> query parameter could ambiguously filter by the registered endpoint property or the <xref target="RFC6690" format="default"/> target attribute).
It is expected that the registry will receive between 5 and 50 registrations in total over the next years.</t>
        <section anchor="et-description" numbered="true" toc="default">
          <name>Full description of the "Endpoint Type" Registration Parameter</name>
          <t>An endpoint registering at an RD can describe itself with endpoint types,
similar to how resources are described with Resource Types in <xref target="RFC6690" format="default"/>.
An endpoint type is expressed as a string, which can be either a URI or one of
the values defined in the Endpoint Type sub-registry.
Endpoint types can be passed in the <tt>et</tt> query parameter as part of extra-attrs
at the Registration step,
are shown on endpoint lookups using the <tt>et</tt> target attribute,
and can be filtered for using <tt>et</tt> as a search criterion in resource and
endpoint lookup.
Multiple endpoint types are given as separate query parameters or link
attributes.</t>
          <t>Note that Endpoint Type differs from Resource Type in that it uses multiple
attributes rather than space separated values.
As a result, Resource Directory implementations automatically support correct
filtering in the lookup interfaces from the rules for unknown endpoint
attributes.</t>
        </section>
      </section>
      <section anchor="et-registry" numbered="true" toc="default">
        <name>"Endpoint Type" (et=) RD Parameter values</name>
        <t>This specification establishes a new sub-registry under "CoRE Parameters"
called '"Endpoint Type" (et=) RD Parameter values'.
The registry properties (required policy, requirements, template) are identical
to those of the Resource Type parameters in <xref target="RFC6690" format="default"/>, in short:</t>
        <t>The review policy is IETF Review for values starting with "core", and
Specification Required for others.</t>
        <t>The requirements to be enforced are:</t>
        <ul spacing="normal">
          <li>The values MUST be related to the purpose described in <xref target="et-description" format="default"/>.</li>
          <li>The registered values MUST conform to the ABNF reg-rel-type definition of
<xref target="RFC6690" format="default"/> and MUST NOT be a URI.</li>
          <li>It is recommended to use the period "." character for segmentation.</li>
        </ul>
        <t>The registry initially contains one value:</t>
        <ul spacing="normal">
          <li>"core.rd-group": An application group as described in <xref target="groups" format="default"/>.</li>
        </ul>
      </section>
      <section anchor="mc-registration" numbered="true" toc="default">
        <name>Multicast Address Registration</name>
        <t><!-- IANA has assigned -->
   IANA is asked to assign
   the following multicast addresses for use by CoAP nodes:</t>
        <t>IPv4  - "all CoRE resource directories" address MCD2 (suggestion: 224.0.1.189), from the "IPv4
      Multicast Address Space Registry".  As the address is used for
      discovery that may span beyond a single network, it has come from
      the Internetwork Control Block (224.0.1.x, RFC 5771).</t>
        <t>IPv6  - "all CoRE resource directories" address MCD1 (suggestions FF0X::FE), from the "IPv6 Multicast
      Address Space Registry", in the "Variable Scope Multicast
      Addresses" space (RFC 3307).  Note that there is a distinct
      multicast address for each scope that interested CoAP nodes should
      listen to; CoAP needs the Link-Local and Site-Local scopes only.</t>
        <t>[ The RFC editor is asked to replace MCD1 and MCD2
with the assigned addresses throughout the document. ]</t>
      </section>
      <section anchor="well-kown-uris" numbered="true" toc="default">
        <name>Well-Kown URIs</name>
        <t>IANA is asked to extend
<!-- IANA has extended -->
the reference for the "core" URI suffix
in the "Well-Known URIs" registry
to reference this document next to <xref target="RFC6690" format="default"/>,
as this defines the resource's behavior for POST requests.</t>
      </section>
      <section anchor="service-names-and-transport-protocol-port-number-registry" numbered="true" toc="default">
        <name>Service Names and Transport Protocol Port Number Registry</name>
        <t>IANA is asked to enter four new items into the Service Names and Transport Protocol Port Number Registry:</t>
        <ul spacing="normal">
          <li>Service name: "core-rd",  Protocol: "udp", Description: "Resource Directory accessed using CoAP"</li>
          <li>Service name "core-rd-dtls", Protocol: "udp", Description: "Resource Directory accedded using CoAP over DTLS"</li>
          <li>Service name: "core-rd",  Protocol: "tcp", Description: "Resource Directory accessed using CoAP over TCP"</li>
          <li>Service name "core-rd-tls", Protocol: "tcp", Description: "Resource Directory accedded using CoAP over TLS"</li>
        </ul>
        <t>All in common have this document as their reference.</t>
      </section>
    </section>
    <section anchor="examples" numbered="true" toc="default">
      <name>Examples</name>
      <t>Two examples are presented: a Lighting Installation example in <xref target="lt-ex" format="default"/> and a LWM2M example in <xref target="lwm2m-ex" format="default"/>.</t>
      <section anchor="lt-ex" numbered="true" toc="default">
        <name>Lighting Installation</name>
        <t>This example shows a simplified lighting installation which makes use of
the Resource Directory (RD) with a CoAP interface to facilitate the installation and start-up of
the application code in the lights and sensors. In particular, the example
leads to the definition of a group and the enabling of the corresponding
multicast address as described in <xref target="groups" format="default"/>. No conclusions must be drawn on the realization of actual
installation or naming procedures, because the example only "emphasizes" some of the issues
that may influence the use of the RD and does not pretend to be normative.</t>
        <section anchor="lt-in-ch" numbered="true" toc="default">
          <name>Installation Characteristics</name>
          <t>The example assumes that the installation is managed. That means that a Commissioning
Tool (CT) is used to authorize the addition of nodes, name them, and name
their services. The CT can be connected to the installation in many ways:
the CT can be part of the installation network, connected by WiFi to the
installation network, or connected via GPRS link, or other method.</t>
          <t>It is assumed that there are two naming authorities for the installation:
(1) the network manager that is responsible for the correct operation of
the network and the connected interfaces, and (2) the lighting manager that
is responsible for the correct functioning of networked lights and sensors.
The result is the existence of two naming schemes coming from the two managing
entities.</t>
          <t>The example installation consists of one presence sensor, and two luminaries,
luminary1 and luminary2, each with their own wireless interface. Each luminary
contains three lamps: left, right and middle. Each luminary is accessible
through one endpoint. For each lamp a resource exists to modify the settings
of a lamp in a luminary. The purpose of the installation is that the presence
sensor notifies the presence of persons to a group of lamps. The group of
lamps consists of: middle and left lamps of luminary1 and right lamp of luminary2.</t>
          <t>Before commissioning by the lighting manager, the network is installed and
access to the interfaces is proven to work by the network manager.</t>
          <t>At the moment of installation, the network under installation is not necessarily
connected to the DNS infra structure. Therefore, SLAAC IPv6 addresses are
assigned to CT, RD, luminaries and sensor shown in <xref target="interface-S" format="default"/> below:</t>
          <table anchor="interface-S" align="center">
            <name>interface SLAAC addresses</name>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">IPv6 address</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">luminary1</td>
                <td align="left">2001:db8:4::1</td>
              </tr>
              <tr>
                <td align="left">luminary2</td>
                <td align="left">2001:db8:4::2</td>
              </tr>
              <tr>
                <td align="left">Presence sensor</td>
                <td align="left">2001:db8:4::3</td>
              </tr>
              <tr>
                <td align="left">Resource directory</td>
                <td align="left">2001:db8:4::ff</td>
              </tr>
            </tbody>
          </table>
          <t>In <xref target="rd-en" format="default"/> the use of resource directory during installation is
presented.</t>
        </section>
        <section anchor="rd-en" numbered="true" toc="default">
          <name>RD entries</name>
          <t>It is assumed that access to the DNS infrastructure is not always possible
during installation. Therefore, the SLAAC addresses are used in this section.</t>
          <t>For discovery, the resource types (rt) of the devices are important. The
lamps in the luminaries have rt: light, and the presence sensor has rt: p-sensor.
The endpoints have names which are relevant to the light installation manager.
In this case luminary1, luminary2, and the presence sensor are located in
room 2-4-015, where luminary1 is located at the window and luminary2 and
the presence sensor are located at the door. The endpoint names reflect
this physical location. The middle, left and right lamps are accessed via
path /light/middle, /light/left, and /light/right respectively. The identifiers
relevant to the Resource Directory are shown in <xref target="endpoint" format="default"/> below:</t>
          <table anchor="endpoint" align="center">
            <name>Resource Directory identifiers</name>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">endpoint</th>
                <th align="left">resource path</th>
                <th align="left">resource type</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">luminary1</td>
                <td align="left">lm_R2-4-015_wndw</td>
                <td align="left">/light/left</td>
                <td align="left">light</td>
              </tr>
              <tr>
                <td align="left">luminary1</td>
                <td align="left">lm_R2-4-015_wndw</td>
                <td align="left">/light/middle</td>
                <td align="left">light</td>
              </tr>
              <tr>
                <td align="left">luminary1</td>
                <td align="left">lm_R2-4-015_wndw</td>
                <td align="left">/light/right</td>
                <td align="left">light</td>
              </tr>
              <tr>
                <td align="left">luminary2</td>
                <td align="left">lm_R2-4-015_door</td>
                <td align="left">/light/left</td>
                <td align="left">light</td>
              </tr>
              <tr>
                <td align="left">luminary2</td>
                <td align="left">lm_R2-4-015_door</td>
                <td align="left">/light/middle</td>
                <td align="left">light</td>
              </tr>
              <tr>
                <td align="left">luminary2</td>
                <td align="left">lm_R2-4-015_door</td>
                <td align="left">/light/right</td>
                <td align="left">light</td>
              </tr>
              <tr>
                <td align="left">Presence sensor</td>
                <td align="left">ps_R2-4-015_door</td>
                <td align="left">/ps</td>
                <td align="left">p-sensor</td>
              </tr>
            </tbody>
          </table>
          <t>It is assumed that the CT knows the RD's address, and has performed URI
discovery on it that returned a response like the one in the <xref target="discovery" format="default"/> example.</t>
          <t>The CT inserts the endpoints of the luminaries and the sensor in the RD
using the registration base URI parameter (base) to specify the interface address:</t>
          <figure anchor="example-lighting-1">
            <name>Example of registrations a CT enters into an RD</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
Req: POST coap://[2001:db8:4::ff]/rd
  ?ep=lm_R2-4-015_wndw&base=coap://[2001:db8:4::1]&d=R2-4-015
Payload:
</light/left>;rt="light",
</light/middle>;rt="light",
</light/right>;rt="light"

Res: 2.01 Created
Location-Path: /rd/4521

Req: POST coap://[2001:db8:4::ff]/rd
  ?ep=lm_R2-4-015_door&base=coap://[2001:db8:4::2]&d=R2-4-015
Payload:
</light/left>;rt="light",
</light/middle>;rt="light",
</light/right>;rt="light"

Res: 2.01 Created
Location-Path: /rd/4522

Req: POST coap://[2001:db8:4::ff]/rd
  ?ep=ps_R2-4-015_door&base=coap://[2001:db8:4::3]d&d=R2-4-015
Payload:
</ps>;rt="p-sensor"

Res: 2.01 Created
Location-Path: /rd/4523
]]></artwork>
          </figure>
          <t>The sector name d=R2-4-015 has been added for an efficient lookup because
filtering on "ep" name is more awkward. The same sector name is communicated to
the two luminaries and the presence sensor by the CT.</t>
          <t>The group is specified in the RD. The base parameter is set to the site-local
multicast address allocated to the group.
In the POST in the example below, the resources supported by all group members are published.</t>
          <figure anchor="example-lighting-2">
            <name>Example of a multicast group a CT enters into an RD</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
Req: POST coap://[2001:db8:4::ff]/rd
?ep=grp_R2-4-015&et=core.rd-group&base=coap://[ff05::1]
Payload:
</light/left>;rt="light",
</light/middle>;rt="light",
</light/right>;rt="light"

Res: 2.01 Created
Location-Path: /rd/501
]]></artwork>
          </figure>
          <t>After the filling of the RD by the CT, the application in the luminaries
can learn to which groups they belong, and enable their interface for the
multicast address.</t>
          <t>The luminary, knowing its sector and being configured to join any group
containing lights, searches for candidate groups and joins them:</t>
          <figure anchor="example-lighting-3">
            <name>Example of a lookup exchange to find suitable multicast addresses</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET coap://[2001:db8:4::ff]/rd-lookup/ep
  ?d=R2-4-015&et=core.rd-group&rt=light

Res: 2.05 Content
</rd/501>;ep="grp_R2-4-015";et="core.rd-group";
          base="coap://[ff05::1]";rt="core.rd-ep"
]]></artwork>
          </figure>
          <t>From the returned base parameter value, the luminary learns the multicast address
of the multicast group.</t>
          <t>Alternatively, the CT can communicate the multicast address directly to the
luminaries by using the "coap-group" resource specified in <xref target="RFC7390" format="default"/>.</t>
          <figure anchor="example-lighting-4">
            <name>Example use of direct multicast address configuration</name>
            <artwork name="" type="" align="left" alt=""><![CDATA[
Req: POST coap://[2001:db8:4::1]/coap-group
Content-Format: application/coap-group+json
Payload:
{ "a": "[ff05::1]", "n": "grp_R2-4-015"}

Res: 2.01 Created
Location-Path: /coap-group/1
]]></artwork>
          </figure>
          <t>Dependent on the situation, only the address, "a", or the name, "n", is specified
in the coap-group resource.</t>
          <t>The presence sensor can learn the presence of groups that support resources with rt=light in its own sector by sending the same request, as used by the luminary. The presence sensor learns the multicast address to use for sending messages to the luminaries.</t>
        </section>
      </section>
      <section anchor="lwm2m-ex" numbered="true" toc="default">
        <name>OMA Lightweight M2M (LWM2M) Example</name>
        <t>This example shows how the OMA LWM2M specification makes use of Resource Directory (RD).</t>
        <t>OMA LWM2M is a profile for device services based on CoAP(OMA Name Authority). LWM2M defines a simple object model and a number of abstract interfaces and operations for device management and device service enablement.</t>
        <t>An LWM2M server is an instance of an LWM2M middleware service layer, containing a Resource Directory along with other LWM2M interfaces defined by the LWM2M specification.</t>
        <t>CoRE Resource Directory (RD) is used to provide the LWM2M Registration interface.</t>
        <t>LWM2M does not provide for registration sectors and does not currently
use the rd-lookup interface.</t>
        <t>The LWM2M specification describes a set of interfaces and a resource model used between a LWM2M device and an LWM2M server. Other interfaces, proxies, and applications are currently out of scope for LWM2M.</t>
        <t>The location of the LWM2M Server and RD URI path is provided by the LWM2M Bootstrap process, so no dynamic discovery of the RD is used. LWM2M Servers and endpoints are not required to implement the /.well-known/core resource.</t>
        <section anchor="lwm2m-obj" numbered="true" toc="default">
          <name>The LWM2M Object Model</name>
          <t>The OMA LWM2M object model is based on a simple 2 level class hierarchy consisting of Objects and Resources.</t>
          <t>An LWM2M Resource is a REST endpoint, allowed to be a single value or an array of values of the same data type.</t>
          <t>An LWM2M Object is a resource template and container type that encapsulates a set of related resources. An LWM2M Object represents a specific type of information source; for example, there is a LWM2M Device Management object that represents a network connection, containing resources that represent individual properties like radio signal strength.</t>
          <t>Since there may potentially be more than one of a given type object, for example more than one network connection, LWM2M defines instances of objects that contain the resources that represent a specific physical thing.</t>
          <t>The URI template for LWM2M consists of a base URI followed by Object, Instance, and Resource IDs:</t>
          <t>{/base-uri}{/object-id}{/object-instance}{/resource-id}{/resource-instance}</t>
          <t>The five variables given here are strings.  base-uri can also have the
special value "undefined" (sometimes called "null" in RFC 6570).
Each of the variables object-instance, resource-id, and
resource-instance can be the special value "undefined" only if the
values behind it in this sequence also are "undefined".  As a special
case, object-instance can be "empty" (which is different from
"undefined") if resource-id is not "undefined".</t>
          <!--
[^_TEMPLATE_TODO]

[^_TEMPLATE_TODO]: This text needs some help from an RFC 6570 expert.
 -->

<t>base-uri := Base URI for LWM2M resources or "undefined" for default (empty) base URI</t>
          <t>object-id := OMNA (OMA Name Authority) registered object ID (0-65535)</t>
          <t>object-instance := Object instance identifier (0-65535) or
"undefined"/"empty" (see above)) to refer to all instances of an object ID</t>
          <t>resource-id := OMNA (OMA Name Authority) registered resource ID (0-65535) or "undefined" to refer to all resources within an instance</t>
          <t>resource-instance := Resource instance identifier or "undefined" to refer to single instance of a resource</t>
          <t>LWM2M IDs are 16 bit unsigned integers represented in decimal (no
leading zeroes except for the value 0) by URI format strings. For
example, a LWM2M URI might be:</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
/1/0/1
]]></artwork>
          <t>The base uri is empty, the Object ID is 1, the instance ID is 0, the
resource ID is 1, and the resource instance is "undefined". This
example URI points to internal resource 1, which represents the
registration lifetime configured, in instance 0 of a type 1 object
(LWM2M Server Object).</t>
        </section>
        <section anchor="lwm2m-reg" numbered="true" toc="default">
          <name>LWM2M Register Endpoint</name>
          <t>LWM2M defines a registration interface based on the REST API, described in <xref target="registration" format="default"/>. The
RD registration URI path of the LWM2M Resource Directory is specified to be "/rd".</t>
          <t>LWM2M endpoints register object IDs, for example &lt;/1&gt;, to indicate that a particular object type is supported, and register object instances, for example &lt;/1/0&gt;, to indicate that a particular instance of that object type exists.</t>
          <t>Resources within the LWM2M object instance are not registered with the RD, but may be discovered by reading the resource links from the object instance using GET with a CoAP Content-Format of application/link-format. Resources may also be read as a structured object by performing a GET to the object instance with a Content-Format of senml+json.</t>
          <t>When an LWM2M object or instance is registered, this indicates to the LWM2M server that the object and its resources are available for management and service enablement (REST API) operations.</t>
          <t>LWM2M endpoints may use the following RD registration parameters as defined in <xref target="tab-registry" format="default"/> :</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
ep - Endpoint Name
lt - registration lifetime
]]></artwork>
          <t>Endpoint Name, Lifetime, and LWM2M Version are mandatory parameters for the register operation, all other registration parameters are optional.</t>
          <t>Additional optional LWM2M registration parameters are defined:</t>
          <table anchor="tab-lwm2m-registry" align="center">
            <name>LWM2M Additional Registration Parameters</name>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Query</th>
                <th align="left">Validity</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Binding Mode</td>
                <td align="left">b</td>
                <td align="left">{"U",UQ","S","SQ","US","UQS"}</td>
                <td align="left">Available Protocols</td>
              </tr>
              <tr>
                <td align="left">&nbsp;</td>
                <td align="left">&nbsp;</td>
                <td align="left">&nbsp;</td>
                <td align="left">&nbsp;</td>
              </tr>
              <tr>
                <td align="left">LWM2M Version</td>
                <td align="left">ver</td>
                <td align="left">1.0</td>
                <td align="left">Spec Version</td>
              </tr>
              <tr>
                <td align="left">&nbsp;</td>
                <td align="left">&nbsp;</td>
                <td align="left">&nbsp;</td>
                <td align="left">&nbsp;</td>
              </tr>
              <tr>
                <td align="left">SMS Number</td>
                <td align="left">sms</td>
                <td align="left">&nbsp;</td>
                <td align="left">MSISDN</td>
              </tr>
            </tbody>
          </table>
          <t>The following RD registration parameters are not currently specified for use in LWM2M:</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
et - Endpoint Type
base - Registration Base URI
]]></artwork>
          <t>The endpoint registration must include a payload containing links to all supported objects and existing object instances, optionally including the appropriate link-format relations.</t>
          <t>Here is an example LWM2M registration payload:</t>
          <artwork type="linkformat" name="" align="left" alt=""><![CDATA[
</1>,</1/0>,</3/0>,</5>
]]></artwork>
          <t>This link format payload indicates that object ID 1 (LWM2M Server Object) is supported, with a single instance 0 existing, object ID 3 (LWM2M Device object) is supported, with a single instance 0 existing, and object 5 (LWM2M Firmware Object) is supported, with no existing instances.</t>
        </section>
        <section anchor="lwm2m-regupdate" numbered="true" toc="default">
          <name>LWM2M Update Endpoint Registration</name>
          <t>The LwM2M update is really very similar to the registration update as described in <xref target="update" format="default"/>, with
the only difference that there are more parameters defined and
available. All the parameters listed in that section are also available
with the initial registration but are all optional:</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
lt - Registration Lifetime
b - Protocol Binding
sms - MSISDN
link payload - new or modified links
]]></artwork>
          <t>A Registration update is also specified to be used to update the LWM2M server whenever the endpoint's UDP port or IP address are changed.</t>
        </section>
        <section anchor="lwm2m-dereg" numbered="true" toc="default">
          <name>LWM2M De-Register Endpoint</name>
          <t>LWM2M allows for de-registration using the delete method on the returned location from the initial registration operation. LWM2M de-registration proceeds as described in <xref target="removal" format="default"/>.</t>
        </section>
      </section>
    </section>
    <section anchor="acknowledgments" numbered="true" toc="default">
      <name>Acknowledgments</name>
      <t>Oscar Novo, Srdjan Krco, Szymon Sasin, Kerry Lynn, Esko Dijk, Anders
Brandt, Matthieu Vial, Jim Schaad, Mohit Sethi, Hauke Petersen, Hannes Tschofenig, Sampo Ukkola, Linyi
Tian, Jan Newmarch, Matthias Kovatsch, Jaime Jimenez and Ted Lemon have provided helpful comments, discussions and ideas to improve and
shape this document. Zach would also like to thank his colleagues from the
EU FP7 SENSEI project, where many of the resource directory concepts were
originally developed.</t>
    </section>
    <section anchor="changelog" numbered="true" toc="default">
      <name>Changelog</name>
      <t>changes from -23 to -24</t>
      <ul spacing="normal">
        <li>Discovery using DNS-SD added again</li>
        <li>Minimum lifetime (lt) reduced from 60 to 1</li>
        <li>References added</li>
        <li>
          <t>IANA considerations
          </t>
          <ul spacing="normal">
            <li>added about .well-known/core resource</li>
            <li>added DNS-SD service names</li>
            <li>made RDAO option number a suggestion</li>
            <li>added "reference" field to endpoint type registry</li>
          </ul>
        </li>
        <li>Lookup: mention that anchor is a legitimate lookup attribute</li>
        <li>Terminology and example fixes</li>
        <li>Layout fixes, esp. the use of non-ASCII characters in figures</li>
      </ul>
      <t>changes from -22 to -23</t>
      <ul spacing="normal">
        <li>Explain that updates can not remove attributes</li>
        <li>Typo fixes</li>
      </ul>
      <t>changes from -21 to -22</t>
      <ul spacing="normal">
        <li>Request a dedicated IPv4 address from IANA (rather than sharing with All CoAP nodes)</li>
        <li>Fix erroneous examples</li>
        <li>
          <t>Editorial changes
          </t>
          <ul spacing="normal">
            <li>Add figure numbers to examples</li>
            <li>Update RD parameters table to reflect changes of earlier versions in the text</li>
            <li>Typos and minor wording</li>
          </ul>
        </li>
      </ul>
      <t>changes from -20 to -21</t>
      <t>(Processing comments during WGLC)</t>
      <ul spacing="normal">
        <li>Defer outdated description of using DNS-SD to find an RD to the defining document</li>
        <li>Describe operational conditions in automation example</li>
        <li>Recommend particular discovery mechanisms for some managed network scenarios</li>
      </ul>
      <t>changes from -19 to -20</t>
      <t>(Processing comments from the WG chair review)</t>
      <ul spacing="normal">
        <li>Define the permissible characters in endpoint and sector names</li>
        <li>Express requirements on NAT situations in more abstract terms</li>
        <li>Shifted heading levels to have the interfaces on the same level</li>
        <li>Group instructions for error handling into general section</li>
        <li>Simple Registration: process reflowed into items list</li>
        <li>Updated introduction to reflect state of CoRE in general, reference RFC7228
(defining "constrained") and use "IoT" term in addition to "M2M"</li>
        <li>Update acknowledgements</li>
        <li>
          <t>Assorted editorial changes
          </t>
          <ul spacing="normal">
            <li>Unify examples style</li>
            <li>Terminology: RDAO defined and not only expanded</li>
            <li>Add CT to <xref target="fig-arch" format="default"/></li>
            <li>Consistency in the use of the term "Content Format"</li>
          </ul>
        </li>
      </ul>
      <t>changes from -18 to -19</t>
      <ul spacing="normal">
        <li>link-local addresses: allow but prescribe split-horizon fashion when used,
disallow zone identifiers</li>
        <li>Remove informative references to documents not mentioned any more</li>
      </ul>
      <t>changes from -17 to -18</t>
      <ul spacing="normal">
        <li>Rather than re-specifying link format (Modernized Link Format), describe a
Limited Link Format that's the uncontested subset of Link Format</li>
        <li>Acknowledging the -17 version as part of the draft</li>
        <li>Move "Read endpoint links" operation to future specification like PATCH</li>
        <li>Demote links-json to an informative reference, and removed them from exchange
examples</li>
        <li>Add note on unusability of link-local IP addresses, and describe mitigation.</li>
        <li>Reshuffling of sections: Move additional operations and endpoint lookup back
from appendix, and groups into one</li>
        <li>Lookup interface tightened to not imply applicability for non link-format
lookups (as those can have vastly different views on link cardinality)</li>
        <li>Simple registration: Change sequence of GET and POST-response, ensuring
unsuccessful registrations are reported as such, and suggest how devices that
would have required the inverse behavior can still cope with it.</li>
        <li>Abstract and introduction reworded to avoid the impression that resources are
stored in full in the RD</li>
        <li>Simplify the rules governing when a registration resource can or must be
changed.</li>
        <li>Drop a figure that has become useless due to the changes of and -13 and -17</li>
        <li>Wording consistency fixes: Use "Registrations" and "target attributes"</li>
        <li>Fix incorrect use of content negotiation in discovery interface description
(Content-Format -&gt; Accept)</li>
        <li>State that the base attribute value is part of endpoint lookup even when
implicit in the registration</li>
        <li>Update references from RFC5988 to its update RFC8288</li>
        <li>Remove appendix on protocol-negotiation (which had a note to be removed
before publication)</li>
      </ul>
      <t>changes from -16 to -17</t>
      <t>(Note that -17 is published as a direct follow-up to -16, containing a single change to be discussed at IETF103)</t>
      <ul spacing="normal">
        <li>Removed groups that are enumerations of registrations and have dedicated mechanism</li>
        <li>Add groups that are enumerations of shared resources and are a special case of endpoint registrations</li>
      </ul>
      <t>changes from -15 to -16</t>
      <ul spacing="normal">
        <li>Recommend a common set of resources for members of a group</li>
        <li>Clarified use of multicast group in lighting example</li>
        <li>Add note on concurrent registrations from one EP being possible but not expected</li>
        <li>Refresh web examples appendix to reflect current use of Modernized Link Format</li>
        <li>Add examples of URIs where Modernized Link Format matters</li>
        <li>Editorial changes</li>
      </ul>
      <t>changes from -14 to -15</t>
      <ul spacing="normal">
        <li>Rewrite of section "Security policies"</li>
        <li>Clarify that the "base" parameter text applies both to relative references
both in anchor and href</li>
        <li>Renamed "Registree-EP" to  Registrant-EP"</li>
        <li>Talk of "relative references" and "URIs" rather than "relative" and
"absolute" URIs. (The concept of "absolute URIs" of <xref target="RFC3986" format="default"/> is not needed in RD).</li>
        <li>Fixed examples</li>
        <li>Editorial changes</li>
      </ul>
      <t>changes from -13 to -14</t>
      <ul spacing="normal">
        <li>Rename "registration context" to "registration base URI" (and "con" to
"base") and "domain" to "sector" (where the abbreviation "d" stays for
compatibility reasons)</li>
        <li>Introduced resource types core.rd-ep and core.rd-gp</li>
        <li>Registration management moved to appendix A, including endpoint and group lookup</li>
        <li>
          <t>Minor editorial changes
          </t>
          <ul spacing="normal">
            <li>PATCH/iPATCH is clearly deferred to another document</li>
            <li>Recommend against query / fragment identifier in con=</li>
            <li>Interface description lists are described as illustrative</li>
            <li>Rewording of Simple Registration</li>
          </ul>
        </li>
        <li>Simple registration carries no error information and succeeds immediately (previously, sequence was unspecified)</li>
        <li>Lookup: href are matched against resolved values (previously, this was unspecified)</li>
        <li>Lookup: lt are not exposed any more</li>
        <li>con/base: Paths are allowed</li>
        <li>Registration resource locations can not have query or fragment parts</li>
        <li>Default life time extended to 25 hours</li>
        <li>clarified registration update rules</li>
        <li>lt-value semantics for lookup clarified.</li>
        <li>added template for simple registration</li>
      </ul>
      <t>changes from -12 to -13</t>
      <ul spacing="normal">
        <li>Added "all resource directory" nodes MC address</li>
        <li>Clarified observation behavior</li>
        <li>version identification</li>
        <li>example rt= and et= values</li>
        <li>domain from figure 2</li>
        <li>more explanatory text</li>
        <li>endpoints of a groups hosted by different RD</li>
        <li>
          <t>resolve RFC6690-vs-8288 resolution ambiguities:
          </t>
          <ul spacing="normal">
            <li>require registered links not to be relative when using anchor</li>
            <li>return absolute URIs in resource lookup</li>
          </ul>
        </li>
      </ul>
      <t>changes from -11 to -12</t>
      <ul spacing="normal">
        <li>added Content Model section, including ER diagram</li>
        <li>removed domain lookup interface; domains are now plain attributes of groups and endpoints</li>
        <li>updated chapter "Finding a Resource Directory"; now distinguishes configuration-provided, network-provided and heuristic sources</li>
        <li>improved text on: atomicity, idempotency, lookup with multiple parameters, endpoint removal, simple registration</li>
        <li>updated LWM2M description</li>
        <li>clarified where relative references are resolved, and how context and anchor interact</li>
        <li>new appendix on the interaction with RFCs 6690, 5988 and 3986</li>
        <li>lookup interface: group and endpoint lookup return group and registration resources as link targets</li>
        <li>lookup interface: search parameters work the same across all entities</li>
        <li>removed all methods that modify links in an existing registration (POST with payload, PATCH and iPATCH)</li>
        <li>removed plurality definition (was only needed for link modification)</li>
        <li>enhanced IANA registry text</li>
        <li>state that lookup resources can be observable</li>
        <li>More examples and improved text</li>
      </ul>
      <t>changes from -09 to -10</t>
      <ul spacing="normal">
        <li>removed "ins" and "exp" link-format extensions.</li>
        <li>removed all text concerning DNS-SD.</li>
        <li>removed inconsistency in RDAO text.</li>
        <li>suggestions taken over from various sources</li>
        <li>replaced "Function Set" with "REST API", "base URI", "base path"</li>
        <li>moved simple registration to registration section</li>
      </ul>
      <t>changes from -08 to -09</t>
      <ul spacing="normal">
        <li>clarified the "example use" of the base RD resource values /rd, /rd-lookup, and /rd-group.</li>
        <li>changed "ins" ABNF notation.</li>
        <li>various editorial improvements, including in examples</li>
        <li>clarifications for RDAO</li>
      </ul>
      <t>changes from -07 to -08</t>
      <ul spacing="normal">
        <li>removed link target value returned from domain and group lookup types</li>
        <li>Maximum length of domain parameter 63 bytes for consistency with group</li>
        <li>removed option for simple POST of link data, don't require a .well-known/core resource to accept POST data and handle it in a special way; we already have /rd for that</li>
        <li>add IPv6 ND Option for discovery of an RD</li>
        <li>clarify group configuration section 6.1 that endpoints must be registered before including them in a group</li>
        <li>removed all superfluous client-server diagrams</li>
        <li>simplified lighting example</li>
        <li>introduced Commissioning Tool</li>
        <li>RD-Look-up text is extended.</li>
      </ul>
      <t>changes from -06 to -07</t>
      <ul spacing="normal">
        <li>added text in the discovery section to allow content format hints to be exposed in the discovery link attributes</li>
        <li>editorial updates to section 9</li>
        <li>update author information</li>
        <li>minor text corrections</li>
      </ul>
      <t>Changes from -05 to -06</t>
      <ul spacing="normal">
        <li>added note that the PATCH section is contingent on the progress of
the PATCH method</li>
      </ul>
      <t>changes from -04 to -05</t>
      <ul spacing="normal">
        <li>added Update Endpoint Links using PATCH</li>
        <li>http access made explicit in interface specification</li>
        <li>Added http examples</li>
      </ul>
      <t>Changes from -03 to -04:</t>
      <ul spacing="normal">
        <li>Added http response codes</li>
        <li>Clarified endpoint name usage</li>
        <li>Add application/link-format+cbor content-format</li>
      </ul>
      <t>Changes from -02 to -03:</t>
      <ul spacing="normal">
        <li>Added an example for lighting and DNS integration</li>
        <li>Added an example for RD use in OMA LWM2M</li>
        <li>Added Read Links operation for link inspection by endpoints</li>
        <li>Expanded DNS-SD section</li>
        <li>Added draft authors Peter van der Stok and Michael Koster</li>
      </ul>
      <t>Changes from -01 to -02:</t>
      <ul spacing="normal">
        <li>Added a catalogue use case.</li>
        <li>Changed the registration update to a POST with optional link format payload. Removed the endpoint type update from the update.</li>
        <li>Additional examples section added for more complex use cases.</li>
        <li>New DNS-SD mapping section.</li>
        <li>Added text on endpoint identification and authentication.</li>
        <li>Error code 4.04 added to Registration Update and Delete requests.</li>
        <li>Made 63 bytes a SHOULD rather than a MUST for endpoint name and resource type parameters.</li>
      </ul>
      <t>Changes from -00 to -01:</t>
      <ul spacing="normal">
        <li>Removed the ETag validation feature.</li>
        <li>Place holder for the DNS-SD mapping section.</li>
        <li>Explicitly disabled GET or POST on returned Location.</li>
        <li>New registry for RD parameters.</li>
        <li>Added support for the JSON Link Format.</li>
        <li>Added reference to the Groupcomm WG draft.</li>
      </ul>
      <t>Changes from -05 to WG Document -00:</t>
      <ul spacing="normal">
        <li>Updated the version and date.</li>
      </ul>
      <t>Changes from -04 to -05:</t>
      <ul spacing="normal">
        <li>Restricted Update to parameter updates.</li>
        <li>Added pagination support for the Lookup interface.</li>
        <li>Minor editing, bug fixes and reference updates.</li>
        <li>Added group support.</li>
        <li>Changed rt to et for the registration and update interface.</li>
      </ul>
      <t>Changes from -03 to -04:</t>
      <ul spacing="normal">
        <li>Added the ins= parameter back for the DNS-SD mapping.</li>
        <li>Integrated the Simple Directory Discovery from Carsten.</li>
        <li>Editorial improvements.</li>
        <li>Fixed the use of ETags.</li>
        <li>Fixed tickets 383 and 372</li>
      </ul>
      <t>Changes from -02 to -03:</t>
      <ul spacing="normal">
        <li>Changed the endpoint name back to a single registration parameter ep= and removed the h= and ins= parameters.</li>
        <li>Updated REST interface descriptions to use RFC6570 URI Template format.</li>
        <li>Introduced an improved RD Lookup design as its own function set.</li>
        <li>Improved the security considerations section.</li>
        <li>Made the POST registration interface idempotent by requiring the ep= parameter to be present.</li>
      </ul>
      <t>Changes from -01 to -02:</t>
      <ul spacing="normal">
        <li>Added a terminology section.</li>
        <li>Changed the inclusion of an ETag in registration or update to a MAY.</li>
        <li>Added the concept of an RD Domain and a registration parameter for it.</li>
        <li>Recommended the Location returned from a registration to be stable, allowing for endpoint and Domain information to be changed during updates.</li>
        <li>Changed the lookup interface to accept endpoint and Domain as query string parameters to control the scope of a lookup.</li>
      </ul>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC6690" target="https://www.rfc-editor.org/info/rfc6690">
          <front>
            <title>Constrained RESTful Environments (CoRE) Link Format</title>
            <seriesInfo name="DOI" value="10.17487/RFC6690"/>
            <seriesInfo name="RFC" value="6690"/>
            <author initials="Z." surname="Shelby" fullname="Z. Shelby">
              <organization/>
            </author>
            <date year="2012" month="August"/>
            <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>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
            <seriesInfo name="RFC" value="2119"/>
            <seriesInfo name="BCP" value="14"/>
            <author initials="S." surname="Bradner" fullname="S. Bradner">
              <organization/>
            </author>
            <date year="1997" month="March"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC3986" target="https://www.rfc-editor.org/info/rfc3986">
          <front>
            <title>Uniform Resource Identifier (URI): Generic Syntax</title>
            <seriesInfo name="DOI" value="10.17487/RFC3986"/>
            <seriesInfo name="RFC" value="3986"/>
            <seriesInfo name="STD" value="66"/>
            <author initials="T." surname="Berners-Lee" fullname="T. Berners-Lee">
              <organization/>
            </author>
            <author initials="R." surname="Fielding" fullname="R. Fielding">
              <organization/>
            </author>
            <author initials="L." surname="Masinter" fullname="L. Masinter">
              <organization/>
            </author>
            <date year="2005" month="January"/>
            <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>
        </reference>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <seriesInfo name="DOI" value="10.17487/RFC8126"/>
            <seriesInfo name="RFC" value="8126"/>
            <seriesInfo name="BCP" value="26"/>
            <author initials="M." surname="Cotton" fullname="M. Cotton">
              <organization/>
            </author>
            <author initials="B." surname="Leiba" fullname="B. Leiba">
              <organization/>
            </author>
            <author initials="T." surname="Narten" fullname="T. Narten">
              <organization/>
            </author>
            <date year="2017" month="June"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC6570" target="https://www.rfc-editor.org/info/rfc6570">
          <front>
            <title>URI Template</title>
            <seriesInfo name="DOI" value="10.17487/RFC6570"/>
            <seriesInfo name="RFC" value="6570"/>
            <author initials="J." surname="Gregorio" fullname="J. Gregorio">
              <organization/>
            </author>
            <author initials="R." surname="Fielding" fullname="R. Fielding">
              <organization/>
            </author>
            <author initials="M." surname="Hadley" fullname="M. Hadley">
              <organization/>
            </author>
            <author initials="M." surname="Nottingham" fullname="M. Nottingham">
              <organization/>
            </author>
            <author initials="D." surname="Orchard" fullname="D. Orchard">
              <organization/>
            </author>
            <date year="2012" month="March"/>
            <abstract>
              <t>A URI Template is a compact sequence of characters for describing a range of Uniform Resource Identifiers through variable expansion. This specification defines the URI Template syntax and the process for expanding a URI Template into a URI reference, along with guidelines for the use of URI Templates on the Internet.   [STANDARDS-TRACK]</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC6763" target="https://www.rfc-editor.org/info/rfc6763">
          <front>
            <title>DNS-Based Service Discovery</title>
            <seriesInfo name="DOI" value="10.17487/RFC6763"/>
            <seriesInfo name="RFC" value="6763"/>
            <author initials="S." surname="Cheshire" fullname="S. Cheshire">
              <organization/>
            </author>
            <author initials="M." surname="Krochmal" fullname="M. Krochmal">
              <organization/>
            </author>
            <date year="2013" month="February"/>
            <abstract>
              <t>This document specifies how DNS resource records are named and structured to facilitate service discovery.  Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t>
            </abstract>
          </front>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC7252" target="https://www.rfc-editor.org/info/rfc7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <seriesInfo name="DOI" value="10.17487/RFC7252"/>
            <seriesInfo name="RFC" value="7252"/>
            <author initials="Z." surname="Shelby" fullname="Z. Shelby">
              <organization/>
            </author>
            <author initials="K." surname="Hartke" fullname="K. Hartke">
              <organization/>
            </author>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <date year="2014" month="June"/>
            <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>
        </reference>
        <reference anchor="RFC7390" target="https://www.rfc-editor.org/info/rfc7390">
          <front>
            <title>Group Communication for the Constrained Application Protocol (CoAP)</title>
            <seriesInfo name="DOI" value="10.17487/RFC7390"/>
            <seriesInfo name="RFC" value="7390"/>
            <author initials="A." surname="Rahman" fullname="A. Rahman" role="editor">
              <organization/>
            </author>
            <author initials="E." surname="Dijk" fullname="E. Dijk" role="editor">
              <organization/>
            </author>
            <date year="2014" month="October"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for constrained devices and constrained networks. It is anticipated that constrained devices will often naturally operate in groups (e.g., in a building automation scenario, all lights in a given room may need to be switched on/off as a group). This specification defines how CoAP should be used in a group communication context.  An approach for using CoAP on top of IP multicast is detailed based on existing CoAP functionality as well as new features introduced in this specification.  Also, various use cases and corresponding protocol flows are provided to illustrate important concepts.  Finally, guidance is provided for deployment in various network topologies.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC6775" target="https://www.rfc-editor.org/info/rfc6775">
          <front>
            <title>Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)</title>
            <seriesInfo name="DOI" value="10.17487/RFC6775"/>
            <seriesInfo name="RFC" value="6775"/>
            <author initials="Z." surname="Shelby" fullname="Z. Shelby" role="editor">
              <organization/>
            </author>
            <author initials="S." surname="Chakrabarti" fullname="S. Chakrabarti">
              <organization/>
            </author>
            <author initials="E." surname="Nordmark" fullname="E. Nordmark">
              <organization/>
            </author>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <date year="2012" month="November"/>
            <abstract>
              <t>The IETF work in IPv6 over Low-power Wireless Personal Area Network (6LoWPAN) defines 6LoWPANs such as IEEE 802.15.4.  This and other similar link technologies have limited or no usage of multicast signaling due to energy conservation.  In addition, the wireless network may not strictly follow the traditional concept of IP subnets and IP links.  IPv6 Neighbor Discovery was not designed for non- transitive wireless links, as its reliance on the traditional IPv6 link concept and its heavy use of multicast make it inefficient and sometimes impractical in a low-power and lossy network.  This document describes simple optimizations to IPv6 Neighbor Discovery, its addressing mechanisms, and duplicate address detection for Low- power Wireless Personal Area Networks and similar networks.  The document thus updates RFC 4944 to specify the use of the optimizations defined here.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC6874" target="https://www.rfc-editor.org/info/rfc6874">
          <front>
            <title>Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers</title>
            <seriesInfo name="DOI" value="10.17487/RFC6874"/>
            <seriesInfo name="RFC" value="6874"/>
            <author initials="B." surname="Carpenter" fullname="B. Carpenter">
              <organization/>
            </author>
            <author initials="S." surname="Cheshire" fullname="S. Cheshire">
              <organization/>
            </author>
            <author initials="R." surname="Hinden" fullname="R. Hinden">
              <organization/>
            </author>
            <date year="2013" month="February"/>
            <abstract>
              <t>This document describes how the zone identifier of an IPv6 scoped address, defined as &lt;zone_id&gt; in the IPv6 Scoped Address Architecture (RFC 4007), can be represented in a literal IPv6 address and in a Uniform Resource Identifier that includes such a literal address.  It updates the URI Generic Syntax specification (RFC 3986) accordingly.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC7230" target="https://www.rfc-editor.org/info/rfc7230">
          <front>
            <title>Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing</title>
            <seriesInfo name="DOI" value="10.17487/RFC7230"/>
            <seriesInfo name="RFC" value="7230"/>
            <author initials="R." surname="Fielding" fullname="R. Fielding" role="editor">
              <organization/>
            </author>
            <author initials="J." surname="Reschke" fullname="J. Reschke" role="editor">
              <organization/>
            </author>
            <date year="2014" month="June"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems.  This document provides an overview of HTTP architecture and its associated terminology, defines the "http" and "https" Uniform Resource Identifier (URI) schemes, defines the HTTP/1.1 message syntax and parsing requirements, and describes related security concerns for implementations.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC8132" target="https://www.rfc-editor.org/info/rfc8132">
          <front>
            <title>PATCH and FETCH Methods for the Constrained Application Protocol (CoAP)</title>
            <seriesInfo name="DOI" value="10.17487/RFC8132"/>
            <seriesInfo name="RFC" value="8132"/>
            <author initials="P." surname="van der Stok" fullname="P. van der Stok">
              <organization/>
            </author>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <author initials="A." surname="Sehgal" fullname="A. Sehgal">
              <organization/>
            </author>
            <date year="2017" month="April"/>
            <abstract>
              <t>The methods defined in RFC 7252 for the Constrained Application Protocol (CoAP) only allow access to a complete resource, not to parts of a resource.  In case of resources with larger or complex data, or in situations where resource continuity is required, replacing or requesting the whole resource is undesirable.  Several applications using CoAP need to access parts of the resources.</t>
              <t>This specification defines the new CoAP methods, FETCH, PATCH, and iPATCH, which are used to access and update parts of a resource.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC7641" target="https://www.rfc-editor.org/info/rfc7641">
          <front>
            <title>Observing Resources in the Constrained Application Protocol (CoAP)</title>
            <seriesInfo name="DOI" value="10.17487/RFC7641"/>
            <seriesInfo name="RFC" value="7641"/>
            <author initials="K." surname="Hartke" fullname="K. Hartke">
              <organization/>
            </author>
            <date year="2015" month="September"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a RESTful application protocol for constrained nodes and networks.  The state of a resource on a CoAP server can change over time.  This document specifies a simple protocol extension for CoAP that enables CoAP clients to "observe" resources, i.e., to retrieve a representation of a resource and keep this representation updated by the server over a period of time.  The protocol follows a best-effort approach for sending new representations to clients and provides eventual consistency between the state observed by each client and the actual resource state at the server.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="ER">
          <front>
            <title>The entity-relationship model---toward a unified view of data</title>
            <seriesInfo name="DOI" value="10.1145/320434.320440"/>
            <seriesInfo name="ACM Transactions on Database Systems" value="Vol. 1, pp. 9-36"/>
            <author initials="P." surname="Chen" fullname="Peter Pin-Shan Chen">
              <organization/>
            </author>
            <date year="1976" month="March"/>
          </front>
        </reference>
        <reference anchor="RFC8288" target="https://www.rfc-editor.org/info/rfc8288">
          <front>
            <title>Web Linking</title>
            <seriesInfo name="DOI" value="10.17487/RFC8288"/>
            <seriesInfo name="RFC" value="8288"/>
            <author initials="M." surname="Nottingham" fullname="M. Nottingham">
              <organization/>
            </author>
            <date year="2017" month="October"/>
            <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>
        </reference>
        <reference anchor="I-D.silverajan-core-coap-protocol-negotiation" target="http://www.ietf.org/internet-drafts/draft-silverajan-core-coap-protocol-negotiation-09.txt">
          <front>
            <title>CoAP Protocol Negotiation</title>
            <seriesInfo name="Internet-Draft" value="draft-silverajan-core-coap-protocol-negotiation-09"/>
            <author initials="B" surname="Silverajan" fullname="Bill Silverajan">
              <organization/>
            </author>
            <author initials="M" surname="Ocak" fullname="Mert Ocak">
              <organization/>
            </author>
            <date month="July" day="2" 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>
        </reference>
        <reference anchor="I-D.ietf-ace-oauth-authz" target="http://www.ietf.org/internet-drafts/draft-ietf-ace-oauth-authz-33.txt">
          <front>
            <title>Authentication and Authorization for Constrained Environments (ACE) using the OAuth 2.0 Framework (ACE-OAuth)</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-ace-oauth-authz-33"/>
            <author initials="L" surname="Seitz" fullname="Ludwig Seitz">
              <organization/>
            </author>
            <author initials="G" surname="Selander" fullname="Goeran Selander">
              <organization/>
            </author>
            <author initials="E" surname="Wahlstroem" fullname="Erik Wahlstroem">
              <organization/>
            </author>
            <author initials="S" surname="Erdtman" fullname="Samuel Erdtman">
              <organization/>
            </author>
            <author initials="H" surname="Tschofenig" fullname="Hannes Tschofenig">
              <organization/>
            </author>
            <date month="February" day="6" year="2020"/>
            <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>
        </reference>
        <reference anchor="I-D.ietf-core-links-json" target="http://www.ietf.org/internet-drafts/draft-ietf-core-links-json-10.txt">
          <front>
            <title>Representing Constrained RESTful Environments (CoRE) Link Format in JSON and CBOR</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-core-links-json-10"/>
            <author initials="K" surname="Li" fullname="Kepeng Li">
              <organization/>
            </author>
            <author initials="A" surname="Rahman" fullname="Akbar Rahman">
              <organization/>
            </author>
            <author initials="C" surname="Bormann" fullname="Carsten Bormann">
              <organization/>
            </author>
            <date month="February" day="26" year="2018"/>
            <abstract>
              <t>JavaScript Object Notation, JSON (RFC 8259) is a text-based data format which is popular for Web based data exchange.  Concise Binary Object Representation, CBOR (RFC7049) is a binary data format which has been optimized for data exchange for the Internet of Things (IoT).  For many IoT scenarios, CBOR formats will be preferred since it can help decrease transmission payload sizes as well as implementation code sizes compared to other data formats.  Web Linking (RFC 8288) provides a way to represent links between Web resources as well as the relations expressed by them and attributes of such a link.  In constrained networks, a collection of Web links can be exchanged in the CoRE link format (RFC 6690).  Outside of constrained environments, it may be useful to represent these collections of Web links in JSON, and similarly, inside constrained environments, in CBOR.  This specification defines a common format for this.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.ietf-core-rd-dns-sd" target="http://www.ietf.org/internet-drafts/draft-ietf-core-rd-dns-sd-05.txt">
          <front>
            <title>CoRE Resource Directory: DNS-SD mapping</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-core-rd-dns-sd-05"/>
            <author initials="P" surname="Stok" fullname="Peter van der Stok">
              <organization/>
            </author>
            <author initials="M" surname="Koster" fullname="Michael Koster">
              <organization/>
            </author>
            <author initials="C" surname="Amsuess" fullname="Christian Amsuess">
              <organization/>
            </author>
            <date month="July" day="7" year="2019"/>
            <abstract>
              <t>Resource and service discovery are complementary.  Resource discovery provides fine-grained detail about the content of a web server, while service discovery can provide a scalable method to locate servers in large networks.  This document defines a method for mapping between CoRE Link Format attributes and DNS-Based Service Discovery records to facilitate the use of either method to locate RESTful service interfaces (APIs) in heterogeneous HTTP/CoAP environments.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC7228" target="https://www.rfc-editor.org/info/rfc7228">
          <front>
            <title>Terminology for Constrained-Node Networks</title>
            <seriesInfo name="DOI" value="10.17487/RFC7228"/>
            <seriesInfo name="RFC" value="7228"/>
            <author initials="C." surname="Bormann" fullname="C. Bormann">
              <organization/>
            </author>
            <author initials="M." surname="Ersue" fullname="M. Ersue">
              <organization/>
            </author>
            <author initials="A." surname="Keranen" fullname="A. Keranen">
              <organization/>
            </author>
            <date year="2014" month="May"/>
            <abstract>
              <t>The Internet Protocol Suite is increasingly used on small devices with severe constraints on power, memory, and processing resources, creating constrained-node networks.  This document provides a number of basic terms that have been useful in the standardization work for constrained-node networks.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC4944" target="https://www.rfc-editor.org/info/rfc4944">
          <front>
            <title>Transmission of IPv6 Packets over IEEE 802.15.4 Networks</title>
            <seriesInfo name="DOI" value="10.17487/RFC4944"/>
            <seriesInfo name="RFC" value="4944"/>
            <author initials="G." surname="Montenegro" fullname="G. Montenegro">
              <organization/>
            </author>
            <author initials="N." surname="Kushalnagar" fullname="N. Kushalnagar">
              <organization/>
            </author>
            <author initials="J." surname="Hui" fullname="J. Hui">
              <organization/>
            </author>
            <author initials="D." surname="Culler" fullname="D. Culler">
              <organization/>
            </author>
            <date year="2007" month="September"/>
            <abstract>
              <t>This document describes the frame format for transmission of IPv6 packets and the method of forming IPv6 link-local addresses and statelessly autoconfigured addresses on IEEE 802.15.4 networks. Additional specifications include a simple header compression scheme using shared context and provisions for packet delivery in IEEE 802.15.4 meshes.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC8141" target="https://www.rfc-editor.org/info/rfc8141">
          <front>
            <title>Uniform Resource Names (URNs)</title>
            <seriesInfo name="DOI" value="10.17487/RFC8141"/>
            <seriesInfo name="RFC" value="8141"/>
            <author initials="P." surname="Saint-Andre" fullname="P. Saint-Andre">
              <organization/>
            </author>
            <author initials="J." surname="Klensin" fullname="J. Klensin">
              <organization/>
            </author>
            <date year="2017" month="April"/>
            <abstract>
              <t>A Uniform Resource Name (URN) is a Uniform Resource Identifier (URI) that is assigned under the "urn" URI scheme and a particular URN namespace, with the intent that the URN will be a persistent, location-independent resource identifier.  With regard to URN syntax, this document defines the canonical syntax for URNs (in a way that is consistent with URI syntax), specifies methods for determining URN-equivalence, and discusses URI conformance.  With regard to URN namespaces, this document specifies a method for defining a URN namespace and associating it with a namespace identifier, and it describes procedures for registering namespace identifiers with the Internet Assigned Numbers Authority (IANA).  This document obsoletes both RFCs 2141 and 3406.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.bormann-t2trg-rel-impl" target="http://www.ietf.org/internet-drafts/draft-bormann-t2trg-rel-impl-00.txt">
          <front>
            <title>impl-info: A link relation type for disclosing implementation information</title>
            <seriesInfo name="Internet-Draft" value="draft-bormann-t2trg-rel-impl-00"/>
            <author initials="C" surname="Bormann" fullname="Carsten Bormann">
              <organization/>
            </author>
            <date month="January" day="28" year="2018"/>
            <abstract>
              <t>When debugging an interoperability problem, it is often helpful to have information about the implementation version of a peer.  To enable the disclosure of such information, HTTP defines header fields such as Server and User-Agent.  In CoAP, it is rarely appropriate to send information of this kind in every request or response.  Instead, the present specification defines a link relation type, impl-info, that can be used to convey this information via the self-description capabilities of the /.well- known/core resource and the CoRE resource directory.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.hartke-t2trg-coral" target="http://www.ietf.org/internet-drafts/draft-hartke-t2trg-coral-09.txt">
          <front>
            <title>The Constrained RESTful Application Language (CoRAL)</title>
            <seriesInfo name="Internet-Draft" value="draft-hartke-t2trg-coral-09"/>
            <author initials="K" surname="Hartke" fullname="Klaus Hartke">
              <organization/>
            </author>
            <date month="July" day="8" year="2019"/>
            <abstract>
              <t>The Constrained RESTful Application Language (CoRAL) defines a data model and interaction model as well as two specialized serialization formats for the description of typed connections between resources on the Web ("links"), possible operations on such resources ("forms"), as well as simple resource metadata.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/rfc5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <seriesInfo name="DOI" value="10.17487/RFC5280"/>
            <seriesInfo name="RFC" value="5280"/>
            <author initials="D." surname="Cooper" fullname="D. Cooper">
              <organization/>
            </author>
            <author initials="S." surname="Santesson" fullname="S. Santesson">
              <organization/>
            </author>
            <author initials="S." surname="Farrell" fullname="S. Farrell">
              <organization/>
            </author>
            <author initials="S." surname="Boeyen" fullname="S. Boeyen">
              <organization/>
            </author>
            <author initials="R." surname="Housley" fullname="R. Housley">
              <organization/>
            </author>
            <author initials="W." surname="Polk" fullname="W. Polk">
              <organization/>
            </author>
            <date year="2008" month="May"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="groups" numbered="true" toc="default">
      <name>Groups Registration and Lookup</name>
      <t>The RD-Groups usage pattern allows announcing application groups inside a Resource Directory.</t>
      <t>Groups are represented by endpoint registrations.
Their base address is a multicast address,
and they SHOULD be entered with the endpoint type <tt>core.rd-group</tt>.
The endpoint name can also be referred to as a group name in this context.</t>
      <t>The registration is inserted into the RD by a Commissioning Tool,
which might also be known as a group manager here.
It performs third party registration and registration updates.</t>
      <t>The links it registers SHOULD be available on all members that join the group.
Depending on the application, members that lack some resource
MAY be permissible if requests to them fail gracefully.</t>
      <t>The following example shows a CT registering a group with the name "lights" which provides two resources.
The directory resource path /rd
is an example RD location discovered in a request similar to <xref target="example-discovery" format="default"/>.</t>
      <figure anchor="example-group-registration">
        <name>Example registration of a group</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Req: POST coap://rd.example.com/rd?ep=lights&et=core.rd-group
                                  &base=coap://[ff35:30:2001:db8::1]
Content-Format: 40
Payload:
</light>;rt="light";if="core.a",
</color-temperature>;if="core.p";u="K"

Res: 2.01 Created
Location-Path: /rd/12
]]></artwork>
      </figure>
      <t>In this example, the group manager can easily permit devices that have no
writable color-temperature to join, as they would still respond to brightness
changing commands. Had the group instead contained a single resource that sets
brightness and color temperature atomically, endpoints would need to support
both properties.</t>
      <t>The resources of a group can be looked up like any other resource,
and the group registrations (along with any additional registration parameters)
can be looked up using the endpoint lookup interface.</t>
      <t>The following example shows a client performing and endpoint lookup for all groups.</t>
      <figure anchor="example-group-lookup">
        <name>Example lookup of groups</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET /rd-lookup/ep?et=core.rd-group

Res: 2.05 Content
Payload:
</rd/501>;ep="GRP_R2-4-015";et="core.rd-group";
                                   base="coap://[ff05::1]",
</rd/12>;ep=lights&et=core.rd-group;
         base="coap://[ff35:30:2001:db8::1]";rt="core.rd-ep"
]]></artwork>
      </figure>
      <t>The following example shows a client performing a lookup of all resources of all endpoints (groups) with et=core.rd-group.</t>
      <figure anchor="example-group-lookup-res">
        <name>Example lookup of resources inside groups</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Req: GET /rd-lookup/res?et=core.rd-group

<coap://[ff35:30:2001:db8::1]/light>;rt="light";if="core.a";
     et="core.rd-group";anchor="coap://[ff35:30:2001:db8::1]",
<coap://[ff35:30:2001:db8::1]/color-temperature>;if="core.p";u="K";
     et="core.rd-group";
     anchor="coap://[ff35:30:2001:db8::1]"
]]></artwork>
      </figure>
    </section>
    <section anchor="weblink" numbered="true" toc="default">
      <name>Web links and the Resource Directory</name>
      <t>Understanding the semantics of a link-format document and its URI references is
a journey through different documents (<xref target="RFC3986" format="default"/> defining URIs, <xref target="RFC6690" format="default"/>
defining link-format documents based on <xref target="RFC8288" format="default"/> which defines Link header fields,
and <xref target="RFC7252" format="default"/> providing the transport). This appendix summarizes
the mechanisms and semantics at play from an entry in <tt>.well-known/core</tt> to a
resource lookup.</t>
      <t>This text is primarily aimed at people entering the field of Constrained
Restful Environments from applications that previously did not use web
mechanisms.</t>
      <t>The explanation of the steps makes some shortcuts in the more confusing details of <xref target="RFC6690" format="default"/>,
which are justified as all examples being in Limited Link Format.</t>
      <section anchor="a-simple-example" numbered="true" toc="default">
        <name>A simple example</name>
        <t>Let's start this example with a very simple host, <tt>2001:db8:f0::1</tt>. A client
that follows classical CoAP Discovery (<xref target="RFC7252" format="default"/> Section 7), sends the
following multicast request to learn about neighbours supporting resources with
resource-type "temperature".</t>
        <t>The client sends a link-local multicast:</t>
        <figure anchor="example-weblink-wkc">
          <name>Example of direct resource discovery</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
GET coap://[ff02::fd]:5683/.well-known/core?rt=temperature

RES 2.05 Content
</temp>;rt=temperature;ct=0
]]></artwork>
        </figure>
        <t>where the response is sent by the server, <tt>[2001:db8:f0::1]:5683</tt>.</t>
        <t>While the client - on the practical or implementation side - can just go
ahead and create a new request to <tt>[2001:db8:f0::1]:5683</tt> with Uri-Path:
<tt>temp</tt>, the full resolution steps for insertion into and retrieval from the RD without any shortcuts are:</t>
        <section anchor="resolveURI" numbered="true" toc="default">
          <name>Resolving the URIs</name>
          <t>The client parses the single returned record. The link's target (sometimes
called "href") is "<tt>/temp</tt>", which is a relative URI that needs resolving.
The base
URI &lt;coap://[ff02::fd]:5683/.well-known/core&gt; is used to resolve the
reference /temp against.</t>
          <t>The Base URI of the requested resource can be composed from the options of the CoAP GET request by following the steps of
<xref target="RFC7252" format="default"/> section 6.5 (with an addition at the end of 8.2) into
"<tt>coap://[2001:db8:f0::1]/.well-known/core</tt>".</t>
          <t>Because "<tt>/temp</tt>" starts with a single slash,
the record's target is resolved by replacing the path "<tt>/.well-known/core</tt>"
from the Base URI (section 5.2 <xref target="RFC3986" format="default"/>) with the relative target URI "<tt>/temp</tt>" into
"<tt>coap://[2001:db8:f0::1]/temp</tt>".</t>
        </section>
        <section anchor="interpreting-attributes-and-relations" numbered="true" toc="default">
          <name>Interpreting attributes and relations</name>
          <t>Some more information but the record's target can be obtained from the payload:
the resource type of the target is "temperature", and its content format is
text/plain (ct=0).</t>
          <t>A relation in a web link is a three-part statement that specifies a named relation between the so-called "context resource"
and the target resource, like "<em>This page</em> has <em>its table
of contents</em> at <em>/toc.html</em>". In link format documents,
there is an implicit "host relation" specified with default parameter: rel="hosts".</t>
          <t>In our example, the context resource of the link is the URI specified in the GET request "coap:://[2001:db8:f0::1]/.well-known/core". A full English expression of the "host relation" is:</t>
          <t>'<tt>coap://[2001:db8:f0::1]/.well-known/core</tt> is hosting the resource
<tt>coap://[2001:db8:f0::1]/temp</tt>, which is of the resource type "temperature" and
can be accessed using the text/plain content format.'</t>
        </section>
      </section>
      <section anchor="a-slightly-more-complex-example" numbered="true" toc="default">
        <name>A slightly more complex example</name>
        <t>Omitting the <tt>rt=temperature</tt> filter, the discovery query would
have given some more records in the payload:</t>
        <figure anchor="example-weblink-wkc-extended">
          <name>Extended example of direct resource discovery</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
GET coap://[ff02::fd]:5683/.well-known/core

RES 2.05 Content
</temp>;rt=temperature;ct=0,
</light>;rt=light-lux;ct=0,
</t>;anchor="/sensors/temp";rel=alternate,
<http://www.example.com/sensors/t123>;anchor="/temp";
    rel="describedby"
]]></artwork>
        </figure>
        <t>Parsing the third record, the client encounters the "anchor" parameter. It is
a URI relative to the Base URI of the request and is thus resolved to
"<tt>coap://[2001:db8:f0::1]/sensors/temp</tt>".
That is the context resource of the link, so the "rel" statement is not about
the target and the Base URI any more, but about the target and the resolved
URI. Thus, the third record could be read as
"<tt>coap://[2001:db8:f0::1]/sensors/temp</tt> has an alternate representation at
<tt>coap://[2001:db8:f0::1]/t</tt>".</t>
        <t>Following the same resolution steps, the fourth record can be read as "<tt>coap://[2001:db8:f0::1]/sensors/temp</tt> is
described by <tt>http://www.example.com/sensors/t123</tt>".</t>
      </section>
      <section anchor="enter-the-resource-directory" numbered="true" toc="default">
        <name>Enter the Resource Directory</name>
        <t>The resource directory tries to carry the semantics obtainable by classical
CoAP discovery over to the resource lookup interface as faithfully as possible.</t>
        <t>For the following queries, we will assume that the simple host has used Simple
Registration to register at the resource directory that was announced to it,
sending this request from its UDP port <tt>[2001:db8:f0::1]:6553</tt>:</t>
        <figure anchor="example-weblink-simple">
          <name>Example request starting a simple registration</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
POST coap://[2001:db8:f01::ff]/.well-known/core?ep=simple-host1
]]></artwork>
        </figure>
        <t>The resource directory would have accepted the registration, and queried the
simple host's <tt>.well-known/core</tt> by itself. As a result, the host is registered
as an endpoint in the RD with the name "simple-host1". The registration is
active for 90000 seconds, and the endpoint registration Base URI is
"<tt>coap://[2001:db8:f0::1]</tt>" following the resolution steps described in <xref target="resolveURI" format="default"/>. It should be remarked that the Base URI constructed that way always yields a URI of the form: scheme://authority without path suffix.</t>
        <t>If the client now queries the RD as it would previously have issued a multicast
request, it would go through the RD discovery steps by fetching
<tt>coap://[2001:db8:f0::ff]/.well-known/core?rt=core.rd-lookup-res</tt>, obtain
<tt>coap://[2001:db8:f0::ff]/rd-lookup/res</tt> as the resource lookup endpoint, and
issue a request to <tt>coap://[2001:db8:f0::ff]/rd-lookup/res?rt=temperature</tt> to
receive the following data:</t>
        <figure anchor="example-weblink-lookup-result">
          <name>Example payload of a response to a resource lookup</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
<coap://[2001:db8:f0::1]/temp>;rt=temperature;ct=0;
    anchor="coap://[2001:db8:f0::1]"
]]></artwork>
        </figure>
        <t>This is not <em>literally</em> the same response that it would have received from a
multicast request, but it contains the equivalent statement:</t>
        <t>'<tt>coap://[2001:db8:f0::1]</tt> is hosting the resource
<tt>coap://[2001:db8:f0::1]/temp</tt>, which is of the resource type "temperature" and
can be accessed using the text/plain content format.'</t>
        <t>(The difference is whether <tt>/</tt> or <tt>/.well-known/core</tt> hosts the resources,
which does not matter in this application; if it did, the endpoint would have been more explicit. Actually, /.well-known/core does NOT host the resource but stores a URI reference to the resource.)</t>
        <t>To complete the examples, the client could also query all resources hosted at
the endpoint with the known endpoint name "simple-host1". A request to
<tt>coap://[2001:db8:f0::ff]/rd-lookup/res?ep=simple-host1</tt> would return</t>
        <figure anchor="example-weblink-lookup-result-extended">
          <name>Extended example payload of a response to a resource lookup</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
<coap://[2001:db8:f0::1]/temp>;rt=temperature;ct=0;
    anchor="coap://[2001:db8:f0::1]",
<coap://[2001:db8:f0::1]/light>;rt=light-lux;ct=0;
    anchor="coap://[2001:db8:f0::1]",
<coap://[2001:db8:f0::1]/t>;
    anchor="coap://[2001:db8:f0::1]/sensors/temp";rel=alternate,
<http://www.example.com/sensors/t123>;
    anchor="coap://[2001:db8:f0::1]/sensors/temp";rel="describedby"
]]></artwork>
        </figure>
        <t>All the target and anchor references are already in absolute form there, which
don't need to be resolved any further.</t>
        <t>Had the simple host done an equivalent full registration with a base= parameter (e.g.
<tt>?ep=simple-host1&amp;base=coap+tcp://simple-host1.example.com</tt>), that context would
have been used to resolve the relative anchor values instead, giving</t>
        <figure anchor="example-weblink-lookup-result-base">
          <name>Example payload of a response to a resource lookup with a dedicated base URI</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
<coap+tcp://simple-host1.example.com/temp>;rt=temperature;ct=0;
    anchor="coap+tcp://simple-host1.example.com"
]]></artwork>
        </figure>
        <t>and analogous records.</t>
      </section>
      <section anchor="resolution-rules" numbered="true" toc="default">
        <name>A note on differences between link-format and Link header fields</name>
        <t>While link-format and Link header fields look very similar and are based on the same
model of typed links, there are some differences between <xref target="RFC6690" format="default"/> and
<xref target="RFC8288" format="default"/>, which are dealt with differently:</t>
        <ul spacing="normal">
          <li>
            <t>"Resolving the target against the anchor":
<xref target="RFC6690" format="default"/> Section 2.1 states that the anchor of a link is used as the Base URI
against which the term inside the angle brackets (the target) is resolved,
falling back to the resource's URI with paths stripped off (its "Origin").
In contrast to that,
<xref target="RFC8288" format="default"/> Section B.2 describes that the anchor is immaterial to the
resolution of the target reference.  </t>
            <t>
RFC6690, in the same section, also states that absent anchors set the context of
the link to the target's URI with its path stripped off, while according to
<xref target="RFC8288" format="default"/> Section 3.2, the context is the resource's base URI.  </t>
            <t>
The rules introduced in <xref target="limitedlinkformat" format="default"/> ensure
that an RD does not need to deal with those differences
when processing input data.
Lookup results are required to be absolute references for the same reason.</t>
          </li>
          <li>
            <t>There is no percent encoding in link-format documents.  </t>
            <t>
A link-format document is a UTF-8 encoded string of Unicode characters and
does not have percent encoding, while Link header fields are practically ASCII
strings that use percent encoding for non-ASCII characters, stating the
encoding explicitly when required.  </t>
            <t>
For example, while a Link header field in a page about a Swedish city might read  </t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
Link: </temperature/Malm%C3%B6>;rel="live-environment-data"
]]></artwork>
            <t>
a link-format document from the same source might describe the link as  </t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
</temperature/Malmö>;rel="live-environment-data"
]]></artwork>
            <t>
Parsers and producers of link-format and header fields need to be aware of this
difference.</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="limitedlinkformat" numbered="true" toc="default">
      <name>Limited Link Format</name>
      <t>The CoRE Link Format as described in <xref target="RFC6690" format="default"/>
has been interpreted differently by implementers,
and a strict implementation
rules out some use cases of a Resource Directory
(e.g. base values with path components).</t>
      <t>This appendix describes
a subset of link format documents called Limited Link Format.
The rules herein are not very limiting in practice -
all examples in RFC6690, and all deployments the authors are aware of already stick to them -
but ease the implementation of resource directory servers.</t>
      <t>It is applicable to representations in the application/link-format media type,
and any other media types that inherit <xref target="RFC6690" format="default"/> Section 2.1.</t>
      <t>A link format representation is in Limited Link format if,
for each link in it,
the following applies:</t>
      <ul spacing="normal">
        <li>All URI references either follow the URI or the path-absolute ABNF rule of
RFC3986 (i.e. target and anchor each either start with a scheme or with a
single slash),</li>
        <li>if the anchor reference starts with a scheme, the target reference starts
with a scheme as well (i.e. relative references in target cannot be used when
the anchor is a full URI), and</li>
        <li>the application does not care whether links without an explicitly given
anchor have the origin's "/" or "/.well-known/core" resource as their link
context.</li>
      </ul>
      <!--  LocalWords:  lookups multicast lookup RESTful CoRE LoWPAN CoAP
 -->
<!--  LocalWords:  microcontrollers URI DNS EP IP EPs discoverable
 -->
<!--  LocalWords:  Metadata metadata lossless anycast ABRO RDNSS ICMP
 -->
<!--  LocalWords:  DHCPv RD's DHCP RDs unicast JSON CBOR wildcard TLS
 -->
<!--  LocalWords:  subdomain substring prepending subtype DTLS UDP
 -->
<!--  LocalWords:  routability NTP TCP WiFi GPRS FQDN SLAAC IPv SDOs
 -->
<!--  LocalWords:  OMA LWM IETF OMNA API SMS MSISDN
 -->

</section>
  </back>
  <!-- ##markdown-source:
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
WgIf95Rky2LMoTyWgqRvfxd/MS8eXz0pfrovWO7mVh+nEgtN6686eJWpkAox
tUKaeSwd6uEoUna4dcweqrKtpzdCpsskQ1B7TDQZZ47g0vSWazC1I21td6M5
hZIsKE4DKasDhvCMY5EQOJaBT5e5Xct/LCdudhxermIFbjXx+pWZSlKUSMZ3
HFlTD6bw98QpSoSJq5VGzl8n8+RIAfxJoi9nyFeJEF2BDwYQn9j0TUMBLLI4
M2kuebooo9IKenkocPbcsDx9/tGKgz/kZ11e7C1F06tZ782xBrAbHEo0+bvZ
ingcEziIgWgTEMMN2bpd62IKJ+DBf+pd2QGUYHfbPFzwD28O7g0XfOv/bsER
Hsm7NrfwqlvYi3tBd5g+G7kHNLFcZXPHp5dYPw2R2+LT7zgsN0oKhaQfRNJf
kbdoq8Xuwu86Uxp04FC/vWtr7uahussD5ytB1c9s++gz774Pe759CvLFvSZy
93lzNvftZx5PSrXPSATcovdENRrjIgOIPh+/uK648eQ7euQtymSXpYPtDQkp
omO70GJsTKqYKmxFuth33WYl8Xe2PjghUNqzxRyNWNix4hPlQrEOJ02MfNfe
LHw1NAuHiYlnONWDhhPtxZCU4CDiYii2nriMUlVnAazeerhFT4imY+tfWrfd
VcGXipH59ooEEDd6bFFL76rMpJDL9o0dodPyJkDBcUMrRFOPu3GsYyjXWSdL
ZE2BFizaMl/Ul+hslnP5MHKA51XDVAGN3yYuVaKokQo1T8xBl5z+vzd7Xy+a
mSthS+BaIR9jRhYdmpQkscuAiCWLaw39BSVZp464rSSF563CIEO1Je6zWJ5e
LUOJonpuZ2cigSYVyetpGxInrVVzbFD1y1W7lKBBqWkE5haW5FsG++jX6Ajm
867FF0O062XFlTvo+5qoOoYVYUgL/BHnGI3y43Brzzbo4h6v0ajCS6W1qXDc
ViBYgVmJctHojFrxdHaoruyvV0dArhb4saEu9aYZE3UIULfUH88YvfqE88xM
A0lhRAHzEGDrYPQVjpsVenYqDWQKpa/WCTPYQWv3BPef5OHWzs7Z5K87Dx99
s92DvP0TcWz3Lnn+zd5hKr75w2/X+Xdg8e6Bx6fLJxsJS1QmNb5+dzoAz6/J
9C6dTfecGWHMXA2BKGBPiuNIuBxHSumE/zE9YlndMaCpauncYPs1HsfIHSfm
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

-->

</rfc>
