Internet Engineering Task Force (IETF)                    C. Amsüss, Ed.
Request for Comments: 9176
Category: Standards Track                                      Z. Shelby
ISSN: 2070-1721                                             Edge Impulse
                                                               M. Koster
                                                            PassiveLogic
                                                              C. Bormann
                                                  Universität Bremen TZI
                                                         P. van der Stok
                                                  vanderstok consultancy
                                                              April 2022
        

Constrained RESTful Environments (CoRE) Resource Directory

制約されたRESTFUL環境(コア)リソースディレクトリ

Abstract

概要

In many Internet of Things (IoT) applications, direct discovery of resources is not practical due to sleeping nodes or networks where multicast traffic is inefficient. These problems can be solved by employing an entity called a Resource Directory (RD), which contains information about resources held on other servers, allowing lookups to be performed for those resources. The input to an RD is composed of links, and the output is composed of links constructed from the information stored in the RD. This document specifies the web interfaces that an RD supports for web servers to discover the RD and to register, maintain, look up, and remove information on resources. Furthermore, new target attributes useful in conjunction with an RD are defined.

多くのモノのインターネット(IoT)アプリケーションでは、マルチキャストトラフィックが非効率的な睡眠ノードまたはネットワークのために、リソースの直接発見は実用的ではありません。これらの問題は、他のサーバーに保持されているリソースに関する情報を含むリソースディレクトリ(RD)と呼ばれるエンティティを使用することで解決でき、それらのリソースに対してルックアップを実行できます。RDへの入力はリンクで構成され、出力はRDに保存されている情報から構築されたリンクで構成されています。このドキュメントは、RDがWebサーバーをサポートするWebインターフェイスを指定して、RDを発見し、リソースに関する情報を登録、維持、検索、削除します。さらに、RDと組み合わせて役立つ新しいターゲット属性が定義されています。

Status of This Memo

本文書の位置付け

This is an Internet Standards Track document.

これは、インターネット標準トラックドキュメントです。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.

このドキュメントは、インターネットエンジニアリングタスクフォース(IETF)の製品です。IETFコミュニティのコンセンサスを表しています。公開レビューを受けており、インターネットエンジニアリングステアリンググループ(IESG)からの出版が承認されています。インターネット標準の詳細については、RFC 7841のセクション2で入手できます。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at https://www.rfc-editor.org/info/rfc9176.

このドキュメントの現在のステータス、任意のERRATA、およびそのフィードバックを提供する方法に関する情報は、https://www.rfc-editor.org/info/rfc9176で取得できます。

Copyright Notice

著作権表示

Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved.

著作権(c)2022 IETF Trustおよび文書著者として特定された人。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.

このドキュメントは、BCP 78およびIETFドキュメント(https://trustee.ietf.org/license-info)に関連するIETF Trustの法的規定の対象となります。この文書に関するあなたの権利と制限を説明するので、これらの文書を注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、セクション4.Eで説明されている法的規定のセクション4.Eで説明されており、修正されたBSDライセンスで説明されているように保証なしで提供される修正されたBSDライセンステキストを含める必要があります。

Table of Contents

目次

   1.  Introduction
   2.  Terminology
   3.  Architecture and Use Cases
     3.1.  Principles
     3.2.  Architecture
     3.3.  RD Content Model
     3.4.  Link-Local Addresses and Zone Identifiers
     3.5.  Use Case: Cellular M2M
     3.6.  Use Case: Home and Building Automation
     3.7.  Use Case: Link Catalogues
   4.  RD Discovery and Other Interface-Independent Components
     4.1.  Finding a Resource Directory
       4.1.1.  Resource Directory Address Option (RDAO)
       4.1.2.  Using DNS-SD to Discover a Resource Directory
     4.2.  Payload Content Formats
     4.3.  URI Discovery
   5.  Registration
     5.1.  Simple Registration
     5.2.  Third-Party Registration
     5.3.  Operations on the Registration Resource
       5.3.1.  Registration Update
       5.3.2.  Registration Removal
       5.3.3.  Further Operations
       5.3.4.  Request Freshness
   6.  RD Lookup
     6.1.  Resource Lookup
     6.2.  Lookup Filtering
     6.3.  Resource Lookup Examples
     6.4.  Endpoint Lookup
   7.  Security Policies
     7.1.  Endpoint Name
       7.1.1.  Random Endpoint Names
     7.2.  Entered Links
     7.3.  Link Confidentiality
     7.4.  Segmentation
     7.5.  "First Come First Remembered": A Default Policy
   8.  Security Considerations
     8.1.  Discovery
     8.2.  Endpoint Identification and Authentication
     8.3.  Access Control
     8.4.  Denial-of-Service Attacks
     8.5.  Skipping Freshness Checks
   9.  IANA Considerations
     9.1.  Resource Types
     9.2.  IPv6 ND Resource Directory Address Option
     9.3.  RD Parameters Registry
       9.3.1.  Full Description of the "Endpoint Type" RD Parameter
     9.4.  Endpoint Type (et=) RD Parameter Values
     9.5.  Multicast Address Registration
     9.6.  Well-Known URIs
     9.7.  Service Name and Transport Protocol Port Number Registry
   10. Examples
     10.1.  Lighting Installation
       10.1.1.  Installation Characteristics
       10.1.2.  RD Entries
     10.2.  OMA Lightweight M2M (LwM2M)
   11. References
     11.1.  Normative References
     11.2.  Informative References
   Appendix A.  Groups Registration and Lookup
   Appendix B.  Web Links and the Resource Directory
     B.1.  A Simple Example
       B.1.1.  Resolving the URIs
       B.1.2.  Interpreting Attributes and Relations
     B.2.  A Slightly More Complex Example
     B.3.  Enter the Resource Directory
     B.4.  A Note on Differences between Link-Format and Link Header
           Fields
   Appendix C.  Limited Link Format
   Acknowledgments
   Authors' Addresses
        
1. Introduction
1. はじめに

In the work on Constrained RESTful Environments (CoRE), a Representational State Transfer (REST) architecture suitable for constrained nodes (e.g., with limited RAM and ROM [RFC7228]) and networks (e.g., IPv6 over Low-Power Wireless Personal Area Network (6LoWPAN) [RFC4944]) has been established and is used in Internet of Things (IoT) or machine-to-machine (M2M) applications, such as smart energy and building automation.

制約付きの安らかな環境(Core)に関する作業では、制約されたノード(例:RAMおよびROM [RFC7228]が限られている)に適した表現状態転送(REST)アーキテクチャとネットワーク(例:低電力ワイヤレスパーソナルエリアネットワーク(例:IPv6)(例:6lowpan)[RFC4944])が確立されており、スマートエネルギーや建物の自動化など、モノのインターネット(IoT)またはマシンからマシン(M2M)アプリケーションで使用されています。

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 [RFC8288]. The use of web linking for the description and discovery of resources hosted by constrained web servers is specified by the CoRE Link Format [RFC6690]. However, [RFC6690] only describes how to discover resources from the web server that hosts them by querying /.well-known/core. In many constrained scenarios, direct discovery of resources is not practical due to sleeping nodes or networks where multicast traffic is inefficient. These problems can be solved by employing an entity called a Resource Directory (RD), which contains information about resources held on other servers, allowing lookups to be performed for those resources.

制約されたサーバーによって提供されるリソースの発見は、ループに人間がいないマシンからマシンへのアプリケーションで非常に重要であり、静的インターフェイスは脆弱性をもたらします。HTTP Webサーバーが提供するリソースの発見は、通常、Webリンク[RFC8288]と呼ばれます。制約されたWebサーバーによってホストされているリソースの説明と発見のためにWebリンクの使用は、コアリンク形式[RFC6690]によって指定されています。ただし、[RFC6690]は、Querying /.Well-NownS /CoreによってホストするWebサーバーからリソースを発見する方法のみを説明しています。多くの制約されたシナリオでは、マルチキャストトラフィックが非効率的な睡眠ノードまたはネットワークのために、リソースの直接的な発見は実用的ではありません。これらの問題は、他のサーバーに保持されているリソースに関する情報を含むリソースディレクトリ(RD)と呼ばれるエンティティを使用することで解決でき、それらのリソースに対してルックアップを実行できます。

This document specifies the web interfaces that an RD supports for web servers to discover the RD and to register, maintain, look up, and remove information on resources. Furthermore, new target attributes useful in conjunction with an RD are defined. Although the examples in this document show the use of these interfaces with the Constrained Application Protocol (CoAP) [RFC7252], they can be applied in an equivalent manner to HTTP [RFC7230].

このドキュメントは、RDがWebサーバーをサポートするWebインターフェイスを指定して、RDを発見し、リソースに関する情報を登録、維持、検索、削除します。さらに、RDと組み合わせて役立つ新しいターゲット属性が定義されています。このドキュメントの例は、制約付きアプリケーションプロトコル(COAP)[RFC7252]でこれらのインターフェイスを使用していることを示していますが、HTTP [RFC7230]と同等の方法で適用できます。

2. Terminology
2. 用語

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

この文書のキーワード "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", および "OPTIONAL" はBCP 14 [RFC2119] [RFC8174]で説明されているように、すべて大文字の場合にのみ解釈されます。

The term "byte" is used in its now customary sense as a synonym for "octet".

「バイト」という用語は、「Octet」の同義語として現在慣習的な意味で使用されています。

This specification requires readers to be familiar with all the terms and concepts that are discussed in [RFC3986], [RFC8288], and [RFC6690]. Readers should also be familiar with the terms and concepts discussed in [RFC7252]. To describe the REST interfaces defined in this specification, the URI Template format is used [RFC6570].

この仕様では、読者は[RFC3986]、[RFC8288]、および[RFC6690]で議論されているすべての用語と概念に精通する必要があります。読者は、[RFC7252]で説明されている用語と概念にも精通している必要があります。この仕様で定義されているRESTインターフェイスを記述するために、URIテンプレート形式が使用されます[RFC6570]。

This specification makes use of the following additional terminology:

この仕様では、次の追加用語を使用します。

Resolve Against The expression "a URI reference is _resolved against_ a base URI" is used to describe the process of [RFC3986], Section 5.2. Noteworthy corner cases include the following: (1) if the URI reference is a (full) URI, resolving against any base URI gives the original full URI and (2) resolving an empty URI reference gives the base URI without any fragment identifier.

「uri参照は_ resolved _ ress_ a base uri」という式に対して解決されます。注目に値するコーナーケースには次のものが含まれます。(1)URI参照が(完全)URIである場合、任意のベースに対して解決することは元の完全なURIを与え、(2)空のURI参照を解決することは、フラグメント識別子なしでベースURIを与えます。

Resource Directory (RD) A web entity that stores information about web resources and implements the REST interfaces defined in this specification for discovery, for the creation, maintenance, and removal of registrations, and for lookup of the registered resources.

Resource Directory(RD)Webリソースに関する情報を保存し、この仕様で定義されているRESTインターフェイスを、登録の作成、メンテナンス、削除、および登録リソースの検索のために定義されたRESTインターフェイスを実装するWebエンティティ。

Sector In the context of an RD, a sector is a logical grouping of endpoints.

RDのコンテキストでは、セクターはエンドポイントの論理的なグループ化です。

The abbreviation "d=" is used for the sector in query parameters for compatibility with deployed implementations.

略語「d =」は、展開された実装と互換性のためのクエリパラメーターのセクターに使用されます。

Endpoint (EP) Endpoint (EP) is a term used to describe a web server or client in [RFC7252]. In the context of this specification, an endpoint is used to describe a web server that registers resources to the RD. 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.

エンドポイント(EP)エンドポイント(EP)は、[RFC7252]のWebサーバーまたはクライアントを記述するために使用される用語です。この仕様のコンテキストでは、エンドポイントがRDにリソースを登録するWebサーバーを記述するために使用されます。エンドポイントは、登録中に含まれるエンドポイント名によって識別され、登録の関連部門内に一意の名前があります。

Registration Base URI 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 RD to resolve relative references of the registration into URIs.

登録ベースURI登録のベースURIは、通常、エンドポイントに関するスキームと権限の情報を提供するURIです。登録ベースのURIは登録時に提供され、RDがURIへの登録の相対的な参照を解決するために使用されます。

Target The target of a link is the destination address (URI) of the link. It is sometimes identified with "href=" or displayed as <target>. Relative targets need resolving with respect to the base URI (Section 5.2 of [RFC3986]).

ターゲットリンクのターゲットは、リンクの宛先アドレス(URI)です。「href =」で識別されることもあります。相対ターゲットは、ベースURI([RFC3986]のセクション5.2)に関して解決する必要があります。

This use of the term "target" is consistent with the use in [RFC8288].

「ターゲット」という用語の使用は、[RFC8288]での使用と一致しています。

Context 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.

コンテキストリンクのコンテキストは、リンクのソースアドレス(URI)であり、どのリソースがターゲットにリンクされているかを説明します。リンクのコンテキストは、「Anchor =」属性としてシリアル化されたリンクで明示的になります。

This use of the term "context" is consistent with the use in [RFC8288].

「コンテキスト」という用語の使用は、[RFC8288]での使用と一致しています。

Directory Resource A directory resource is a resource in the RD containing registration resources.

ディレクトリリソースディレクトリリソースは、登録リソースを含むRDのリソースです。

Registration Resource A registration resource is a resource in the RD that contains information about an endpoint and its links.

登録リソース登録リソースは、エンドポイントとそのリンクに関する情報を含むRDのリソースです。

Commissioning Tool (CT) A Commissioning Tool (CT) is a device that assists during installation events by assigning values to parameters, naming endpoints and groups, or adapting the installation to the needs of the applications.

試運転ツール(CT)A Commistioning Tool(CT)は、パラメーターに値を割り当て、エンドポイントとグループの名前を付けたり、アプリケーションのニーズにインストールしたりすることにより、インストールイベント中にイベントを支援するデバイスです。

Registrant-EP A registrant-EP is the endpoint that is registered into the RD. The registrant-EP can register itself, or a CT registers the registrant-EP.

登録者-EP登録者-EPは、RDに登録されているエンドポイントです。登録者-EPはそれ自体を登録することができます。または、CTは登録者EPを登録します。

Resource Directory Address Option (RDAO) A Resource Directory Address Option (RDAO) is a new IPv6 Neighbor Discovery option defined for announcing an RD's address.

Resource Directoryアドレスオプション(RDAO)リソースディレクトリアドレスオプション(RDAO)は、RDのアドレスを発表するために定義された新しいIPv6ネイバーディスカバリーオプションです。

3. Architecture and Use Cases
3. アーキテクチャとユースケース
3.1. Principles
3.1. 原則

The RD is primarily a tool to make discovery operations more efficient than querying /.well-known/core on all connected devices or across boundaries that would limit those operations.

RDは、主に、すべての接続されたデバイスまたはそれらの操作を制限する境界を越えて /.Well-Known/Coreをクエリするよりも発見操作をより効率的にするためのツールです。

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.

それ以外の場合は、ユニキャスト要求またはマルチキャストリクエストのいずれかで、これらの他のデバイスの /.Well-kond/Coreリソースを直接クエリすることによってのみ取得できる他のデバイスがホストするリソースに関する情報を提供します。

Information SHOULD only be stored in the RD if it can be obtained by querying the described device's /.well-known/core resource directly.

情報は、記載されているデバイスの /.Well-Nownd/Coreリソースを直接クエリすることによって取得できる場合にのみ、RDに保存する必要があります。

Data in the RD can only be provided by the device that hosts the data or a dedicated Commissioning Tool (CT). These CTs act on behalf of endpoints too constrained, or generally unable, to present that information themselves. No other client can modify data in the RD. Changes to the information in the RD do not propagate automatically back to the web servers from where the information originated.

RDのデータは、データまたは専用の試運転ツール(CT)をホストするデバイスによってのみ提供できます。これらのCTは、その情報を自ら提示するには、エンドポイントがあまりにも制約されているか、一般に不可能なエンドポイントに代わって機能します。他のクライアントはRDのデータを変更できません。RDの情報を変更すると、情報が発生した場所からWebサーバーに自動的に戻ることはありません。

3.2. Architecture
3.2. 建築

The RD architecture is illustrated in Figure 1. An RD is used as a repository of registrations describing resources hosted on other web servers, also called endpoints (EPs). 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 RD registrations and for endpoints to look up resources from the RD. An RD can be logically segmented by the use of sectors.

RDアーキテクチャを図1に示します。RDは、エンドポイント(EPS)とも呼ばれる他のWebサーバーでホストされているリソースを説明する登録のリポジトリとして使用されます。エンドポイントは、スキーム、IPアドレス、およびポートに関連付けられたWebサーバーです。物理ノードは、1つ以上のエンドポイントをホストする場合があります。RDは、RD登録を登録および維持するためのエンドポイントと、RDからリソースを検索するエンドポイントのレストインターフェイスのセットを実装しています。RDは、セクターの使用によって論理的にセグメント化できます。

A mechanism to discover an RD using CoRE Link Format [RFC6690] is defined.

コアリンク形式[RFC6690]を使用してRDを発見するメカニズムが定義されています。

Registrations in the RD are soft state and need to be periodically refreshed.

RDの登録はソフトステートであり、定期的に更新する必要があります。

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 its registrations.

エンドポイントは、特定のインターフェイスを使用して、登録、更新、削除を削除します。また、RDがエンドポイントからWebリンクを取得し、その内容を登録に追加することも可能です。

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.

エンドポイントの最初の登録では、「登録リソース」が作成され、その場所は登録エンドポイントに返されます。登録エンドポイントは、この登録リソースを使用して登録の内容を管理します。

A lookup interface for discovering any of the web links stored in the RD is provided using the CoRE Link Format.

RDに保存されているWebリンクを検出するためのルックアップインターフェイスは、コアリンク形式を使用して提供されます。

              Registration         Lookup
               Interface         Interface
   +----+          |                 |
   | EP |----      |                 |
   +----+    ----  |                 |
                 --|-    +------+    |
   +----+          | ----|      |    |     +--------+
   | EP | ---------|-----|  RD  |----|-----| Client |
   +----+          | ----|      |    |     +--------+
                 --|-    +------+    |
   +----+    ----  |                 |
   | CT |----      |                 |
   +----+
        

Figure 1: The RD Architecture

図1:RDアーキテクチャ

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.

登録者-EPは、明示的に設定されている場合、同時に同時に登録を複数のRDに保持する場合がありますが、典型的なEP実装ではサポートされるとは予想されていません。そのような登録は互いに独立しています。複数の発見メカニズムまたはアドレスが構成されている場合の通常の期待は、それらが単一の登録のためのフォールバックパスを構成することです。

3.3. RD Content Model
3.3. RDコンテンツモデル

The Entity-Relationship (ER) models shown in Figures 2 and 3 model the contents of /.well-known/core and the RD respectively, with entity-relationship diagrams [ER]. 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.

図2および3に示すエンティティ関連(ER)モデルは、それぞれ /.Well-Nownd/CoreとRDの内容をモデルし、エンティティ関連図[ER]を使用しています。エンティティ(長方形)は、独立して存在する概念に使用されます。属性(卵子)は、関連するエンティティに関連してのみ存在する概念に使用されます。関係(ダイヤモンド)は、エンティティ間の関係に対して意味的な意味を与えます。数字は、関係のカーディナリティを指定します。

Some of the attribute values are URIs. Those values are always full URIs and never relative references in the information model. However, they can be expressed as relative references in serializations, and they often are.

属性値の一部はurisです。これらの値は常に完全なurisであり、情報モデルでは決して相対的な参照ではありません。ただし、シリアル化における相対的な参照として表現することができ、しばしばそうです。

These models provide an abstract view of the information expressed in link-format documents and an RD. 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.

これらのモデルは、リンク形式のドキュメントとRDで表現された情報の抽象的なビューを提供します。それらは概念をカバーしていますが、必ずしもRDの操作のすべての詳細ではありません。それらは、概要を示し、実装のテンプレートではありません。

              +----------------------+
              |   /.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
        
           Figure 2: ER Model of the Content of /.well-known/core
        

Figure 2 models the contents of /.well-known/core, which contains a set of links belonging to the hosting web server.

図2は、ホスティングWebサーバーに属する一連のリンクを含む /.Well-Nownd/Coreの内容をモデル化しています。

The web server is free to choose links it deems appropriate to be exposed in its /.well-known/core. 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 Section 5 of [RFC6690]). The set does not necessarily contain links to all resources served by the host.

Webサーバーは、 /.Well-Nowned/Coreで公開されるのに適していると思われるリンクを無料で選択できます。通常、リンクはホストが提供するリソースを説明しますが、セットには他のサーバー上のリソースへのリンクも含めることができます([RFC6690]のセクション5の例を参照)。このセットには、ホストが提供するすべてのリソースへのリンクが必ずしも含まれていません。

A link has the following attributes (see Section 5 of [RFC8288]):

リンクには次の属性があります([RFC8288]のセクション5を参照):

* Zero or more link relations: They describe relations between the link context and the link target.

* ゼロ以上のリンク関係:リンクコンテキストとリンクターゲットとの関係について説明します。

In link-format serialization, they are expressed as space-separated values in the "rel" attribute and default to "hosts".

リンク形式のシリアル化では、それらは「rel」属性の空間分離値として表現され、デフォルトで「ホスト」になります。

* A link context URI: It defines the source of the relation, e.g., _who_ "hosts" something.

* リンクコンテキストURI:関係のソースを定義します。

In link-format serialization, it is expressed in the "anchor" attribute and defaults to the Origin of the target (practically, the target with its path and later components removed).

リンク形式のシリアル化では、「アンカー」属性で表現され、デフォルトはターゲットの原点にデフォルトです(実際には、そのパスを備えたターゲットと後のコンポーネントが削除されます)。

* A link target URI: It defines the destination of the relation (e.g., _what_ is hosted) and is the topic of all target attributes.

* リンクターゲットURI:関係の宛先(_what_がホストされている)を定義し、すべてのターゲット属性のトピックです。

In link-format serialization, it is expressed between angular brackets and sometimes called the "href".

リンク形式のシリアル化では、角度ブラケットの間で表現され、「href」と呼ばれることもあります。

* Other target attributes (e.g., resource type (rt), interface (if), or content format (ct)): These provide additional information about the target URI.

* その他のターゲット属性(例:リソースタイプ(RT)、インターフェイス(IF)、またはコンテンツ形式(CT)):これらは、ターゲットURIに関する追加情報を提供します。

                    +--------------+
                    +      RD      +
                    +--------------+
                           | 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
        

Figure 3: ER Model of the Content of the RD

図3:RDの内容のERモデル

Figure 3 models the contents of the RD, which contains, in addition to /.well-known/core, 0 to n registrations of endpoints.

図3は、 /.well-nowned/coreに加えて、エンドポイントのn登録に加えて、RDの内容をモデル化します。

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:

登録は1つのエンドポイントに関連付けられています。登録は、 /.well-nown /core用に定義されているリンクのセットを定義します。登録には6種類の属性があります。

* an endpoint name ("ep", a Unicode string) unique within a sector

* セクター内でユニークなエンドポイント名( "ep"、unicode文字列)

* a registration base URI ("base", a URI typically describing the scheme://authority part)

* 登録ベースURI(「ベース」、通常、スキームを説明するURI://権限部分)

* a lifetime ("lt")

* 生涯( "lt")

* a registration resource location inside the RD ("href")

* RD内の登録リソースの場所(「HREF」)

* optionally, a sector ("d", a Unicode string)

* オプションで、セクター( "d"、unicode文字列)

* optional additional endpoint attributes (from Section 9.3)

* オプションの追加エンドポイント属性(セクション9.3から)

The cardinality of "base" is currently 1; future documents are invited to extend the RD specification to support multiple values (e.g., [COAP-PROT-NEG]). Its value is used as a base URI when resolving URIs in the links contained in the endpoint.

「ベース」のカーディナリティは現在1です。将来のドキュメントは、RD仕様を拡張して複数の値([Coap-Prot-neg]など)をサポートするために招待されています。その値は、エンドポイントに含まれるリンクでURIを解決する際にベースURIとして使用されます。

Links are modeled as they are in Figure 2.

リンクは、図2にあるようにモデル化されています。

3.4. Link-Local Addresses and Zone Identifiers
3.4. Link-Localアドレスとゾーン識別子

Registration base URIs can contain link-local IP addresses. To be usable across hosts, those cannot be serialized to contain zone identifiers (see [RFC6874], Section 1).

登録ベースURIには、リンクローカルIPアドレスを含めることができます。ホスト間で使用できるようにするには、ゾーン識別子を含めるようにシリアル化することはできません([RFC6874]、セクション1を参照)。

Link-local addresses can only be used on a single link (therefore, RD servers cannot announce them when queried on a different link), and lookup clients using them need to keep track of which interface they got them from.

Link-Localアドレスは、単一のリンクでのみ使用できます(したがって、RDサーバーは別のリンクで照会されたときにそれらを発表することはできません)。

Therefore, it is advisable in many scenarios to use addresses with larger scopes, if available.

したがって、多くのシナリオでは、利用可能な場合は、より大きなスコープを持つアドレスを使用することをお勧めします。

3.5. Use Case: Cellular M2M
3.5. ユースケース:セルラーM2M

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/General Packet Radio Service (GPRS), Wideband Code Division Multiple Access (W-CDMA), LTE, etc.) or via a gateway providing short- and wide-range wireless interfaces. The ambition in such systems is to build them from reusable components. These speed up development and deployment and enable shared use of machines across different applications. One crucial component of such systems is the discovery of resources (and thus the endpoints they are hosted on) capable of providing required information at a given time or acting on instructions from the end users.

過去数年間、世界中のモバイルオペレーターは、ビジネスを新しいタイプのユーザーであるマシンに拡大するために、M2Mソリューションの開発に焦点を当ててきました。マシンは、適切な埋め込みワイヤレスインターフェイス(GSM/一般的なパケットラジオサービス(GPRS)、ワイドバンドコードディビジョン多重アクセス(W-CDMA)、LTEなど)を使用して、または短絡を提供するゲートウェイを介して、モバイルネットワークに直接接続されています。ワイドレンジワイヤレスインターフェイス。そのようなシステムの野望は、再利用可能なコンポーネントからそれらを構築することです。これらは、開発と展開をスピードアップし、さまざまなアプリケーションでマシンの共有使用を可能にします。このようなシステムの重要なコンポーネントの1つは、特定の時間に必要な情報を提供したり、エンドユーザーからの指示に基づいて行動できるリソースの発見(したがって、それらがホストされているエンドポイント)です。

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 an RD, which is hosted by the mobile operator or somewhere in the cloud. Periodically, these endpoints update their registration and may modify resources they offer.

車両にエンドポイントがインストールされているシナリオを想像してください。フリート管理の目的でこれらの車両の位置を追跡し、環境パラメーターの監視を可能にするシナリオを想像してください。起動プロセス中、エンドポイントはRDに登録します。RDは、モバイルオペレーターまたはクラウド内のどこかによってホストされています。定期的に、これらのエンドポイントは登録を更新し、提供するリソースを変更する場合があります。

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.

たとえば、エンドポイントが常に接続されていない場合、たとえば、スリープモードに入るため、リモートサーバーは通常、エンドポイントへのプロキシアクセスを提供するために使用されます。環境監視用のモバイルアプリまたはWebアプリケーションRDに連絡し、適切なリンクパラメーターを使用して環境に関する情報を提供できるエンドポイントを検索し、それらに連絡する方法(プロキシサーバーのURL)に関する情報を取得し、インタラクションを開始する最終的に処理され、画面に表示され、通常はデータベースに保存される情報を取得します。同様に、フリート管理システムは、適切なリンクパラメーターをRDに提供して、アプリケーションが担当する車両に展開されているEPSを検索します。

3.6. Use Case: Home and Building Automation
3.6. ユースケース:ホームおよび建物の自動化

Home and commercial building automation systems can benefit from the use of IoT 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. Both can use the common RD infrastructure to establish device interactions efficiently but can pick security policies suitable for their needs.

ホームおよび商業ビルの自動化システムは、IoT Webサービスの使用から利益を得ることができます。これらのアプリケーションの発見要件は要求が厳しいです。ホームオートメーションは通常、システムを委託するためのランタイムディスカバリーに依存していますが、自動化の構築において、専門的な試運転とランタイム発見の組み合わせが使用されます。自宅と建物の自動化の両方には、エンドポイント間のピアツーピアの相互作用が含まれ、バッテリー駆動の睡眠デバイスが含まれます。どちらも一般的なRDインフラストラクチャを使用して、デバイスの相互作用を効率的に確立することができますが、ニーズに適したセキュリティポリシーを選択できます。

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 (e.g., a 6LoWPAN Border Router (6LBR) [RFC6775]), and the nodes connected to the network can use the Internet services that are provided by the IP or network administrator. During the installation phase, the network is completely stand-alone, no border router is connected, and the network only supports the IP communication between the connected nodes. The installation phase is usually followed by the operational phase. As an RD's operations work without hard dependencies on names or addresses, it can be used for discovery across both phases.

システムをサービスするネットワークでは、2つのフェーズを識別できます。(1)インストールと(2)操作。動作段階では、ネットワークはボーダールーターを使用してインターネットに接続されています(たとえば、6lowpan Border Router(6LBR)[RFC6775])、ネットワークに接続されたノードは、IPまたはIPによって提供されるインターネットサービスを使用できます。ネットワーク管理者。インストールフェーズ中、ネットワークは完全にスタンドアロンで、ボーダールーターは接続されておらず、ネットワークは接続ノード間のIP通信のみをサポートします。通常、設置フェーズの後に運用フェーズが続きます。RDの操作は、名前や住所に厳しい依存関係を持つことなく動作するため、両方のフェーズでの発見に使用できます。

3.7. Use Case: Link Catalogues
3.7. ユースケース:リンクカタログ

Resources may be shared through data brokers that have no knowledge beforehand of who is going to consume the data. An RD can be used to hold links about resources and services hosted anywhere to make them discoverable by a general class of applications.

リソースは、誰がデータを消費するかについて事前に知らないデータブローカーを通じて共有される場合があります。RDは、一般的なクラスのアプリケーションで発見できるようにするために、どこでもホストされているリソースとサービスに関するリンクを保持するために使用できます。

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 an RD. Applications wishing to consume the data can use RD lookup to discover and resolve links to the desired resources and endpoints. The RD service need not be coupled with the data intermediary service. Mapping of RDs to data intermediaries may be many-to-many.

たとえば、公共消費のためにデータを生成する環境および気象センサーは、仲介サーバーまたはブローカーにデータを提供する場合があります。センサーデータは、変更時または定期的な間隔で中間に公開されます。センサーデータへのリンクに解決するセンサーの説明は、RDに公開される場合があります。データを消費したいアプリケーションは、RDルックアップを使用して、目的のリソースとエンドポイントへのリンクを発見および解決できます。RDサービスは、データ仲介サービスと結合する必要はありません。RDSのデータ仲介業者へのマッピングは、多くの人から多数です。

Metadata in web link formats, such as the one defined in [RFC6690], which may be internally stored as triples or relation/attribute pairs providing metadata about resource links, need to be supported by RDs. External catalogues that are represented in other formats may be converted to common web linking formats for storage and access by RDs. Since it is common practice for these to be encoded in URNs [RFC8141], simple and lossless structural transforms should generally be sufficient to store external metadata in RDs.

[RFC6690]で定義されているものなど、ウェブリンク形式のメタデータは、リソースリンクに関するメタデータを提供するトリプルまたは関係/属性ペアとして内部に保存される場合があります。RDSによってサポートされる必要があります。他の形式で表される外部カタログは、RDSによるストレージとアクセスのために、一般的なWebリンク形式に変換される場合があります。これらがURN [RFC8141]でエンコードされることが一般的な慣行であるため、一般に、RDSに外部メタデータを保存するには、一般的に十分である必要があります。

The additional features of an RD 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.

RDの追加機能により、セクターを定義して、特定のアプリケーションから特定のリソースセットにアクセスできるようにします。これにより、必要に応じて機密データの分離と保護が提供されます。マルチキャストアドレスを持つアプリケーショングループは、効率的なデータ輸送をサポートするために定義できます。

4. RD Discovery and Other Interface-Independent Components
4. RDディスカバリーおよびその他のインターフェイスに依存しないコンポーネント

This and the following sections define the required set of REST interfaces between an RD, endpoints, and lookup clients. Although the examples throughout these sections assume the use of CoAP [RFC7252], these REST interfaces can also be realized using HTTP [RFC7230]. The multicast discovery and simple registration operations are exceptions to that, as they rely on mechanisms unavailable in HTTP. 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.

これと次のセクションでは、RD、エンドポイント、ルックアップクライアントの間の必要な休憩インターフェイスのセットを定義します。これらのセクション全体の例は、COAP [RFC7252]の使用を想定していますが、これらの休憩インターフェイスはHTTP [RFC7230]を使用して実現することもできます。マルチキャストの発見と簡単な登録操作は、HTTPでは利用できないメカニズムに依存しているため、それの例外です。これらのセクションのすべての定義では、COAP応答コード(ドット表記付き)とHTTP応答コード(ドット表記なし)の両方が表示されます。この仕様を実装するRDは、発見、登録、更新、ルックアップ、および削除インターフェイスをサポートする必要があります。

All operations on the contents of the RD MUST be atomic and idempotent.

RDの内容のすべての操作は、原子および等容量でなければなりません。

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 for options (such as Content-Format) and for 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 how a server may respond under atypical circumstances.

いくつかの操作では、インターフェイステンプレートがリスト形式で提供されます。これらは、オペレーション参加者、リクエストコード、URI、コンテンツフォーマット、および結果について説明します。これらのテンプレートのセクションには、相互作用、メソッド、URIテンプレート、およびURIテンプレート変数に関する規範的なコンテンツ、および成功条件の詳細が含まれています。オプション(コンテンツフォーマットなど)および障害コードの追加セクションは、RDの実装が対処すべき典型的なケースを提供します。それらは、COAPベースのインターフェイスのすべての詳細にまだ精通していない読者に対する典型的な反応を説明するのに役立ちます。彼らは、非定型の状況下でサーバーがどのように応答するかを制限しません。

REST clients (registrant-EPs and CTs during registration and maintenance, lookup clients, and 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 SHOULD fall back to link format when receiving 4.15 (Unsupported Content-Format; 415 in HTTP).

RESTクライアント(登録およびメンテナンス中の登録者とCTS、ルックアップクライアント、および簡単な登録時にRDサーバー)は、失敗したコードを受け取る準備を整え、その定義、オプション、および/または最善のペイロードに従ってそれに基づいて行動する必要があります回復が不可能な場合、操作に失敗することに戻る能力。特に、Max-Age(HTTPで再試行後)オプションに従って5.03(サービスは利用できない、HTTPで503)に応じてリクエストを再試行する必要があり、4.15(サポートされていないコンテンツフォーマット、415を受信するときにリンク形式に戻る必要があります。http)。

An RD MAY make the information submitted to it available to further directories (subject to security policies on link confidentiality) 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.

RDは、ループが形成されないことを保証できる場合、追加のディレクトリ(リンクの機密性に関するセキュリティポリシーの対象となる)で提出された情報を利用可能にすることができます。ディレクトリ間で使用されるプロトコルは、ループフリーの操作がこのドキュメントの範囲外であることを確認します。

4.1. Finding a Resource Directory
4.1. リソースディレクトリを見つける

A (re)starting device may want to find one or more RDs before it can discover their URIs. Dependent on the operational conditions, one or more of the techniques below apply.

(再)開始デバイスは、URIを発見する前に1つ以上のRDを見つけたい場合があります。運用条件に応じて、以下の1つ以上の手法が適用されます。

The device may be preconfigured to exercise specific mechanisms for finding the RD:

このデバイスは、RDを見つけるための特定のメカニズムを行使するために事前に設定される場合があります。

1. 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.)

1. RDの特定のIPアドレスで構成される場合があります。そのIPアドレスはまた、Anycastアドレスである可能性があり、ネットワークがRD要求をトポロジカルに近いRDに転送できるようにします。これらの事前に構成されたノードのいくつかを育てる各ターゲットネットワーク環境は、適切なRDにつながるこのAnycastアドレスのルートで構成されます。(Anycastアドレスを使用する代わりに、マルチキャストアドレスを事前に設定することもできます。RDサーバーは、このマルチキャストアドレスでインターフェイスの1つを構成する必要があります。)

2. 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.

2. RDのDNS名で構成され、DNSを使用してRDのIPアドレスを返します。DNSサーバーを見つけるための通常のメカニズムを使用してルックアップを実行するDNSサーバーを見つけることができます。

3. It may be configured to use a service discovery mechanism, such as DNS-based Service Discovery (DNS-SD), as outlined in Section 4.1.2.

3. セクション4.1.2で概説されているように、DNSベースのサービスディスカバリー(DNS-SD)などのサービスディスカバリーメカニズムを使用するように構成される場合があります。

For cases where the device is not specifically configured with a way to find an RD, the network may want to provide a suitable default.

デバイスがRDを見つける方法で特別に構成されていない場合、ネットワークは適切なデフォルトを提供することを望む場合があります。

1. The IPv6 Neighbor Discovery option RDAO (Section 4.1.1) can do that.

1. IPv6 Neighbor Discovery Option RDAO(セクション4.1.1)はそれを行うことができます。

2. When DHCP is in use, this could be provided via a DHCP option (no such option is defined at the time of writing).

2. DHCPが使用されている場合、これはDHCPオプションを介して提供できます(執筆時点ではそのようなオプションは定義されていません)。

Finally, if neither the device nor the network offers any specific configuration, the device may want to employ heuristics to find a suitable RD.

最後に、デバイスもネットワークも特定の構成を提供しない場合、デバイスは、適切なRDを見つけるためにヒューリスティックを使用したい場合があります。

The present specification does not fully define these heuristics but suggests a number of candidates:

現在の仕様では、これらのヒューリスティックを完全に定義するものではなく、多くの候補者を示唆しています。

1. In a 6LoWPAN, just assume the 6LBR can act as an RD (using the Authoritative Border Router Option (ABRO) to find that [RFC6775]). Confirmation can be obtained by sending a unicast GET to coap://[6LBR]/.well-known/core?rt=core.rd*.

1. 6lowpanでは、6LBRがRDとして機能すると仮定します([RFC6775]を見つけるために、権威ある境界ルーターオプション(ABRO)を使用)。確認は、Unicast Get get in coap:// [6lbr] /.well-nking/core?rt=core.rd*を送信することで取得できます。

2. In a network that supports multicast well, discover the RD using a multicast query for /.well-known/core, as specified in CoRE Link Format [RFC6690], and send a Multicast GET to coap://[ff0x::fe]/.well-known/core?rt=core.rd*. RDs within the multicast scope will answer the query.

2. マルチキャストウェルをサポートするネットワークでは、コアリンク形式[RFC6690]で指定されているように、/.Well-known/Coreのマルチキャストクエリを使用してRDを発見し、マルチキャストをCoap:// [ff0x :: fe]に送信します/.WELL-NOWNES/CORE?RT=CORE.RD*。マルチキャストスコープ内のRDSがクエリに回答します。

When answering a multicast request directed at a link-local group, 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. When source addresses are selected using the mechanism described in [RFC6724], this can be achieved by applying the changes of its Section 10.4, picking public addresses in Rule 7 of its Section 5, and superseding Rule 8 with preferring the source address's precedence.

Link-Localグループに向けられたマルチキャストリクエストに答えるとき、RDはルーティング可能なアドレスから応答したい場合があります。これにより、登録者は登録に独自のルーティング可能なアドレスの1つを簡単に使用できます。[RFC6724]で説明されているメカニズムを使用してソースアドレスを選択すると、セクション10.4の変更を適用し、セクション5のルール7でパブリックアドレスを選択し、ソースアドレスの優先順位を好むルール8に取って代わることで実現できます。

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.

ここにリストされている方法で取得されたRDアドレスの一部は、(多かれ少なかれ教育を受けた)推測であるため、エンドポイントは、うまくいかない候補IPアドレスに対する非常に厳密にレート制限リクエストにエラーメッセージを使用する必要があります。たとえば、ICMP宛先の到達不可能なメッセージ(特に、このメッセージのポートの到達不可能なコード)は、候補ホストにCOAPサーバーがないこと、または4.05などのCOAPエラー応答コード(許可されていない方法)を示している場合があります。、COAPサーバーがディレクトリサーバーとして機能することを不本意であることを示している場合があります。

The following RD discovery mechanisms are recommended:

次のRD発見メカニズムが推奨されます。

* In managed networks with border routers that need stand-alone operation, the RDAO is recommended (e.g., the operational phase described in Section 3.6).

* スタンドアロン操作が必要なボーダールーターを備えたマネージドネットワークでは、RDAOが推奨されます(たとえば、セクション3.6で説明されている動作段階)。

* In managed networks without border routers (no Internet services available), the use of a preconfigured anycast address is recommended (e.g., the installation phase described in Section 3.6).

* ボーダールーターのないマネージドネットワーク(インターネットサービスは利用できません)では、事前に構成されたAnycastアドレスの使用が推奨されます(たとえば、セクション3.6で説明されているインストールフェーズ)。

* In networks managed using DNS-SD, the use of DNS-SD for discovery, as described in Section 4.1.2, is recommended.

* DNS-SDを使用して管理されたネットワークでは、セクション4.1.2で説明されているように、DNS-SDの使用を推奨します。

The use of multicast discovery in mesh networks is NOT RECOMMENDED.

メッシュネットワークでのマルチキャストディスカバリーの使用は推奨されません。

4.1.1. Resource Directory Address Option (RDAO)
4.1.1. リソースディレクトリアドレスオプション(RDAO)

The Resource Directory Address Option (RDAO) carries information about the address of the RD in RAs (Router Advertisements) of IPv6 Neighbor Discovery (ND), similar to how Recursive DNS Server (RDNSS) options [RFC8106] are sent. This information is needed when endpoints cannot discover the RD with a link-local or realm-local scope multicast address, for instance, because the endpoint and the RD are separated by a 6LBR. In many circumstances, the availability of DHCP cannot be guaranteed during commissioning of the network either. The presence and the use of the RD is essential during commissioning.

リソースディレクトリアドレスオプション(RDAO)は、再帰的なDNSサーバー(RDNSS)オプション[RFC8106]の送信方法と同様に、IPv6 Neighbor Discovery(ND)のRAS(Router Advertisements)のRDのアドレスに関する情報を伝達します。エンドポイントは、エンドポイントとRDが6LBRで分離されているため、エンドポイントがリンクローカルまたはレルムローカルスコープマルチキャストアドレスを持つRDを発見できない場合に必要です。多くの場合、ネットワークの試運転中にもDHCPの可用性を保証することはできません。RDの存在と使用は、試運転中に不可欠です。

It is possible to send multiple RDAOs in one message, indicating as many RD addresses.

複数のRDAOを1つのメッセージに送信することができ、多くのRDアドレスを示すことができます。

The RDAO format is:

RDAO形式は次のとおりです。

   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   |          Reserved             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Valid Lifetime                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   +                                                               +
   |                                                               |
   +                          RD Address                           +
   |                                                               |
   +                                                               +
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
        

Figure 4: Resource Directory Address Option

図4:リソースディレクトリアドレスオプション

Fields:

田畑:

Type: 41

タイプ:41

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

長さ:8ビットの符号なし整数。8バイトの単位単位のオプションの長さ。常に3。

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

予約済み:このフィールドは未使用です。送信者はゼロに初期化する必要があり、受信機は無視する必要があります。

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

有効な寿命:32ビットの符号なし整数。このRDアドレスが有効であるという秒単位の時間(パケットが受信される時間と比較して)。すべてのゼロビット(0x0)の値は、このRDアドレスがもはや有効ではないことを示しています。

RD Address: IPv6 address of the RD.

RDアドレス:RDのIPv6アドレス。

4.1.2. Using DNS-SD to Discover a Resource Directory
4.1.2. DNS-SDを使用してリソースディレクトリを発見します

An RD can advertise its presence in DNS-SD [RFC6763] using the service names defined in this document: _core-rd._udp (for CoAP), _core-rd-dtls._udp (for CoAP over DTLS), _core-rd._tcp (for CoAP over TCP), or _core-rd-tls._tcp (for CoAP over TLS). (For the WebSocket transports of CoAP, no service is defined, as DNS-SD is typically unavailable in environments where CoAP over WebSockets is used.)

RDは、このドキュメントで定義されているサービス名を使用して、DNS-SD [RFC6763]でその存在を宣伝できます:_CORE-RD._UDP(coap)、_core-rd-dtls._udp(dtls over dtls over dtls)、_core-rd。_TCP(TCPを超えるCOAP用)、または_Core-RD-TLS._TCP(TLSを超えるCoAP用)。(COAPのWebSocket Transportsの場合、DNS-SDは通常、WebSocketsのCOAPが使用される環境では利用できないため、サービスは定義されていません。)

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 Section 4.3.

サービスの選択は使用されたプロトコルを示し、SRVレコードはクライアントをホスト名とポートに指して、セクション4.3の「URI発見」ステップの出発点として使用します。

This section is a simplified, concrete application of the more generic mechanism specified in [CORE-RD-DNS-SD].

このセクションは、[core-rd-dns-sd]で指定されたより一般的なメカニズムの単純化された具体的なアプリケーションです。

4.2. Payload Content Formats
4.2. ペイロードコンテンツフォーマット

RDs implementing this specification MUST support the application/ link-format content format (ct=40).

この仕様を実装するRDSは、アプリケーション/リンク形式のコンテンツ形式(CT = 40)をサポートする必要があります。

RDs implementing this specification MAY support additional content formats.

この仕様を実装するRDSは、追加のコンテンツ形式をサポートする場合があります。

Any additional content format supported by an RD 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.

この仕様を実装するRDによってサポートされる追加のコンテンツ形式は、リンク形式で表現可能なすべての情報を表現できるはずです。リンク形式では表現できない情報を表現できる場合がありますが、可能な場合はこれらの式を避ける必要があります。

4.3. URI Discovery
4.3. URIディスカバリー

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 [RFC6690] after having discovered a host, as described in Section 4.1.

エンドポイントがRDを使用する前に、最初にRDのアドレスとポートとそのREST APIのURIパス情報を知る必要があります。このセクションでは、セクション4.1で説明されているように、ホストを発見した後、コアリンク形式[RFC6690]のよく知られたインターフェイスを使用して、RDとそのURIの発見を定義します。

Discovery of the RD registration URI is performed by sending either a multicast or unicast GET request to /.well-known/core and including a resource type (rt) parameter [RFC6690] 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, and "core.rd*" is used to discover all URIs 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 Section 9.5).

RD登録URIの発見は、マルチキャストまたはユニキャストGETリクエストを /.Well-Nowned/Coreに送信し、クエリ文字列に値「Core.RD」を含むリソースタイプ(RT)パラメーター[RFC6690]を含めて実行されます。同様に、「core.rd-lookup*」のリソースタイプパラメーター値を使用して、RDルックアップ操作のURISを発見し、「core.rd*」を使用して、RD操作のすべてのURIを発見します。成功すると、応答には、発見された各RD関数のリンク形式エントリを備えたペイロードが含まれ、RD関数のURIが返され、対応するリソースタイプが示されます。マルチキャスト発見を実行する場合、使用されるマルチキャストIPアドレスは、必要なスコープとネットワークのマルチキャスト機能に依存します(セクション9.5を参照)。

An RD 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 RD.

RDは、以下の例に示すように、「CT」ターゲット属性を使用して、「CT」ターゲット属性を使用して、公開またはレジスタでサポートするコンテンツ形式に関するヒントを提供できます。クライアントは、これらのヒントを使用して、RDとのやり取りのために代替コンテンツ形式を選択できます。

HTTP does not support multicast, and, consequently, only unicast discovery can be supported using the HTTP /.well-known/core resource.

HTTPはマルチキャストをサポートしておらず、その結果、HTTP /.Well-Nownd/Coreリソースを使用してユニキャストの発見のみをサポートできます。

RDs implementing this specification MUST support query filtering for the rt parameter, as defined in [RFC6690].

[RFC6690]で定義されているように、この仕様を実装するRDSは、RTパラメーターのクエリフィルタリングをサポートする必要があります。

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.

この発見ステップのリンクターゲットは、多くの場合、パスアブソリュート形式で表されることがよくありますが、これは要件ではありません。したがって、RDのクライアントは、URISと相対的な参照としてサポートするすべてのスキームのURIを受け入れる必要があり、発見されたURIのセットをURIディスカバリーに使用したアドレスでホストされているものに制限する必要はありません。

With security policies where the client requires the RD to be authorized to act as an RD, that authorization may be limited to resources on which the authorized RD advertises the adequate resource types. Clients that have obtained links they cannot rely on yet can repeat the "URI discovery" step at the /.well-known/core resource of the indicated host to obtain the resource type information from an authorized source.

クライアントがRDがRDとして行動することを許可することを要求するセキュリティポリシーでは、その認可は、認定されたRDが適切なリソースタイプを宣伝するリソースに限定される場合があります。まだ依存できないリンクを取得したクライアントは、指定されたホストの /.Well-Nownd/Coreリソースで「URI Discovery」ステップを繰り返して、承認されたソースからリソースタイプ情報を取得できます。

The URI discovery operation can yield multiple URIs of a given resource type. The client of the RD can try out any of the discovered addresses.

URIディスカバリー操作は、特定のリソースタイプの複数のURIを生成できます。RDのクライアントは、発見されたアドレスを試してみることができます。

The discovery request interface is specified as follows (this is exactly the well-known interface of [RFC6690], Section 4, with the additional requirement that the server MUST support query filtering):

ディスカバリーリクエストインターフェイスは、次のように指定されています(これは[RFC6690]、セクション4のよく知られたインターフェイスであり、サーバーがクエリフィルタリングをサポートする必要があるという追加要件があります):

   Interaction:  EP, CT, or Client -> RD
        

Method: GET

方法:取得します

   URI Template:  /.well-known/core{?rt}
        

URI Template Variables:

URIテンプレート変数:

rt := Resource Type. SHOULD contain one of the values "core.rd", "core.rd-lookup*", "core.rd-lookup-res", "core.rd-lookup-ep", or "core.rd*"

RT:=リソースタイプ。値「core.rd」、「core.rd-lookup*」、「core.rd-lookup-res」、「core.rd-lookup-ep」、または「core.rd*」の値の1つを含める必要があります。

Accept: absent, application/link-format, or any other media type representing web links

受け入れ:不在、アプリケーション/リンク形式、またはWebリンクを表すその他のメディアタイプ

The following response is expected on this interface:

このインターフェイスでは、次の応答が予想されます。

Success: 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.

成功:RDリソースの1つ以上のマッチングエントリを含むアプリケーション/リンクフォーマットまたはその他のWebリンクペイロードを使用した2.05(コンテンツ)または200(OK)。

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.

次の例は、このインターフェイスを使用してRDを発見するエンドポイントを示しているため、この例のディレクトリリソースの場所が /RDであり、リソースをホストするサーバーが配信するコンテンツ形式がアプリケーション /リンクフォーマット(CT = 40)であることがわかります。RDの場所を選択するのはRD次第であることに注意してください。

   Req: GET coap://[ff02::fe]/.well-known/core?rt=core.rd*
        
   Res: 2.05 Content
   Payload:
   </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
        

Figure 5: Example Discovery Exchange

図5:発見の例

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 [RFC7252], indicating that multiple content formats are available. The example below shows the required Content-Format 40 (application/link-format) indicated, as well as Concise Binary Object Representation (CBOR) and JSON representations in the style of [CORE-LINKS-JSON] (for which the experimental values 65060 and 65050 are used in this example). 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.

次の例は、クライアントが代替コンテンツ形式を要求できることを示す方法を示しています。コンテンツフォーマットコード属性「CT」には、[RFC7252]のセクション7.2.1で指定されているように、コンテンツ形式コードのスペース分離シーケンスが含まれる場合があり、複数のコンテンツ形式が利用可能であることを示します。以下の例は、必要なコンテンツフォーマット40(アプリケーション/リンク形式)と、[Core-Links-JSON]のスタイルの簡潔なバイナリオブジェクト表現(CBOR)およびJSON表現を示しています(実験値65060この例では65050が使用されています)。RD Resource Locations /RDおよび /RD-Lookupは例の値です。この例のサーバーは、リソースの検索に関する観察を提供できることも示しています。

   Req: GET coap://[ff02::fe]/.well-known/core?rt=core.rd*
        
   Res: 2.05 Content
   Payload:
   </rd>;rt=core.rd;ct=40,
   </rd-lookup/res>;rt=core.rd-lookup-res;ct="40 65060 65050";obs,
   </rd-lookup/ep>;rt=core.rd-lookup-ep;ct="40 65060 65050"
        

Figure 6: Example Discovery Exchange Indicating Additional Content-Formats

図6:追加のコンテンツ形式を示す発見交換の例

For maintenance, management, and debugging, it can be useful to identify the components that constitute the RD server. The identification can be used to find client-server incompatibilities, supported features, required updates, and other aspects. The well-known interface described in Section 4 of [RFC6690] can be used to find such data.

メンテナンス、管理、およびデバッグの場合、RDサーバーを構成するコンポーネントを識別することが役立ちます。識別を使用して、クライアントサーバーの非互換性、サポートされている機能、必要な更新、その他の側面を見つけることができます。[RFC6690]のセクション4で説明されているよく知られているインターフェイスを使用して、そのようなデータを見つけることができます。

It would typically be stored in an implementation information link (as described in [T2TRG-REL-IMPL]).

通常、実装情報リンクに保存されます([T2TRG-REL-IMPL]で説明されています)。

   Req: GET /.well-known/core?rel=impl-info
        
   Res: 2.05 Content
   Payload:
   <http://software.example.com/shiny-resource-directory/1.0beta1>;
       rel=impl-info
        

Figure 7: Example Exchange of Obtaining Implementation Information Using the Relation Type Currently Proposed in [T2TRG-REL-IMPL]

図7:[T2TRG-REL-IMPL]で現在提案されている関係タイプを使用して、実装情報を取得することの例交換

Note that, depending on the particular server's architecture, such a link could be anchored at the RD server's root (as in this example) or at individual RD components. The latter is to be expected when different applications are run on the same server.

特定のサーバーのアーキテクチャに応じて、このようなリンクは、RDサーバーのルート(この例のように)または個々のRDコンポーネントに固定される可能性があることに注意してください。後者は、同じサーバーで異なるアプリケーションが実行されると予想されます。

5. Registration
5. 登録

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 [RFC6690] 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 Section 9.3). 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.

RDの場所を発見した後、登録者のEPまたはCTは、登録インターフェイスを使用して登録者-EPのリソースを登録することができます。このインターフェイスは、コアリンク形式[RFC6690]のメッセージペイロードとしてディレクトリに追加されるリソースのリストを含むエンドポイントからの投稿を受け入れます。オプションで、登録のセクター、生涯、および基地URI。他の仕様がさらなるパラメーターを定義することが期待されています(セクション9.3を参照)。その後、RDはRDに新しい登録リソースを作成し、その場所を返します。受信エンドポイントは、このインターフェイスを使用して登録を更新するときにその場所を使用する必要があります。 RDの登録リソースは、生涯パラメーターで示される期間、アクティブに保たれます。作成エンドポイントは、登録インターフェイスまたは更新インターフェイスのいずれかを使用して、この期間内に登録リソースを更新する責任があります。登録インターフェイスは、同じエンドポイントパラメーターEPおよびD(セクター)に2回登録しても、複数の登録リソースを作成しないように、等程度になるように実装する必要があります。

The following rules apply for a registration request targeting a given (ep, d) value pair:

次のルールは、特定の(EP、d)値ペアをターゲットとする登録要求に適用されます。

* When the (ep, d) value pair of the registration request is different from any existing registration, a new registration is generated.

* 登録要求の(ep、d)値ペアが既存の登録とは異なる場合、新しい登録が生成されます。

* 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. As with changes to registration resources, security policies (Section 7) usually require such requests to come from the same device.

* 登録要求の(ep、d)値ペアが既存の登録に等しい場合、既存の登録のコンテンツとパラメーターは登録要求のコンテンツに置き換えられます。登録リソースの変更と同様に、セキュリティポリシー(セクション7)は通常、同じデバイスからのリクエストを必要とします。

The posted link-format document can (and typically does) contain relative references both in its link targets and in its anchors; it can also 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 base parameter or constructed implicitly from the requester's URI, as constructed from its network address and scheme.

投稿されたリンクフォーマットドキュメントには、リンクターゲットとアンカーの両方に相対的な参照を含めることができます(および通常そうする)ことができます。空のアンカーも含めることができます。RDサーバーは、ルックアップで忠実に表現するために、これらの参照を解決する必要があります。それらは、ネットワークアドレスとスキームから構築されたように、登録のベースURIに対して解決されます。

For media types to which Appendix C applies (i.e., documents in application/link-format), request bodies MUST be expressed in Limited Link Format.

付録Cが適用されるメディアタイプ(つまり、アプリケーション/リンクフォーマットのドキュメント)の場合、リクエストボディは限られたリンク形式で表現する必要があります。

The registration request interface is specified as follows:

登録要求インターフェイスは、次のように指定されています。

   Interaction:  EP or CT -> RD
        

Method: POST

方法:投稿

   URI Template:  {+rd}{?ep,d,lt,base,extra-attrs*}
        

URI Template Variables:

URIテンプレート変数:

rd := RD registration URI (mandatory). This is the location of the RD, as obtained from discovery.

RD:= RD登録URI(必須)。これは、発見から得られたRDの場所です。

ep := Endpoint name (mostly mandatory). The endpoint name is an identifier that MUST be unique within a sector.

EP:=エンドポイント名(ほとんど必須)。エンドポイント名は、セクター内で一意でなければならない識別子です。

As the endpoint name is a Unicode string, it is encoded in UTF-8 (and possibly percent encoded) during variable expansion (see [RFC6570], Section 3.2.1). The endpoint name MUST NOT contain any character in the inclusive ranges 0-31 or 127-159.

エンドポイント名はユニコード文字列であるため、可変拡張中にUTF-8(およびおそらくエンコードされた割合)でエンコードされます([RFC6570]、セクション3.2.1を参照)。エンドポイント名には、包括的な範囲0〜31または127-159に文字が含まれてはなりません。

The maximum length of this parameter is 63 bytes encoded in UTF-8.

このパラメーターの最大長は、UTF-8でエンコードされた63バイトです。

If the RD is configured to recognize the endpoint that is to be authorized to use exactly one endpoint name, the RD assigns that name. In that case, giving the endpoint name becomes optional for the client; if the client gives any other endpoint name, it is not authorized to perform the registration.

RDが1つのエンドポイント名を正確に使用することを許可されるエンドポイントを認識するように構成されている場合、RDはその名前を割り当てます。その場合、エンドポイント名を与えることはクライアントにとってオプションになります。クライアントが他のエンドポイント名を指定した場合、登録を実行することは許可されていません。

d := Sector (optional). This is the sector to which this endpoint belongs. When this parameter is not present, the RD MAY associate the endpoint with a configured default sector (possibly based on the endpoint's authorization) or leave it empty.

D:=セクター(オプション)。これは、このエンドポイントが属するセクターです。このパラメーターが存在しない場合、RDはエンドポイントを構成されたデフォルトセクター(おそらくエンドポイントの承認に基づいて)に関連付けるか、空のままにしておくことがあります。

The sector is encoded like the ep parameter and is limited to 63 bytes encoded in UTF-8 as well.

セクターはEPパラメーターのようにエンコードされており、UTF-8でもエンコードされた63バイトに制限されています。

lt := Lifetime (optional). This is the lifetime of the registration in seconds, with a range of 1-4294967295. If no lifetime is included in the initial registration, a default value of 90000 (25 hours) SHOULD be assumed.

LT:= lifetime(オプション)。これは、1-4294967295の範囲で、数秒での登録の寿命です。最初の登録に寿命が含まれていない場合、90000(25時間)のデフォルト値を想定する必要があります。

base := 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.

ベース:=ベースURI(オプション)。このパラメーターは、登録のベースURIを設定します。その下には、ペイロードの相対リンクが解釈されます。指定されたURIには通常、独自のパスコンポーネントがなく、登録で与えられた相対的な参照を解決するためのベースURIとして適している必要があります。したがって、パラメーターは通常、HTTPおよびCOAP URIの形状「Scheme:// Authority」です。参照内の空でない相対部品が得られたURIからそれらの部分を削除するため、URIにはクエリまたはフラグメントコンポーネントがないはずです。

In the absence of this parameter, the scheme of the protocol, the source address, and the 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). This is analogous to the process described in [RFC7252], Section 6.5.

このパラメーターがない場合、プロトコルのスキーム、ソースアドレス、および登録要求のソースポートが想定されます。ベースのURIは、使用されたプロトコルのスキームを文字「://」と連結することにより連続して構築されます。リクエスト担当者のソースアドレスはリテラルとして、「:」に続いてポートが続きます(プロトコルのデフォルトのものではなかった場合)。これは、[RFC7252]、セクション6.5で説明されているプロセスに類似しています。

This parameter is mandatory when the directory is filled by a third party, such as a commissioning tool.

このパラメーターは、試運転ツールなどの第三者によってディレクトリが入力されている場合に必須です。

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.

登録者-EPが一時的なポートを使用して登録する場合、登録にベースパラメーターを含めて有効なネットワークパスを提供する必要があります。

A registrant that cannot 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.

登録するアドレスで潜在的なルックアップクライアントが到達できない登録者(たとえば、何らかの形のネットワークアドレス変換(NAT)の背後にあるため)は、登録に到達可能なベースアドレスを提供する必要があります。

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.

ベースのURIにリンクローカルIPリテラルが含まれている場合、ゾーン識別子を含めてはならず、登録要求が受信されるリンクにローカルでなければなりません。

Endpoints that register with a base that contains a path component cannot efficiently express their registrations in Limited Link Format (Appendix C). Those applications should use different representations of links to which Appendix C is not applicable (e.g., [CORE-CORAL]).

パスコンポーネントを含むベースに登録するエンドポイントは、限られたリンク形式で登録を効率的に表現できません(付録C)。これらのアプリケーションは、付録Cが適用されないリンクの異なる表現を使用する必要があります(例:[コアコラル])。

extra-attrs := Additional registration attributes (optional). The endpoint can pass any parameter registered in Section 9.3 to the directory. If the RD is aware of the parameter's specified semantics, it processes the parameter accordingly. Otherwise, it MUST store the unknown key and its value(s) as an endpoint attribute for further lookup.

extra-attrs:=追加の登録属性(オプション)。エンドポイントは、セクション9.3に登録されているパラメーターをディレクトリに渡すことができます。RDがパラメーターの指定されたセマンティクスを認識している場合、それに応じてパラメーターを処理します。それ以外の場合は、未知のキーとその値を、さらに検索するためのエンドポイント属性として保存する必要があります。

Content-Format: application/link-format or any other indicated media type representing web links

コンテンツフォーマット:アプリケーション/リンクフォーマットまたはWebリンクを表すその他の指定されたメディアタイプ

The following response is expected on this interface:

このインターフェイスでは、次の応答が予想されます。

Success: 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.

成功:2.01(作成)または201(作成)。ロケーションパスオプションまたはロケーションヘッダーフィールドを応答に含める必要があります。この場所は、この登録リソースの後続のすべての操作に使用されるため、RDによって生成される安定した識別子でなければなりません。このように返される登録リソースの場所は、登録の寿命を更新する目的で、リンクの更新と削除を含む登録リンクのコンテンツを維持するためです。

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.

既に登録されているEPおよびD値ペアの登録は、元の登録と同じ成功コードと場所で応答します。エンドポイントに登録されているリンクのセットは、ペイロードからのリンクに置き換えられます。

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.

登録更新操作中にクエリパラメーターと競合する可能性があるため、場所にはクエリまたはフラグメントコンポーネントがないようにしてはなりません。したがって、ロケーションクエリオプションが成功した応答で存在してはなりません。

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 of Section 4.3, and, if there is only one or the list is exhausted, pick other choices from the "finding a resource directory" step of Section 4.1. Care has to be taken to consider the freshness of results obtained earlier, e.g., the result of a /.well-known/core response, the lifetime of an RDAO, and 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.

リクエストのタイムアウトを含む登録が失敗した場合、または最大年齢または再試行後のサービスからの遅延が登録者の設定されたタイムアウトを超えて蓄積した場合、セクション4.3の「URI発見」ステップから別の登録URIを選択するはずです。、1つのみがある場合、またはリストが使い果たされている場合は、セクション4.1の「リソースディレクトリの検索」ステップから他の選択肢を選択します。以前に得られた結果の新鮮さを考慮するには注意が必要です。たとえば、a /.well-kond/core応答の結果、RDAOの寿命、およびDNS応答の結果です。「リソースディレクトリの検索」ステップからの任意の制限と永続的なエラーは、単一の操作だけでなく、登録時間全体で考慮する必要があります。

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 Figure 5.

次の例は、このインターフェイスを使用して2つのリソースをRDに登録する「node1」という名前の登録者EPを示しています。場所「/rd」は、図5と同様のリクエストで発見されたRDの例です。

   Req: POST coap://rd.example.com/rd?ep=node1
   Content-Format: 40
   Payload:
   </sensors/temp>;rt=temperature-c;if=sensor,
   <http://www.example.com/sensors/temp>;
     anchor="/sensors/temp";rel=describedby
        
   Res: 2.01 Created
   Location-Path: /rd/4521
        

Figure 8: Example Registration Payload

図8:登録ペイロードの例

An RD may optionally support HTTP. Here is an example of almost the same registration operation above when done using HTTP.

RDはオプションでHTTPをサポートする場合があります。HTTPを使用して行われた場合、上記の上記の登録操作の例を以下に示します。

   Req:
   POST /rd?ep=node1&base=http://[2001:db8:1::1] HTTP/1.1
   Host: rd.example.com
   Content-Type: application/link-format
        
   </sensors/temp>;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
        

Figure 9: Example Registration Payload as Expressed Using HTTP

図9:HTTPを使用して表現されている登録ペイロードの例

5.1. Simple Registration
5.1. 簡単な登録

Not all endpoints hosting resources are expected to know how to upload links to an RD, as described in Section 5. 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.

セクション5で説明されているように、すべてのエンドポイントホスティングリソースがRDにリンクをアップロードする方法を知っているとは限りません。代わりに、単純なエンドポイントはこのセクションで説明されている簡単な登録アプローチを実装できます。この仕様を実装するRDは、簡単な登録を実装する必要があります。ただし、この形式のディレクトリ発見が無効になるセキュリティ上の理由があるかもしれません。

This approach requires that the registrant-EP makes available the hosted resources that it wants to be discovered as links on its /.well-known/core interface, as specified in [RFC6690]. The links in that document are subject to the same limitations as the payload of a registration (with respect to Appendix C).

このアプローチでは、登録者-EPが[RFC6690]で指定されているように、 /.well-nown /coreインターフェイスのリンクとして発見したいホストリソースを利用できるようにする必要があります。そのドキュメントのリンクは、登録のペイロードと同じ制限の対象となります(付録Cに関して)。

* The registrant-EP finds one or more addresses of the directory server, as described in Section 4.1.

* 登録者-EPは、セクション4.1で説明されているように、ディレクトリサーバーの1つ以上のアドレスを見つけます。

* The registrant-EP sends (and regularly refreshes with) a POST request to the /.well-known/rd 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 (redone before lifetime expiry) at the requesting registrant-EP's /.well-known/ core to obtain the link-format payload to register.

* 登録者-EPは、選択したディレクトリサーバーの /.well-nking/rd uriにPOSTリクエストを送信します(および定期的にリフレッシュします)。POSTリクエストの本文は空で、リクエストリクエスト(Lifetime Expiryの前にやり直します)を要求する登録済みの[well-nown / coreでGet Requests(Lifetime Expiryの前にやり直し)を実行するためにリソースディレクトリサーバーをトリガーします。リンクフォーマットペイロードを取得します。

The registrant-EP includes the same registration parameters in the POST request as it would with a regular registration, per Section 5. The registration base URI of the registration is taken from the registrant-EP's network address (as is default with regular registrations).

登録者-EPには、セクション5ごとに、通常の登録と同じ登録パラメーターがポストリクエストに含まれています。登録の登録ベースURIは、登録者-EPのネットワークアドレスから取得されます(通常の登録ではデフォルトである)。

The following is an example request from the registrant-EP to the RD (unanswered until the next step):

以下は、登録者からRDへの例の例です(次のステップまで未回答):

      Req: POST /.well-known/rd?lt=6000&ep=node1
      (No payload)
        

Figure 10: First-Half Example Exchange of a Simple Registration

図10:簡単な登録の前半例交換

* The RD 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.

* RDは、登録者-EPの発見リソースを照会して、操作の成功を決定します。発見リソースのキャッシュを保持し、新鮮である限り再度照会する必要はありません。

The following is an example request from the RD to the registrant-EP:

以下は、RDから登録者への例の例です。

      Req: GET /.well-known/core
      Accept: 40
        
      Res: 2.05 Content
      Content-Format: 40
      Payload:
      </sen/temp>
        

Figure 11: Example Exchange of the RD Querying the Simple Endpoint

図11:単純なエンドポイントをクエリするRDの例の例

With this response, the RD would answer the previous step's request:

この応答により、RDは前のステップの要求に応答します。

Res: 2.04 Changed

Res:2.04が変更されました

Figure 12: Second-Half Example Exchange of a Simple Registration

図12:簡単な登録の後半例交換

The sequence of fetching the registration content before sending a successful response was chosen to make responses reliable, and the point about caching was chosen to still allow very constrained registrants. Registrants MUST be able to serve a GET request to /.well-known/core 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.

成功した応答を送信する前に登録コンテンツをフェッチするシーケンスが選択され、応答が信頼できるようになり、キャッシュに関するポイントは、非常に制約された登録者を許可するために選択されました。登録者は、登録を要求した後、 /.well-known/coreにget requestを提供できる必要があります。制約されたデバイスは、RDのGetを提供するという独自の要求によってRAMが占有され、RDが発見リソースのキャッシュされた表現を既に持っている場合に、RAMが自分のリクエストを使用する必要がある場合に一時的に失敗したと見なす場合があります。その後、RDはすぐに返信でき、登録者は応答を受け取ることができます。

The simple registration request interface is specified as follows:

簡単な登録要求インターフェイスは、次のように指定されています。

   Interaction:  EP -> RD
        

Method: POST

方法:投稿

   URI Template:  /.well-known/rd{?ep,d,lt,extra-attrs*}
        

URI Template Variables are the same as for registration in Section 5. 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. For some time during this document's development, the URI Template /.well-known/core{?ep,...} was in use instead.

URIテンプレート変数は、セクション5の登録と同じです。登録インターフェイスをシンプルに保つために、ベース属性は受け入れられません。これは、Coap-Over-TCPまたはHTTPを介した登録を排除し、1つを指定する必要があります。このドキュメントの開発中しばらくの間、URIテンプレート /.Well-Nowned/Core {?Ep、...}は代わりに使用されていました。

The following response is expected on this interface:

このインターフェイスでは、次の応答が予想されます。

Success: 2.04 (Changed)

成功:2.04(変更)

For the second interaction triggered by the above, the registrant-EP takes the role of server and the RD takes the role of client. (Note that this is exactly the well-known interface of [RFC6690], Section 4):

上記でトリガーされた2番目の相互作用の場合、登録者-EPはサーバーの役割を引き受け、RDはクライアントの役割を引き受けます。(これはまさに[RFC6690]、セクション4のよく知られているインターフェースであることに注意してください):

   Interaction:  RD -> EP
        

Method: GET

方法:取得します

   URI Template:  /.well-known/core
        

The following response is expected on this interface:

このインターフェイスでは、次の応答が予想されます。

Success: 2.05 (Content)

成功:2.05(コンテンツ)

When the RD uses any authorization credentials to access the endpoint's discovery resource or when it is deployed in a location where third parties might reach it but not the endpoint, it SHOULD verify that the apparent registrant-EP intends to register with the given registration parameters before revealing the obtained discovery information to lookup clients. An easy way to do that is to verify the simple registration request's sender address using the Echo option, as described in [RFC9175], Section 2.4.

RDが承認資格情報を使用してエンドポイントのディスカバリーリソースにアクセスする場合、またはエンドポイントではなく第三者が到達する場所に展開された場合、見かけの登録者-EPが前に特定の登録パラメーターに登録する予定であることを確認する必要があります。クライアントを検索するための取得した発見情報を明らかにします。それを行う簡単な方法は、[RFC9175]、セクション2.4で説明されているように、Echoオプションを使用してSimple登録要求の送信者アドレスを確認することです。

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.

RDは、生涯の満了後に簡単な登録によって作成された登録を削除する必要があります。登録場所が返されないため、登録リソースの追加操作は実行できません。

5.2. Third-Party Registration
5.2. サードパーティの登録

For some applications, even simple registration may be too taxing for some very constrained devices, in particular, if the security requirements become too onerous.

一部のアプリケーションでは、特にセキュリティ要件があまりにも面倒になった場合、非常に制約されたデバイスに対して単純な登録でさえ課税されすぎる場合があります。

In a controlled environment (e.g., building control), the RD can be filled by a third-party device, called a Commissioning Tool (CT). The CT can fill the RD from a database or other means. For that purpose scheme, the IP address and port of the URI of the registered device is the value of the "base" parameter of the registration described in Section 5.

制御された環境(建物制御など)では、RDは、試運転ツール(CT)と呼ばれるサードパーティのデバイスで埋めることができます。CTは、データベースまたはその他の手段からRDを埋めることができます。その目的のスキームのために、登録されたデバイスのURIのIPアドレスとポートは、セクション5で説明されている登録の「ベース」パラメーターの値です。

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 Appendix B. A potential (currently nonexistent) "base" attribute of the link is not affected by the value of "base" parameter in the registration.

「ベース」パラメーターの値は、登録のすべてのリンクに適用され、付録Bに例示されているように、個々のリンクのアンカー値に結果をもたらすことに注意する必要があります。リンクは、登録中の「ベース」パラメーターの値の影響を受けません。

5.3. Operations on the Registration Resource
5.3. 登録リソースの操作

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. The registrations are resources of the RD.

このセクションでは、登録エンドポイントが作成した登録を維持する方法について説明します。登録エンドポイントは、登録者のEPまたはCTです。登録はRDのリソースです。

An endpoint should not use this interface for registrations that it did not create. This is usually enforced by security policies, which, in general, require equivalent credentials for creation of and operations on a registration.

エンドポイントは、作成されなかった登録にこのインターフェイスを使用しないでください。これは通常、セキュリティポリシーによって実施されます。これは、一般に、登録の作成と運用のために同等の資格情報を必要とします。

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 timeout 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 reregistered.

最初の登録後、登録エンドポイントは、登録リソースの返された場所を保持し、登録を更新して登録を延長し、登録を「維持」することを含めます。登録の寿命が切れた場合、RDはこのエンドポイントに関するディスカバリークエリに応答してはなりません。RDは、登録エンドポイントが最終的に登録を更新できるようにするために、登録タイムアウトが発生した後も登録リソースへのアクセスを引き続き提供する必要があります。RDは、最終的にガベージコレクションを目的として登録リソースを削除する場合があります。登録リソースが削除された場合、対応するエンドポイントを再登録する必要があります。

The registration resource may also be used to cancel the registration using DELETE and to perform further operations beyond the scope of this specification.

登録リソースは、削除を使用して登録をキャンセルし、この仕様の範囲を超えてさらなる操作を実行するためにも使用できます。

Operations on the registration resource are sensitive to reordering; Section 5.3.4 describes how order is restored.

登録リソースの操作は、並べ替えに敏感です。セクション5.3.4では、順序の復元方法について説明します。

The operations on the registration resource are described below.

登録リソースの操作については、以下に説明します。

5.3.1. Registration Update
5.3.1. 登録更新

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.

更新インターフェイスは、登録エンドポイントによって使用され、RDでの登録を更新または更新します。インターフェイスを使用するには、登録エンドポイントは、最初の登録操作によって返される登録リソースにPOSTリクエストを送信します。

An update MAY update registration parameters, such as lifetime, base URI, or others. 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 are included as query parameters in an update operation, as in Section 5.

更新は、Lifetime、Base URIなどの登録パラメーターを更新する場合があります。変更されていないパラメーターは、更新に含まれないでください。変更されていないパラメーターを追加すると、メッセージのサイズが増加しますが、他の意味はありません。セクション5のように、パラメーターは更新操作のクエリパラメーターとして含まれています。

A registration update resets the timeout of the registration to the (possibly updated) lifetime of the registration, independent of whether an lt parameter was given.

登録更新では、LTパラメーターが指定されたかどうかとは無関係に、登録のタイムアウトを登録の(更新される可能性のある)寿命にリセットします。

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.

登録のベースURIが更新で変更された場合、元の登録または後の更新で提出された相対的な参照は、新しいベースに対して新たに解決されます。

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 Section 5.3.3).

登録更新操作では、空のペイロードを使用した投稿の使用のみを説明します。将来の標準では、登録のリンクを更新するために、POSTメソッドを使用してコンテンツフォーマットとペイロードを使用するセマンティクスを説明する場合があります(セクション5.3.3を参照)。

The update registration request interface is specified as follows:

更新登録要求インターフェイスは、次のように指定されています。

   Interaction:  EP or CT -> RD
        

Method: POST

方法:投稿

   URI Template:  {+location}{?lt,base,extra-attrs*}
        

URI Template Variables:

URIテンプレート変数:

location := This is the location returned by the RD as a result of a successful earlier registration.

場所:=これは、以前の登録が成功した結果、RDによって返された場所です。

lt := Lifetime (optional). This is the lifetime of the registration in seconds, with a 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.

LT:= lifetime(オプション)。これは、1-4294967295の範囲で、数秒での登録の寿命です。寿命が含まれていない場合は、以前の更新または元の登録(90000に戻る)に前回の最後の生涯セットを使用する必要があります。

base := Base URI (optional). This parameter updates the base URI established in the original registration to a new value and is subject to the same restrictions as in the registration.

ベース:=ベースURI(オプション)。このパラメーターは、元の登録で確立されたベースURIを新しい値に更新し、登録と同じ制限の対象となります。

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.

パラメーターがアップデートで設定されている場合、RDによって保存され、元の登録のペイロードに存在する相対リンクを解釈する新しいベースURIとして保存されます。

If the parameter is not set in the request but was set before, the previous base URI value is kept unmodified.

パラメーターがリクエストに設定されていないが以前に設定されていた場合、以前のベースURI値は変更されていません。

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.

パラメーターがリクエストに設定されておらず、どちらも前に設定されていない場合、更新リクエストのソースアドレスとソースポートはベースURIとして保存されます。

extra-attrs := 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.

extra-attrs:=追加の登録属性(オプション)。登録と同様に、RDはセマンティクスを知っている場合にそれらを処理します。それ以外の場合、未知の属性はエンドポイント属性として保存され、同じキーの以前に保存されたエンドポイント属性をオーバーライドします。

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 discovering whether the RD is aware of that extension or tolerating the default behavior.

このデフォルトの動作により、更新でエンドポイント属性を削除することはできないことに注意してください。機能性がエンドポイントの更新でそれらを削除する能力に依存する属性の場合、存在が値の欠如に相当する値を定義することは理にかなっています。別の方法として、拡張機能は属性の異なる更新ルールを定義できます。そのためには、RDがその拡張を認識しているかどうかを発見するか、デフォルトの動作を許容する必要があります。

Content-Format: none (no payload)

コンテンツフォーマット:なし(ペイロードなし)

The following responses are expected on this interface:

このインターフェイスでは、次の回答が予想されます。

Success: 2.04 (Changed) or 204 (No Content) if the update was successfully processed.

成功:2.04(変更)または204(コンテンツなし)アップデートが正常に処理された場合。

Failure: 4.04 (Not Found) or 404 (Not Found). Registration does not exist (e.g., may have been removed).

障害:4.04(見つかりません)または404(見つかりません)。登録は存在しません(例:削除された可能性があります)。

If the registration update 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.

登録の更新が「見つかりません」を含む方法で失敗し、タイムアウトを要求する場合、またはサービスで表示されていない最大年齢/再試行後の時間が残りの寿命を超える場合、登録エンドポイントは再び登録を試みるはずです。

The following example shows how the registering endpoint resets the timeout on its registration resource at an RD using this interface with the example location value /rd/4521:

次の例は、登録エンドポイントが、このインターフェイスを使用して、このインターフェイスを使用して、登録リソースのタイムアウトをどのようにリセットするかを示しています。

   Req: POST /rd/4521
        

Res: 2.04 Changed

Res:2.04が変更されました

Figure 13: Example Update of a Registration

図13:登録の更新の例

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:

次の例は、登録エンドポイントが、このインターフェイスを使用して、このインターフェイスを使用して、場所の値 /RD /4521を使用してRDで登録リソースを更新することを示しています。登録エンドポイントによる初期登録は、次の値を設定します。

* endpoint name (ep)=endpoint1

* エンドポイント名(EP)= EndPoint1

* lifetime (lt)=500

* 生涯(LT)= 500

* base URI (base)=coap://local-proxy-old.example.com

* base uri(base)= coap://local-proxy old.example.com

* payload of Figure 8

* 図8のペイロード

The initial state of the RD is reflected in the following request:

RDの初期状態は、次の要求に反映されています。

   Req: GET /rd-lookup/res?ep=endpoint1
        
   Res: 2.05 Content
   Payload:
   <coap://local-proxy-old.example.com/sensors/temp>;
       rt=temperature-c;if=sensor,
   <http://www.example.com/sensors/temp>;
       anchor="coap://local-proxy-old.example.com/sensors/temp";
       rel=describedby
        

Figure 14: Example Lookup Before a Change to the Base Address

図14:ベースアドレスを変更する前の例の例

The following example shows the registering endpoint changing the base URI to coaps://new.example.com:5684:

次の例は、登録エンドポイントがベースURIをCoapsに変更する://new.example.com:5684:

   Req: POST /rd/4521?base=coaps://new.example.com
        

Res: 2.04 Changed

Res:2.04が変更されました

Figure 15: Example Registration Update that Changes the Base Address

図15:ベースアドレスを変更する登録更新の例

The consecutive query returns:

連続したクエリが返されます:

   Req: GET /rd-lookup/res?ep=endpoint1
        
   Res: 2.05 Content
   Payload:
   <coaps://new.example.com/sensors/temp>;
       rt=temperature-c;if=sensor,
   <http://www.example.com/sensors/temp>;
       anchor="coaps://new.example.com/sensors/temp";
       rel=describedby
        

Figure 16: Example Lookup After a Change to the Base Address

図16:ベースアドレスへの変更後の例の例

5.3.2. Registration Removal
5.3.2. 登録削除

Although RD registrations have soft state and will eventually time out 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 shutdown). This is accomplished using a removal interface on the RD by performing a DELETE on the endpoint resource.

RD登録にはソフトステートがあり、最終的には寿命の後にタイムアウトしますが、登録エンドポイントは、それが利用できなくなったことがわかっている場合(たとえば、シャットダウン時)、RDからエントリを明示的に削除するはずです。これは、エンドポイントリソースで削除を実行することにより、RDの削除インターフェイスを使用して達成されます。

The removal request interface is specified as follows:

削除要求インターフェイスは、次のように指定されています。

   Interaction:  EP or CT -> RD
        

Method: DELETE

方法:削除します

   URI Template:  {+location}
        

URI Template Variables:

URIテンプレート変数:

location := This is the location returned by the RD as a result of a successful earlier registration.

場所:=これは、以前の登録が成功した結果、RDによって返された場所です。

The following responses are expected on this interface:

このインターフェイスでは、次の回答が予想されます。

Success: 2.02 (Deleted) or 204 (No Content) upon successful deletion.

成功:2.02(削除)または204(コンテンツなし)削除が成功したとき。

Failure: 4.04 (Not Found) or 404 (Not Found). Registration does not exist (e.g., may already have been removed).

障害:4.04(見つかりません)または404(見つかりません)。登録は存在しません(例えば、すでに削除されている可能性があります)。

The following example shows successful removal of the endpoint from the RD with example location value /rd/4521:

次の例では、RD /RD /4521の例でRDからエンドポイントの削除が成功したことを示しています。

   Req: DELETE /rd/4521
        

Res: 2.02 Deleted

RES:2.02削除

Figure 17: Example of a Registration Removal

図17:登録削除の例

5.3.3. Further Operations
5.3.3. さらなる操作

Additional operations on the registration can be specified in future documents, for example:

登録に関する追加の操作は、将来のドキュメントで指定できます。

* Send iPATCH (or PATCH) updates [RFC8132] to add, remove, or change the links of a registration.

* iPatch(またはパッチ)更新[RFC8132]を送信して、登録のリンクを追加、削除、または変更します。

* Use GET to read the currently stored set of links in a registration resource.

* 使用して、登録リソースの現在保存されているリンクのセットを読み取ります。

Those operations are out of scope of this document and will require media types suitable for modifying sets of links.

これらの操作はこのドキュメントの範囲外であり、リンクのセットを変更するのに適したメディアタイプが必要です。

5.3.4. Request Freshness
5.3.4. 新鮮さをリクエストします

Some security mechanisms usable with an RD allow out-of-order request processing or do not even mandate replay protection at all. The RD needs to ensure that operations on the registration resource are executed in an order that does not distort the client's intentions.

RDで使用可能な一部のセキュリティメカニズムは、オーダー外の要求処理を可能にするか、リプレイ保護をまったく義務付けないことさえできません。RDは、登録リソースの操作が、クライアントの意図を歪めない順序で実行されることを確認する必要があります。

This ordering of operations is expressed in terms of freshness, as defined in [RFC9175]. Requests that alter a resource's state need to be fresh relative to the latest request that altered that state in a conflicting way.

この操作の順序は、[RFC9175]で定義されているように、新鮮さの観点から表されます。リソースの状態を変更する要求は、その状態を矛盾する方法で変更した最新の要求に関連して新鮮である必要があります。

An RD SHOULD determine a request's freshness and MUST use the Echo option if it requires request freshness and cannot determine it in any other way. An endpoint MUST support the use of the Echo option. (One reason why an RD would not require freshness is when no relevant registration properties are covered by its security policies.)

RDは、リクエストの新鮮さを決定し、リクエストの新鮮さが必要であり、他の方法でそれを決定できない場合は、エコーオプションを使用する必要があります。エンドポイントは、エコーオプションの使用をサポートする必要があります。(RDが新鮮さを必要としない理由の1つは、関連する登録プロパティがセキュリティポリシーの対象となっている場合です。)

5.3.4.1. Efficient Use of Echo by an RD
5.3.4.1. RDによるエコーの効率的な使用

To keep latency and traffic added by the freshness requirements to a minimum, RDs should avoid naive (sufficient but inefficient) freshness criteria.

新鮮さの要件によって最小限に追加されたレイテンシとトラフィックを維持するために、RDSは素朴な(十分ではあるが非効率的な)鮮度基準を避ける必要があります。

Some simple mechanisms the RD can employ are:

RDが採用できるいくつかの単純なメカニズムは次のとおりです。

* State counter. The RD can keep a monotonous counter that increments whenever a registration changes. For every registration resource, it stores the post-increment value of that resource's last change. Requests altering them need to have at least that value encoded in their Echo option and are otherwise rejected with a 4.01 (Unauthorized) and the current counter value as the Echo value. If other applications on the same server use Echo as well, that encoding may include a prefix indicating that it pertains to the RD's counter.

* ステートカウンター。RDは、登録が変更されるたびに増加する単調なカウンターを保持できます。登録リソースごとに、そのリソースの最後の変更のポストインクリメント値を保存します。それらを変更するリクエストには、少なくともその値がエコーオプションでエンコードされ、それ以外の場合は4.01(不正)および現在のカウンター値がエコー値として拒否される必要があります。同じサーバー上の他のアプリケーションもエコーを使用している場合、そのエンコードには、RDのカウンターに関係することを示すプレフィックスが含まれる場合があります。

The value associated with a resource needs to be kept across the removal of registrations if the same registration resource is to be reused.

同じ登録リソースを再利用する場合、リソースに関連付けられた値を登録の削除全体に維持する必要があります。

The counter can be reset (and the values of removed resources forgotten) when all previous security associations are reset.

以前のすべてのセキュリティ関連がリセットされている場合、カウンターはリセット(および忘れられた削除されたリソースの値)をリセットできます。

This is the "Persistent Counter" method of [RFC9175], Appendix A.

これは[RFC9175]の「永続的なカウンター」方法です。

* Preemptive Echo values. The current state counter can be sent in an Echo option not only when requests are rejected with 4.01 (Unauthorized) but also with successful responses. Thus, clients can be provided with Echo values sufficient for their next request on a regular basis. This is also described in Section 2.3 of [RFC9175]

* 先制エコー値。現在の状態カウンターは、リクエストが4.01(不正)で拒否された場合だけでなく、応答が成功した場合だけでなく、エコーオプションで送信できます。したがって、クライアントには、定期的に次のリクエストに十分なエコー値を提供できます。これは[RFC9175]のセクション2.3でも説明されています

While endpoints may discard received Echo values at leisure between requests, they are encouraged to retain these values for the next request to avoid additional round trips.

エンドポイントは、リクエストの合間にレジャーで受信されたエコー値を破棄する場合がありますが、追加の往復を避けるために次のリクエストのためにこれらの値を保持することが奨励されています。

* If the RD can ensure that only one security association has modifying access to any registration at any given time and that security association provides order on the requests, that order is sufficient to show request freshness.

* RDが、1つのセキュリティ協会のみが任意の時間に登録へのアクセスを変更し、セキュリティ協会がリクエストに注文を提供できるようにすることができる場合、その注文はリクエストの新鮮さを示すのに十分です。

5.3.4.2. Examples of Echo Usage
5.3.4.2. エコー使用の例

Figure 18 shows the interactions of an endpoint that has forgotten the server's latest Echo value and temporarily reduces its registration lifetime:

図18は、サーバーの最新のエコー値を忘れており、登録の寿命を一時的に削減したエンドポイントの相互作用を示しています。

   Req: POST /rd/4521?lt=7200
        

Res: 4.01 Unauthorized Echo: 0x0123

RES:4.01不正なエコー:0x0123

(EP tries again immediately.)

(EPはすぐに再び試みます。)

   Req: POST /rd/4521?lt=7200
   Echo: 0x0123
        

Res: 2.04 Changed Echo: 0x0124

RES:2.04変更エコー:0x0124

(Later, the EP regains its confidence in its long-term reachability.)

(後で、EPは長期的な到達可能性に対する自信を取り戻します。)

   Req: POST /rd/4521?lt=90000
   Echo: 0x0124
        

Res: 2.04 Changed Echo: 0x0247

RES:2.04変更エコー:0x0247

Figure 18: Example Update of a Registration

図18:登録の更新の例

The other examples do not show Echo options for two reasons: (1) for simplicity and (2) because they lack the context for any example values to have meaning.

他の例は、2つの理由でエコーオプションを示していません。(1)単純さのための、(2)意味を持つ値を持つためのコンテキストがないためです。

6. RD Lookup
6. RDルックアップ

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 [CORE-LINKS-JSON]) or use more advanced interfaces (e.g., supporting context- or semantic-based lookup) on different resources that are discovered independently.

RDに登録されているリソースを発見するには、ルックアップインターフェイスを提供する必要があります。このルックアップインターフェイスはデフォルトとして定義されており、RDSはルックアップをサポートして代替形式でリソースの説明を返すこともできます(たとえば、JSONまたはCBORリンク形式[Core-Links-JSON])またはより高度なインターフェイス(例えば、独立して発見されたさまざまなリソースで、コンテキストまたはセマンティックベースのルックアップをサポートします。

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.

RD Lookupを使用すると、このドキュメントで定義されている属性を使用し、コアリンク形式で使用するエンドポイントとリソースのルックアップが可能になります。ルックアップリクエストの結果は、ルックアップのタイプに対応するリンクのリスト(ある場合)です。したがって、エンドポイントの検索はエンドポイントのリストを返す必要があり、リソースルックアップはリソースへのリンクのリストを返す必要があります。

The lookup type implemented by a lookup resource is indicated by a resource type, as per Table 1:

ルックアップリソースによって実装されるルックアップタイプは、表1に従って、リソースタイプで示されています。

             +=============+====================+===========+
             | Lookup Type | Resource Type      | Mandatory |
             +=============+====================+===========+
             | Resource    | core.rd-lookup-res | Mandatory |
             +-------------+--------------------+-----------+
             | Endpoint    | core.rd-lookup-ep  | Mandatory |
             +-------------+--------------------+-----------+
        

Table 1: Lookup Types

表1:ルックアップタイプ

6.1. Resource Lookup
6.1. リソースの検索

Resource lookup results in links that are semantically equivalent to the links submitted to the RD by the registrant. The links and link parameters returned by the lookup are equal to the originally submitted ones, except that the target reference is fully resolved and that the anchor reference is fully resolved if it is present in the lookup result at all.

リソースの検索により、登録者がRDに提出したリンクと意味的に同等のリンクが得られます。ルックアップによって返されるリンクとリンクパラメーターは、元々提出されたものと等しくなりますが、ターゲット参照が完全に解決され、アンカー参照がルックアップ結果に存在する場合、アンカー参照が完全に解決されます。

Links that did not have an anchor attribute in the registration are returned without an anchor attribute. Links of which href or anchor was submitted as a (full) URI are returned with the respective attribute unmodified.

登録にアンカー属性がないリンクは、アンカー属性なしで返されます。(完全な)URIとしてHREFまたはアンカーが提出されたリンクは、それぞれの属性が変更されていないと返されます。

The above rules allow the client to interpret the response as links without any further knowledge of the storage conventions of the RD. The RD MAY replace the registration base URIs with a configured intermediate proxy, e.g., in the case of an HTTP lookup interface for CoAP endpoints.

上記のルールにより、クライアントは、RDのストレージ規則に関するさらなる知識なしに、応答をリンクとして解釈することができます。RDは、COAPエンドポイントのHTTPルックアップインターフェイスの場合、登録ベースのURIを構成された中間プロキシに置き換えることができます。

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 link on which the registered endpoint can be reached. The RD MUST NOT include zone identifiers in the resolved URIs.

登録のベースURIにリンクローカルアドレスが含まれている場合、登録されたエンドポイントに到達できるリンクからルックアップが作成されない限り、RDはリンクを表示してはなりません。RDには、解決されたURIにゾーン識別子を含めてはなりません。

6.2. Lookup Filtering
6.2. ルックアップフィルタリング

Using the Accept option, the requester can control whether the returned list is returned in CoRE Link Format (application/link-format, default) or in alternate content formats (e.g., from [CORE-LINKS-JSON]).

受け入れオプションを使用すると、リクエスターは、返されたリストがコアリンク形式(アプリケーション/リンクフォーマット、デフォルト)または代替コンテンツ形式([Core-Links-JSON]から)で返されるかどうかを制御できます。

Multiple search criteria MAY be included in a lookup. All included criteria MUST match for a link to be returned. The RD MUST support matching with multiple search criteria.

複数の検索基準を検索に含めることができます。含まれるすべての基準は、リンクを返すために一致する必要があります。RDは、複数の検索基準とのマッチングをサポートする必要があります。

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 [RFC6690]. Attributes that are defined as relation-types (in the link-format ABNF) match if the search value matches any of their values (see Section 4.1 of [RFC6690]; for example, ?if=tag:example.net,2020:sensor matches ;if="example.regname tag:example.net,2020:sensor";. 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.

[RFC6690]のセクション4.1のように、同じ名前と同じ値の属性と同じ値の属性がある場合、リンクは検索基準と一致します。検索値がその値のいずれかと一致する場合、関係タイプとして定義される属性(リンクフォーマットABNF)は一致します([RFC6690]のセクション4.1を参照、?一致; if = "example.regnameタグ:example.net、2020:センサー";。エンドポイントが基準と一致する場合、リソースリンクも検索基準と一致し、その逆の場合、エンドポイントリンクは検索基準と一致しますそのリソースリンクはそれと一致します。

Note that href 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 anchor attribute is usable for resource lookups and, if queried, MUST be in URI form as well.

HREFは有効な検索基準であり、ターゲット参照と一致することに注意してください。すべての検索基準と同様に、リソースの検索では、リソースリンク自体のターゲット参照だけでなく、登録したエンドポイントの登録リソースと一致させることができます。リソースリンクターゲットのクエリは、URI形式(つまり、相対的な参照ではなく)でなければならず、解決されたリンクターゲットと一致している必要があります。エンドポイントのクエリは、可能であればパスアブソリュート形式で表現する必要があり、そうでない場合はURI形式で表現する必要があります。RDはどちらかを認識する必要があります。アンカー属性は、リソースの検索に使用可能であり、照会された場合、URI形式でもある必要があります。

Additional query parameters "page" and "count" 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 a count of 10 and page of 0 will return the first 10 links in the result set (links 0-9). Specifying a count of 10 and page of 1 will return the next 'page' containing links 10-19, and so on. Unlike block-wise transfer of a complete result set, these parameters ensure that each chunk of results can be interpreted on its own. This simplifies the processing but can result in duplicate or missed items when coinciding with changes from the registration interface.

追加のクエリパラメーター「ページ」と「カウント」を使用して、パジネーションを使用して特定の増分でルックアップ結果を取得するために使用されます。カウントは、countのリンクとページのリンクの数を指定し、それぞれが「カウント」リンクを含むリンクのサブセットを指定します。リンクゼロとページゼロ付き。したがって、10のカウントと0ページを指定すると、結果セットの最初の10リンクが返されます(リンク0-9)。10のカウントと1ページを指定すると、リンク10-19などを含む次の「ページ」などが返されます。完全な結果セットのブロックごとの転送とは異なり、これらのパラメーターは、結果の各チャンクを単独で解釈できることを保証します。これにより、処理が簡素化されますが、登録インターフェイスからの変更と一致する場合、アイテムが重複しているか見逃された場合があります。

Endpoints that are interested in a lookup result repeatedly or continuously can use mechanisms such as ETag caching, resource observation [RFC7641], 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.

ルックアップ結果に関心のあるエンドポイントは、繰り返しまたは継続的に継続的に、ETAGキャッシング、リソース観察[RFC7641]、またはコレクションのより効率的な観測を可能にする可能性のある将来のメカニズムなどのメカニズムを使用できます。これらは、独自の仕様に従って宣伝され、検出され、使用され、他のリソースと同様にルックアップインターフェイスで使用できます。

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).

リソースの観察が使用されると、一致するリンクのセットが変更されたり、一致するリンクのコンテンツが変更されるたびに、RDは一致するリンクセットで通知を送信します。通知には、特にゼロマッチングリンクを表すことに関して、指定された要求に対する現在の応答が成功しています(以下の「成功」項目を参照)。

The lookup interface is specified as follows:

ルックアップインターフェイスは、次のように指定されています。

   Interaction:  Client -> RD
        

Method: GET

方法:取得します

   URI Template:  {+type-lookup-location}{?page,count,search*}
        

URI Template Variables:

URIテンプレート変数:

type-lookup-location := RD lookup URI for a given lookup type (mandatory). The address is discovered as described in Section 4.3.

タイプルックアップロケーション:=特定のルックアップタイプ(必須)のRDルックアップURI。アドレスは、セクション4.3で説明されているように発見されます。

search := Search criteria for limiting the number of results (optional). The search criteria are an associative array, expressed in a form-style query, as per the URI Template (see [RFC6570], Sections 2.4.2 and 3.2.8).

検索:=結果の数を制限するための検索基準(オプション)。検索基準は、URIテンプレート([RFC6570]、セクション2.4.2および3.2.8を参照)に従って、フォームスタイルのクエリで表現される連想配列です。

page := Page (optional). This 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.

ページ:= page(optional)。このパラメーターは、カウントパラメーターなしでは使用できません。結果は、インデックス(ページ *カウント)から始まる「カウント」リンクを含むページで結果セットから返されます。ページ番号はゼロから始まります。

count := Count (optional). The 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.

count:= count(optional)。結果の数は、このパラメーター値に制限されています。ページパラメーターも存在する場合、応答には、クエリから結果セットの(page * count)リンクから始まる「カウント」リンクのみを含める必要があります。カウントパラメーターが存在しない場合、応答は結果セットのすべての一致するリンクを返す必要があります。リンク番号はゼロで始まります。

Accept: absent, application/link-format, or any other indicated media type representing web links

受け入れ:不在、アプリケーション/リンク形式、またはWebリンクを表すその他の指示されたメディアタイプ

The following responses codes are defined for this interface:

次の応答コードは、このインターフェイスに対して定義されています。

Success: 2.05 (Content) or 200 (OK) with an application/link-format or other web link payload containing matching entries for the lookup.

成功:2.05(コンテンツ)または200(OK)アプリケーション/リンクフォーマットまたはその他のWebリンクペイロードを使用して、ルックアップのマッチングエントリを含みます。

The payload can contain zero links (which is an empty payload in the link format described in [RFC6690] but could also be [] in JSON-based formats), indicating that no entities matched the request.

ペイロードにはゼロリンク([RFC6690]で説明されているリンク形式の空のペイロードであるが、JSONベースの形式で[]になる可能性がある)を含むことができ、リクエストと一致したエンティティがないことを示しています。

6.3. Resource Lookup Examples
6.3. リソースルックアップの例

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.

このセクションの例は、デフォルトのCOAPポート61616を持つCoAPホストの存在を想定しています。HTTPホストは可能であり、例の性質を変えません。

The following example shows a client performing a resource lookup with the example resource lookup locations discovered in Figure 5:

次の例は、図5で発見されたリソースルックアップの例を使用して、リソースルックアップを実行するクライアントを示しています。

   Req: GET /rd-lookup/res?rt=tag:example.org,2020:temperature
        
   Res: 2.05 Content
   Payload:
   <coap://[2001:db8:3::123]:61616/temp>;
       rt="tag:example.org,2020:temperature"
        

Figure 19: Example of a Resource Lookup

図19:リソース検索の例

A client that wants to be notified of new resources as they show up can use this observation:

新しいリソースが表示されているときに通知されたいクライアントは、この観察結果を使用できます。

   Req: GET /rd-lookup/res?rt=tag:example.org,2020:light
   Observe: 0
        

Res: 2.05 Content Observe: 23 Payload: empty

Res:2.05コンテンツオブザーブ:23ペイロード:空

(at a later point in time)

(後の時点で)

   Res: 2.05 Content
   Observe: 24
   Payload:
   <coap://[2001:db8:3::124]/west>;rt="tag:example.org,2020:light",
   <coap://[2001:db8:3::124]/south>;rt="tag:example.org,2020:light",
   <coap://[2001:db8:3::124]/east>;rt="tag:example.org,2020:light"
        

Figure 20: Example of an Observing Resource Lookup

図20:観測リソースの検索の例

The following example shows a client performing a paginated resource lookup:

次の例は、クライアントがページングされたリソースの検索を実行することを示しています。

   Req: GET /rd-lookup/res?page=0&count=5
        
   Res: 2.05 Content
   Payload:
   <coap://[2001:db8:3::123]:61616/res/0>;ct=60,
   <coap://[2001:db8:3::123]:61616/res/1>;ct=60,
   <coap://[2001:db8:3::123]:61616/res/2>;ct=60,
   <coap://[2001:db8:3::123]:61616/res/3>;ct=60,
   <coap://[2001:db8:3::123]:61616/res/4>;ct=60
        
   Req: GET /rd-lookup/res?page=1&count=5
        
   Res: 2.05 Content
   Payload:
   <coap://[2001:db8:3::123]:61616/res/5>;ct=60,
   <coap://[2001:db8:3::123]:61616/res/6>;ct=60,
   <coap://[2001:db8:3::123]:61616/res/7>;ct=60,
   <coap://[2001:db8:3::123]:61616/res/8>;ct=60,
   <coap://[2001:db8:3::123]:61616/res/9>;ct=60
        

Figure 21: Example of Paginated Resource Lookup

図21:塗装されたリソース検索の例

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 sensor1 and sensor2) have previously registered with their respective addresses (coap://sensor1.example.com and coap://sensor2.example.com) and posted the very payload of the 6th response of Section 5 of [RFC6690].

次の例は、特定のエンドポイントタイプのすべてのエンドポイントのすべてのリソースのルックアップを実行するクライアントを示しています。これは、2つのエンドポイント(エンドポイント名Sensor1とSensor2を含む)がそれぞれのアドレス(coap://sensor1.example.comおよびcoap://sensor2.example.com)に以前に登録されており、6番目の応答の非常にペイロードを投稿していると想定しています。[RFC6690]のセクション5の。

It demonstrates how absolute link targets stay unmodified, while relative ones are resolved:

それは、相対的なリンクのターゲットがどのように修正されていないかを示していますが、相対的なターゲットは解決されます。

   Req: GET /rd-lookup/res?et=tag:example.com,2020:platform
        
   Res: 2.05 Content
   Payload:
   <coap://sensor1.example.com/sensors>;ct=40;title="Sensor Index",
   <coap://sensor1.example.com/sensors/temp>;rt=temperature-c;if=sensor,
   <coap://sensor1.example.com/sensors/light>;rt=light-lux;if=sensor,
   <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",
   <coap://sensor2.example.com/sensors/temp>;rt=temperature-c;if=sensor,
   <coap://sensor2.example.com/sensors/light>;rt=light-lux;if=sensor,
   <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"
        

Figure 22: Example of a Resource Lookup from Multiple Endpoints

図22:複数のエンドポイントからのリソース検索の例

6.4. Endpoint Lookup
6.4. エンドポイントルックアップ

The endpoint lookup returns links to and information about registration resources, which themselves can only be manipulated by the registering endpoint.

エンドポイントルックアップは、登録リソースへのリンクと情報を返します。これは、登録エンドポイントによってのみ操作できます。

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.

エンドポイント登録リソースには、エンドポイント名(EP)、セクター(d、存在する場合)、および登録ベースのURI(ベース;明示的なベースが与えられていない場合は登録者-EPの住所を報告します)と定数リソースタイプ(登録者-EPの住所を報告します)に注釈が付けられます(基本)rt = "core.rd-ep");生涯(LT)は報告されていません。仕様が特に言われない限り、追加のエンドポイント属性がエンドポイントリンクにターゲット属性として追加されます。

Links to endpoints SHOULD be presented in path-absolute form or, if required, as (full) URIs. (This ensures that the output conforms to Limited Link Format, as described in Appendix C.)

エンドポイントへのリンクは、パスアブソリュート形式で、または必要に応じて(フル)urisとして提示する必要があります。(これにより、付録Cで説明されているように、出力が限られたリンク形式に適合することが保証されます)

Base addresses that contain link-local addresses MUST NOT include zone identifiers, and such registrations MUST NOT be shown unless the lookup was made from the same link from which the registration was made.

リンクローカルアドレスを含むベースアドレスにはゾーン識別子を含めるべきではなく、登録が行われたのと同じリンクから検索が行われない限り、そのような登録は表示されないでください。

While the 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.

エンドポイントの検索では登録リソースが公開されますが、RDはクライアントがアクセスできるようにする必要はありません。クライアントは、それらを繰り返しや操作しようとしないでください。

An RD can report registrations in lookup whose URI scheme and authority differ from that of the lookup resource. 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.

RDは、URIスキームと権限がルックアップリソースとは異なるルックアップの登録を報告できます。ルックアップクライアントは、任意のURIを結果の登録リソースとして見るために準備し、それらを不透明な識別子として扱う必要があります。このようなリンクの正確なセマンティクスは、将来の仕様に任されています。

The following example shows a client performing an endpoint lookup that is limited to endpoints of endpoint type tag:example.com,2020:platform:

次の例は、エンドポイントタイプのエンドポイントに限定されたエンドポイントルックアップを実行するクライアントを示しています。

   Req: GET /rd-lookup/ep?et=tag:example.com,2020:platform
        
   Res: 2.05 Content
   Payload:
   </rd/1234>;base="coap://[2001:db8:3::127]:61616";ep=node5;
       et="tag:example.com,2020:platform";ct=40;rt=core.rd-ep,
   </rd/4521>;base="coap://[2001:db8:3::129]:61616";ep=node7;
       et="tag:example.com,2020:platform";ct=40;d=floor-3;
       rt=core.rd-ep
        

Figure 23: Example of Endpoint Lookup

図23:エンドポイントルックアップの例

7. Security Policies
7. セキュリティポリシー

The security policies that are applicable to an RD strongly depend on the application and are not set out normatively here.

RDに適用可能なセキュリティポリシーは、アプリケーションに強く依存しており、ここで規範的に設定されていません。

This section provides a list of aspects that applications should consider when describing their use of the RD, without claiming to cover all cases. It uses terminology of [ACE-OAUTH-AUTHZ], in which the RD acts as the Resource Server (RS), and both registrant-EPs and lookup clients act as Clients (C) with support from an Authorization Server (AS), without the intention of ruling out other schemes (e.g., those based on certificates/Public Key Infrastructures (PKIs)).

このセクションでは、すべてのケースをカバーすると主張することなく、RDの使用を説明する際にアプリケーションが考慮すべき側面のリストを提供します。RDがリソースサーバー(RS)として機能する[Ace-oauth-authz]の用語を使用し、登録者EPとルックアップクライアントの両方が、認証サーバーのサポート(as)からサポートを使用してクライアントとして(c)を使用します。他のスキーム(例:証明書/公開インフラストラクチャ(PKIS)に基づくスキーム)を排除する意図。

Any, all, or none of the below can apply to an application. Which are relevant depends on its protection objectives.

以下のいずれか、または以下のいずれも、アプリケーションに適用できません。関連するものは、その保護目標によって異なります。

Security policies are set by configuration of the RD or by choice of the implementation. Lookup clients (and, where relevant, endpoints) can only trust an RD to uphold them if it is authenticated and authorized to serve as an RD according to the application's requirements.

セキュリティポリシーは、RDの構成または実装の選択によって設定されます。ルックアップクライアント(および関連する場合、エンドポイント)は、アプリケーションの要件に従ってRDとして認証され、許可されている場合にのみ、RDを支持することを信頼できます。

7.1. Endpoint Name
7.1. エンドポイント名

Whenever an RD needs to provide trustworthy results to clients doing endpoint lookup or resource lookup with filtering on the endpoint name, the RD must ensure that the registrant is authorized to use the given endpoint name. This applies both to registration and later to operations on the registration resource. It is immaterial whether the client is the registrant-EP itself or a CT is doing the registration. The RD cannot tell the difference, and CTs may use authorization credentials authorizing only operations on that particular endpoint name or a wider range of endpoint names.

RDがエンドポイントのルックアップまたはエンドポイント名のフィルタリングを使用してエンドポイントルックアップまたはリソースルックアップを行うクライアントに信頼できる結果を提供する必要がある場合は、登録者が指定されたエンドポイント名を使用することを許可されていることを確認する必要があります。これは、登録と登録リソースの運用の両方に適用されます。クライアントが登録者のEP自体であるか、CTが登録を行っているかは重要ではありません。RDは違いを伝えることができず、CTSは、その特定のエンドポイント名またはより広いエンドポイント名の操作のみを承認する承認資格情報を使用する場合があります。

It is up to the concrete security policy to describe how the endpoint name and sector are transported when certificates are used. For example, it may describe how SubjectAltName dNSName entries are mapped to endpoint and domain names.

証明書が使用されているときにエンドポイント名とセクターがどのように輸送されるかを説明するのは、具体的なセキュリティポリシー次第です。たとえば、subjectaltname dnsnameエントリがエンドポイントとドメイン名にマッピングされる方法を説明する場合があります。

7.1.1. Random Endpoint Names
7.1.1. ランダムエンドポイント名

Conversely, in applications where the RD does not check the endpoint name, the authorized registering endpoint can generate a random number (or string) that identifies the endpoint. The RD should then remember unique properties of the registrant, associate them with the registration for as long as its registration resource is active (which may be longer than the registration's lifetime), and require the same properties for operations on the registration resource.

逆に、RDがエンドポイント名をチェックしないアプリケーションでは、承認された登録エンドポイントは、エンドポイントを識別する乱数(または文字列)を生成できます。その後、RDは、登録者の一意のプロパティを覚えており、登録リソースがアクティブである限り(登録の生涯よりも長い場合がある場合)、登録リソースの操作に同じプロパティを必要とする限り、登録に関連付けます。

Registrants that are prepared to pick a different identifier when their initial attempt (or attempts, in the unlikely case of two subsequent collisions) at registration is unauthorized should pick an identifier at least twice as long as would be needed to enumerate the expected number of registrants; registrants without any such recovery options should pick significantly longer endpoint names (e.g., using Universally Unique Identifier (UUID) URNs [RFC4122]).

登録時に最初の試行(または2回の衝突のありそうもないケースで試行)が不正である場合に別の識別子を選択する準備ができている登録者は、登録者の予想数を列挙するために必要な識別子を少なくとも2倍長く選択する必要があります;このような回復オプションのない登録者は、非常に長いエンドポイント名を選択する必要があります(たとえば、普遍的に一意の識別子(UUID)URN [RFC4122]を使用して)。

7.2. Entered Links
7.2. リンクを入力しました

When lookup clients expect that certain types of links can only originate from certain endpoints, then the RD needs to apply filtering to the links an endpoint may register.

ルックアップクライアントが特定の種類のリンクが特定のエンドポイントからのみ発生することを期待する場合、RDはエンドポイントが登録できるリンクにフィルタリングを適用する必要があります。

For example, if clients use an RD to find a server that provides firmware updates, then any registrant that wants to register (or update) links to firmware sources will need to provide suitable credentials to do so, independently of its endpoint name.

たとえば、クライアントがRDを使用してファームウェアの更新を提供するサーバーを見つけた場合、ファームウェアソースへのリンクを登録(または更新)したい登録者は、エンドポイント名とは独立して適切な資格情報を提供する必要があります。

Note that the impact of having undesirable links in the RD depends on the application. If the client requires the firmware server to present credentials as a firmware server, a fraudulent link's impact is limited to the client revealing its intention to obtain updates and slowing down the client until it finds a legitimate firmware server; if the client accepts any credentials from the server as long as they fit the provided URI, the impact is larger.

RDに望ましくないリンクを持つことの影響は、アプリケーションによって異なることに注意してください。クライアントがファームウェアサーバーに資格情報をファームウェアサーバーとして提示する必要がある場合、不正なリンクの影響は、クライアントに制限され、アップデートを取得する意図を明らかにし、正当なファームウェアサーバーが見つかるまでクライアントを遅くすることができます。クライアントが提供されたURIに適合している限り、サーバーからの資格情報を受け入れると、影響が大きくなります。

An RD may also require that links are only registered if the registrant is authorized to publish information about the anchor (or even target) of the link. One way to do this is to demand that the registrant present the same credentials in its role as a registering client that it would need to present in its role as a server when contacted at the resources' URI. These credentials may include using the address and port that are part of the URI. Such a restriction places severe practical limitations on the links that can be registered.

RDは、リンクのアンカー(またはターゲット)に関する情報を公開することを登録者が許可されている場合にのみ、リンクが登録されることを要求する場合があります。これを行う1つの方法は、登録者が、リソースのURIで連絡したときにサーバーとしての役割で提示する必要がある登録クライアントと同じ資格を提示することを要求することです。これらの資格情報には、URIの一部であるアドレスとポートの使用が含まれます。このような制限は、登録できるリンクに深刻な実際的な制限をもたらします。

As above, the impact of undesirable links depends on the extent to which the lookup client relies on the RD. To avoid the limitations, RD applications should consider prescribing that lookup clients only use the discovered information as hints and describe which pieces of information need to be verified because they impact the application's security. A straightforward way to verify such information is to request it again from an authorized server, typically the one that hosts the target resource. That is similar to what happens in Section 4.3 when the "URI discovery" step is repeated.

上記のように、望ましくないリンクの影響は、ルックアップクライアントがRDに依存する程度に依存します。制限を回避するために、RDアプリケーションは、検出された情報をヒントとしてのみ使用することをルックアップクライアントのみを処方し、アプリケーションのセキュリティに影響を与えるため、どの情報を検証する必要があるかを説明することを検討する必要があります。そのような情報を確認する簡単な方法は、承認されたサーバー、通常はターゲットリソースをホストするサーバーから再度リクエストすることです。これは、「URIディスカバリー」ステップが繰り返されるセクション4.3で起こることに似ています。

7.3. Link Confidentiality
7.3. 機密性をリンクします

When registrants publish information in the RD that is not available to any client that would query the registrant's /.well-known/core interface, or when lookups to that interface are subject to stricter firewalling than lookups to the RD, the RD may need to limit which lookup clients may access the information.

登録者がRDで、登録者の /.well-nking/coreインターフェイスを照会するクライアントが利用できない情報を公開する場合、またはそのインターフェイスを検索する場合、RDの検索よりも厳しいファイアーの対象となる場合、RDはする必要があります。どのルックアップクライアントが情報にアクセスできるかを制限します。

In this case, the endpoint (and not the lookup clients) needs to be careful to check the RD's authorization. The RD needs to check any lookup client's authorization before revealing information directly (in resource lookup) or indirectly (when using it to satisfy a resource lookup search criterion).

この場合、エンドポイント(ルックアップクライアントではなく)は、RDの承認を確認するように注意する必要があります。RDは、情報を直接(リソース検索中)または間接的に(リソースルックアップ検索条件を満たすために使用する場合)、[リソースの検索でも)直接表示する前に、ルックアップクライアントの承認を確認する必要があります。

7.4. Segmentation
7.4. セグメンテーション

Within a single RD, different security policies can apply.

単一のRD内では、異なるセキュリティポリシーが適用できます。

One example of this are multi-tenant deployments separated by the sector (d) parameter. Some sectors might apply limitations on the endpoint names available, while others use a random identifier approach to endpoint names and place limits on the entered links based on their attributes instead.

この1つの例は、セクター(d)パラメーターによって区切られたマルチテナント展開です。一部のセクターは、利用可能なエンドポイント名に制限を適用する場合がありますが、他のセクターは、代わりに属性に基づいて入力されたリンクにエンドポイント名と配置制限にランダム識別子アプローチを使用します。

Care must be taken in such setups to determine the applicable access control measures to each operation. One easy way to do that is to mandate the use of the sector parameter on all operations, as no credentials are suitable for operations across sector borders anyway.

このようなセットアップには、各操作に対する該当するアクセス制御測定を決定するために注意する必要があります。それを行う簡単な方法の1つは、とにかくセクターの境界全体の運用に適した資格情報はないため、すべての操作でセクターパラメーターの使用を義務付けることです。

7.5. "First Come First Remembered": A Default Policy
7.5. 「最初に最初に覚えている」:デフォルトのポリシー

The "First Come First Remembered" policy is provided both as a reference example for a security policy definition and as a policy that implementations may choose to use as default policy in the absence of any other configuration. It is designed to enable efficient discovery operations even in ad hoc settings.

「First Come First Remembered」ポリシーは、セキュリティポリシーの定義の参照例として、また実装が他の構成がない場合にデフォルトポリシーとして使用することを選択できるポリシーの両方として提供されます。アドホックな設定でも効率的な発見操作を可能にするように設計されています。

Under this policy, the RD accepts registrations for any endpoint name that is not assigned to an active registration resource and only accepts registration updates from the same endpoint. The policy is minimal in that it does not make any promises to lookup clients about the claims of Sections 7.2 and 7.3, and promises about the claims in Section 7.1 are limited to the lifetime of that endpoint's registration. It does however promise the endpoint that, for the duration of its registration, its links will be discoverable on the RD.

このポリシーでは、RDは、アクティブな登録リソースに割り当てられていないエンドポイント名の登録を受け入れ、同じエンドポイントからの登録更新のみを受け入れます。このポリシーは、セクション7.2および7.3の主張についてクライアントを検索することを約束しないという点で最小限であり、セクション7.1の主張についての約束は、そのエンドポイントの登録の寿命に限定されています。ただし、登録期間中、そのリンクがRDで発見できるというエンドポイントを約束します。

When a registration or operation is attempted, the RD MUST determine the client's subject name or public key:

登録または操作が試みられた場合、RDはクライアントの件名または公開キーを決定する必要があります。

* If the client's credentials indicate any subject name that is certified by any authority that the RD recognizes (which may be the system's trust anchor store), all such subject names are stored. With credentials based on CWT or JWT (as common with Authentication and Authorization for Constrained Environments (ACE)), the Subject (sub) claim is stored as a single name, if it exists. With X.509 certificates, the Common Name (CN) and the complete list of SubjectAltName entries are stored. In both cases, the authority that certified the claim is stored along with the subject, as the latter may only be locally unique.

* クライアントの資格情報が、RDが認識している当局(システムの信頼アンカーストアである可能性がある)によって認定された件名名を示している場合、そのようなサブジェクト名はすべて保存されます。CWTまたはJWTに基づく資格情報(制約環境の認証と認可(ACE)に共通)では、件名(SUB)のクレームは、存在する場合、単一の名前として保存されます。X.509証明書を使用すると、共通名(CN)とsubjectaltnameエントリの完全なリストが保存されます。どちらの場合も、請求を認定した当局は、主題とともに保存されます。後者は地元でのみユニークである可能性があるためです。

* Otherwise, if the client proves possession of a private key, the matching public key is stored. This applies both to raw public keys and to the public keys indicated in certificates that failed the above authority check.

* それ以外の場合、クライアントが秘密鍵の所有権を証明した場合、一致する公開キーが保存されます。これは、生の公開キーと、上記の権限チェックに失敗した証明書に示されている公開キーの両方に適用されます。

* If neither is present, a reference to the security session itself is stored. With (D)TLS, that is the connection itself or the session resumption information, if available. With OSCORE, that is the security context.

* どちらも存在しない場合、セキュリティセッション自体への参照が保存されます。(d)TLSでは、利用可能な場合、接続自体またはセッション再開情報です。OSCOREでは、それがセキュリティコンテキストです。

As part of the registration operation, that information is stored along with the registration resource.

登録操作の一環として、その情報は登録リソースとともに保存されます。

The RD MUST accept all registrations whose registration resource is not already active, as long as they are made using a security layer supported by the RD.

RDは、RDがサポートするセキュリティレイヤーを使用して作成されている限り、登録リソースがまだアクティブではないすべての登録を受け入れる必要があります。

Any operation on a registration resource, including registrations that lead to an existing registration resource, MUST be rejected by the RD unless all the stored information is found in the new request's credentials.

既存の登録リソースにつながる登録を含む登録リソースの操作は、すべての保存された情報が新しいリクエストの資格情報で見つかっていない限り、RDによって拒否される必要があります。

Note that, even though subject names are compared in this policy, they are never directly compared to endpoint names, and an endpoint cannot expect to "own" any particular endpoint name outside of an active registration -- even if a certificate says so. It is an accepted shortcoming of this approach that the endpoint has no indication of whether the RD remembers it by its subject name or public key; recognition by subject happens on a best-effort basis (given the RD may not recognize any authority). Clients MUST be prepared to pick a different endpoint name when rejected by the RD initially or after a change in their credentials; picking an endpoint name, as per Section 7.1.1, is an easy option for that.

このポリシーではサブジェクト名が比較されていても、エンドポイント名と直接比較されることはなく、エンドポイントは、証明書がそう言っていても、アクティブな登録以外の特定のエンドポイント名を「所有」することを期待できないことに注意してください。このアプローチの受け入れられている欠点は、エンドポイントに、RDが主題名または公開鍵でそれを覚えているかどうかを示していないことです。被験者による認識は、最高の効果ベースで行われます(RDが権限を認識しない場合がある場合)。クライアントは、最初にRDによって拒否されたときまたは資格情報の変更後に別のエンドポイント名を選択する準備をする必要があります。セクション7.1.1に従って、エンドポイント名を選択することは、そのための簡単なオプションです。

For this policy to be usable without configuration, clients should not set a sector name in their registrations. An RD can set a default sector name for registrations accepted under this policy, which is especially useful in a segmented setup where different policies apply to different sectors. The configuration of such a behavior, as well as any other configuration applicable to such an RD (i.e., the set of recognized authorities), is out of scope for this document.

このポリシーが構成なしで使用できるようにするために、クライアントは登録にセクター名を設定しないでください。RDは、このポリシーに基づいて受け入れられた登録のデフォルトセクター名を設定できます。これは、異なるセクターに異なるポリシーが適用されるセグメント化されたセットアップで特に役立ちます。このような動作の構成と、そのようなRDに適用されるその他の構成(つまり、認識された当局のセット)は、この文書の範囲外です。

8. Security Considerations
8. セキュリティ上の考慮事項

The security considerations as described in Section 5 of [RFC8288] and Section 6 of [RFC6690] apply. The /.well-known/core resource may be protected, e.g., using DTLS when hosted on a CoAP server, as described in [RFC7252].

[RFC8288]のセクション5および[RFC6690]のセクション6で説明されているセキュリティ上の考慮事項が適用されます。[RFC7252]で説明されているように、 /.Well-Nownd/Coreリソースは、たとえば、COAPサーバーでホストする場合にDTLSを使用して保護できます。

Access that is limited or affects sensitive data SHOULD be protected, e.g., using (D)TLS or OSCORE [RFC8613]; which aspects of the RD this affects depends on the security policies of the application (see Section 7).

制限されている、または機密データに影響を与えるアクセスは、(d)TLSまたはOSCORE [RFC8613]を使用して保護する必要があります。これに影響するRDのどの側面が、アプリケーションのセキュリティポリシーに依存します(セクション7を参照)。

8.1. Discovery
8.1. 発見

Most steps in discovery of the RD, and possibly its resources, are not covered by CoAP's security mechanisms. This will not endanger the security properties of the registrations and lookup itself (where the client requires authorization of the RD if it expects any security properties of the operation) but may leak the client's intention to third parties and allow them to slow down the process.

RDの発見におけるほとんどのステップ、およびおそらくそのリソースは、COAPのセキュリティメカニズムの対象ではありません。これは、登録とルックアップ自体のセキュリティプロパティを危険にさらすことはありません(クライアントが操作のセキュリティプロパティを期待する場合、クライアントがRDの承認を必要とする場合)が、クライアントの意図を第三者に漏らし、プロセスを遅らせることができます。

To mitigate that, clients can retain the RD's address, use secure discovery options (such as configured addresses), and send queries for RDs in a very general form (e.g., ?rt=core.rd* rather than ?rt=core.rd-lookup-ep).

それを軽減するために、クライアントはRDのアドレスを保持し、安全なディスカバリーオプション(構成アドレスなど)を使用し、RDのクエリを非常に一般的な形式で送信できます(例:?rt = core.rd*ではなく?rt = core.rd-lookup-ep)。

8.2. Endpoint Identification and Authentication
8.2. エンドポイントの識別と認証

An endpoint (name, sector) pair is unique within the set 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.

エンドポイント(名前、セクター)ペアは、RDによって登録されているエンドポイントのセット内で一意です。エンドポイント、ポート、またはIPアドレスによってエンドポイントを識別してはなりません。これらはエンドポイントの寿命にわたって変化する可能性があるためです。

Every operation performed by an endpoint on an RD SHOULD be mutually authenticated using a pre-shared key, a raw public key, or certificate-based security.

RDのエンドポイントによって実行されるすべての操作は、事前共有キー、生の公開キー、または証明書ベースのセキュリティを使用して相互に認証される必要があります。

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.

次の脅威を考慮してください。2つのデバイス、AとBは、単一のサーバーに登録されています。両方のデバイスには、DTLSで使用するユニークなデバイスごとの資格情報があり、AまたはBにアクセスする許可を持つ当事者のみができることを確認します。

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.

さて、悪意のあるデバイスAがデバイスBを妨害したいと考えていると想像してください。DTLS交換中に資格情報を使用します。次に、デバイスBのエンドポイント名をデバイスAの独自のエンドポイントの名前として指定します。DTLSハンドシェイクで提供されている識別子がCOAPレイヤーで使用される識別子と一致するかどうかをサーバーが確認しない場合、エンドポイント名を使用して、悪意のあるデバイスにプロビジョニングする情報を検索します。

Endpoint authorization needs to be checked on registration and registration resource operations independently of whether there are configured requirements on the credentials for a given endpoint name and sector (Section 7.1) or whether arbitrary names are accepted (Section 7.1.1).

エンドポイントの承認は、特定のエンドポイント名とセクターの資格情報に構成された要件があるかどうか(セクション7.1)または任意の名前が受け入れられているかどうか(セクション7.1.1)かどうかとは無関係に、登録および登録リソースの操作について確認する必要があります。

Simple registration could be used to circumvent address-based access control. An attacker would send a simple registration request with the victim's address as the source address and later look up the victim's /.well-known/core content in the RD. Mitigation for this is recommended in Section 5.1.

簡単な登録を使用して、アドレスベースのアクセス制御を回避できます。攻撃者は、被害者の住所に簡単な登録リクエストを送信元住所として送信し、後でRDの /.Well-Nowned/Coreコンテンツを調べます。このための緩和は、セクション5.1で推奨されます。

The registration resource path is visible to any client that is allowed endpoint lookup and can be extracted by resource lookup clients as well. The same goes for registration attributes that are shown as target attributes or lookup attributes. The RD needs to consider this in the choice of registration resource paths, as do administrators or endpoints in their choice of attributes.

登録リソースパスは、エンドポイントルックアップが許可されているクライアントに表示され、リソースルックアップクライアントによっても抽出できます。ターゲット属性またはルックアップ属性として表示される登録属性についても同じことが言えます。RDは、属性の選択における管理者またはエンドポイントと同様に、登録リソースパスの選択でこれを考慮する必要があります。

8.3. Access Control
8.3. アクセス制御

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 look up 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.

RD登録とルックアップAPIパスのアクセス制御は、RDのエンドポイントを検索することが許可されたものからRDに登録することを許可することが許可される場合があるため、RD登録とルックアップAPIパスのために個別に実行する必要があります。このようなアクセス制御は、可能な限り細かい粒度のAレベルで実行する必要があります。たとえば、ルックアップのアクセス制御は、セクター、エンドポイント、またはリソースレベルで実行できます。

The precise access controls necessary (and the consequences of failure to enforce them) depend on the protection objectives of the application and the security policies (Section 7) derived from them.

必要な正確なアクセス制御(およびそれらを強制しないことの結果)は、アプリケーションの保護目標とそれらから派生したセキュリティポリシー(セクション7)に依存します。

8.4. Denial-of-Service Attacks
8.4. サービス拒否攻撃

Services that run over UDP unprotected are vulnerable to unknowingly amplify and distribute a DoS attack, as UDP does not require a return routability check. Since RD lookup responses can be significantly larger than requests, RDs are prone to this.

UDPが返品ルー上のチェックを必要としないため、UDPを保護されていないUDPを介して実行されているサービスは、無意識のうちに増幅および配布することに対して脆弱です。RDルックアップ応答はリクエストよりも大幅に大きくなる可能性があるため、RDSはこれになりやすいです。

[RFC7252] describes this at length in its Section 11.3, including some mitigation by using small block sizes in responses. [RFC9175] updates that by describing a source address verification mechanism using the Echo option.

[RFC7252]は、応答の小さなブロックサイズを使用したいくつかの緩和を含む、セクション11.3で長々と説明しています。[RFC9175]は、ECHOオプションを使用してソースアドレス検証メカニズムを記述することにより、それを更新します。

8.5. Skipping Freshness Checks
8.5. 新鮮さのチェックをスキップします

When RD-based applications are built in which request freshness checks are not performed, these concerns need to be balanced:

RDベースのアプリケーションが構築されている場合、リクエストの新鮮さのチェックが実行されない場合、これらの懸念はバランスをとる必要があります。

* When alterations to registration attributes are reordered, an attacker may create any combination of attributes ever set, with the attack difficulty determined by the security layer's replay properties.

* 登録属性の変更が再注文されると、攻撃者はこれまでに設定された属性の任意の組み合わせを作成する場合があり、攻撃の難易度はセキュリティレイヤーのリプレイプロパティによって決定されます。

For example, if Figure 18 were conducted without freshness assurances, an attacker could later reset the lifetime back to 7200. Thus, the device is made unreachable to lookup clients.

たとえば、図18が新鮮さを保証せずに実施された場合、攻撃者は後に寿命を7200に戻すことができます。したがって、デバイスはルックアップクライアントに到達できなくなります。

* When registration updates without query parameters (which just serve to restart the lifetime) can be reordered, an attacker can use intercepted messages to give the appearance of the device being alive to the RD.

* クエリパラメーターのない登録の更新(生涯を再起動するためだけに役立つ)を並べ替えることができれば、攻撃者はインターセプトされたメッセージを使用して、RDに生きているデバイスの外観を与えることができます。

This is unacceptable when the RD's security policy promises reachability of endpoints (e.g., when disappearing devices would trigger further investigation) but may be acceptable with other policies.

これは、RDのセキュリティポリシーがエンドポイントの到達可能性を約束する場合(たとえば、デバイスが消えるとさらなる調査をトリガーする場合)、他のポリシーで受け入れられる場合があります。

9. IANA Considerations
9. IANAの考慮事項
9.1. Resource Types
9.1. リソースタイプ

IANA has added the following values to the "Resource Type (rt=) Link Target Attribute Values" subregistry of the "Constrained RESTful Environments (CoRE) Parameters" registry defined in [RFC6690]:

IANAは、[RFC6690]で定義されている「制約付きRESTFUL環境(CORE)パラメーター」レジストリの「リソースタイプ(rt =)リンクターゲット属性値」のサブレジストリに次の値を追加しました。

    +====================+=============================+=============+
    | Value              | Description                 | Reference   |
    +====================+=============================+=============+
    | core.rd            | Directory resource of an RD | RFC 9176,   |
    |                    |                             | Section 4.3 |
    +--------------------+-----------------------------+-------------+
    | core.rd-lookup-res | Resource lookup of an RD    | RFC 9176,   |
    |                    |                             | Section 4.3 |
    +--------------------+-----------------------------+-------------+
    | core.rd-lookup-ep  | Endpoint lookup of an RD    | RFC 9176,   |
    |                    |                             | Section 4.3 |
    +--------------------+-----------------------------+-------------+
    | core.rd-ep         | Endpoint resource of an RD  | RFC 9176,   |
    |                    |                             | Section 6   |
    +--------------------+-----------------------------+-------------+
        

Table 2: Additions to Resource Type (rt=) Link Target Attribute Values Subregistry

表2:リソースタイプへの追加(rt =)リンクターゲット属性値サブレジストリ

9.2. IPv6 ND Resource Directory Address Option
9.2. IPv6 ndリソースディレクトリアドレスオプション

IANA has registered one new ND option type in the "IPv6 Neighbor Discovery Option Formats" subregistry of the "Internet Control Message Protocol version 6 (ICMPv6) Parameters" registry:

IANAは、「IPv6 Neighbor Discovery Option Formats」に「Internter Control Message Protocolバージョン6(ICMPV6)パラメーター」のサブレジストリに1つの新しいNDオプションタイプを登録しています。レジストリ:

         +======+===================================+===========+
         | Type | Description                       | Reference |
         +======+===================================+===========+
         | 41   | Resource Directory Address Option | RFC 9176  |
         +------+-----------------------------------+-----------+
        

Table 3: Addition to IPv6 Neighbor Discovery Option Formats Subregistry

表3:IPv6 Neighbor Discovery Option Formats Subregistryに追加

9.3. RD Parameters Registry
9.3. RDパラメータレジストリ

This specification defines a new subregistry for registration and lookup parameters called "RD Parameters" within the "Constrained RESTful Environments (CoRE) Parameters" registry. 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.

この仕様は、「制約付きのRESTFUL環境(CORE)パラメーター」内の「RDパラメーター」と呼ばれる登録およびルックアップパラメーターの新しいサブレジストリを定義します。この仕様は基本的なパラメーターセットを定義しますが、このインターフェイスを使用する他の標準が新しい標準を定義することが期待されています。

Each entry in the registry must include:

レジストリ内の各エントリには以下を含める必要があります。

* the human-readable name of the parameter,

* パラメーターの人間の読み取り可能な名前、

* the short name, as used in query parameters or target attributes,

* クエリパラメーターまたはターゲット属性で使用される短い名前、

* syntax and validity requirements (if any),

* 構文と妥当性の要件(ある場合)、

* indication of whether it can be passed as a query parameter at registration of endpoints, passed as a query parameter in lookups, or expressed as a target attribute,

* エンドポイントの登録時にクエリパラメーターとして渡すことができるか、ルックアップでクエリパラメーターとして渡されるか、ターゲット属性として表現できるかどうかを示しています。

* a description, and

* 説明、そして

* a link to reference documentation.

* 参照ドキュメントへのリンク。

The query parameter MUST be both a valid URI query key [RFC3986] and a token as used in [RFC8288].

クエリパラメーターは、有効なURIクエリキー[RFC3986]と[RFC8288]で使用されているトークンの両方である必要があります。

The reference documentation must give details on whether the parameter can be updated and how it is to be processed in lookups.

参照ドキュメントは、パラメーターを更新できるかどうか、およびルックアップでどのように処理するかについての詳細を提供する必要があります。

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 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.)

新しいRDパラメーターをめぐるメカニズムは、パラメーターを認識しないRD実装に許容し、エンドポイントルックアップの登録または更新時に渡されたパラメーターを公開するように設計する必要があります。(たとえば、登録時に使用されたパラメーターが機密である場合、RDがディスカバリーステップで機密を維持するためのサポートを宣伝する場合にのみ、登録エンドポイントにそのパラメーターを設定するように指示する必要があります。)

Initial entries in this subregistry are as follows:

このサブレジストリの初期エントリは次のとおりです。

    +==============+=======+==============+=====+=====================+
    | Name         | Short | Validity     | Use | Description         |
    +==============+=======+==============+=====+=====================+
    | Endpoint     | ep    | Unicode*     | RLA | Name of the         |
    | Name         |       |              |     | endpoint            |
    +--------------+-------+--------------+-----+---------------------+
    | Lifetime     | lt    | 1-4294967295 | R   | Lifetime of the     |
    |              |       |              |     | registration in     |
    |              |       |              |     | seconds             |
    +--------------+-------+--------------+-----+---------------------+
    | Sector       | d     | Unicode*     | RLA | Sector to which     |
    |              |       |              |     | this endpoint       |
    |              |       |              |     | belongs             |
    +--------------+-------+--------------+-----+---------------------+
    | Registration | base  | URI          | RLA | The scheme,         |
    | Base URI     |       |              |     | address, port, and  |
    |              |       |              |     | path at which this  |
    |              |       |              |     | server is available |
    +--------------+-------+--------------+-----+---------------------+
    | Page         | page  | Integer      | L   | Used for pagination |
    +--------------+-------+--------------+-----+---------------------+
    | Count        | count | Integer      | L   | Used for pagination |
    +--------------+-------+--------------+-----+---------------------+
    | Endpoint     | et    | RFC 9176,    | RLA | Semantic type of    |
    | Type         |       | Section      |     | the endpoint (see   |
    |              |       | 9.3.1        |     | RFC 9176,           |
    |              |       |              |     | Section 9.4)        |
    +--------------+-------+--------------+-----+---------------------+
        

Table 4: New RD Parameters Registry

表4:新しいRDパラメータレジストリ

Where:

ただし:

Short: Short name used in query parameters or target attributes

ショート:クエリパラメーターまたはターゲット属性で使用される短い名前

Validity:

有効:

Unicode* = up to 63 bytes of UTF-8-encoded Unicode, with no control characters as per Section 5

Unicode* = UTF-8エンコードされたUnicodeの最大63バイトから、セクション5に従って制御文字はありません

Use:

使用する:

R = used at registration L = used at lookup A = expressed in the target attribute

r =登録時に使用l =ルックアップで使用a =ターゲット属性で表現

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 are described in the respective sections of this document. All their reference documentation entries point to this document.

このドキュメントで定義されているオプションの説明は、ここでのみ要約されています。どの登録が適用され、それらが表示される場合に、このドキュメントのそれぞれのセクションで説明されています。すべての参照ドキュメントエントリは、このドキュメントを指しています。

The IANA policy for future additions to the subregistry is Expert Review, as described in [RFC8126]. The evaluation should consider formal criteria, duplication of functionality (i.e., 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 (e.g., if 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 if query parameter could ambiguously filter by the registered endpoint property or the target attribute [RFC6690]).

[RFC8126]に記載されているように、サブレジストリへの将来の追加に関するIANAポリシーは専門家のレビューです。評価では、正式な基準、機能の複製(つまり、新しいエントリは既存のものと冗長性がありますか?)、局所的適合性を考慮する必要があります(たとえば、記述されたプロパティは実際にはエンドポイントのプロパティであり、特定のリソースのプロパティではなく、登録のペイロードに移動する必要があり、登録する必要はありませんか?)、および一般的に使用されるターゲット属性との競合の可能性(たとえば、使用しない場合は条件付き登録のパラメーターとして使用できる場合は、検索または属性ですが、ifクエリパラメーターを使用したリソースルックアップは、登録されたエンドポイントプロパティまたはターゲット属性[RFC6690]によってあいまいにフィルタリングできるため、ルックアップの悪いパラメーターを作成します。

9.3.1. Full Description of the "Endpoint Type" RD Parameter
9.3.1. 「エンドポイントタイプ」RDパラメーターの完全な説明

An endpoint registering at an RD can describe itself with endpoint types, similar to how resources are described with resource types in [RFC6690]. An endpoint type is expressed as a string, which can be either a URI or one of the values defined in the "Endpoint Type (et=) RD Parameter Values" subregistry. Endpoint types can be passed in the et query parameter as part of extra-attrs at the "registration" step of Section 5, are shown on endpoint lookups using the et target attribute, and can be filtered for using et as a search criterion in resource and endpoint lookup. Multiple endpoint types are given as separate query parameters or link attributes.

RDで登録するエンドポイントは、[RFC6690]のリソースタイプでリソースの説明方法と同様に、エンドポイントタイプでそれ自体を記述できます。エンドポイントタイプは文字列として表されます。これは、URIまたは「エンドポイントタイプ(ET =)RDパラメーター値」で定義されている値のいずれかである可能性があります。エンドポイントタイプは、セクション5の「登録」ステップでエクストラアトトルの一部としてETクエリパラメーターに渡すことができ、ETターゲット属性を使用してエンドポイントルックアップに表示され、リソースの検索基準としてETとして使用するためにフィルタリングできます。エンドポイントルックアップ。複数のエンドポイントタイプには、個別のクエリパラメーターまたはリンク属性として与えられます。

Note that the endpoint type differs from the resource type in that it uses multiple attributes rather than space-separated values. As a result, RDs implementing this specification automatically support correct filtering in the lookup interfaces from the rules for unknown endpoint attributes.

エンドポイントタイプは、スペース分離値ではなく複数の属性を使用するという点で、リソースタイプとは異なることに注意してください。その結果、この仕様を実装するRDSは、不明なエンドポイント属性のルールからのルックアップインターフェイスでの正しいフィルタリングを自動的にサポートします。

9.4. Endpoint Type (et=) RD Parameter Values
9.4. エンドポイントタイプ(ET =)RDパラメーター値

This specification establishes a new subregistry called "Endpoint Type (et=) RD Parameter Values" within the "Constrained RESTful Environments (CoRE) Parameters" registry. The registry properties (required policy, requirements, and template) are identical to those of the "Resource Type (rt=) Link Target Attribute Values" subregistry defined in [RFC6690]; in short, the review policy is IETF Review for values starting with "core" and Specification Required for others.

この仕様は、「制約付きのRESTFUL環境(CORE)パラメーター」レジストリ内の「エンドポイントタイプ(ET =)RDパラメーター値」と呼ばれる新しいサブレジストリを確立します。レジストリプロパティ(必要なポリシー、要件、およびテンプレート)は、[RFC6690]で定義されている「リソースタイプ(rt =)リンクターゲット属性値」サブレジストリのものと同一です。要するに、レビューポリシーは、「コア」と他の人に必要な仕様から始まる値のIETFレビューです。

The requirements to be enforced are:

施行される要件は次のとおりです。

* The values MUST be related to the purpose described in Section 9.3.1.

* 値は、セクション9.3.1で説明されている目的に関連している必要があります。

* The registered values MUST conform to the ABNF reg-rel-type definition of [RFC6690] and MUST NOT be a URI.

* 登録値は、[RFC6690]のABNF REG-RELタイプの定義に準拠する必要があり、URIであってはなりません。

* It is recommended to use the period "." character for segmentation.

* 期間を使用することをお勧めします。セグメンテーションのキャラクター。

The initial contents of the registry are as follows:

レジストリの最初の内容は次のとおりです。

    +===============+====================================+===========+
    | Value         | Description                        | Reference |
    +===============+====================================+===========+
    | core.rd-group | An application group, as described | RFC 9176  |
    |               | in RFC 9176, Appendix A.           |           |
    +---------------+------------------------------------+-----------+
        

Table 5: New Endpoint Type (et=) RD Parameter Values Registry

表5:新しいエンドポイントタイプ(ET =)RDパラメーター値レジストリ

9.5. Multicast Address Registration
9.5. マルチキャストアドレス登録

IANA has assigned the following multicast addresses for use by CoAP nodes:

IANAは、COAPノードで使用するために次のマルチキャストアドレスを割り当てました。

IPv4 -- "All CoRE Resource Directories" address 224.0.1.190, in the "Internetwork Control Block (224.0.1.0 - 224.0.1.255 (224.0.1/24))" subregistry within 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) [RFC5771].

IPv4-「すべてのコアリソースディレクトリ」は、「インターネットワーク制御ブロック(224.0.1.0-224.0.1.255(224.0.1/24))」で、「IPv4マルチキャストアドレススペースレジストリ」内のサブレジストリで、224.0.1.1.190アドレス224.0.1.190を扱います。アドレスは、単一のネットワークを超えて及ぶ発見に使用されるため、インターネットワーク制御ブロック(224.0.1.x)[RFC5771]から来ています。

IPv6 -- "All CoRE Resource Directories" address ff0x::fe, in the "Variable Scope Multicast Addresses" subregistry within the "IPv6 Multicast Address Space Registry" [RFC3307]. 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.

IPv6-「すべてのコアリソースディレクトリ」アドレスFF0X :: FE、「IPv6マルチキャストアドレススペースレジストリ」[RFC3307]内の「可変スコープマルチキャストアドレス」サブレジストリ。興味のあるCOAPノードが聞く必要がある各スコープには、明確なマルチキャストアドレスがあることに注意してください。COAPには、Link-LocalおよびSite-Local Scopesのみが必要です。

9.6. Well-Known URIs
9.6. 有名なウリス

IANA has registered the URI suffix "rd" in the "Well-Known URIs" registry as follows:

IANAは、次のように、「有名なURIS」レジストリにURIサフィックス「RD」を登録しています。

        +============+===================+===========+===========+
        | URI Suffix | Change Controller | Reference | Status    |
        +============+===================+===========+===========+
        | rd         | IETF              | RFC 9176  | permanent |
        +------------+-------------------+-----------+-----------+
        

Table 6: Addition to Well-Known URIs Registry

表6:よく知られているURISレジストリへの追加

9.7. Service Name and Transport Protocol Port Number Registry
9.7. サービス名と輸送プロトコルポート番号レジストリ

IANA has added four new items to the "Service Name and Transport Protocol Port Number Registry" as follows:

IANAは、次のように「サービス名と輸送プロトコルポート番号レジストリ」に4つの新しいアイテムを追加しました。

      +==============+===========+=====================+===========+
      | Service Name | Transport | Description         | Reference |
      |              | Protocol  |                     |           |
      +==============+===========+=====================+===========+
      | core-rd      | udp       | Resource Directory  | RFC 9176  |
      |              |           | accessed using CoAP |           |
      +--------------+-----------+---------------------+-----------+
      | core-rd-dtls | udp       | Resource Directory  | RFC 9176  |
      |              |           | accessed using CoAP |           |
      |              |           | over DTLS           |           |
      +--------------+-----------+---------------------+-----------+
      | core-rd      | tcp       | Resource Directory  | RFC 9176  |
      |              |           | accessed using CoAP |           |
      |              |           | over TCP            |           |
      +--------------+-----------+---------------------+-----------+
      | core-rd-tls  | tcp       | Resource Directory  | RFC 9176  |
      |              |           | accessed using CoAP |           |
      |              |           | over TLS            |           |
      +--------------+-----------+---------------------+-----------+
        

Table 7: Additions to Service Name and Transport Protocol Port Number Registry

表7:サービス名と輸送プロトコルのポート番号レジストリへの追加

10. Examples
10. 例

Two examples are presented: a lighting installation example in Section 10.1 and a Lightweight M2M (LwM2M) example in Section 10.2.

2つの例を示します。セクション10.1の照明設置例と、セクション10.2の軽量M2M(LWM2M)の例。

10.1. Lighting Installation
10.1. 照明の設置

This example shows a simplified lighting installation that makes use of the RD with a CoAP interface to facilitate the installation and startup 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 Appendix A. 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.

この例は、COAPインターフェイスを備えたRDを利用して、ライトとセンサーのアプリケーションコードの設置と起動を容易にする簡略化された照明設置を示しています。特に、この例は、グループの定義と、付録Aで説明されているように、対応するマルチキャストアドレスの有効化につながります。実際のインストールまたは命名手順の実現について結論を導き出さなければなりません。RDの使用に影響を与え、規範的であるふりをしない問題。

10.1.1. Installation Characteristics
10.1.1. インストール特性

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 Wi-Fi to the installation network, connected via GPRS link, or connected by another method.

この例は、インストールが管理されていると仮定しています。つまり、試運転ツール(CT)を使用して、ノードの追加を承認し、名前を付けて、サービスに名前を付けます。CTは多くの方法でインストールに接続できます。CTは、インストールネットワークの一部であり、Wi-Fiによってインストールネットワークに接続され、GPRSリンクを介して接続されているか、別の方法で接続できます。

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.

インストールには2つの命名当局があると想定されています。(1)ネットワークと接続されたインターフェイスの正しい動作を担当するネットワークマネージャーと(2)ネットワークライトの正しい機能を担当する照明マネージャーおよびセンサー。その結果、2つの管理エンティティからの2つの命名スキームが存在します。

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 the middle and left lamps of luminary1 and the right lamp of luminary2.

インストールの例は、1つの存在感センサーと2つの輝度、Luminar1とLuminar2で構成されており、それぞれ独自のワイヤレスインターフェイスを備えています。各Luminaryには、左、右、および中央の3つのランプが含まれています。各LUMINARINARは、1つのエンドポイントからアクセスできます。各ランプについて、リソースが存在し、ランプの設定を明すべてで変更します。インストールの目的は、存在感センサーがランプのグループに人の存在を通知することです。ランプのグループは、Luminar1の中央および左ランプとLuminary2の右ランプで構成されています。

Before commissioning by the lighting manager, the network is installed, and access to the interfaces is proven to work by the network manager.

照明マネージャーが試運転する前に、ネットワークがインストールされ、インターフェイスへのアクセスがネットワークマネージャーによって機能することが証明されています。

At the moment of installation, the network under installation is not necessarily connected to the DNS infrastructure. Therefore, Stateless Address Autoconfiguration (SLAAC) IPv6 addresses are assigned to CT, RD, luminaries, and the sensor. The addresses shown in Table 8 below stand in for these in the following examples.

インストールの時点で、インストール中のネットワークは必ずしもDNSインフラストラクチャに接続されているわけではありません。したがって、ステートレスアドレスAutoconfiguration(SLAAC)IPv6アドレスは、CT、RD、著名人、およびセンサーに割り当てられます。以下の表8に示すアドレスは、次の例でこれらを表しています。

                   +=================+================+
                   | Name            | IPv6 address   |
                   +=================+================+
                   | luminary1       | 2001:db8:4::1  |
                   +-----------------+----------------+
                   | luminary2       | 2001:db8:4::2  |
                   +-----------------+----------------+
                   | Presence sensor | 2001:db8:4::3  |
                   +-----------------+----------------+
                   | RD              | 2001:db8:4::ff |
                   +-----------------+----------------+
        

Table 8: Addresses Used in the Examples

表8:例で使用されているアドレス

In Section 10.1.2, the use of RD during installation is presented.

セクション10.1.2では、インストール中のRDの使用が提示されています。

10.1.2. RD Entries
10.1.2. RDエントリ

It is assumed that access to the DNS infrastructure is not always possible during installation. Therefore, the SLAAC addresses are used in this section.

DNSインフラストラクチャへのアクセスは、インストール中に必ずしも可能ではないと想定されています。したがって、このセクションではSLAACアドレスが使用されます。

For discovery, the resource types (rt) of the devices are important. The lamps in the luminaries have rt=tag:example.com,2020:light, and the presence sensor has rt=tag:example.com,2020:p-sensor. The endpoints have names that 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 RD are shown in Table 9.

発見のために、デバイスのリソースタイプ(RT)が重要です。著名人のランプにはrt = tag:example.com、2020:light、および存在感センサーにはrt = tag:example.com、2020:p-sensorがあります。エンドポイントには、Light Installation Managerに関連する名前があります。この場合、luminary1、Luminar2、および存在センサーは、窓にある部屋2-4-015にあります。Luminar1は窓にあり、Luminar2があり、存在センサーはドアにあります。エンドポイント名はこの物理的な場所を反映しています。中央、左、右のランプは、それぞれパス /ライト /ミドル、 /ライト /左、および /右 /右からアクセスできます。RDに関連する識別子を表9に示します。

   +=========+================+========+===============================+
   |Name     |Endpoint        |Resource| Resource Type                 |
   |         |                |Path    |                               |
   +=========+================+========+===============================+
   |luminary1|lm_R2-4-015_wndw|/light/ | tag:example.com,2020:light    |
   |         |                |left    |                               |
   +---------+----------------+--------+-------------------------------+
   |luminary1|lm_R2-4-015_wndw|/light/ | tag:example.com,2020:light    |
   |         |                |middle  |                               |
   +---------+----------------+--------+-------------------------------+
   |luminary1|lm_R2-4-015_wndw|/light/ | tag:example.com,2020:light    |
   |         |                |right   |                               |
   +---------+----------------+--------+-------------------------------+
   |luminary2|lm_R2-4-015_door|/light/ | tag:example.com,2020:light    |
   |         |                |left    |                               |
   +---------+----------------+--------+-------------------------------+
   |luminary2|lm_R2-4-015_door|/light/ | tag:example.com,2020:light    |
   |         |                |middle  |                               |
   +---------+----------------+--------+-------------------------------+
   |luminary2|lm_R2-4-015_door|/light/ | tag:example.com,2020:light    |
   |         |                |right   |                               |
   +---------+----------------+--------+-------------------------------+
   |Presence |ps_R2-4-015_door|/ps     | tag:example.com,2020:p-sensor |
   |sensor   |                |        |                               |
   +---------+----------------+--------+-------------------------------+
        

Table 9: RD Identifiers

表9:RD識別子

It is assumed that the CT has performed RD discovery and has received a response like the one in the example in Section 4.3.

CTはRD発見を実行し、セクション4.3の例のような応答を受け取ったと想定されています。

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:

CTは、登録ベースのURIパラメーター(ベース)を使用して、RDの著名人とセンサーのエンドポイントを挿入して、インターフェイスアドレスを指定します。

   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="tag:example.com,2020:light",
   </light/middle>;rt="tag:example.com,2020:light",
   </light/right>;rt="tag:example.com,2020: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="tag:example.com,2020:light",
   </light/middle>;rt="tag:example.com,2020:light",
   </light/right>;rt="tag:example.com,2020: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=R2-4-015
   Payload:
   </ps>;rt="tag:example.com,2020:p-sensor"
        
   Res: 2.01 Created
   Location-Path: /rd/4523
        

Figure 24: Example of Registrations a CT Enters into an RD

図24:登録の例CTがRDに入る

The sector name d=R2-4-015 has been added for an efficient lookup because filtering on the "ep" name is more awkward. The same sector name is communicated to the two luminaries and the presence sensor by the CT.

セクター名D = R2-4-015は、「EP」名のフィルタリングがより厄介であるため、効率的な検索のために追加されました。同じセクター名が2つの著名人とCTによって存在感センサーに通信されます。

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.

グループはRDで指定されています。ベースパラメーターは、グループに割り当てられたサイトローカルマルチキャストアドレスに設定されます。以下の例の投稿では、すべてのグループメンバーがサポートするリソースが公開されています。

   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="tag:example.com,2020:light",
   </light/middle>;rt="tag:example.com,2020:light",
   </light/right>;rt="tag:example.com,2020:light"
        
   Res: 2.01 Created
   Location-Path: /rd/501
        

Figure 25: Example of a Multicast Group a CT Enters into an RD

図25:マルチキャストグループA CTの例がRDに入ります

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.

CTによるRDの充填後、著名人のアプリケーションは、どのグループに属しているかを学び、マルチキャストアドレスのインターフェイスを有効にすることができます。

The luminary, knowing its sector and being configured to join any group containing lights, searches for candidate groups and joins them:

そのセクターを知っており、ライトを含むグループに参加するように構成され、候補グループを検索し、それらに参加するように構成されています。

   Req: GET coap://[2001:db8:4::ff]/rd-lookup/ep
     ?d=R2-4-015&et=core.rd-group&rt=light
        
   Res: 2.05 Content
   Payload:
   </rd/501>;ep=grp_R2-4-015;et=core.rd-group;
             base="coap://[ff05::1]";rt=core.rd-ep
        

Figure 26: Example of a Lookup Exchange to Find Suitable Multicast Addresses

図26:適切なマルチキャストアドレスを見つけるためのルックアップ交換の例

From the returned base parameter value, the luminary learns the multicast address of the multicast group.

返されたベースパラメーター値から、Luminaryはマルチキャストグループのマルチキャストアドレスを学習します。

The presence sensor can learn the presence of groups that support resources with rt=tag:example.com,2020: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.

存在感センサーは、RT = tag:Example.com、2020:Light of the Luminaryが使用するのと同じリクエストを送信することにより、独自のセクターのライトを使用してリソースをサポートするグループの存在を学習できます。存在感センサーは、著名人にメッセージを送信するために使用するマルチキャストアドレスを学習します。

10.2. OMA Lightweight M2M (LwM2M)
10.2. OMA軽量M2M(LWM2M)

OMA LwM2M is a profile for device services based on CoAP, providing interfaces and operations for device management and device service enablement.

OMA LWM2Mは、COAPに基づいたデバイスサービスのプロファイルであり、デバイス管理とデバイスサービスの有効化にインターフェイスと操作を提供します。

An LwM2M server is an instance of an LwM2M middleware service layer, containing an RD ([LwM2M], starting at page 36).

LWM2Mサーバーは、36ページから始まるRD([LWM2M])を含むLWM2Mミドルウェアサービスレイヤーのインスタンスです。

That RD only implements the registration interface, and no lookup is implemented. Instead, the LwM2M server provides access to the registered resources in a similar way to a reverse proxy.

そのRDは登録インターフェイスのみを実装しており、検索は実装されていません。代わりに、LWM2Mサーバーは、逆プロキシと同様の方法で登録リソースへのアクセスを提供します。

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.

LWM2MサーバーとRD URIパスの位置は、LWM2Mブートストラッププロセスによって提供されるため、RDの動的な発見は使用されません。LWM2Mサーバーとエンドポイントは、 /.well-nown /coreリソースを実装するために必要はありません。

11. References
11. 参考文献
11.1. Normative References
11.1. 引用文献

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するためのキーワード」、BCP 14、RFC 2119、DOI 10.17487/RFC2119、1997年3月、<https://www.rfc-editor.org/info/RFC2119>。

[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform Resource Identifier (URI): Generic Syntax", STD 66, RFC 3986, DOI 10.17487/RFC3986, January 2005, <https://www.rfc-editor.org/info/rfc3986>.

[RFC3986] Berners-Lee、T.、Fielding、R。、およびL. Masinter、「Uniform Resource Identifier(URI):Generic Syntax」、Std 66、RFC 3986、DOI 10.17487/RFC3986、2005年1月、<https://www.rfc-editor.org/info/rfc3986>。

[RFC6570] Gregorio, J., Fielding, R., Hadley, M., Nottingham, M., and D. Orchard, "URI Template", RFC 6570, DOI 10.17487/RFC6570, March 2012, <https://www.rfc-editor.org/info/rfc6570>.

[RFC6570]グレゴリオ、J。、フィールディング、R。、ハドリー、M。、ノッティンガム、M。、およびD.オーチャード、「URIテンプレート」、RFC 6570、DOI 10.17487/RFC6570、2012年3月、<https:// wwwwwwwwwwwwww.rfc-editor.org/info/rfc6570>。

[RFC6690] Shelby, Z., "Constrained RESTful Environments (CoRE) Link Format", RFC 6690, DOI 10.17487/RFC6690, August 2012, <https://www.rfc-editor.org/info/rfc6690>.

[RFC6690]シェルビー、Z。、「制約付き安静環境(コア)リンク形式」、RFC 6690、DOI 10.17487/RFC6690、2012年8月、<https://www.rfc-editor.org/info/rfc690>

[RFC6763] Cheshire, S. and M. Krochmal, "DNS-Based Service Discovery", RFC 6763, DOI 10.17487/RFC6763, February 2013, <https://www.rfc-editor.org/info/rfc6763>.

[RFC6763] Cheshire、S。およびM. Krochmal、「DNSベースのサービスディスカバリー」、RFC 6763、DOI 10.17487/RFC6763、2013年2月、<https://www.rfc-editor.org/info/rfc6763>

[RFC7230] Fielding, R., Ed. and J. Reschke, Ed., "Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing", RFC 7230, DOI 10.17487/RFC7230, June 2014, <https://www.rfc-editor.org/info/rfc7230>.

[RFC7230] Fielding、R.、ed。and J. Reschke、ed。、「HyperText Transfer Protocol(HTTP/1.1):メッセージの構文とルーティング」、RFC 7230、DOI 10.17487/RFC7230、2014年6月、<https://www.rfc-editor.org/info/RFC7230>。

[RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained Application Protocol (CoAP)", RFC 7252, DOI 10.17487/RFC7252, June 2014, <https://www.rfc-editor.org/info/rfc7252>.

[RFC7252] Shelby、Z.、Hartke、K。、およびC. Bormann、「制約付きアプリケーションプロトコル(COAP)」、RFC 7252、DOI 10.17487/RFC7252、2014年6月、<https://www.rfc-editor。org/info/rfc7252>。

[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017, <https://www.rfc-editor.org/info/rfc8126>.

[RFC8126] Cotton、M.、Leiba、B。、およびT. Narten、「RFCSでIANA考慮事項セクションを書くためのガイドライン」、BCP 26、RFC 8126、DOI 10.17487/RFC8126、2017年6月、<https:// wwwwwwwwwwwwwwwwwwww.rfc-editor.org/info/rfc8126>。

[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.

[RFC8174] Leiba、B。、「RFC 2119キーワードの大文字と小文字のあいまいさ」、BCP 14、RFC 8174、DOI 10.17487/RFC8174、2017年5月、<https://www.rfc-editor.org/info/RFC8174>。

[RFC8288] Nottingham, M., "Web Linking", RFC 8288, DOI 10.17487/RFC8288, October 2017, <https://www.rfc-editor.org/info/rfc8288>.

[RFC8288]ノッティンガム、M。、「Webリンク」、RFC 8288、DOI 10.17487/RFC8288、2017年10月、<https://www.rfc-editor.org/info/rfc8288>。

[RFC9175] Amsüss, C., Preuß Mattsson, J., and G. Selander, "Constrained Application Protocol (CoAP): Echo, Request-Tag, and Token Processing", RFC 9175, DOI 10.17487/RFC9175, February 2022, <https://www.rfc-editor.org/info/rfc9175>.

[RFC9175]Amsüss、C.、PreußMattsson、J。、およびG. Selander、「制約付きアプリケーションプロトコル(COAP):Echo、Request-Tag、およびToken Processing」、RFC 9175、DOI 10.17487/RFC9175、2月2022年、<<<<https://www.rfc-editor.org/info/rfc9175>。

11.2. Informative References
11.2. 参考引用

[ACE-OAUTH-AUTHZ] Seitz, L., Selander, G., Wahlstroem, E., Erdtman, S., and H. Tschofenig, "Authentication and Authorization for Constrained Environments (ACE) using the OAuth 2.0 Framework (ACE-OAuth)", Work in Progress, Internet-Draft, draft-ietf-ace-oauth-authz-46, 8 November 2021, <https://datatracker.ietf.org/doc/html/draft-ietf-ace-oauth-authz-46>.

[Ace-oauth-authz] Seitz、L.、Selander、G.、Wahlstroem、E.、Erdtman、S。、およびH. Tschofenig、「OAUTH 2.0フレームワークを使用した制約環境(ACE)の認証と認証(ACE)(ACE-oauth) "、進行中の作業、インターネットドラフト、ドラフト-iitf-ace-oauth-authz-46、2021年11月8日、<https://datatracker.ietf.org/doc/html/draft-ietf-ace-oauth-authz-46>。

[COAP-PROT-NEG] Silverajan, B. and M. Ocak, "CoAP Protocol Negotiation", Work in Progress, Internet-Draft, draft-silverajan-core-coap-protocol-negotiation-09, 2 July 2018, <https://datatracker.ietf.org/doc/html/draft-silverajan-core-coap-protocol-negotiation-09>.

[Coap-Prot-neg] Silverajan、B。and M. Ocak、「Coap Protocol Negotiation」、Work in Progress、Internet-Draft、Draft-Silverajan-Core-Coap-Protocol-Negotiation-09、2018、<https://datatracker.ietf.org/doc/html/draft-silverajan-core-coap-protocol-negotiation-09>。

[CORE-CORAL] Amsüss, C. and T. Fossati, "The Constrained RESTful Application Language (CoRAL)", Work in Progress, Internet-Draft, draft-ietf-core-coral-05, 7 March 2022, <https://datatracker.ietf.org/doc/html/draft-ietf-core-coral-05>.

[Core-coral]Amsüss、C。and T. Fossati、「The Constared Restful Application Language(Coral)」、Progress、Internet-Draft、Draft-Itef-Core-Coral-05、2022年3月7日、<HTTPS://datatracker.ietf.org/doc/html/draft-ietf-core-coral-05>。

[CORE-LINKS-JSON] Li, K., Rahman, A., and C. Bormann, Ed., "Representing Constrained RESTful Environments (CoRE) Link Format in JSON and CBOR", Work in Progress, Internet-Draft, draft-ietf-core-links-json-10, 26 February 2018, <https://datatracker.ietf.org/doc/html/draft-ietf-core-links-json-10>.

[Core-Links-Json] Li、K.、Rahman、A。、およびC. Bormann、ed。、「JSONおよびCBORの制約された安らかな環境(コア)リンク形式を表す」、進行中の作業、インターネットドラフト、ドラフト-ietf-core-links-json-10、2018年2月26日、<https://datatracker.ietf.org/doc/html/draft-ietf-core-links-json-10>。

[CORE-RD-DNS-SD] van der Stok, P., Koster, M., and C. Amsuess, "CoRE Resource Directory: DNS-SD mapping", Work in Progress, Internet-Draft, draft-ietf-core-rd-dns-sd-05, 7 July 2019, <https://datatracker.ietf.org/doc/html/draft-ietf-core-rd-dns-sd-05>.

[core-rd-dns-sd] van der Stok、P.、Koster、M。、およびC. Amsuess、「コアリソースディレクトリ:DNS-SDマッピング」、進行中の作業、インターネットドラフト、ドラフト-ITEF-CORE-rd-dns-sd-05、2019年7月7日、<https://datatracker.ietf.org/doc/html/draft-ietf-core-rd-dns-sd-05>。

[ER] Chen, P., "The entity-relationship model--toward a unified view of data", ACM Transactions on Database Systems, Vol. 1, pp. 9-36, DOI 10.1145/320434.320440, March 1976, <https://doi.org/10.1145/320434.320440>.

[ER] Chen、P。、「エンティティ関連モデル - データの統一ビュー」、データベースシステムのACMトランザクション、Vol。1、pp。9-36、DOI 10.1145/320434.320440、1976年3月、<https://doi.org/10.1145/320434.320440>。

[LwM2M] Open Mobile Alliance, "Lightweight Machine to Machine Technical Specification: Transport Bindings (Candidate Version 1.1)", June 2018, <https://openmobilealliance.org/RELEASE/LightweightM2M/ V1_1-20180612-C/OMA-TS-LightweightM2M_Transport-V1_1-20180612-C.pdf>.

[LWM2M]オープンモバイルアライアンス、「機械技術仕様への軽量マシン:輸送バインディング(候補バージョン1.1)」、2018年6月、<https://openmobilealliance.org/Release/LightWeightM2M/ V1_1-20180612-C/OMA-TS-LightWeightM2M_TRANSPORT-V1_1-20180612-C.PDF>。

[RFC3306] Haberman, B. and D. Thaler, "Unicast-Prefix-based IPv6 Multicast Addresses", RFC 3306, DOI 10.17487/RFC3306, August 2002, <https://www.rfc-editor.org/info/rfc3306>.

[RFC3306] Haberman、B。and D. Thaler、「Unicast-PrefixベースのIPv6マルチキャストアドレス」、RFC 3306、DOI 10.17487/RFC3306、2002年8月、<https://www.rfc-editor.org/info/RFC33066>。

[RFC3307] Haberman, B., "Allocation Guidelines for IPv6 Multicast Addresses", RFC 3307, DOI 10.17487/RFC3307, August 2002, <https://www.rfc-editor.org/info/rfc3307>.

[RFC3307] Haberman、B。、「IPv6マルチキャストアドレスの割り当てガイドライン」、RFC 3307、DOI 10.17487/RFC3307、2002年8月、<https://www.rfc-editor.org/info/rfc3307>。

[RFC3849] Huston, G., Lord, A., and P. Smith, "IPv6 Address Prefix Reserved for Documentation", RFC 3849, DOI 10.17487/RFC3849, July 2004, <https://www.rfc-editor.org/info/rfc3849>.

[RFC3849] Huston、G.、Lord、A。、およびP. Smith、「IPv6アドレスはドキュメント用に予約されている」、RFC 3849、DOI 10.17487/RFC3849、2004年7月、<https://www.rfc-editor.org/info/rfc3849>。

[RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally Unique IDentifier (UUID) URN Namespace", RFC 4122, DOI 10.17487/RFC4122, July 2005, <https://www.rfc-editor.org/info/rfc4122>.

[RFC4122] Leach、P.、Mealling、M.、およびR. Salz、「普遍的にユニークな識別子(UUID)URNネームスペース」、RFC 4122、DOI 10.17487/RFC4122、2005年7月、<https://www.rfc-editor.org/info/rfc4122>。

[RFC4944] Montenegro, G., Kushalnagar, N., Hui, J., and D. Culler, "Transmission of IPv6 Packets over IEEE 802.15.4 Networks", RFC 4944, DOI 10.17487/RFC4944, September 2007, <https://www.rfc-editor.org/info/rfc4944>.

[RFC4944] Montenegro、G.、Kushalnagar、N.、Hui、J。、およびD. Culler、「IEEE 802.15.4ネットワークを介したIPv6パケットの送信」、RFC 4944、DOI 10.17487/RFC4944、2007年9月、<HTPS://www.rfc-editor.org/info/rfc4944>。

[RFC5771] Cotton, M., Vegoda, L., and D. Meyer, "IANA Guidelines for IPv4 Multicast Address Assignments", BCP 51, RFC 5771, DOI 10.17487/RFC5771, March 2010, <https://www.rfc-editor.org/info/rfc5771>.

[RFC5771] Cotton、M.、Vegoda、L。、およびD. Meyer、「IPv4マルチキャストアドレス割り当てのIANAガイドライン」、BCP 51、RFC 5771、DOI 10.17487/RFC5771、2010年3月、<https://www.rfc-editor.org/info/rfc5771>。

[RFC6724] Thaler, D., Ed., Draves, R., Matsumoto, A., and T. Chown, "Default Address Selection for Internet Protocol Version 6 (IPv6)", RFC 6724, DOI 10.17487/RFC6724, September 2012, <https://www.rfc-editor.org/info/rfc6724>.

[RFC6724] Thaler、D.、Ed。、ed。、Draves、R.、Matsumoto、A。、およびT. Chown、「インターネットプロトコルバージョン6(IPv6)のデフォルトアドレス選択」、RFC 6724、DOI 10.17487/RFC6724、2012年9月、<https://www.rfc-editor.org/info/rfc6724>。

[RFC6775] Shelby, Z., Ed., Chakrabarti, S., Nordmark, E., and C. Bormann, "Neighbor Discovery Optimization for IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs)", RFC 6775, DOI 10.17487/RFC6775, November 2012, <https://www.rfc-editor.org/info/rfc6775>.

[RFC6775] Shelby、Z.、Ed。、Chakrabarti、S.、Nordmark、E。、およびC. Bormann、「低電力ワイヤレスパーソナルエリアネットワーク(6lowpans)を超えるIPv6の近隣発見最適化」、RFC 6775、DOI 10.17487/RFC6775、2012年11月、<https://www.rfc-editor.org/info/rfc6775>。

[RFC6874] Carpenter, B., Cheshire, S., and R. Hinden, "Representing IPv6 Zone Identifiers in Address Literals and Uniform Resource Identifiers", RFC 6874, DOI 10.17487/RFC6874, February 2013, <https://www.rfc-editor.org/info/rfc6874>.

[RFC6874] Carpenter、B.、Cheshire、S。、およびR. Hinden、「住所リテラルおよび均一なリソース識別子のIPv6ゾーン識別子を表す」、RFC 6874、DOI 10.17487/RFC6874、2013年2月、<https:// www。rfc-editor.org/info/rfc6874>。

[RFC7228] Bormann, C., Ersue, M., and A. Keranen, "Terminology for Constrained-Node Networks", RFC 7228, DOI 10.17487/RFC7228, May 2014, <https://www.rfc-editor.org/info/rfc7228>.

[RFC7228] Bormann、C.、Ersue、M。、およびA. Keranen、「制約ノードネットワークの用語」、RFC 7228、DOI 10.17487/RFC7228、2014年5月、<https://www.rfc-editor.org/info/rfc7228>。

[RFC7641] Hartke, K., "Observing Resources in the Constrained Application Protocol (CoAP)", RFC 7641, DOI 10.17487/RFC7641, September 2015, <https://www.rfc-editor.org/info/rfc7641>.

[RFC7641] Hartke、K。、「制約付きアプリケーションプロトコル(COAP)のリソースの観察」、RFC 7641、DOI 10.17487/RFC7641、2015年9月、<https://www.rfc-editor.org/info/rfc7641>。

[RFC8106] Jeong, J., Park, S., Beloeil, L., and S. Madanapalli, "IPv6 Router Advertisement Options for DNS Configuration", RFC 8106, DOI 10.17487/RFC8106, March 2017, <https://www.rfc-editor.org/info/rfc8106>.

[RFC8106] Jeong、J.、Park、S.、Beloeil、L。、およびS. Madanapalli、「DNS構成のIPv6ルーター広告オプション」、RFC 8106、DOI 10.17487/RFC8106、2017年3月、<https://.rfc-editor.org/info/rfc8106>。

[RFC8132] van der Stok, P., Bormann, C., and A. Sehgal, "PATCH and FETCH Methods for the Constrained Application Protocol (CoAP)", RFC 8132, DOI 10.17487/RFC8132, April 2017, <https://www.rfc-editor.org/info/rfc8132>.

[RFC8132] van der Stok、P.、Bormann、C。、およびA. Sehgal、「制約付きアプリケーションプロトコル(COAP)のパッチおよびフェッチ方法」、RFC 8132、DOI 10.17487/RFC8132、2017年4月、<https:/<https://www.rfc-editor.org/info/rfc8132>。

[RFC8141] Saint-Andre, P. and J. Klensin, "Uniform Resource Names (URNs)", RFC 8141, DOI 10.17487/RFC8141, April 2017, <https://www.rfc-editor.org/info/rfc8141>.

[RFC8141] Saint-Andre、P。and J. Klensin、「Uniform Resource名(URNS)」、RFC 8141、DOI 10.17487/RFC8141、2017年4月、<https://www.rfc-editor.org/info/rfc8141141>。

[RFC8613] Selander, G., Mattsson, J., Palombini, F., and L. Seitz, "Object Security for Constrained RESTful Environments (OSCORE)", RFC 8613, DOI 10.17487/RFC8613, July 2019, <https://www.rfc-editor.org/info/rfc8613>.

[RFC8613] Selander、G.、Mattsson、J.、Palombini、F.、およびL. Seitz、「制約された安らかな環境のオブジェクトセキュリティ(OSCORE)」、RFC 8613、DOI 10.17487/RFC8613、2019年7月、<HTTPS://www.rfc-editor.org/info/rfc8613>。

[T2TRG-REL-IMPL] Bormann, C., "impl-info: A link relation type for disclosing implementation information", Work in Progress, Internet-Draft, draft-bormann-t2trg-rel-impl-02, 27 September 2020, <https://datatracker.ietf.org/doc/html/ draft-bormann-t2trg-rel-impl-02>.

[T2TRG-REL-IMPL] Bormann、C。、「Impl-info:実装情報を開示するためのリンク関係タイプ」、進行中の作業、インターネットドラフト、ドラフトボルマン-T2TRG-REL-IMPL-02、2020年9月27日、<https://datatracker.ietf.org/doc/html/ draft-bormann-t2trg-rel-impl-02>。

Appendix A. Groups Registration and Lookup
付録A.グループ登録と検索

The RD-Group's usage pattern allows announcing application groups inside an RD.

RDグループの使用パターンにより、RD内のアプリケーショングループを発表できます。

Groups are represented by endpoint registrations. Their base address is a multicast address, and they SHOULD be entered with the endpoint type core.rd-group. The endpoint name can also be referred to as a group name in this context.

グループはエンドポイント登録で表されます。彼らのベースアドレスはマルチキャストアドレスであり、エンドポイントタイプのcore.rd-groupで入力する必要があります。エンドポイント名は、このコンテキストではグループ名とも呼ばれます。

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.

登録は、ここでグループマネージャーとしても知られている可能性のある試運転ツールによってRDに挿入されます。サードパーティの登録と登録の更新を実行します。

The links it registers SHOULD be available on all members that join the group. Depending on the application, members that lack some resources MAY be permissible if requests to them fail gracefully.

Registersのリンクは、グループに参加するすべてのメンバーで利用できるようにする必要があります。アプリケーションに応じて、リソースをリクエストする場合、いくつかのリソースが不足しているメンバーは、優雅に失敗した場合に許容される場合があります。

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 Figure 5. The group address in the example is constructed from the reserved 2001:db8:: prefix in [RFC3849] as a unicast-prefix-based site-local address (see [RFC3306]).

次の例は、2つのリソースを提供する「Lights」という名前のグループを登録するCTを示しています。ディレクトリリソースパス /RDは、図5と同様のリクエストで発見されたRDの例です。例のグループアドレスは、2001年に予約された2001年から構築されています。ローカルアドレス([RFC3306]を参照)。

   Req: POST coap://rd.example.com/rd?ep=lights&et=core.rd-group
                              &base=coap://[ff35:30:2001:db8:f1::8000:1]
   Content-Format: 40
   Payload:
   </light>;rt="tag:example.com,2020:light";
        if="tag:example.net,2020:actuator",
   </color-temperature>;if="tag:example.net,2020:parameter";u=K
        
   Res: 2.01 Created
   Location-Path: /rd/12
        

Figure 27: Example Registration of a Group

図27:グループの登録の例

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.

この例では、グループマネージャーは、輝度を変えるコマンドに応答するため、書き込み可能な色温度のないデバイスを簡単に許可できます。代わりに、グループに明るさと色温度を原子的に設定する単一のリソースが含まれていた場合、エンドポイントは両方のプロパティをサポートする必要があります。

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.

グループのリソースは他のリソースと同様に調べることができ、グループ登録は(追加の登録パラメーターとともに)エンドポイントルックアップインターフェイスを使用して調べることができます。

The following example shows a client performing an endpoint lookup for all groups:

次の例は、すべてのグループのエンドポイントルックアップを実行するクライアントを示しています。

   Req: GET /rd-lookup/ep?et=core.rd-group
        
   Res: 2.05 Content
   Payload:
   </rd/12>;ep=lights&et=core.rd-group;
            base="coap://[ff35:30:2001:f1:db8::8000:1]";rt=core.rd-ep
        

Figure 28: Example Lookup of Groups

図28:グループの例の検索

The following example shows a client performing a lookup of all resources of all endpoints (groups) with et=core.rd-group:

次の例は、ET = Core.RD-Groupを使用して、すべてのエンドポイント(グループ)のすべてのリソースのルックアップを実行するクライアントを示しています。

   Req: GET /rd-lookup/res?et=core.rd-group
        
   Res: 2.05 Content
   Payload:
   <coap://[ff35:30:2001:db8:f1::8000:1]/light>;
        rt="tag:example.com,2020:light";
        if="tag:example.net,2020:actuator",
   <coap://[ff35:30:2001:db8:f1::8000:1]/color-temperature>;
        if="tag:example.net,2020:parameter";u=K,
        

Figure 29: Example Lookup of Resources Inside Groups

図29:グループ内のリソースの例の例

Appendix B. Web Links and the Resource Directory
付録B. Webリンクとリソースディレクトリ

Understanding the semantics of a link-format document and its URI references is a journey through different documents ([RFC3986] defining URIs, [RFC6690] defining link-format documents based on [RFC8288], which defines Link header fields, and [RFC7252] providing the transport). This appendix summarizes the mechanisms and semantics at play from an entry in /.well-known/core to a resource lookup.

リンクフォーマットドキュメントとそのURI参照のセマンティクスを理解することは、さまざまなドキュメントを通る旅です([RFC3986] URIS、[RFC6690]リンクヘッダーフィールドを定義する[RFC8288]に基づくリンク形式ドキュメントを定義し、[RFC72522]を定義する[RFC7252]輸送を提供する)。この付録は、 /.well-known /coreのエントリからリソースルックアップまでのメカニズムとセマンティクスを要約しています。

This text is primarily aimed at people entering the field of Constrained Restful Environments from applications that previously did not use web mechanisms.

このテキストは、主に、以前はWebメカニズムを使用していなかったアプリケーションから制約された安らかな環境の分野に入る人々を対象としています。

B.1. A Simple Example
B.1. 簡単な例

Let's start this example with a very simple host, 2001:db8:f0::1. A client that follows classical CoAP discovery ([RFC7252], Section 7) sends the following multicast request to learn about neighbors supporting resources with resource-type "temperature".

この例を非常にシンプルなホスト、2001:db8:f0 :: 1から始めましょう。古典的なCOAPディスカバリー([RFC7252]、セクション7)に続くクライアントは、次のマルチキャストリクエストを送信して、リソースタイプの「温度」でリソースをサポートする隣人について学習します。

The client sends a link-local multicast:

クライアントはリンクローカルマルチキャストを送信します:

   Req: GET coap://[ff02::fd]:5683/.well-known/core?rt=temperature
        
   Res: 2.05 Content
   Payload:
   </sensors/temp>;rt=temperature;ct=0
        

Figure 30: Example of Direct Resource Discovery

図30:直接的なリソース発見の例

where the response is sent by the server, [2001:db8:f0::1]:5683.

応答がサーバーによって送信される場所[2001:DB8:F0 :: 1]:5683。

While a practical client side implementation might just go ahead and create a new request to [2001:db8:f0::1]:5683 with Uri-Path sensors and temp, the full resolution steps for insertion into and retrieval from the RD without any shortcuts are as follows.

実際のクライアント側の実装が先に進み、[2001:DB8:F0 :: 1]への新しいリクエストを作成するかもしれませんが、URI-PATHセンサーと温度を使用して、RDへの挿入と検索の完全な解像度の手順は、ショートカットは次のとおりです。

B.1.1. Resolving the URIs
B.1.1. URIの解決

The client parses the single returned link. Its target (sometimes called "href") is /sensors/temp, which is a relative URI that needs resolving. The base URI coap://[ff02::fd]:5683/.well-known/core is used to resolve the reference against /sensors/temp.

クライアントは、シングルリンクリンクを解析します。そのターゲット(「HREF」と呼ばれることもあります)は /センサー /温度であり、解決が必要な相対的なURIです。ベースURI COAP:// [FF02 :: FD]:5683/.Well-known/Coreは、/センサー/温度に対する参照を解決するために使用されます。

The base URI of the requested resource can be composed from the options of the CoAP GET request by following the steps of [RFC7252], Section 6.5 (with an addition at the end of Section 8.2) into coap://[2001:db8:f0::1]/.well-known/core.

要求されたリソースのベースURIは、[RFC7252]の手順に従って、セクション6.5(セクション8.2の終わりに追加)の手順に従って、COAP GETリクエストのオプションから構成できます:// [2001:DB8:f0 :: 1]/。有名/コア。

Because /sensors/temp starts with a single slash, the link's target is resolved by replacing the path /.well-known/core from the base URI ([RFC3986], Section 5.2) with the relative target URI /sensors/temp into coap://[2001:db8:f0::1]/sensors/temp.

/センサー /温度は単一のスラッシュで始まるため、リンクのターゲットは、ベースURI([RFC3986]、セクション5.2)のパス /.Well-NownS/Coreを相対ターゲットURI /センサー /TEMPからCOAPに置き換えることで解決されます。:// [2001:db8:f0 :: 1]/センサー/温度。

B.1.2. Interpreting Attributes and Relations
B.1.2. 属性と関係の解釈

Some more information about the link'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).

リンクのターゲットに関するいくつかの情報は、ペイロードから取得できます。ターゲットのリソースタイプは「温度」であり、そのコンテンツ形式はテキスト/プレーン(CT = 0)です。

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 "_This page_ has _its table of contents_ at _/ toc.html_". In link-format documents, there is an implicit "host relation" specified with default parameter rel="hosts".

Webリンクの関係は、いわゆる「コンテキストリソース」とターゲットリソースの間の名前付き関係を指定する3部構成のステートメントです。リンク形式のドキュメントには、デフォルトのパラメーターrel = "hosts"で指定された暗黙の「ホスト関係」があります。

In our example, the context resource of the link is implied to be coap:://[2001:db8:f0::1] by the default value of the anchor (see Appendix B.4). A full English expression of the "host relation" is:

この例では、リンクのコンテキストリソースは、アンカーのデフォルト値によってCOAP :: // [2001:DB8:F0 :: 1]であることを暗示しています(付録B.4を参照)。「ホスト関係」の完全な英語の表現は次のとおりです。

coap://[2001:db8:f0::1] is hosting the resource coap://[2001:db8:f0::1]/sensors/temp, which is of the resource type "temperature" and can be read in the text/plain content format.

coap:// [2001:db8:f0 :: 1]はリソースをホストしていますcoap:// [2001:db8:f0 :: 1]/センサー/温度は、リソースタイプの「温度」であり、読むことができますテキスト/プレーンコンテンツ形式。

B.2. A Slightly More Complex Example
B.2. 少し複雑な例

Omitting the rt=temperature filter, the discovery query would have given some more links in the payload:

RT =温度フィルターを省略すると、ディスカバリークエリはペイロードにさらにいくつかのリンクが与えられます。

   Req: GET coap://[ff02::fd]:5683/.well-known/core
        
   Res: 2.05 Content
   Payload:
   </sensors/temp>;rt=temperature;ct=0,
   </sensors/light>;rt=light-lux;ct=0,
   </t>;anchor="/sensors/temp";rel=alternate,
   <http://www.example.com/sensors/t123>;anchor="/sensors/temp";
       rel=describedby
        

Figure 31: Extended Example of Direct Resource Discovery

図31:直接的なリソース発見の拡張例

Parsing the third link, the client encounters the "anchor" parameter. It is a URI relative to the base URI of the request and is thus resolved to coap://[2001:db8:f0::1]/sensors/temp. 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 link could be read as:

3番目のリンクを解析すると、クライアントは「アンカー」パラメーターに遭遇します。これは、リクエストのベースURIに対するURIであるため、Coap:// [2001:db8:f0 :: 1]/センサー/温度に解決されます。これがリンクのコンテキストリソースであるため、「Rel」ステートメントは、ターゲットとベースURIに関するものではなく、ターゲットと解決されたURIに関するものではありません。したがって、3番目のリンクは次のように読み取ることができます。

coap://[2001:db8:f0::1]/sensors/temp has an alternate representation at coap://[2001:db8:f0::1]/t.

coap:// [2001:db8:f0 :: 1]/センサー/温度には、coap:// [2001:db8:f0 :: 1]/tで代替表現があります。

Following the same resolution steps, the fourth link can be read as coap://[2001:db8:f0::1]/sensors/temp is described by http://www.example.com/sensors/t123.

同じ解像度の手順に続いて、4番目のリンクはcoap:// [2001:db8:f0:1]/センサー/温度として読み取ることができます。http://www.example.com/sensors/t123

B.3. Enter the Resource Directory
B.3. リソースディレクトリを入力します

The RD tries to carry the semantics obtainable by classical CoAP discovery over to the resource lookup interface as faithfully as possible.

RDは、クラシックコップディスカバリーによって得られるセマンティクスを、可能な限り忠実にリソースルックアップインターフェイスに持ち込むことを試みます。

For the following queries, we will assume that the simple host has used simple registration to register at the RD that was announced to it, sending this request from its UDP port [2001:db8:f0::1]:6553:

次のクエリでは、Simple HostがSimple登録を使用して発表されたRDに登録し、UDPポート[2001:DB8:F0 :: 1]:6553からこのリクエストを送信したと仮定します。

   Req: POST coap://[2001:db8:f0::ff]/.well-known/rd?ep=simple-host1
        

Res: 2.04 Changed

Res:2.04が変更されました

Figure 32: Example of a Simple Registration

図32:簡単な登録の例

The RD would have accepted the registration and queried the simple host's /.well-known/core 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 coap://[2001:db8:f0::1], following the resolution steps described in Appendix B.1.1. It should be remarked that the base URI constructed that way always yields a URI of the form scheme://authority without path suffix.

RDは登録を受け入れ、シンプルなホストの /.Well-known/Coreを単独で照会しました。その結果、ホストは「Simple-Host1」という名前のRDのエンドポイントとして登録されます。登録は90000秒間アクティブであり、エンドポイント登録ベースのURIはCOAP:// [2001:db8:f0 :: 1]であり、付録B.1.1で説明されている解決手順に従います。そのように構築されたベースのURIは、常にフォームのscheme:// authorityの接尾辞のないuriを生成することに注意する必要があります。

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 coap://[2001:db8:f0::ff]/.well-known/core?rt=core.rd-lookup-res, obtain coap://[2001:db8:f0::ff]/rd-lookup/res as the resource lookup endpoint, and ask it for all temperature resources:

クライアントが以前にマルチキャストリクエストを発行したようにRDを照会した場合、coap:// [2001:db8:f0 :: ff]/.well-nown/core?rtを取得することにより、RDディスカバリーステップを通過します。= core.rd-lookup-res、coap:// [2001:db8:f0 :: ff]/rd-lookup/resをリソースルックアップエンドポイントとして取得し、すべての温度リソースを尋ねます。

   Req: GET coap://[2001:db8:f0::ff]/rd-lookup/res?rt=temperature
        
   Res: 2.05 Content
   Payload:
   <coap://[2001:db8:f0::1]/sensors/temp>;rt=temperature;ct=0
        

Figure 33: Example Exchange Performing Resource Lookup

図33:リソース検索を実行するExchange Exchange

This is not _literally_ the same response that it would have received from a multicast request, but it contains the equivalent statement:

これは、マルチキャストリクエストから受け取ったのと同じ応答ではありませんが、同等のステートメントが含まれています。

coap://[2001:db8:f0::1] is hosting the resource coap://[2001:db8:f0::1]/sensors/temp, which is of the resource type "temperature" and can be accessed using the text/plain content format.

coap:// [2001:db8:f0 :: 1]はリソースをホストしていますcoap:// [2001:db8:f0 :: 1]/センサー/温度は、リソースタイプの「温度」であり、アクセスできますテキスト/プレーンコンテンツ形式を使用します。

To complete the examples, the client could also query all resources hosted at the endpoint with the known endpoint name "simple-host1":

例を完了するために、クライアントは、既知のエンドポイント名「Simple-Host1」でエンドポイントでホストされているすべてのリソースを照会することもできます。

   Req: GET coap://[2001:db8:f0::ff]/rd-lookup/res?ep=simple-host1
        
   Res: 2.05 Content
   Payload:
   <coap://[2001:db8:f0::1]/sensors/temp>;rt=temperature;ct=0,
   <coap://[2001:db8:f0::1]/sensors/light>;rt=light-lux;ct=0,
   <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
        

Figure 34: Extended Example Exchange Performing Resource Lookup

図34:リソースルックアップを実行する拡張例交換の例

All the target and anchor references are already in absolute form there, which don't need to be resolved any further.

すべてのターゲットとアンカーの参照はすでに絶対的な形であり、これ以上解決する必要はありません。

Had the simple host done an equivalent full registration with a base= parameter (e.g., ?ep=simple-host1&base=coap+tcp://sh1.example.com), that context would have been used to resolve the relative anchor values instead, giving the following and analogous links:

Simple HostがBase = Parameter(例えば、?ep = simple-host1&base = coap tcp://sh1.example.com)で同等の完全な登録を行った場合、そのコンテキストは代わりに相対アンカー値を解決するために使用されていました。次のリンクと類似のリンクを与える:

   <coap+tcp://sh1.example.com/sensors/temp>;rt=temperature;ct=0
        

Figure 35: Example Payload of a Response to a Resource Lookup with a Dedicated Base URI

図35:専用ベースURIを使用したリソースルックアップへの応答のペイロードの例

B.4. A Note on Differences between Link-Format and Link Header Fields
B.4. リンクフォーマットとリンクヘッダーフィールドの違いに関するメモ

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 [RFC6690] and [RFC8288]. When implementing an RD or interacting with an RD, care must be taken to follow the behavior described in [RFC6690] whenever application/link-format representations are used.

リンクフォーマットとリンクヘッダーフィールドは非常によく似ており、タイプされたリンクの同じモデルに基づいていますが、[RFC6690]と[RFC8288]の間にはいくつかの違いがあります。RDを実装したり、RDと対話する場合、アプリケーション/リンク形式の表現が使用されるたびに[RFC6690]に記載されている動作に従うように注意する必要があります。

* "Default value of anchor": Under both [RFC6690] and [RFC8288], relative references in the term inside the angle brackets (the target) and the anchor attribute are resolved against the relevant base URI (which usually is the URI used to retrieve the entity) and independent of each other.

* 「アンカーのデフォルト値」:[RFC6690]と[RFC8288]の両方で、角度ブラケット(ターゲット)内の用語の相対的な参照とアンカー属性は、関連するベースURIに対して解決されます(通常、これはURIです。エンティティ)および互いに独立しています。

When, in a Link header [RFC8288], the anchor attribute is absent, the link's context is the URI of the selected representation (and usually equal to the base URI).

リンクヘッダー[RFC8288]で、アンカー属性が存在しない場合、リンクのコンテキストは選択された表現のURIです(通常はベースURIに等しい)。

In links per [RFC6690], if the anchor attribute is absent, the default value is the Origin of (for all relevant cases, the URI reference / resolved against) the link's target.

[RFC6690]あたりのリンクでは、アンカー属性が存在しない場合、デフォルト値は(関連するすべての場合、URI参照 /解決)の原点です。

* There is no percent encoding in link-format documents.

* リンクフォーマットドキュメントにエンコードパーセントはありません。

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.

リンク形式のドキュメントはUTF-8エンコードのユニコード文字の文字列であり、エンコードパーセントはありませんが、リンクヘッダーフィールドは、必要に応じて明示的にエンコードを記載している非ASCII文字にエンコードパーセントを使用するASCII文字列です。

For example, while a Link header field in a page about a Swedish city might read:

たとえば、スウェーデンの都市に関するページのリンクヘッダーフィールドは、次のことを読むかもしれませんが、

      Link: </temperature/Malm%C3%B6>;rel=live-environment-data
        

a link-format document from the same source might describe the link as:

同じソースからのリンク形式のドキュメントは、リンクを次のように説明する場合があります。

      </temperature/Malmö>;rel=live-environment-data
        
Appendix C. Limited Link Format
付録C.限定リンク形式

The CoRE Link Format, as described in [RFC6690], has been interpreted differently by implementers, and a strict implementation rules out some use cases of an RD (e.g., base values with path components in combination with absent anchors).

[RFC6690]で説明されているコアリンク形式は、実装者によって異なる方法で解釈されており、厳密な実装はRDの一部のユースケースを除外します(たとえば、アンカーがないと組み合わせたパスコンポーネントを備えたベース値)。

This appendix describes a subset of link format documents called the Limited Link Format. The one rule herein is not very limiting in practice -- all examples in [RFC6690] and all deployments the authors are aware of already stick to them -- but eases the implementation of RD servers.

この付録では、Limited Link形式と呼ばれるリンク形式ドキュメントのサブセットについて説明しています。ここでの1つのルールは実際にはそれほど制限されていません - [RFC6690]のすべての例とすべての展開は、著者がすでにそれらに固執していることを認識していますが、RDサーバーの実装を緩和します。

It is applicable to representations in the application/link-format media type and any other media types that inherit [RFC6690], Section 2.1.

アプリケーション/リンク形式のメディアタイプおよび[RFC6690]、セクション2.1を継承するその他のメディアタイプの表現に適用できます。

A link format representation is in the Limited Link Format if, for each link in it, the following applies:

リンク形式の表現は、リンクごとにリンクごとに、以下が適用される場合、限られたリンク形式です。

All URI references either follow the URI or the path-absolute ABNF rule of [RFC3986] (i.e., the target and anchor each either start with a scheme or with a single slash).

すべてのURI参照は、[RFC3986]のURIまたはパスアブソルートABNFルールに従います(つまり、ターゲットとアンカーはそれぞれスキームまたは単一のスラッシュで始まります)。

Acknowledgments

謝辞

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 RD concepts were originally developed.

オスカー・ノヴォ、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 New Newmarkias kovatsch、レモンは、このドキュメントを改善および形成するための有益なコメント、ディスカッション、アイデアを提供しています。ザックはまた、RDコンセプトの多くが元々開発されたEU FP7先生プロジェクトの同僚に感謝したいと思います。

Authors' Addresses

著者のアドレス

Christian Amsüss (editor) Email: christian@amsuess.com

ChristianAmsüss(編集者)電子メール:churist@amsuess.com

Zach Shelby Edge Impulse 3031 Tisch Way San Jose, 95128 United States of America Email: zach@edgeimpulse.com

Zach Shelby Edge Impulse 3031 Tisch Way San Jose、95128 United States of America Email:zach@edgempulse.com

Michael Koster PassiveLogic 524 H Street Antioch, CA 94509 United States of America Phone: +1-707-502-5136 Email: michaeljohnkoster@gmail.com

Michael Koster Passivelogic 524 H Street Antioch、CA 94509アメリカ合衆国電話:1-707-502-5136メール:MichaelJohnkoster@gmail.com

Carsten Bormann Universität Bremen TZI Postfach 330440 D-28359 Bremen Germany Phone: +49-421-218-63921 Email: cabo@tzi.org

Carsten BormannUniversitätBremenTziPostfach 330440 D-28359 Bremen Germany電話:49-421-218-63921メール:cabo@tzi.org

Peter van der Stok vanderstok consultancy Email: stokcons@bbhmail.nl

Peter van der Stok Vanderstok Consultancyメール:stokcons@bbhmail.nl