[要約] RFC 8990は、GeneRic Autonomic Signaling Protocol (GRASP)に関する文書です。このプロトコルの目的は、自律的なネットワークシステム内での情報の発見と交換を効率化することにあります。利用場面としては、自律的なネットワーク管理、設定の自動化、およびサービスの発見と統合が挙げられます。

From: draft-ietf-anima-grasp-15                        Proposed Standard
Internet Engineering Task Force (IETF)                        C. Bormann
Request for Comments: 8990                        Universität Bremen TZI
Category: Standards Track                              B. Carpenter, Ed.
ISSN: 2070-1721                                        Univ. of Auckland
                                                             B. Liu, Ed.
                                            Huawei Technologies Co., Ltd
                                                                May 2021
        

GeneRic Autonomic Signaling Protocol (GRASP)

一般自律神経シグナリングプロトコル(GRASP)

Abstract

概要

This document specifies the GeneRic Autonomic Signaling Protocol (GRASP), which enables autonomic nodes and Autonomic Service Agents to dynamically discover peers, to synchronize state with each other, and to negotiate parameter settings with each other. GRASP depends on an external security environment that is described elsewhere. The technical objectives and parameters for specific application scenarios are to be described in separate documents. Appendices briefly discuss requirements for the protocol and existing protocols with comparable features.

このドキュメントは、オートノミックノードとオートノミックサービスエージェントとオートノミックサービスエージェントを互いに動的に検出することを可能にし、互いにパラメータ設定をネゴシエートすることを可能にします。GRASPは他の場所に記載されている外部セキュリティ環境によって異なります。特定のアプリケーションシナリオのための技術的な目的とパラメータは別々の文書に記述されています。付録には、同等の機能を持つプロトコルと既存のプロトコルの要件について簡単に説明します。

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

この文書の現在のステータス、任意のエラータ、およびフィードバックを提供する方法は、https://www.rfc-editor.org/info/rfc8990で取得できます。

Copyright Notice

著作権表示

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

著作権(C)2021 IETF信頼と文書著者として識別された人。全著作権所有。

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 Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

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

Table of Contents

目次

   1.  Introduction
   2.  Protocol Overview
     2.1.  Terminology
     2.2.  High-Level Deployment Model
     2.3.  High-Level Design
     2.4.  Quick Operating Overview
     2.5.  GRASP Basic Properties and Mechanisms
       2.5.1.  Required External Security Mechanism
       2.5.2.  Discovery Unsolicited Link-Local (DULL) GRASP
       2.5.3.  Transport Layer Usage
       2.5.4.  Discovery Mechanism and Procedures
       2.5.5.  Negotiation Procedures
       2.5.6.  Synchronization and Flooding Procedures
     2.6.  GRASP Constants
     2.7.  Session Identifier (Session ID)
     2.8.  GRASP Messages
       2.8.1.  Message Overview
       2.8.2.  GRASP Message Format
       2.8.3.  Message Size
       2.8.4.  Discovery Message
       2.8.5.  Discovery Response Message
       2.8.6.  Request Messages
       2.8.7.  Negotiation Message
       2.8.8.  Negotiation End Message
       2.8.9.  Confirm Waiting Message
       2.8.10. Synchronization Message
       2.8.11. Flood Synchronization Message
       2.8.12. Invalid Message
       2.8.13. No Operation Message
     2.9.  GRASP Options
       2.9.1.  Format of GRASP Options
       2.9.2.  Divert Option
       2.9.3.  Accept Option
       2.9.4.  Decline Option
       2.9.5.  Locator Options
     2.10. Objective Options
       2.10.1.  Format of Objective Options
       2.10.2.  Objective Flags
       2.10.3.  General Considerations for Objective Options
       2.10.4.  Organizing of Objective Options
       2.10.5.  Experimental and Example Objective Options
   3.  Security Considerations
   4.  CDDL Specification of GRASP
   5.  IANA Considerations
   6.  References
     6.1.  Normative References
     6.2.  Informative References
   Appendix A.  Example Message Formats
     A.1.  Discovery Example
     A.2.  Flood Example
     A.3.  Synchronization Example
     A.4.  Simple Negotiation Example
     A.5.  Complete Negotiation Example
   Appendix B.  Requirement Analysis of Discovery, Synchronization,
           and Negotiation
     B.1.  Requirements for Discovery
     B.2.  Requirements for Synchronization and Negotiation Capability
     B.3.  Specific Technical Requirements
   Appendix C.  Capability Analysis of Current Protocols
   Acknowledgments
   Authors' Addresses
        
1. Introduction
1. はじめに

The success of the Internet has made IP-based networks bigger and more complicated. Large-scale ISP and enterprise networks have become more and more problematic for human-based management. Also, operational costs are growing quickly. Consequently, there are increased requirements for autonomic behavior in the networks. General aspects of Autonomic Networks are discussed in [RFC7575] and [RFC7576].

インターネットの成功はIPベースのネットワークをより大きく複雑にしました。大規模ISPおよびエンタープライズネットワークは、人間に基づく管理にとってますます問題になっています。また、運用コストが急速に成長しています。したがって、ネットワーク内の自律神経漏れに対する要件が増大しています。オートノミックネットワークの一般的な側面は[RFC7575]および[RFC7576]で説明されています。

One approach is to largely decentralize the logic of network management by migrating it into network elements. A reference model for Autonomic Networking on this basis is given in [RFC8993]. The reader should consult this document to understand how various autonomic components fit together. In order to achieve autonomy, devices that embody Autonomic Service Agents (ASAs, [RFC7575]) have specific signaling requirements. In particular, they need to discover each other, to synchronize state with each other, and to negotiate parameters and resources directly with each other. There is no limitation on the types of parameters and resources concerned, which can include very basic information needed for addressing and routing, as well as anything else that might be configured in a conventional non-autonomic network. The atomic unit of discovery, synchronization, or negotiation is referred to as a technical objective, i.e., a configurable parameter or set of parameters (defined more precisely in Section 2.1).

1つのアプローチは、ネットワーク管理のロジックをネットワーク要素に移行することによって大部分分散化することです。 [RFC8993]では、これに基づくオートノミックネットワーキングのための参照モデルが与えられています。読者はこの文書を参照して、さまざまな自治体コンポーネントがどのように適合しているかを理解する必要があります。自律性を達成するために、自律型サービスエージェントを具現化する装置(ASAS、RFC7575])は特定のシグナリング要件を有する。特に、それらは互いに状態を同期させるために、そして互いに直接パラメータおよびリソースを交渉するために互いに発見する必要がある。関係するパラメータやリソースの種類に制限はありません。これは、アドレッシングとルーティングに必要な非常に基本的な情報、および従来の非自律型ネットワークで構成されている可能性がある他のものを含めることができます。発見、同期、またはネゴシエーションの原子単位は、技術的な目的、すなわち設定可能なパラメータまたはパラメータのセット(より正確にはセクション2.1で定義される)と呼ばれる。

Negotiation is an iterative process, requiring multiple message exchanges forming a closed loop between the negotiating entities. In fact, these entities are ASAs, normally but not necessarily in different network devices. State synchronization, when needed, can be regarded as a special case of negotiation without iteration. Both negotiation and synchronization must logically follow discovery. More details of the requirements are found in Appendix B. Section 2.3 describes a behavior model for a protocol intended to support discovery, synchronization, and negotiation. The design of GeneRic Autonomic Signaling Protocol (GRASP) in Section 2 is based on this behavior model. The relevant capabilities of various existing protocols are reviewed in Appendix C.

交渉は反復プロセスであり、交渉エンティティ間の閉ループを形成する複数のメッセージ交換を必要とする。実際、これらのエンティティは通常、必ずしも異なるネットワークデバイスにはありません。州同期は、必要に応じて、繰り返しなしで交渉の特別な場合と見なすことができます。交渉と同期の両方が論理的に発見に従わなければなりません。要件の詳細については、付録Bに記載されています。セクション2.3は、発見、同期、およびネゴシエーションをサポートすることを目的としたプロトコルの動作モデルを示します。セクション2の一般的なオートノミックシグナリングプロトコル(GRASP)の設計は、この動作モデルに基づいています。さまざまな既存のプロトコルの関連機能は、付録Cでレビューされています。

The proposed discovery mechanism is oriented towards synchronization and negotiation objectives. It is based on a neighbor discovery process on the local link, but it also supports diversion to peers on other links. There is no assumption of any particular form of network topology. When a device starts up with no preconfiguration, it has no knowledge of the topology. The protocol itself is capable of being used in a small and/or flat network structure such as a small office or home network as well as in a large, professionally managed network. Therefore, the discovery mechanism needs to be able to allow a device to bootstrap itself without making any prior assumptions about network structure.

提案された発見メカニズムは、同期目標と交渉目的に向けられています。ローカルリンクの近隣探索プロセスに基づいていますが、他のリンクのピアへの転換もサポートしています。ネットワークトポロジの特定の形式の仮定はありません。デバイスが事前設定なしで起動すると、トポロジに関する知識はありません。プロトコル自体は、小規模オフィスやホームネットワークなどの小規模および/またはフラットネットワーク構造、ならびに大規模で専門的に管理されたネットワークで使用することができる。したがって、発見メカニズムは、ネットワーク構造についての事前の仮定を行わずにデバイスが自分自身を自分自身をブートアップすることを許可することができる必要があります。

Because GRASP can be used as part of a decision process among distributed devices or between networks, it must run in a secure and strongly authenticated environment.

GRASPは分散型デバイス間の決定プロセスの一部またはネットワーク間で使用できるため、安全で強く認証された環境で実行する必要があります。

In realistic deployments, not all devices will support GRASP. Therefore, some Autonomic Service Agents will directly manage a group of non-autonomic nodes, and other non-autonomic nodes will be managed traditionally. Such mixed scenarios are not discussed in this specification.

現実的な展開では、すべてのデバイスがGRASPをサポートするわけではありません。したがって、いくつかの自律型サービスエージェントは、非自律ノードのグループを直接管理し、他の非自律ノードは伝統的に管理されます。このような混合シナリオは、本明細書では説明されていません。

2. Protocol Overview
2. プロトコルの概要
2.1. Terminology
2.1. 用語

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]で説明されているように、すべて大文字の場合にのみ解釈されます。

This document uses terminology defined in [RFC7575].

この文書は[RFC7575]で定義されている用語を使用しています。

The following additional terms are used throughout this document:

この文書全体では、以下の追加用語が使用されます。

Discovery: A process by which an ASA discovers peers according to a specific discovery objective. The discovery results may be different according to the different discovery objectives. The discovered peers may later be used as negotiation counterparts or as sources of synchronization data.

発見:ASAが特定の発見の目的に従ってピアを発見するプロセス。発見結果は、異なる発見の目的に応じて異なる場合があります。発見されたピアは後で交渉対応物として、または同期データのソースとして使用されてもよい。

Negotiation: A process by which two ASAs interact iteratively to agree on parameter settings that best satisfy the objectives of both ASAs.

交渉:2つのASAが繰り返し相互作用するプロセスは、ASAの両方の目的を最もよく満足させるパラメータ設定に同意する。

State Synchronization: A process by which ASAs interact to receive the current state of parameter values stored in other ASAs. This is a special case of negotiation in which information is sent, but the ASAs do not request their peers to change parameter settings. All other definitions apply to both negotiation and synchronization.

状態同期:ASASが他のASAに格納されているパラメータ値の現在の状態を受信するためのプロセス。これは、情報が送信されるネゴシエーションの特別な場合ですが、ASASはパラメータ設定を変更するようにピアを要求しません。他のすべての定義は、ネゴシエーションと同期の両方に適用されます。

Technical Objective (usually abbreviated as Objective): A technical objective is a data structure whose main contents are a name and a value. The value consists of a single configurable parameter or a set of parameters of some kind. The exact format of an objective is defined in Section 2.10.1. An objective occurs in three contexts: discovery, negotiation, and synchronization. Normally, a given objective will not occur in negotiation and synchronization contexts simultaneously.

技術目的(通常は目的と略記する):技術目的は、主な内容が名前と値であるデータ構造である。値は、単一の設定可能なパラメータまたはある種のパラメータのセットで構成されています。目的の正確なフォーマットはセクション2.10.1で定義されています。目標は、発見、交渉、および同期の3つのコンテキストで発生します。通常、特定の目的は交渉および同期コンテキストで同時に発生しません。

One ASA may support multiple independent objectives.

1つのASAは複数の独立した目的をサポートするかもしれません。

The parameter(s) in the value of a given objective apply to a specific service or function or action. They may in principle be anything that can be set to a specific logical, numerical, or string value, or a more complex data structure, by a network node. Each node is expected to contain one or more ASAs which may each manage subsidiary non-autonomic nodes.

特定の目的の値のパラメータは、特定のサービスまたは機能またはアクションに適用されます。それらは、原則として、ネットワークノードによって特定の論理、数値、または文字列値、またはより複雑なデータ構造に設定できるものであればよい。各ノードには、各ASAが副次的非自律ノードを管理する可能性がある1つ以上のASAを含むと予想されます。

Discovery Objective: an objective in the process of discovery. Its value may be undefined.

発見の目的:発見過程における目的。その値は未定義かもしれません。

Synchronization Objective: an objective whose specific technical content needs to be synchronized among two or more ASAs. Thus, each ASA will maintain its own copy of the objective.

同期目的:特定の技術コンテンツを2つ以上のASA間で同期させる必要がある目的。したがって、各ASAは目的の独自のコピーを維持します。

Negotiation Objective: an objective whose specific technical content needs to be decided in coordination with another ASA. Again, each ASA will maintain its own copy of the objective.

交渉目的:特定の技術的コンテンツが別のASAと調整する必要がある目的。繰り返しますが、各ASAはその目的の独自のコピーを維持します。

A detailed discussion of objectives, including their format, is found in Section 2.10.

フォーマットを含む目的の詳細な説明は、セクション2.10にあります。

Discovery Initiator: An ASA that starts discovery by sending a Discovery message referring to a specific discovery objective.

発見イニシエータ:特定の発見の目的を指す発見メッセージを送信することによって発見を開始するASA。

Discovery Responder: A peer that either contains an ASA supporting the discovery objective indicated by the discovery initiator or caches the locator(s) of the ASA(s) supporting the objective. It sends a Discovery Response, as described later.

ディスカバリレスポンダ:検出イニシエータによって示された発見の目的をサポートするASAを含むピアまたはそのASAのロケータをサポートするASAをキャッシュします。後述するように、検出応答を送信します。

Synchronization Initiator: An ASA that starts synchronization by sending a request message referring to a specific synchronization objective.

同期イニシエータ:特定の同期目的を参照して要求メッセージを送信することによって同期を開始するASA。

Synchronization Responder: A peer ASA that responds with the value of a synchronization objective.

同期レスポンダ:同期対象の値で応答するピアASA。

Negotiation Initiator: An ASA that starts negotiation by sending a request message referring to a specific negotiation objective.

ネゴシエーションイニシエータ:特定のネゴシエーション目標を参照して要求メッセージを送信することによってネゴシエーションを開始するASA。

Negotiation Counterpart: A peer with which the negotiation initiator negotiates a specific negotiation objective.

交渉対応物:交渉開始者が特定の交渉目的を交渉するピア。

GRASP Instance: This refers to an instantiation of a GRASP protocol engine, likely including multiple threads or processes as well as dynamic data structures such as a discovery cache, running in a given security environment on a single device.

把握インスタンス:これは、複数のスレッドまたはプロセスを含む可能性があるGrasp Protocol Engineのインスタンス化、および特定のセキュリティ環境で実行されているディスカバリキャッシュなどの動的データ構造を含む可能性があります。

GRASP Core: This refers to the code and shared data structures of a GRASP instance, which will communicate with individual ASAs via a suitable Application Programming Interface (API).

grasp core:これはGRASPインスタンスのコードと共有データ構造を指します。これは、適切なアプリケーションプログラミングインターフェイス(API)を介して個々のASAと通信することになります。

Interface or GRASP Interface: Unless otherwise stated, this refers to a network interface, which might be physical or virtual, that a specific instance of GRASP is currently using. A device might have other interfaces that are not used by GRASP and which are outside the scope of the Autonomic Network.

インターフェースまたは把握インターフェース:特に明記しない限り、これは、物理的または仮想的である可能性があるネットワークインタフェースを表します。これは、把握の特定のインスタンスが現在使用されています。デバイスは、Graspによって使用されず、それが自律網の範囲外にある他のインターフェースを持つことがあります。

2.2. High-Level Deployment Model
2.2. 高レベルの展開モデル

A GRASP implementation will be part of the Autonomic Networking Infrastructure (ANI) in an autonomic node, which must also provide an appropriate security environment. In accordance with [RFC8993], this SHOULD be the Autonomic Control Plane (ACP) [RFC8994]. As a result, all autonomic nodes in the ACP are able to trust each other. It is expected that GRASP will access the ACP by using a typical socket programming interface, and the ACP will make available only network interfaces within the Autonomic Network. If there is no ACP, the considerations described in Section 2.5.1 apply.

把握実装は、自律ノード内の自律ネットワーキングインフラストラクチャ(ANI)の一部になります。これは適切なセキュリティ環境も提供しなければなりません。[RFC8993]に従って、これは自律型制御プレーン(ACP)[RFC8994]でなければなりません。その結果、ACP内のすべての自律ノードは互いに信頼できます。典型的なソケットプログラミングインタフェースを使用してGRASPがACPにアクセスし、ACPは自律ネットワーク内のネットワークインターフェイスのみを利用可能にします。ACPがない場合は、セクション2.5.1で説明されている考慮事項が適用されます。

There will also be one or more Autonomic Service Agents (ASAs). In the minimal case of a single-purpose device, these components might be fully integrated with GRASP and the ACP. A more common model is expected to be a multipurpose device capable of containing several ASAs, such as a router or large switch. In this case it is expected that the ACP, GRASP and the ASAs will be implemented as separate processes, which are able to support asynchronous and simultaneous operations, for example by multithreading.

1つ以上の自律型サービスエージェント(ASAS)もあります。単一目的装置の最小の場合、これらの構成要素はGRASPとACPと完全に統合されている可能性があります。より一般的なモデルは、ルータや大スイッチなどの複数のASAを含むことができる多目的デバイスであると予想されます。この場合、ACP、GRASP、およびASAは別々のプロセスとして実装され、たとえばマルチスレッドによって、非同期および同時操作をサポートすることができます。

In some scenarios, a limited negotiation model might be deployed based on a limited trust relationship such as that between two administrative domains. ASAs might then exchange limited information and negotiate some particular configurations.

いくつかのシナリオでは、2つの管理ドメイン間のものなどの限られた信頼関係に基づいて、限られたネゴシエーションモデルが展開される可能性があります。その後、ASAは限られた情報を交換し、特定の特定の構成を交渉する可能性があります。

GRASP is explicitly designed to operate within a single addressing realm. Its discovery and flooding mechanisms do not support autonomic operations that cross any form of address translator or upper-layer proxy.

GRASPは、単一のアドレス指定レルム内で動作するように明示的に設計されています。その発見およびフラッディングメカニズムは、アドレストランスレータまたは上位レイヤープロキシの形式を渡る自律操作をサポートしていません。

A suitable Application Programming Interface (API) will be needed between GRASP and the ASAs. In some implementations, ASAs would run in user space with a GRASP library providing the API, and this library would in turn communicate via system calls with core GRASP functions. Details of the API are out of scope for the present document. For further details of possible deployment models, see [RFC8993].

GRASPとASASの間には、適切なアプリケーションプログラミングインターフェイス(API)が必要になります。一部の実装では、ASAはAPIを提供するGRASPライブラリを使用してユーザースペースで実行され、このライブラリはコアGRASP関数を使用してシステムコールを介して通信します。APIの詳細は現在の文書には範囲外です。可能な展開モデルの詳細については、[RFC8993]を参照してください。

An instance of GRASP must be aware of the network interfaces it will use, and of the appropriate global-scope and link-local addresses. In the presence of the ACP, such information will be available from the adjacency table discussed in [RFC8993]. In other cases, GRASP must determine such information for itself. Details depend on the device and operating system. In the rest of this document, the terms 'interfaces' or 'GRASP interfaces' refers only to the set of network interfaces that a specific instance of GRASP is currently using.

GRASPのインスタンスは、それが使用するネットワークインタフェース、および適切なグローバルスコープおよびリンクローカルアドレスを知っている必要があります。ACPの存在下では、そのような情報は[RFC8993]で説明されている隣接テーブルから入手できます。他の場合では、GRASPはそれ自体のためのそのような情報を決定しなければなりません。詳細はデバイスとオペレーティングシステムによって異なります。この文書の残りの部分では、「インタフェース」または「把握インターフェース」という用語は、特定のGRASPの特定のインスタンスが現在使用されているネットワークインタフェースのセットのみを参照します。

Because GRASP needs to work with very high reliability, especially during bootstrapping and during fault conditions, it is essential that every implementation continues to operate in adverse conditions. For example, discovery failures, or any kind of socket exception at any time, must not cause irrecoverable failures in GRASP itself, and must return suitable error codes through the API so that ASAs can also recover.

把握は、特にブートストラップ中および故障状態の間に非常に高い信頼性を扱う必要があるため、すべての実装が悪条件で動作し続けることが不可欠です。たとえば、ディスカバリの失敗、またはいつでも任意の種類のソケット例外など、ASASも回復できるように、APIを介して適切なエラーコードを返す必要があります。

GRASP must not depend upon nonvolatile data storage. All runtime error conditions, and events such as address renumbering, network interface failures, and CPU sleep/wake cycles, must be handled in such a way that GRASP will still operate correctly and securely afterwards (Section 2.5.1).

把握は不揮発性データ記憶域に依存してはいけません。すべてのランタイムエラー条件、およびアドレスの参照番号、ネットワークインタフェースの失敗、およびCPUスリープ/ウェイクサイクルなどのイベントは、把握がまだ正しく安全に動作するように処理されなければなりません(セクション2.5.1)。

An autonomic node will normally run a single instance of GRASP, which is used by multiple ASAs. Possible exceptions are mentioned below.

自律ノードは通常、把握の単一のインスタンスを実行します。これは複数のASASで使用されます。可能な例外は以下のとおりです。

2.3. High-Level Design
2.3. ハイレベルデザイン

This section describes the behavior model and general design of GRASP, supporting discovery, synchronization, and negotiation, to act as a platform for different technical objectives.

このセクションでは、さまざまな技術的な目的のためのプラットフォームとして機能するための、把握、発見、同期、およびネゴシエーションをサポートする、把握の行動モデルと一般設計について説明します。

A generic platform: The protocol design is generic and independent of the synchronization or negotiation contents. The technical contents will vary according to the various technical objectives and the different pairs of counterparts.

一般的なプラットフォーム:プロトコル設計は一般的で、同期またはネゴシエーションの内容とは無関係です。技術的な内容は、さまざまな技術的な目的や対応物の異なるペアによって異なります。

Multiple instances: Normally, a single main instance of the GRASP protocol engine will exist in an autonomic node, and each ASA will run as an independent asynchronous process. However, scenarios where multiple instances of GRASP run in a single node, perhaps with different security properties, are possible (Section 2.5.2). In this case, each instance MUST listen independently for GRASP link-local multicasts, and all instances MUST be woken by each such multicast in order for discovery and flooding to work correctly.

複数のインスタンス:通常、Graspプロトコルエンジンの単一のメインインスタンスが自律ノードに存在し、各ASAは独立した非同期プロセスとして実行されます。ただし、把握の複数のインスタンスが単一のノードで実行されているシナリオは、おそらく異なるセキュリティプロパティを持つ、可能です(セクション2.5.2)。この場合、各インスタンスはリンクローカルマルチキャストの把握に対して独立して待機する必要があり、ディスカバリとフラッディングが正しく機能するためにそのようなマルチキャストごとにすべてのインスタンスを拒否する必要があります。

Security infrastructure: As noted above, the protocol itself has no built-in security functionality and relies on a separate secure infrastructure.

セキュリティインフラストラクチャ:上記のように、プロトコル自体にはセキュリティ機能が組み込まれており、独立した安全なインフラストラクチャに依存しています。

Discovery, synchronization, and negotiation are designed together: The discovery method and the synchronization and negotiation methods are designed in the same way and can be combined when this is useful, allowing a rapid mode of operation described in Section 2.5.4. These processes can also be performed independently when appropriate.

発見、同期、およびネゴシエーションは一緒に設計されています。ディスカバリメソッドと同期メソッドと同じ方法で設計されており、これが有用な場合に組み合わせることができ、2.5.4節で説明されている迅速な動作モードを可能にします。これらのプロセスは適切な場合には独立して実行することもできる。

Thus, for some objectives, especially those concerned with application-layer services, another discovery mechanism such as DNS-based Service Discovery [RFC7558] MAY be used. The choice is left to the designers of individual ASAs.

したがって、特にアプリケーション層サービスに関するものであるもの、特に、DNSベースのサービス発見[RFC7558]のような別の発見メカニズムを使用することができる。選択は個々のASAの設計者に残されています。

A uniform pattern for technical objectives: The synchronization and negotiation objectives are defined according to a uniform pattern. The values that they contain could be carried either in a simple binary format or in a complex object format. The basic protocol design uses the Concise Binary Object Representation (CBOR) [RFC8949], which is readily extensible for unknown, future requirements.

技術的目的のための均一なパターン:同期および交渉目的は、一様なパターンに従って定義される。それらに含まれる値は、単純なバイナリ形式または複雑なオブジェクト形式でも実行できます。基本的なプロトコル設計は、簡潔なバイナリオブジェクト表現(CBOR)[RFC8949]を使用しています。これは、未知の、将来の要件に対して容易に拡張可能です。

A flexible model for synchronization: GRASP supports synchronization between two nodes, which could be used repeatedly to perform synchronization among a small number of nodes. It also supports an unsolicited flooding mode when large groups of nodes, possibly including all autonomic nodes, need data for the same technical objective.

同期のための柔軟なモデル:GRASPは2つのノード間の同期をサポートします。これは少数のノード間で同期を実行するために繰り返し使用できます。また、すべてのオートノミックノードを含めることがあるノードの大規模なグループが同じ技術的な目的のためのデータを必要とする場合、それは迷惑なフラッディングモードもサポートされています。

There may be some network parameters for which a more traditional flooding mechanism such as the Distributed Node Consensus Protocol (DNCP) [RFC7787] is considered more appropriate. GRASP can coexist with DNCP.

分散ノードコンセンサスプロトコル(DNCP)[RFC7787]などのより伝統的なフラッディングメカニズムがより適切であると考えられるネットワークパラメータがあるかもしれません。GRASPはDNCPと共存することができます。

A simple initiator/responder model for negotiation: Multiparty negotiations are very complicated to model and cannot readily be guaranteed to converge. GRASP uses a simple bilateral model and can support multiparty negotiations by indirect steps.

交渉のための単純なイニシエータ/レスポンダモデル:マルチパーティ交渉はモデル化に非常に複雑であり、収束することが容易にされることはできません。GRASPは単一の二国間モデルを使用し、間接ステップによるマルチパーティ交渉をサポートできます。

Organizing of synchronization or negotiation content: The technical content transmitted by GRASP will be organized according to the relevant function or service. The objectives for different functions or services are kept separate because they may be negotiated or synchronized with different counterparts or have different response times. Thus a normal arrangement is a single ASA managing a small set of closely related objectives, with a version of that ASA in each relevant autonomic node. Further discussion of this aspect is out of scope for the current document.

同期または交渉の内容の整理:GRASPによって送信された技術的なコンテンツは、関連する機能またはサービスに従って組織されます。さまざまな機能やサービスの目的は、さまざまな対応物と交渉または同期されているか、または異なる応答時間を持つ可能性があるため、別々に保管されています。したがって、通常の構成は、各関連自律本ノードのそのASAのバージョンを持つ、密接に関連する目的の小さいセットを管理する単一のASAです。この態様のさらなる説明は、現在の文書の範囲外です。

Requests and responses in negotiation procedures: The initiator can negotiate a specific negotiation objective with relevant counterpart ASAs. It can request relevant information from a counterpart so that it can coordinate its local configuration. It can request the counterpart to make a matching configuration. It can request simulation or forecast results by sending some dry-run conditions.

ネゴシエーション手順における要求と回答:イニシエータは、関連する相手のASASを持つ特定のネゴシエーション目標を交渉することができます。それはそのローカル構成を調整できるように、対応する情報から関連情報を要求することができます。マッチング設定をするために、カウンターパートに要求することができます。乾式実行条件を送信することで、シミュレーションまたは予測結果を要求できます。

Beyond the traditional yes/no answer, the responder can reply with a suggested alternative value for the objective concerned. This would start a bidirectional negotiation ending in a compromise between the two ASAs.

伝統的なはい/いいえの答えを超えて、レスポンダは客観的な客観的な代替値で返信することができます。これは、2つのASA間の妥協点で終わる双方向交渉を開始します。

Convergence of negotiation procedures: To enable convergence when a responder suggests a new value or condition in a negotiation step reply, it should be as close as possible to the original request or previous suggestion. The suggested value of later negotiation steps should be chosen between the suggested values from the previous two steps. GRASP provides mechanisms to guarantee convergence (or failure) in a small number of steps, namely a timeout and a maximum number of iterations.

ネゴシエーション手順の収束:レスポンダがネゴシエーションステップ応答で新しい値または条件を示唆しているときに収束を可能にするために、元の要求または前の提案にできるだけ近くなるはずです。後のネゴシエーションステップの推奨値は、前の2つのステップからの推奨値の間で選択されるべきです。Graspは、少数のステップ、すなわちタイムアウトおよび最大反復数の収束(または失敗)を保証するためのメカニズムを提供します。

Extensibility: GRASP intentionally does not have a version number, and it can be extended by adding new message types and options. The Invalid message (M_INVALID) will be used to signal that an implementation does not recognize a message or option sent by another implementation. In normal use, new semantics will be added by defining new synchronization or negotiation objectives.

拡張性:把握意図的にバージョン番号を持たず、新しいメッセージタイプとオプションを追加することで拡張できます。無効なメッセージ(m_invalid)は、実装が別の実装によって送信されたメッセージまたはオプションを認識しないことを知らせるために使用されます。通常の使用では、新しい同期の目的またはネゴシエーション目標を定義することで新しいセマンティクスが追加されます。

2.4. Quick Operating Overview
2.4. クイックオペレーティングの概要

An instance of GRASP is expected to run as a separate core module, providing an API (such as [RFC8991]) to interface to various ASAs. These ASAs may operate without special privilege, unless they need it for other reasons (such as configuring IP addresses or manipulating routing tables).

GRASPのインスタンスは別のコアモジュールとして実行されると予想され、API(RFC8991]など)をさまざまなASAにインタフェースすることが期待されています。これらのASAは、他の理由(IPアドレスの設定やルーティングテーブルの操作など)が必要な場合を除き、特別な特権なしで動作することがあります。

The GRASP mechanisms used by the ASA are built around GRASP objectives defined as data structures containing administrative information such as the objective's unique name and its current value. The format and size of the value is not restricted by the protocol, except that it must be possible to serialize it for transmission in CBOR, which is no restriction at all in practice.

ASAで使用される把握メカニズムは、目的の一意の名前やその現在の値などの管理情報を含むデータ構造として定義された把握目的を中心に構築されています。値の形式とサイズは、都市での伝送のためにそれをシリアル化することが可能でなければならないことを除いて、プロトコルによって制限されません。

GRASP provides the following mechanisms:

GRASPは以下のメカニズムを提供します。

* A discovery mechanism (M_DISCOVERY, M_RESPONSE) by which an ASA can discover other ASAs supporting a given objective.

* ASAが特定の目的をサポートする他のASAを発見できる発見メカニズム(M_Discovery、M_Response)。

* A negotiation request mechanism (M_REQ_NEG) by which an ASA can start negotiation of an objective with a counterpart ASA. Once a negotiation has started, the process is symmetrical, and there is a negotiation step message (M_NEGOTIATE) for each ASA to use in turn. Two other functions support negotiating steps (M_WAIT, M_END).

* ASAがASAを使用して目的の交渉を開始できる交渉要求メカニズム(M_REQ_NEG)。交渉が開始されると、プロセスは対称的であり、順番に使用する各ASAに対してネゴシエーションステップメッセージ(M_negotiate)があります。他の2つの機能は、ステップ(M_WAIT、M_END)の交渉をサポートしています。

* A synchronization mechanism (M_REQ_SYN) by which an ASA can request the current value of an objective from a counterpart ASA. With this, there is a corresponding response function (M_SYNCH) for an ASA that wishes to respond to synchronization requests.

* ASAがASAの現在の値を要求できる同期メカニズム(M_REQ_SYN)。これにより、同期要求に応答したいASA用の対応する応答関数(M_Synch)があります。

* A flood mechanism (M_FLOOD) by which an ASA can cause the current value of an objective to be flooded throughout the Autonomic Network so that any ASA can receive it. One application of this is to act as an announcement, avoiding the need for discovery of a widely applicable objective.

* ASAがASAの電流値を自律網全体にあふれさせることができる洪水機構(M_Flood)。これの1つのアプリケーションは、広く適用可能な目的の発見の必要性を回避し、発表として機能することです。

Some example messages and simple message flows are provided in Appendix A.

いくつかの例示的なメッセージと単純なメッセージフローは付録Aに提供されています。

2.5. GRASP Basic Properties and Mechanisms
2.5. 基本的なプロパティとメカニズムを把握します
2.5.1. Required External Security Mechanism
2.5.1. 必要な外部セキュリティメカニズム

GRASP does not specify transport security because it is meant to be adapted to different environments. Every solution adopting GRASP MUST specify a security and transport substrate used by GRASP in that solution.

Graspは、さまざまな環境に適応することを目的としているため、トランスポートセキュリティを指定しません。GRASPを採用しているすべての解決策は、その解決策で把握して使用するセキュリティと輸送用基板を指定する必要があります。

The substrate MUST enforce sending and receiving GRASP messages only between members of a mutually trusted group running GRASP. Each group member is an instance of GRASP. The group members are nodes of a connected graph. The group and graph are created by the security and transport substrate and are called the GRASP domain. The substrate must support unicast messages between any group members and (link-local) multicast messages between adjacent group members. It must deny messages between group members and non-group members. With this model, security is provided by enforcing group membership, but any member of the trusted group can attack the entire network until revoked.

基板は、相互に信頼されているグループ走行把握のメンバー間でのみ送信および受信を施行しなければなりません。各グループメンバーはGRASPのインスタンスです。グループメンバーは、接続されているグラフのノードです。グループとグラフは、セキュリティとトランスポート基板によって作成され、GRASPドメインと呼ばれます。基板は、隣接グループメンバー間のグループメンバーと(リンクローカル)マルチキャストメッセージ間のユニキャストメッセージをサポートしている必要があります。グループメンバーと非グループメンバー間のメッセージを拒否する必要があります。このモデルでは、セキュリティはグループメンバーシップを強制することによって提供されますが、信頼できるグループのメンバーは、取り消されるまでネットワーク全体を攻撃できます。

Substrates MUST use cryptographic member authentication and message integrity for GRASP messages. This can be end to end or hop by hop across the domain. The security and transport substrate MUST provide mechanisms to remove untrusted members from the group.

基板は、メッセージメッセージの暗号化メンバ認証とメッセージの整合性を使用する必要があります。これは、ドメイン全体のホップで終わりまたはホップすることができます。セキュリティおよび輸送用基板は、信頼されていないメンバーをグループから削除するためのメカニズムを提供しなければならない。

If the substrate does not mandate and enforce GRASP message encryption, then any service using GRASP in such a solution MUST provide protection and encryption for message elements whose exposure could constitute an attack vector.

基板がメッセージ暗号化を求めて施行しない場合、そのようなソリューションで把握を使用した任意のサービスは、露出が攻撃ベクトルを構成する可能性があるメッセージ要素の保護と暗号化を提供する必要があります。

The security and transport substrate for GRASP in the ANI is the ACP. Unless otherwise noted, we assume this security and transport substrate in the remainder of this document. The ACP does mandate the use of encryption; therefore, GRASP in the ANI can rely on GRASP messages being encrypted. The GRASP domain is the ACP: all nodes in an autonomic domain connected by encrypted virtual links formed by the ACP. The ACP uses hop-by-hop security (authentication and encryption) of messages. Removal of nodes relies on standard PKI certificate revocation or expiry of sufficiently short-lived certificates. Refer to [RFC8994] for more details.

ANI内の把握のためのセキュリティおよび輸送用基板はACPです。特に明記しない限り、我々はこの文書の残りの部分にこのセキュリティおよび輸送用基板を仮定する。ACPは暗号化の使用を義務付けています。したがって、ANIの把握は暗号化されているメッセージの把握に頼ることができます。graspドメインはACP:ACPによって形成された暗号化された仮想リンクによって接続された自律ドメイン内のすべてのノードです。ACPはメッセージのホップバイホップセキュリティ(認証と暗号化)を使用します。ノードの削除は、標準的なPKI証明書の失効または十分に短寿命の証明書の有効期限に依存しています。詳細については[RFC8994]を参照してください。

As mentioned in Section 2.3, some GRASP operations might be performed across an administrative domain boundary by mutual agreement, without the benefit of an ACP. Such operations MUST be confined to a separate instance of GRASP with its own copy of all GRASP data structures running across a separate GRASP domain with a security and transport substrate. In the most simple case, each point-to-point interdomain GRASP peering could be a separate domain, and the security and transport substrate could be built using transport or network-layer security protocols. This is subject to future specifications.

セクション2.3で述べたように、ACPの利益なしに、相互合意によって管理ドメイン境界を介していくつかの把握操作が実行される可能性があります。そのような操作は、セキュリティおよびトランスポート基板を使用して別々の把握ドメインを介して実行されているすべての把握データ構造のそれ自身のコピーを使用して、把握の別々のインスタンスに限定されなければならない。最も単純な場合では、各ポイントツーポイントイントドメイン把握ピアリングは個別のドメインであり、セキュリティとトランスポート基板はトランスポートまたはネットワーク層のセキュリティプロトコルを使用して構築できます。これは将来の仕様の対象となります。

An exception to the requirements for the security and transport substrate exists for highly constrained subsets of GRASP meant to support the establishment of a security and transport substrate, described in the following section.

セキュリティおよび輸送用基板の要件に対する例外は、以下のセクションで説明されているセキュリティおよびトランスポート基板の確立をサポートするためのGraspの高密度サブセットのために存在する。

2.5.2. 迷惑なリンク - 地元(鈍い)把握

Some services may need to use insecure GRASP discovery, response, and flood messages without being able to use preexisting security associations, for example, as part of discovery for establishing security associations such as a security substrate for GRASP.

一部のサービスは、把握用のセキュリティ基板などのセキュリティアソシエーションを確立するための検出の一環として、既存のセキュリティアソシエーションを使用することなく、不安定な把握、応答、およびフラッドメッセージを使用する必要があるかもしれません。

Such operations being intrinsically insecure, they need to be confined to link-local use to minimize the risk of malicious actions. Possible examples include discovery of candidate ACP neighbors [RFC8994], discovery of bootstrap proxies [RFC8995], or perhaps initialization services in networks using GRASP without being fully autonomic (e.g., no ACP). Such usage MUST be limited to link-local operations on a single interface and MUST be confined to a separate insecure instance of GRASP with its own copy of all GRASP data structures. This instance is nicknamed DULL -- Discovery Unsolicited Link-Local.

そのような操作は本質的に不安であるため、悪意のある行動のリスクを最小限に抑えるために、リンクローカルの使用に限定される必要があります。考えられる例としては、候補ACPネイバー[RFC8994]の検出、ブートストラッププロキシの検出[RFC8995]、またはPheraSPを使用するネットワーク内の初期化サービス(たとえば、ACPがない)。そのような使用法は、単一のインターフェース上のリンクローカル操作に限定されなければならず、すべての把握データ構造のそれ自身のコピーを使用してGRASPの別々の不安定なインスタンスに限定されなければなりません。このインスタンスは、NICKNAMEN_DESCORIONAL迷惑なリンクローカルです。

The detailed rules for the DULL instance of GRASP are as follows:

GRASPの鈍いインスタンスの詳細な規則は次のとおりです。

* An initiator MAY send Discovery or Flood Synchronization link-local multicast messages that MUST have a loop count of 1, to prevent off-link operations. Other unsolicited GRASP message types MUST NOT be sent.

* イニシエータは、オフリンク操作を防ぐために、1のループ数1を持つ必要がある検出またはフラッド同期リンクローカルマルチキャストメッセージを送信することができます。その他の求められていない把握メッセージタイプを送信してはいけません。

* A responder MUST silently discard any message whose loop count is not 1.

* レスポンダは、ループカウントが1ではないメッセージを静かに破棄しなければなりません。

* A responder MUST silently discard any message referring to a GRASP objective that is not directly part of a service that requires this insecure mode.

* レスポンダは、この不安モードを必要とするサービスの直轄ではない把握目的を指すメッセージを静かに廃棄しなければなりません。

* A responder MUST NOT relay any multicast messages.

* レスポンダはマルチキャストメッセージを中継してはいけません。

* A Discovery Response MUST indicate a link-local address.

* 検出応答はリンクローカルアドレスを示す必要があります。

* A Discovery Response MUST NOT include a Divert option.

* ディスカバリーの応答には、Divertオプションを含めないでください。

* A node MUST silently discard any message whose source address is not link-local.

* ノードは、送信元アドレスがLink-Localでないメッセージを静的に破棄しなければなりません。

To minimize traffic possibly observed by third parties, GRASP traffic SHOULD be minimized by using only Flood Synchronization to announce objectives and their associated locators, rather than by using Discovery and Discovery Response messages. Further details are out of scope for this document.

第三者によって観察される可能性があるトラフィックを最小限に抑えるためには、発見と発見応答メッセージを使用するのではなく、洪水同期のみを発表するためにフラッド同期のみを使用することによって最小限に抑える必要があります。その他の詳細はこの文書の範囲外です。

2.5.3. Transport Layer Usage
2.5.3. トランスポートレイヤの使用量

All GRASP messages, after they are serialized as a CBOR byte string, are transmitted as such directly over the transport protocol in use. The transport protocol(s) for a GRASP domain are specified by the security and transport substrate as introduced in Section 2.5.1.

それらがCBORバイト文字列としてシリアル化された後のすべての把握メッセージは、使用中のトランスポートプロトコルを通して直接送信されます。把持ドメインのトランスポートプロトコルは、セクション2.5.1で導入されたようにセキュリティおよびトランスポート基板によって指定されています。

GRASP discovery and flooding messages are designed for GRASP domain-wide flooding through hop-by-hop link-local multicast forwarding between adjacent GRASP nodes. The GRASP security and transport substrate needs to specify how these link-local multicasts are transported. This can be unreliable transport (UDP) but it SHOULD be reliable transport (e.g., TCP).

発見およびフラッディングメッセージは、隣接する把持ノード間のホップバイホップリンク - ローカルマルチキャスト転送を介してドメイン全体のフラッディングを把握するように設計されています。セキュリティおよびトランスポート基板の把握は、これらのリンクローカルマルチキャストがどのように搬送されるかを指定する必要があります。これは信頼性が低い輸送(UDP)であり得るが、信頼できる輸送(例えば、TCP)であるべきである。

If the substrate specifies an unreliable transport such as UDP for discovery and flooding messages, then it MUST NOT use IP fragmentation because of its loss characteristic, especially in multi-hop flooding. GRASP MUST then enforce at the user API level a limit to the size of discovery and flooding messages, so that no fragmentation can occur. For IPv6 transport, this means that the size of those messages' IPv6 packets must be at most 1280 bytes (unless there is a known larger minimum link MTU across the whole GRASP domain).

基板が発見メッセージおよびフラッディングメッセージのためのUDPのような信頼性の低い輸送を指定する場合、それは特にマルチホップフラッディングにおいて、その損失特性のためにIPフラグメンテーションを使用してはならない。次に、graspはユーザーAPIレベルでディスカバリメッセージとフラッディングメッセージのサイズに制限を実行する必要があります。これにより、断片化が発生しません。IPv6トランスポートの場合、これは、それらのメッセージのIPv6パケットのサイズが最大1280バイトでなければならないことを意味します(Graspドメイン全体にわたって既知のより大きな最小リンクMTUがある場合を除く)。

All other GRASP messages are unicast between group members of the GRASP domain. These MUST use a reliable transport protocol because GRASP itself does not provide for error detection, retransmission, or flow control. Unless otherwise specified by the security and transport substrate, TCP MUST be used.

他のすべての把握メッセージは、Graspドメインのグループメンバー間のユニキャストです。把握自体がエラー検出、再送、またはフロー制御を提供していないため、これらは信頼できるトランスポートプロトコルを使用する必要があります。セキュリティと輸送基板によって特に指定されていない限り、TCPを使用する必要があります。

The security and transport substrate for GRASP in the ANI is the ACP. Unless otherwise noted, we assume this security and transport substrate in the remainder of this document when describing GRASP's message transport. In the ACP, TCP is used for GRASP unicast messages. GRASP discovery and flooding messages also use TCP: these link-local messages are forwarded by replicating them to all adjacent GRASP nodes on the link via TCP connections to those adjacent GRASP nodes. Because of this, GRASP in the ANI has no limitations on the size of discovery and flooding messages with respect to fragmentation issues. While the ACP is being built using a DULL instance of GRASP, native UDP multicast is used to discover ACP/GRASP neighbors on links.

ANI内の把握のためのセキュリティおよび輸送用基板はACPです。特に断らない限り、GRASPのメッセージトランスポートを説明するとき、この文書の残りの部分でこのセキュリティとトランスポート基板を仮定します。ACPでは、TCPは把握ユニキャストメッセージに使用されます。発見メッセージとフラッディングメッセージもTCPを使用しています。これらのリンクローカルメッセージは、TCP接続を介したリンク上のすべての隣接するGRASPノードにそれらを隣接する把持ノードに複製することによって転送されます。このため、ANIの把握は、断片化の問題に関して発見およびフラッディングメッセージのサイズに制限はありません。ACPはGRASPの鈍いインスタンスを使用して構築されていますが、ネイティブUDPマルチキャストはリンク上のACP / GRASPネイバーを検出するために使用されます。

For link-local UDP multicast, GRASP listens to the well-known GRASP Listen Port (Section 2.6). Transport connections for discovery and flooding on relay nodes must terminate in GRASP instances (e.g., GRASP ASAs) so that link-local multicast, hop-by-hop flooding of M_DISCOVERY and M_FLOOD messages and hop-by-hop forwarding of M_RESPONSE responses and caching of those responses along the path work correctly.

リンクローカルUDPマルチキャストの場合、GRASSは有名な把握先のリスンポート(セクション2.6)に載っています。リレーノードに対する発見とフラッディングのためのトランスポート接続は、リンクローカルマルチキャスト、M_DiscoveryのホップバイホップフラッディングとM_FloodメッセージのホップバイホップフラッディングとM_Response応答とキャッシュのホップバイホップ転送など、Graspインスタンス(ASAS)で終了する必要があります。パスに沿ってそれらの回答のうち正常に動作します。

Unicast transport connections used for synchronization and negotiation can terminate directly in ASAs that implement objectives; therefore, this traffic does not need to pass through GRASP instances. For this, the ASA listens on its own dynamically assigned ports, which are communicated to its peers during discovery. Alternatively, the GRASP instance can also terminate the unicast transport connections and pass the traffic from/to the ASA if that is preferable in some implementations (e.g., to better decouple ASAs from network connections).

同期とネゴシエーションに使用されるユニキャストトランスポート接続は、目的を実装するASASで直接終了できます。したがって、このトラフィックはGRASPインスタンスを通過する必要はありません。このために、ASAはそれ自身の動的に割り当てられたポートをリッスンします。これは、検出中にそのピアに伝達されます。あるいは、GRASPインスタンスは、ユニキャストトランスポート接続を終了させることもでき、一部の実装では(例えば、ネットワーク接続からASASをより適切にデカップするために)いくつかの実装では、ASAからトラフィックを渡すこともできます。

2.5.4. Discovery Mechanism and Procedures
2.5.4. 発見メカニズムと手順
2.5.4.1. Separated Discovery and Negotiation Mechanisms
2.5.4.1. 分離された発見とネゴシエーションメカニズム

Although discovery and negotiation or synchronization are defined together in GRASP, they are separate mechanisms. The discovery process could run independently from the negotiation or synchronization process. Upon receiving a Discovery message (Section 2.8.4), the recipient node should return a Discovery Response message in which it either indicates itself as a discovery responder or diverts the initiator towards another more suitable ASA. However, this response may be delayed if the recipient needs to relay the Discovery message onward, as described in Section 2.5.4.4.

発見とネゴシエーションや同期はGRASPで一緒に定義されていますが、それらは別々のメカニズムです。検出プロセスは、ネゴシエーションプロセスまたは同期プロセスとは独立して実行できます。検出メッセージを受信すると(セクション2.8.4)、受信者ノードは、それがそれ自体が発見レスポンダとしてそれを示し、またはイニシエータを別のASAに向けて転送する検出応答メッセージを返すべきである。しかしながら、この応答は、2.5.4.4項で説明されているように、受信者が発見メッセージを以前に中継する必要がある場合に遅延することがある。

The discovery action (M_DISCOVERY) will normally be followed by a negotiation (M_REQ_NEG) or synchronization (M_REQ_SYN) action. The discovery results could be utilized by the negotiation protocol to decide which ASA the initiator will negotiate with.

Discovery Action(M_Discovery)は通常、ネゴシエーション(M_REQ_NEG)または同期(M_REQ_SYN)アクションを続けることになります。発見結果は、イニシエータがどのASAと交渉するかを決定するためにネゴシエーションプロトコルによって利用され得る。

The initiator of a discovery action for a given objective need not be capable of responding to that objective as a negotiation counterpart, as a synchronization responder, or as source for flooding. For example, an ASA might perform discovery even if it only wishes to act as a synchronization initiator or negotiation initiator. Such an ASA does not itself need to respond to Discovery messages.

与えられた目的のための発見行動の開始者は、交渉対応者として、同期レスポンダとして、または洪水のためのソースとして回答することができない必要はありません。たとえば、ASAは、同期イニシエータまたはネゴシエーションイニシエータとして機能したい場合でも検出を実行することがあります。そのようなASAそれ自体は発見メッセージに応答する必要はありません。

It is also entirely possible to use GRASP discovery without any subsequent negotiation or synchronization action. In this case, the discovered objective is simply used as a name during the discovery process, and any subsequent operations between the peers are outside the scope of GRASP.

後で交渉または同期動作なしで把握発見を使用することも完全に可能です。この場合、発見された目的は、検出プロセス中に単に名前として使用され、ピア間の後続の操作はGRASSの範囲外です。

2.5.4.2. Discovery Overview
2.5.4.2. 発見の概要

A complete discovery process will start with a multicast Discovery message (M_DISCOVERY) on the local link. On-link neighbors supporting the discovery objective will respond directly with Discovery Response (M_RESPONSE) messages. A neighbor with multiple interfaces may respond with a cached Discovery Response. If it has no cached response, it will relay the Discovery message on its other GRASP interfaces. If a node receiving the relayed Discovery message supports the discovery objective, it will respond to the relayed Discovery message. If it has a cached response, it will respond with that. If not, it will repeat the discovery process, which thereby becomes iterative. The loop count and timeout will ensure that the process ends. Further details are given in Section 2.5.4.4.

完全な検出プロセスは、ローカルリンクのマルチキャスト検出メッセージ(M_Discovery)で始まります。検出されたオブジェクトをサポートするオンリンクネイバーは、ディスカバリ応答(M_Response)メッセージで直接応答します。複数のインターフェイスを持つネイバーは、キャッシュされた検出応答で応答する可能性があります。キャッシュされた応答がない場合は、他のGRASPインターフェイスで検出メッセージを中継します。中継された検出メッセージを受信したノードが検出目的をサポートしている場合は、中継された検出メッセージに応答します。キャッシュされた応答がある場合は、それで応答します。そうでなければ、それは発見プロセスを繰り返すでしょう、それによって反復的になります。ループ数とタイムアウトは、プロセスが終了することを確認します。さらに詳細はセクション2.5.4.4に記載されています。

A Discovery message MAY be sent unicast to a peer node, which SHOULD then proceed exactly as if the message had been multicast, except that when TCP is used, the response will be on the same socket as the query. However, this mode does not guarantee successful discovery in the general case.

検出メッセージはピアノードにユニキャストに送信されてもよく、それはTCPが使用されているときに応答がクエリと同じソケット上にあることを除いて、メッセージがマルチキャストされたかのとおりに進行するはずである。ただし、このモードでは、一般的なケースでは成功した発見を保証しません。

2.5.4.3. Discovery Procedures
2.5.4.3. 発見手順

Discovery starts as an on-link operation. The Divert option can tell the discovery initiator to contact an off-link ASA for that discovery objective. If the security and transport substrate of the GRASP domain (see Section 2.5.3) uses UDP link-local multicast, then the discovery initiator sends these to the ALL_GRASP_NEIGHBORS link-local multicast address (Section 2.6), and all GRASP nodes need to listen to this address to act as discovery responders. Because this port is unique in a device, this is a function of the GRASP instance and not of an individual ASA. As a result, each ASA will need to register the objectives that it supports with the local GRASP instance.

ディスカバリーはリンク操作として始まります。Divertオプションは、その発見の目的のためにオフリンクASAに連絡するようにDiscoveryイニシエータに指示することができます。GRASPドメインのセキュリティとトランスポート基板(セクション2.5.3を参照)を使用する場合(セクション2.5.3を参照)。その場合、検出イニシエータはこれらをALL_GRASP_NEIGHBORSリンクローカルマルチキャストアドレス(セクション2.6)に送信し、すべてのGRASPノードが聞く必要があります。このアドレスには発見レスポンダとして機能します。このポートはデバイス内で固有のものであるため、これはGraspインスタンスの関数であり、個々のASAのものではありません。その結果、各ASAは、ローカルGRASPインスタンスでサポートする目的を登録する必要があります。

If an ASA in a neighbor device supports the requested discovery objective, the device SHOULD respond to the link-local multicast with a unicast Discovery Response message (Section 2.8.5) with locator option(s) (Section 2.9.5) unless it is temporarily unavailable. Otherwise, if the neighbor has cached information about an ASA that supports the requested discovery objective (usually because it discovered the same objective before), it SHOULD respond with a Discovery Response message with a Divert option pointing to the appropriate discovery responder. However, it SHOULD NOT respond with a cached response on an interface if it learned that information from the same interface because the peer in question will answer directly if still operational.

隣接デバイス内のASAが要求された検出目的をサポートしている場合、デバイスはロケータオプション(S)を使用してユニキャスト検出応答メッセージ(セクション2.8.5)を使用してリンクローカルマルチキャスト(セクション2.9.5)である(セクション2.9.5)。一時的に利用できません。それ以外の場合、要求された検出目的をサポートするASAに関する情報がキャッシュされている場合(通常は以前に同じ目的が発見されたため)は、適切な検出レスポンダを指すDivertオプションを使用して検出応答メッセージで応答する必要があります。ただし、同じインタフェースからの情報がまだ動作可能になっている場合に直接応答するため、インターフェイス上のキャッシュされたレスポンスで応答してはいけません。

If a device has no information about the requested discovery objective and is not acting as a discovery relay (see Section 2.5.4.4), it MUST silently discard the Discovery message.

デバイスに要求された検出目的に関する情報がない場合は、ディスカバリーリレーとして機能していない場合(セクション2.5.4.4を参照)、ディスカバリメッセージを静かに破棄する必要があります。

The discovery initiator MUST set a reasonable timeout on the discovery process. A suggested value is 100 milliseconds multiplied by the loop count embedded in the objective.

発見イニシエータはディスカバリプロセスに合理的なタイムアウトを設定する必要があります。推奨値は、100ミリ秒単位のループカウントに対物レンズに埋め込まれたループ数を掛けます。

If no Discovery Response is received within the timeout, the Discovery message MAY be repeated with a newly generated Session ID (Section 2.7). An exponential backoff SHOULD be used for subsequent repetitions to limit the load during busy periods. The details of the backoff algorithm will depend on the use case for the objective concerned but MUST be consistent with the recommendations in [RFC8085] for low data-volume multicast. Frequent repetition might be symptomatic of a denial-of-service attack.

タイムアウト内で検出応答が受信されない場合、発見メッセージは新しく生成されたセッションID(セクション2.7)で繰り返されることがあります。忙しい期間中に負荷を制限するためのその後の繰り返しのために指数関数的なバックオフを使用する必要があります。バックオフアルゴリズムの詳細は、関係者に関するユースケースによって異なりますが、データボリュームマルチキャストのための[RFC8085]の推奨事項と一致する必要があります。頻繁な繰り返しは、サービス拒否攻撃の症状である可能性があります。

After a GRASP device successfully discovers a locator for a discovery responder supporting a specific objective, it SHOULD cache this information, including the interface index [RFC3493] via which it was discovered. This cache record MAY be used for future negotiation or synchronization, and the locator SHOULD be passed on when appropriate as a Divert option to another discovery initiator.

GRASSデバイスが特定の目的をサポートする検出レスポンダのロケータを正常に検出した後、それが発見されたインターフェイスインデックス[RFC3493]を含むこの情報をキャッシュする必要があります。このキャッシュレコードは将来のネゴシエーションまたは同期に使用され、ロケータは適切な場合には別の検出イニシエータへの転送オプションとして渡されるべきです。

The cache mechanism MUST include a lifetime for each entry. The lifetime is derived from a time-to-live (ttl) parameter in each Discovery Response message. Cached entries MUST be ignored or deleted after their lifetime expires. In some environments, unplanned address renumbering might occur. In such cases, the lifetime SHOULD be short compared to the typical address lifetime. The discovery mechanism needs to track the node's current address to ensure that Discovery Responses always indicate the correct address.

キャッシュメカニズムには、エントリごとに一生が含まれていなければなりません。ライフタイムは、各検出応答メッセージの時刻からLIVE(TTL)パラメータに由来します。LifTimeの有効期限が切れると、キャッシュされたエントリは無視されるか、削除する必要があります。環境によっては、計画外のアドレスの番号なし番号が発生する可能性があります。そのような場合、寿命は典型的なアドレス寿命と比較して短くなるべきです。検出メカニズムは、検出応答が常に正しいアドレスを示すように、ノードの現在のアドレスを追跡する必要があります。

If multiple discovery responders are found for the same objective, they SHOULD all be cached unless this creates a resource shortage. The method of choosing between multiple responders is an implementation choice. This choice MUST be available to each ASA, but the GRASP implementation SHOULD provide a default choice.

同じ目的のために複数の検出応答者が見つかった場合、それらはすべてリソース不足を作成しない限り、それらをキャッシュする必要があります。複数の応答者間を選択する方法は実装の選択です。この選択は各ASAに利用可能でなければなりませんが、GRASP実装はデフォルトの選択肢を提供する必要があります。

Because discovery responders will be cached in a finite cache, they might be deleted at any time. In this case, discovery will need to be repeated. If an ASA exits for any reason, its locator might still be cached for some time, and attempts to connect to it will fail. ASAs need to be robust in these circumstances.

検出応答者が有限キャッシュにキャッシュされるため、いつでも削除される可能性があります。この場合、発見を繰り返す必要があります。ASAが何らかの理由で終了すると、そのロケータはしばらくの間キャッシュされている可能性があり、接続を試みると失敗します。これらの状況では堅牢である必要があります。

2.5.4.4. Discovery Relaying
2.5.4.4. 発見中継

A GRASP instance with multiple link-layer interfaces (typically running in a router) MUST support discovery on all GRASP interfaces. We refer to this as a 'relaying instance'.

複数のリンク層インタフェースを持つGRASSインスタンス(通常はルータで実行されている)は、すべてのGRASPインターフェイスの検出をサポートしている必要があります。これを「中継インスタンス」と呼びます。

DULL instances (Section 2.5.2) are always single-interface instances and therefore MUST NOT perform discovery relaying.

鈍いインスタンス(セクション2.5.2)は常に単一インターフェイスのインスタンスであり、したがって発見中継を実行してはいけません。

If a relaying instance receives a Discovery message on a given interface for a specific objective that it does not support and for which it has not previously cached a discovery responder, it MUST relay the query by reissuing a new Discovery message as a link-local multicast on its other GRASP interfaces.

中継インスタンスが特定の目的をサポートしていないため、以前に検出レスポンダをキャッシュしていないために特定のインターフェイスで検出メッセージを受信した場合は、新しい検出メッセージをリンクローカルマルチキャストとして再発行してクエリを中継する必要があります。他の把握インターフェースで。

The relayed Discovery message MUST have the same Session ID and 'initiator' field as the incoming message (see Section 2.8.4). The IP address in the 'initiator' field is only used to disambiguate the Session ID and is never used to address Response packets. Response packets are sent back to the relaying instance, not the original initiator.

中継の検出メッセージには、受信メッセージとして同じセッションIDと「イニシエータ」フィールドが必要です(セクション2.8.4を参照)。「イニシエータ」フィールドのIPアドレスは、セッションIDを解除するためにのみ使用され、応答パケットをアドレス指定するために使用されません。Response Packetsは元のイニシエータではなく中継インスタンスに送り返されます。

The M_DISCOVERY message does not encode the transport address of the originator or relay. Response packets must therefore be sent to the transport-layer address of the connection on which the M_DISCOVERY message was received. If the M_DISCOVERY was relayed via a reliable hop-by-hop transport connection, the response is simply sent back via the same connection.

M_Discoveryメッセージは、発信者または中継のトランスポートアドレスをエンコードしません。したがって、応答パケットは、M_Discoveryメッセージを受信した接続のトランスポート層アドレスに送信する必要があります。M_Discoveryが信頼できるホップバイホップトランスポート接続を介して中継された場合、応答は単に同じ接続を介して返信されます。

If the M_DISCOVERY was relayed via link-local (e.g., UDP) multicast, the response is sent back via a reliable hop-by-hop transport connection with the same port number as the source port of the link-local multicast. Therefore, if link-local multicast is used and M_RESPONSE messages are required (which is the case in almost all GRASP instances except for the limited use of DULL instances in the ANI), GRASP needs to be able to bind to one port number on UDP from which to originate the link-local multicast M_DISCOVERY messages and the same port number on the reliable hop-by-hop transport (e.g., TCP by default) to be able to respond to transport connections from responders that want to send M_RESPONSE messages back. Note that this port does not need to be the GRASP_LISTEN_PORT.

M_Discoveryがリンクローカル(例えばUDP)マルチキャストを介して中継された場合、応答はリンクローカルマルチキャストの送信元ポートと同じポート番号との信頼できるホップバイホップトランスポート接続を介して返信されます。したがって、リンクローカルマルチキャストが使用されていて、M_Responseメッセージが必要な場合(これはANIで鈍いインスタンスの制限された使用を除くほとんどすべてのGRASPインスタンスの場合を除く)、GRASSはUDPの1つのポート番号にバインドできる必要があります。リンクローカルマルチキャストM_Discoveryメッセージと信頼できるホップバイホップトランスポート(デフォルトではTCPなど)の同じポート番号を発信して、M_Responseメッセージを送信したい応答側からのトランスポート接続に応答できるようになります。このポートはGRASP_LISTEN_PORTを必要としません。

The relaying instance MUST decrement the loop count within the objective, and MUST NOT relay the Discovery message if the result is zero. Also, it MUST limit the total rate at which it relays Discovery messages to a reasonable value in order to mitigate possible denial-of-service attacks. For example, the rate limit could be set to a small multiple of the observed rate of Discovery messages during normal operation. The relaying instance MUST cache the Session ID value and initiator address of each relayed Discovery message until any Discovery Responses have arrived or the discovery process has timed out. To prevent loops, it MUST NOT relay a Discovery message that carries a given cached Session ID and initiator address more than once. These precautions avoid discovery loops and mitigate potential overload.

中継インスタンスは、目的内のループ数を減らす必要があり、結果がゼロの場合は検出メッセージを中継しないでください。また、発見メッセージが発見メッセージをリレーするためには、承認拒否攻撃を軽減するために妥当な値を制限する必要があります。たとえば、レート制限は、通常の動作中に観測された検出率の検出率の小さい倍数に設定できます。中継インスタンスは、発見回答が到着した、または検出プロセスがタイムアウトしたまで、各中継検出メッセージのセッションID値とイニシエータアドレスをキャッシュする必要があります。ループを防ぐために、特定のキャッシュされたセッションIDとイニシエータアドレスを複数回搬送するディスカバリメッセージを中継してはなりません。これらの注意事項は発見ループを回避し、潜在的な過負荷を軽減します。

Since the relay device is unaware of the timeout set by the original initiator, it SHOULD set a suitable timeout for the relayed Discovery message. A suggested value is 100 milliseconds multiplied by the remaining loop count.

リレーデバイスは元のイニシエータによって設定されたタイムアウトの認識されていないため、中継された検出メッセージに適したタイムアウトを設定する必要があります。推奨値は100ミリ秒で残りのループ数を掛けたものです。

The discovery results received by the relaying instance MUST in turn be sent as a Discovery Response message to the Discovery message that caused the relay action.

中継インスタンスによって受信された検出結果は、リレーアクションを引き起こした検出メッセージへの検出応答メッセージとして送信されなければなりません。

2.5.4.5. Rapid Mode (Discovery with Negotiation or Synchronization)
2.5.4.5. ラピッドモード(交渉または同期による発見)

A Discovery message MAY include an objective option. This allows a rapid mode of negotiation (Section 2.5.5.1) or synchronization (Section 2.5.6.3). Rapid mode is currently limited to a single objective for simplicity of design and implementation. A possible future extension is to allow multiple objectives in rapid mode for greater efficiency.

検出メッセージは目的のオプションを含み得る。これにより、迅速なネゴシエーションモード(セクション2.5.5.1)または同期(セクション2.5.6.3)が可能になります。迅速モードは現在、設計と実施を簡単にするために単一の目的に制限されています。可能な将来の拡張は、より高い効率のために迅速なモードで複数の目的を許容することです。

2.5.5. Negotiation Procedures
2.5.5. 交渉手続き

A negotiation initiator opens a transport connection to a counterpart ASA using the address, protocol, and port obtained during discovery. It then sends a negotiation request (using M_REQ_NEG) to the counterpart, including a specific negotiation objective. It may request the negotiation counterpart to make a specific configuration. Alternatively, it may request a certain simulation or forecast result by sending a dry-run configuration. The details, including the distinction between a dry run and a live configuration change, will be defined separately for each type of negotiation objective. Any state associated with a dry-run operation, such as temporarily reserving a resource for subsequent use in a live run, is entirely a matter for the designer of the ASA concerned.

ネゴシエーションイニシエータは、検出中に取得されたアドレス、プロトコル、およびポートを使用して、ASAの対応者ASAへのトランスポート接続を開きます。次に、特定のネゴシエーション目標を含め、相手方に交渉要求(M_REQ_NEGを使用)を送信します。ネゴシエーションのカウンターパートに特定の構成を要求することがあります。あるいは、ドライラン構成を送信することによって特定のシミュレーションまたは予測結果を要求することができる。ドライランとライブ構成の変化との間の区別を含む詳細は、交渉目的の種類ごとに別々に定義されます。ライブランでの後続の使用のためにリソースを一時的に予約するなど、ドライラン操作に関連する任意の状態は、関係するASAの設計者にとってはまったく問題です。

Each negotiation session as a whole is subject to a timeout (default GRASP_DEF_TIMEOUT milliseconds, Section 2.6), initialized when the request is sent (see Section 2.8.6). If no reply message of any kind is received within the timeout, the negotiation request MAY be repeated with a newly generated Session ID (Section 2.7). An exponential backoff SHOULD be used for subsequent repetitions. The details of the backoff algorithm will depend on the use case for the objective concerned.

全体としての各ネゴシエーションセッションはタイムアウト(デフォルトのGRASP_DEF_TIMEOUTミリ秒、セクション2.6)の対象となり、要求が送信されると初期化されます(セクション2.8.6を参照)。タイムアウト内であらゆる種類の応答メッセージが受信されない場合、新たに生成されたセッションIDを用いてネゴシエーション要求を繰り返すことができる(セクション2.7)。その後の繰り返しには、指数バックオフを使用する必要があります。バックオフアルゴリズムの詳細は、関係者に関するユースケースに依存します。

If the counterpart can immediately apply the requested configuration, it will give an immediate positive (O_ACCEPT) answer using the Negotiation End (M_END) message. This will end the negotiation phase immediately. Otherwise, it will negotiate (using M_NEGOTIATE). It will reply with a proposed alternative configuration that it can apply (typically, a configuration that uses fewer resources than requested by the negotiation initiator). This will start a bidirectional negotiation using the Negotiate (M_NEGOTIATE) message to reach a compromise between the two ASAs.

カウンターパートが要求された構成をすぐに適用できる場合は、ネゴシエーション終了(M_END)メッセージを使用して即時正(O_Accept)回答を与えます。これは交渉段階を直ちに終了します。それ以外の場合は、(M_negotiateを使用して)交渉します。それは、それが適用できる提案された代替構成で(通常、ネゴシエーションイニシエータによって要求されるよりも少ないリソースを使用する構成)を返すでしょう。これは、ネゴシエート(M_negotiate)メッセージを使用して双方向ネゴシエーションを開始し、2つのASAの間の妥協点に到達します。

The negotiation procedure is ended when one of the negotiation peers sends a Negotiation End (M_END) message, which contains an Accept (O_ACCEPT) or Decline (O_DECLINE) option and does not need a response from the negotiation peer. Negotiation may also end in failure (equivalent to a decline) if a timeout is exceeded or a loop count is exceeded. When the procedure ends for whatever reason, the transport connection SHOULD be closed. A transport session failure is treated as a negotiation failure.

ネゴシエーションピアの1つが交渉終了(M_END)メッセージを送信すると、ネゴシエーション手順は終了します。これは、ACCEPT(O_ECSCEPT)または辞退(O_DECLINE)オプションを含み、ネゴシエーションピアからの応答を必要としません。ネゴシエーションはまた、タイムアウトを超えた場合、またはループカウントを超えると、失敗(衰退に相当)が終了する可能性があります。手順が何らかの理由で終わると、トランスポート接続は閉じます。トランスポートセッションの失敗はネゴシエーションの失敗として扱われます。

A negotiation procedure concerns one objective and one counterpart. Both the initiator and the counterpart may take part in simultaneous negotiations with various other ASAs or in simultaneous negotiations about different objectives. Thus, GRASP is expected to be used in a multithreaded mode or its logical equivalent. Certain negotiation objectives may have restrictions on multithreading, for example to avoid over-allocating resources.

交渉手順は、1つの目的と1つの相手方に関するものです。イニシエータと対応者の両方が、他の様々なASAとの同時交渉または異なる目的に関する同時交渉に参加することができる。したがって、GRASPは、マルチスレッドモードまたはその論理的等価物で使用されることが予想される。特定の交渉目的は、例えばリソースの過剰割り当てを回避するために、マルチスレッド上の制限を有することがある。

Some configuration actions, for example, wavelength switching in optical networks, might take considerable time to execute. The ASA concerned needs to allow for this by design, but GRASP does allow for a peer to insert latency in a negotiation process if necessary (Section 2.8.9, M_WAIT).

いくつかの構成動作、例えば光ネットワークにおける波長スイッチングは、実行にかなりの時間がかかる場合がある。関係するASAはデザインによってこれを許可する必要がありますが、GRASPは必要に応じてネゴシエーションプロセスでレイテンシを挿入することを可能にします(セクション2.8.9、M_WAIT)。

2.5.5.1. Rapid Mode (Discovery/Negotiation Linkage)
2.5.5.1. ラピッドモード(発見/ネゴシエーションリンケージ)

A Discovery message MAY include a Negotiation Objective option. In this case, it is as if the initiator sent the sequence M_DISCOVERY immediately followed by M_REQ_NEG. This has implications for the construction of the GRASP core, as it must carefully pass the contents of the Negotiation Objective option to the ASA so that it may evaluate the objective directly. When a Negotiation Objective option is present, the ASA replies with an M_NEGOTIATE message (or M_END with O_ACCEPT if it is immediately satisfied with the proposal) rather than with an M_RESPONSE. However, if the recipient node does not support rapid mode, discovery will continue normally.

検出メッセージは、ネゴシエーション目標オプションを含み得る。この場合、イニシエータがシーケンスM_Discoveryを送信したかのようなものです。これは、交渉目的オプションの内容を慎重にASAに渡して、目的を直接評価できるように慎重に渡しなければならないため、Graspコアの構築に影響を与えます。ネゴシエーション目標オプションが存在する場合、M_Responseではなく、M_negotiateメッセージ(またはProposusにすぐに満たされている場合はo_EnceptとM_endとM_end)と返信します。ただし、受信者ノードが迅速なモードをサポートしていない場合、検出は正常に続行されます。

It is possible that a Discovery Response will arrive from a responder that does not support rapid mode before such a Negotiation message arrives. In this case, rapid mode will not occur.

そのような交渉メッセージが到着する前に、迅速なモードをサポートしていないレスポンダから発見応答が到着する可能性があります。この場合、急速モードは発生しません。

This rapid mode could reduce the interactions between nodes so that a higher efficiency could be achieved. However, a network in which some nodes support rapid mode and others do not will have complex timing-dependent behaviors. Therefore, the rapid negotiation function SHOULD be disabled by default.

この迅速なモードでは、ノード間の相互作用を減らすことができ、それによってより高い効率が達成され得る。ただし、一部のノードが迅速なモードをサポートし、他のノードが複雑なタイミング依存の動作をサポートしていないネットワーク。したがって、迅速なネゴシエーション機能はデフォルトで無効にする必要があります。

2.5.6. Synchronization and Flooding Procedures
2.5.6. 同期および洪水手順
2.5.6.1. Unicast Synchronization
2.5.6.1. ユニキャスト同期

A synchronization initiator opens a transport connection to a counterpart ASA using the address, protocol, and port obtained during discovery. It then sends a Request Synchronization message (M_REQ_SYN, Section 2.8.6) to the counterpart, including a specific synchronization objective. The counterpart responds with a Synchronization message (M_SYNCH, Section 2.8.10) containing the current value of the requested synchronization objective. No further messages are needed, and the transport connection SHOULD be closed. A transport session failure is treated as a synchronization failure.

同期イニシエータは、検出中に取得されたアドレス、プロトコル、およびポートを使用して、ASAの相手ASAへのトランスポート接続を開きます。次に、特定の同期目標を含め、要求同期メッセージ(M_REQ_SYN、セクション2.8.6)を対応物に送信します。対応物は、要求された同期対象の現在の値を含む同期メッセージ(M_Synch、セクション2.8.10)で応答します。それ以上のメッセージは必要ありません、そしてトランスポート接続は閉じられるべきです。トランスポートセッションの失敗は同期失敗として扱われます。

If no reply message of any kind is received within a given timeout (default GRASP_DEF_TIMEOUT milliseconds, Section 2.6), the synchronization request MAY be repeated with a newly generated Session ID (Section 2.7). An exponential backoff SHOULD be used for subsequent repetitions. The details of the backoff algorithm will depend on the use case for the objective concerned.

与えられたタイムアウト内にあらゆる種類の返信メッセージが受信されない場合(デフォルトのGRASP_DEF_TIMEOUTミリ秒、セクション2.6)、同期要求は、新しく生成されたセッションID(セクション2.7)で繰り返されます。その後の繰り返しには、指数バックオフを使用する必要があります。バックオフアルゴリズムの詳細は、関係者に関するユースケースに依存します。

2.5.6.2. Flooding
2.5.6.2. 洪水

In the case just described, the message exchange is unicast and concerns only one synchronization objective. For large groups of nodes requiring the same data, synchronization flooding is available. For this, a flooding initiator MAY send an unsolicited Flood Synchronization message (Section 2.8.11) containing one or more Synchronization Objective option(s), if and only if the specification of those objectives permits it. This is sent as a multicast message to the ALL_GRASP_NEIGHBORS multicast address (Section 2.6).

説明されている場合、メッセージ交換はユニキャストであり、1つの同期目標のみに懸念されます。同じデータを必要とするノードの大きなグループの場合、同期フラッディングが可能です。このために、フラッディングイニシエータは、それらの目的の仕様がそれを許可する場合に限り、1つまたは複数の同期目標オプションを含む迷惑な洪水同期メッセージ(セクション2.8.11)を送信することができる。これはall_grasp_neighborsマルチキャストアドレスへのマルチキャストメッセージとして送信されます(セクション2.6)。

Receiving flood multicasts is a function of the GRASP core, as in the case of discovery multicasts (Section 2.5.4.3).

発見マルチキャストの場合と同様に、洪水マルチキャストの受信はGraspコアの機能です(2.5.4.3項)。

To ensure that flooding does not result in a loop, the originator of the Flood Synchronization message MUST set the loop count in the objectives to a suitable value (the default is GRASP_DEF_LOOPCT). Also, a suitable mechanism is needed to avoid excessive multicast traffic. This mechanism MUST be defined as part of the specification of the synchronization objective(s) concerned. It might be a simple rate limit or a more complex mechanism such as the Trickle algorithm [RFC6206].

フラッディングがループを生じないようにするために、フラッド同期メッセージの発信者は、目的のループ数を適切な値に設定する必要があります(デフォルトはgrasp_def_loopctです)。また、過度のマルチキャストトラフィックを回避するために適切なメカニズムが必要です。このメカニズムは、当該同期対象の仕様の一部として定義する必要があります。それは簡単な料金制限またはトリクルアルゴリズムのようなより複雑なメカニズムです[RFC6206]。

A GRASP device with multiple link-layer interfaces (typically a router) MUST support synchronization flooding on all GRASP interfaces. If it receives a multicast Flood Synchronization message on a given interface, it MUST relay it by reissuing a Flood Synchronization message as a link-local multicast on its other GRASP interfaces. The relayed message MUST have the same Session ID as the incoming message and MUST be tagged with the IP address of its original initiator.

複数のリンク層インタフェース(通常はルータ)を持つGRASSデバイスは、すべてのGRASPインターフェイスでの同期フラッディングをサポートしている必要があります。特定のインターフェイスでマルチキャストフラッド同期メッセージを受信した場合は、フラッド同期メッセージを他のGRASPインターフェイスにリンクローカルマルチキャストとして再発行することでリレーを実行する必要があります。中継メッセージは、着信メッセージと同じセッションIDを持ち、元のイニシエータのIPアドレスでタグ付けする必要があります。

Link-layer flooding is supported by GRASP by setting the loop count to 1 and sending with a link-local source address. Floods with link-local source addresses and a loop count other than 1 are invalid, and such messages MUST be discarded.

リンク層のフラッディングは、ループカウントを1に設定してリンクローカルの送信元アドレスで送信することによってGRASPによってサポートされています。リンクローカルの送信元アドレスと1以外のループ数が無効で、そのようなメッセージを破棄する必要があります。

The relaying device MUST decrement the loop count within the first objective and MUST NOT relay the Flood Synchronization message if the result is zero. Also, it MUST limit the total rate at which it relays Flood Synchronization messages to a reasonable value, in order to mitigate possible denial-of-service attacks. For example, the rate limit could be set to a small multiple of the observed rate of flood messages during normal operation. The relaying device MUST cache the Session ID value and initiator address of each relayed Flood Synchronization message for a time not less than twice GRASP_DEF_TIMEOUT milliseconds. To prevent loops, it MUST NOT relay a Flood Synchronization message that carries a given cached Session ID and initiator address more than once. These precautions avoid synchronization loops and mitigate potential overload.

中継装置は、最初の目的内のループ数を減らす必要があり、結果がゼロの場合はフラッド同期メッセージを中継してはなりません。また、可能なサービス拒否攻撃を軽減するために、それがフラッド同期メッセージをリレーする総レートを妥当な値に制限する必要があります。例えば、レート制限は、通常の動作中に観測されたフラッドメッセージの倍数の小さい倍数に設定することができる。中継装置は、grasp_def_timeoutミリ秒を2回未満でない時間の間、各中継フラッグ同期メッセージのセッションID値とイニシエータアドレスをキャッシュしなければならない。ループを防ぐために、特定のキャッシュセッションIDとイニシエータアドレスを複数回搬送するフラッド同期メッセージを中継してはなりません。これらの注意事項は同期ループを回避し、潜在的な過負荷を軽減します。

Note that this mechanism is unreliable in the case of sleeping nodes, or new nodes that join the network, or nodes that rejoin the network after a fault. An ASA that initiates a flood SHOULD repeat the flood at a suitable frequency, which MUST be consistent with the recommendations in [RFC8085] for low data-volume multicast. The ASA SHOULD also act as a synchronization responder for the objective(s) concerned. Thus nodes that require an objective subject to flooding can either wait for the next flood or request unicast synchronization for that objective.

このメカニズムは、スリープノードの場合、またはネットワークに参加する新しいノード、または障害後にネットワークに再接続するノードの場合、信頼できません。洪水を開始するASAは、適切な頻度で洪水を繰り返す必要があります。これは、データボリュームマルチキャストのための[RFC8085]の推奨事項と一致する必要があります。ASAは、関係する目的の同期レスポンダとしても機能する必要があります。したがって、洪水の対象となる対象となるノードは、次の洪水を待つか、その目的のためにユニキャスト同期を要求することができます。

The multicast messages for synchronization flooding are subject to the security rules in Section 2.5.1. In practice, this means that they MUST NOT be transmitted and MUST be ignored on receipt unless there is an operational ACP or equivalent strong security in place. However, because of the security weakness of link-local multicast (Section 3), synchronization objectives that are flooded SHOULD NOT contain unencrypted private information and SHOULD be validated by the recipient ASA.

同期フラッディング用のマルチキャストメッセージは、セクション2.5.1のセキュリティルールの対象となります。実際には、これはそれらが送信されてはならないことを意味し、運用上のACPまたは同等の強力なセキュリティがある限り、受信時に無視されなければならないことを意味します。ただし、リンクローカルマルチキャストのセキュリティの弱さのため(セクション3)、フラッディングされている同期目標は暗号化されていない個人情報を含み、受信者ASAによって検証されるべきです。

2.5.6.3. Rapid Mode (Discovery/Synchronization Linkage)
2.5.6.3. ラピッドモード(発見/同期リンケージ)

A Discovery message MAY include a Synchronization Objective option. In this case, the Discovery message also acts as a Request Synchronization message to indicate to the discovery responder that it could directly reply to the discovery initiator with a Synchronization message (Section 2.8.10) with synchronization data for rapid processing, if the discovery target supports the corresponding synchronization objective. The design implications are similar to those discussed in Section 2.5.5.1.

発見メッセージは同期対象オプションを含み得る。この場合、検出メッセージは、発見対象であれば、同期メッセージ(2.8.10)でディスカバリイニシエータに直接返信できることを発見応答者に示すように機能します。対応する同期目標をサポートします。設計の意味は、2.5.5.1項で議論されているものと同様です。

It is possible that a Discovery Response will arrive from a responder that does not support rapid mode before such a Synchronization message arrives. In this case, rapid mode will not occur.

そのような同期メッセージが到着する前に、迅速なモードをサポートしていないレスポンダから検出応答が到着する可能性があります。この場合、急速モードは発生しません。

This rapid mode could reduce the interactions between nodes so that a higher efficiency could be achieved. However, a network in which some nodes support rapid mode and others do not will have complex timing-dependent behaviors. Therefore, the rapid synchronization function SHOULD be configured off by default and MAY be configured on or off by Intent.

この迅速なモードでは、ノード間の相互作用を減らすことができ、それによってより高い効率が達成され得る。ただし、一部のノードが迅速なモードをサポートし、他のノードが複雑なタイミング依存の動作をサポートしていないネットワーク。したがって、迅速な同期機能はデフォルトで設定され、Intentでオンまたはオフに設定できます。

2.6. GRASP Constants
2.6. 把握定数

ALL_GRASP_NEIGHBORS A link-local scope multicast address used by a GRASP-enabled device to discover GRASP-enabled neighbor (i.e., on-link) devices. All devices that support GRASP are members of this multicast group.

ALL_GRASP_NEIGHBORS GRASP対応デバイスが使用するリンクローカルスコープマルチキャストアドレス(grasp対応隣接)(すなわち、オンリンク)デバイスを検出する。GRASPをサポートするすべてのデバイスは、このマルチキャストグループのメンバーです。

* IPv6 multicast address: ff02::13

* IPv6マルチキャストアドレス:FF02 :: 13.

* IPv4 multicast address: 224.0.0.119

* IPv4マルチキャストアドレス:224.0.0.119

GRASP_LISTEN_PORT (7017) A well-known UDP user port that every GRASP-enabled network device MUST listen to for link-local multicasts when UDP is used for M_DISCOVERY or M_FLOOD messages in the GRASP instance. This user port MAY also be used to listen for TCP or UDP unicast messages in a simple implementation of GRASP (Section 2.5.3).

GRASP_LISTEN_PORT(7017)GRASPインスタンス内のM_DiscoveryまたはM_FloodメッセージにUDPが使用されているときに、すべてのGRASP対応ネットワークデバイスがリンクローカルマルチキャストに対して待機する必要がある有名なUDPユーザーポート。このユーザーポートは、GRASPの簡単な実装でTCPまたはUDPユニキャストメッセージをリッスンするためにも使用できます(セクション2.5.3)。

GRASP_DEF_TIMEOUT (60000 milliseconds) The default timeout used to determine that an operation has failed to complete.

grasp_def_timeout(60000ミリ秒)操作が完了しなかったと判断するために使用されるデフォルトのタイムアウト。

GRASP_DEF_LOOPCT (6) The default loop count used to determine that a negotiation has failed to complete and to avoid looping messages.

grasp_def_loopct(6)ネゴシエーションが完了したことを決定し、ループメッセージを回避することを決定するために使用されるデフォルトのループ数。

GRASP_DEF_MAX_SIZE (2048) The default maximum message size in bytes.

GRASP_DEF_MAX_SIZE(2048)デフォルトの最大メッセージサイズ(バイト単位)。

2.7. Session Identifier (Session ID)
2.7. セッション識別子(セッションID)

This is an up to 32-bit opaque value used to distinguish multiple sessions between the same two devices. A new Session ID MUST be generated by the initiator for every new Discovery, Flood Synchronization, or Request message. All responses and follow-up messages in the same discovery, synchronization, or negotiation procedure MUST carry the same Session ID.

これは、同じ2つのデバイス間の複数のセッションを区別するために使用される最大32ビットの不透明値です。新しいセッションIDは、新しい検出、フラッド同期、または要求メッセージごとにイニシエータによって生成されなければなりません。同じ検出、同期、またはネゴシエーション手順でのすべての応答およびフォローアップメッセージは、同じセッションIDを持ちます。

The Session ID SHOULD have a very low collision rate locally. It MUST be generated by a pseudorandom number generator (PRNG) using a locally generated seed that is unlikely to be used by any other device in the same network. The PRNG SHOULD be cryptographically strong [RFC4086]. When allocating a new Session ID, GRASP MUST check that the value is not already in use and SHOULD check that it has not been used recently by consulting a cache of current and recent sessions. In the unlikely event of a clash, GRASP MUST generate a new value.

セッションIDはローカルに非常に低い衝突率を持つべきです。同じネットワーク内の他のデバイスによって使用される可能性が低いローカルに生成されたシードを使用して、Pseudorandom Number Generator(PRNG)によって生成されなければなりません。PRNGは暗号的に強い[RFC4086]でなければなりません。新しいセッションIDを割り当てる場合、GRASSは、値がまだ使用されていないことを確認し、最近使用されていないことを確認し、最近のセッションと最近のセッションを参照していることを確認する必要があります。衝突の起こりかりのイベントでは、GRASPは新しい値を生成しなければなりません。

However, there is a finite probability that two nodes might generate the same Session ID value. For that reason, when a Session ID is communicated via GRASP, the receiving node MUST tag it with the initiator's IP address to allow disambiguation. In the highly unlikely event of two peers opening sessions with the same Session ID value, this tag will allow the two sessions to be distinguished. Multicast GRASP messages and their responses, which may be relayed between links, therefore include a field that carries the initiator's global IP address.

しかしながら、2つのノードが同じセッションID値を生成する可能性があるという有限の確率がある。そのため、セッションIDがGRASPを介して通信されると、受信側ノードはイニシエータのIPアドレスとタグを付けて曖昧さを許可する必要があります。同じセッションID値を持つ2つのピアを開く2つのピアが発生する可能性が高い場合、このタグは2つのセッションを区別することを可能にします。マルチキャスト把握メッセージとそれらの応答はリンク間で中継される可能性があるため、イニシエータのグローバルIPアドレスを搭載したフィールドを含む。

There is a highly unlikely race condition in which two peers start simultaneous negotiation sessions with each other using the same Session ID value. Depending on various implementation choices, this might lead to the two sessions being confused. See Section 2.8.6 for details of how to avoid this.

同じセッションID値を使用して、2つのピアが互いに同時のネゴシエーションセッションを開始するという非常に低い競合状態があります。さまざまな実装の選択に応じて、これは2つのセッションが混乱している可能性があります。これを回避する方法の詳細については、セクション2.8.6を参照してください。

2.8. GRASP Messages
2.8. メッセージを把握してください
2.8.1. Message Overview
2.8.1. メッセージの概要

This section defines the GRASP message format and message types. Message types not listed here are reserved for future use.

このセクションでは、GRASSメッセージ形式とメッセージタイプを定義します。ここに記載されていないメッセージタイプは将来の使用のために予約されています。

The messages currently defined are:

現在定義されているメッセージは次のとおりです。

Discovery and Discovery Response (M_DISCOVERY, M_RESPONSE).

発見と発見の応答(M_Discovery、M_Response)。

Request Negotiation, Negotiation, Confirm Waiting, and Negotiation End (M_REQ_NEG, M_NEGOTIATE, M_WAIT, M_END).

リクエストネゴシエーション、ネゴシエーション、待機中、およびネゴシエーションエンド(M_REQ_NEG、M_NEGOTIATE、M_WAIT、M_END)。

Request Synchronization, Synchronization, and Flood Synchronization (M_REQ_SYN, M_SYNCH, M_FLOOD).

要求同期、同期、およびフラッド同期(M_REQ_SYN、M_SYNCH、M_FLOOD)。

No Operation and Invalid (M_NOOP, M_INVALID).

操作と無効(m_noop、m_invalid)はありません。

2.8.2. GRASP Message Format
2.8.2. メッセージフォーマットを把握します

GRASP messages share an identical header format and a variable format area for options. GRASP message headers and options are transmitted in Concise Binary Object Representation (CBOR) [RFC8949]. In this specification, they are described using Concise Data Definition Language (CDDL) [RFC8610]. Fragmentary CDDL is used to describe each item in this section. A complete and normative CDDL specification of GRASP is given in Section 4, including constants such as message types.

graspメッセージは、オプションの同一のヘッダー形式と変数形式領域を共有します。メッセージヘッダーとオプションを簡潔なバイナリオブジェクト表現(CBOR)[RFC8949]で送信されます。本明細書では、簡潔なデータ定義言語(CDDL)[RFC8610]を使用して説明されています。断片化CDDLは、このセクションの各項目を説明するために使用されます。把握の完全で規範的なCDDL仕様は、メッセージタイプなどの定数を含むセクション4に示されています。

Every GRASP message, except the No Operation message, carries a Session ID (Section 2.7). Options are then presented serially.

把握メッセージがない場合は、すべての操作メッセージを除いて、セッションIDを搭載しています(セクション2.7)。その後、オプションは直列に提示されます。

In fragmentary CDDL, every GRASP message follows the pattern:

フラグメンタリCDDLでは、すべてのGRASPメッセージがパターンに従います。

     grasp-message = (message .within message-structure) / noop-message
        
     message-structure = [MESSAGE_TYPE, session-id, ?initiator,
                          *grasp-option]
        

MESSAGE_TYPE = 0..255 session-id = 0..4294967295 ; up to 32 bits grasp-option = any

message_type = 0..255 session-id = 0..4294967295;最大32ビットgrasp-option = ANY

The MESSAGE_TYPE indicates the type of the message and thus defines the expected options. Any options received that are not consistent with the MESSAGE_TYPE SHOULD be silently discarded.

message_typeはメッセージの種類を示し、したがって期待されるオプションを定義します。message_typeと一致しない受信したオプションは、黙って破棄されるべきです。

The No Operation (noop) message is described in Section 2.8.13.

NO操作(NOOP)メッセージについては、2.8.13項に記載されています。

The various MESSAGE_TYPE values are defined in Section 4.

さまざまなmessage_type値はセクション4で定義されています。

All other message elements are described below and formally defined in Section 4.

他のすべてのメッセージ要素は以下に説明され、セクション4で正式に定義されている。

If an unrecognized MESSAGE_TYPE is received in a unicast message, an Invalid message (Section 2.8.12) MAY be returned. Otherwise, the message MAY be logged and MUST be discarded. If an unrecognized MESSAGE_TYPE is received in a multicast message, it MAY be logged and MUST be silently discarded.

認識されていないMESSAGE_TYPEがユニキャストメッセージで受信された場合は、無効なメッセージ(セクション2.8.12)が返されます。それ以外の場合、メッセージは記録され、破棄されなければなりません。認識されていないMESSAGE_TYPEがマルチキャストメッセージで受信された場合は、ログに記録され、静かに破棄されなければなりません。

2.8.3. Message Size
2.8.3. メッセージサイズ

GRASP nodes MUST be able to receive unicast messages of at least GRASP_DEF_MAX_SIZE bytes. GRASP nodes MUST NOT send unicast messages longer than GRASP_DEF_MAX_SIZE bytes unless a longer size is explicitly allowed for the objective concerned. For example, GRASP negotiation itself could be used to agree on a longer message size.

把握ノードは、少なくともgrasp_def_max_sizeバイトのユニキャストメッセージを受信できなければなりません。graspノードは、grasp_def_max_sizeバイトよりも長いサイズが明示的に含まれていない限り、ユニキャストメッセージを送信してはいけません。たとえば、把握交渉自体を使用すると、より長いメッセージサイズに合意することができます。

The message parser used by GRASP should be configured to know about the GRASP_DEF_MAX_SIZE, or any larger negotiated message size, so that it may defend against overly long messages.

GRASPで使用されるメッセージパーサは、grasp_def_max_size、または任意の大きなネゴシエートされたメッセージサイズについて知るように構成されているため、過度に長いメッセージに対して損なわれる可能性があります。

The maximum size of multicast messages (M_DISCOVERY and M_FLOOD) depends on the link-layer technology or the link-adaptation layer in use.

マルチキャストメッセージの最大サイズ(M_DiscoveryとM_flood)は、使用中のリンク層テクノロジまたはリンク適応層によって異なります。

2.8.4. Discovery Message
2.8.4. 発見メッセージ

In fragmentary CDDL, a Discovery message follows the pattern:

断片的なCDDLでは、ディスカバリー・メッセージがパターンに従います。

     discovery-message = [M_DISCOVERY, session-id, initiator, objective]
        

A discovery initiator sends a Discovery message to initiate a discovery process for a particular objective option.

発見イニシエータは、特定の目的オプションの検出プロセスを開始するために検出メッセージを送信します。

The discovery initiator sends all Discovery messages via UDP to port GRASP_LISTEN_PORT at the link-local ALL_GRASP_NEIGHBORS multicast address on each link-layer interface in use by GRASP. It then listens for unicast TCP responses on a given port and stores the discovery results, including responding discovery objectives and corresponding unicast locators.

Discoveryイニシエータは、GRASPで使用されている各リンクレイヤインタフェースのリンクローカルALL_GRASP_NEIGHBORSマルチキャストアドレスで、UDPを介してすべてのディスカバリメッセージをポートgrasp_listen_portに送信します。次に、特定のポートでユニキャストTCP応答を待機し、応答の検出目的と対応するユニキャストロケーターなどの検出結果を格納します。

The listening port used for TCP MUST be the same port as used for sending the Discovery UDP multicast, on a given interface. In an implementation with a single GRASP instance in a node, this MAY be GRASP_LISTEN_PORT. To support multiple instances in the same node, the GRASP discovery mechanism in each instance needs to find, for each interface, a dynamic port that it can bind to for both sending UDP link-local multicast and listening for TCP before initiating any discovery.

TCPに使用されるリスニングポートは、特定のインターフェイス上の検出UDPマルチキャストの送信に使用されるのと同じポートでなければなりません。ノード内の単一のGRASPインスタンスを持つ実装では、これはGRASP_LISTEN_PORTになる可能性があります。同じノード内の複数のインスタンスをサポートするために、各インスタンスのGrasp Discoveryメカニズムは、各インタフェースについて、UDPリンクローカルマルチキャストを送信し、TCPのリスニングを開始する前に、TCPをリスニングするためにバインドできるダイナミックポートを見つける必要があります。

The 'initiator' field in the message is a globally unique IP address of the initiator for the sole purpose of disambiguating the Session ID in other nodes. If for some reason the initiator does not have a globally unique IP address, it MUST use a link-local address that is highly likely to be unique for this purpose, for example, using [RFC7217]. Determination of a node's globally unique IP address is implementation dependent.

メッセージ内の「イニシエータ」フィールドは、他のノードのセッションIDを曖昧さを解除するための唯一の目的のためのイニシエータのグローバルに固有のIPアドレスです。何らかの理由でイニシエータがグローバルに一意のIPアドレスを持たない場合、[RFC7217]を使用して、この目的のために一意である可能性が高いリンクローカルアドレスを使用する必要があります。ノードのグローバルに固有のIPアドレスの決定は実装に依存しています。

A Discovery message MUST include exactly one of the following:

検出メッセージには、次のいずれかが含まれている必要があります。

* A Discovery Objective option (Section 2.10.1). Its loop count MUST be set to a suitable value to prevent discovery loops (default value is GRASP_DEF_LOOPCT). If the discovery initiator requires only on-link responses, the loop count MUST be set to 1.

* ディスカバリー目標オプション(セクション2.10.1)。ディスカバリーループを防ぐには、そのループ数を適切な値に設定する必要があります(デフォルト値はgrasp_def_loopctです)。検出イニシエータがオンリンク応答のみを必要とする場合、ループ数は1に設定する必要があります。

* A Negotiation Objective option (Section 2.10.1). This is used both for the purpose of discovery and to indicate to the discovery target that it MAY directly reply to the discovery initiator with a Negotiation message for rapid processing, if it could act as the corresponding negotiation counterpart. The sender of such a Discovery message MUST initialize a negotiation timer and loop count in the same way as a Request Negotiation message (Section 2.8.6).

* 交渉目的オプション(セクション2.10.1)。これは、発見の目的で使用され、それが迅速な処理のためのネゴシエーションメッセージで直接応答することができるという発見ターゲットに使用され、対応するネゴシエーションの対応物として機能することができればそのような発見メッセージの送信者は、リクエストネゴシエーションメッセージと同じ方法でネゴシエーションタイマーとループ数を初期化する必要があります(セクション2.8.6)。

* A Synchronization Objective option (Section 2.10.1). This is used both for the purpose of discovery and to indicate to the discovery target that it MAY directly reply to the discovery initiator with a Synchronization message for rapid processing, if it could act as the corresponding synchronization counterpart. Its loop count MUST be set to a suitable value to prevent discovery loops (default value is GRASP_DEF_LOOPCT).

* 同期目標オプション(2.10.1項)。これは、発見の目的のために使用され、それが迅速な処理のための同期メッセージを使用してディスカバリイニシエータに直接応答することができるという発見ターゲットには、対応する同期の対応物として機能することができれば、それが直接発見イニシエータに返信することができることを示す。ディスカバリーループを防ぐには、そのループ数を適切な値に設定する必要があります(デフォルト値はgrasp_def_loopctです)。

As mentioned in Section 2.5.4.2, a Discovery message MAY be sent unicast to a peer node, which SHOULD then proceed exactly as if the message had been multicast.

セクション2.5.4.2で述べたように、検出メッセージはピアノードにユニキャストを送信することができます。これは、メッセージがマルチキャストされていたかのように正確に進行するはずです。

2.8.5. Discovery Response Message
2.8.5. ディスカバリー応答メッセージ

In fragmentary CDDL, a Discovery Response message follows the pattern:

断片化CDDLでは、ディスカバリ応答メッセージがパターンに従います。

     response-message = [M_RESPONSE, session-id, initiator, ttl,
                         (+locator-option // divert-option), ?objective]
        

ttl = 0..4294967295 ; in milliseconds

TTL = 0..4294967295;ミリ秒で

A node that receives a Discovery message SHOULD send a Discovery Response message if and only if it can respond to the discovery.

検出メッセージを受信するノードは、検出に応答できる場合に限り、検出応答メッセージを送信する必要があります。

It MUST contain the same Session ID and initiator as the Discovery message.

検出メッセージとして同じセッションIDとイニシエータを含める必要があります。

It MUST contain a time-to-live (ttl) for the validity of the response, given as a positive integer value in milliseconds. Zero implies a value significantly greater than GRASP_DEF_TIMEOUT milliseconds (Section 2.6). A suggested value is ten times that amount.

それは、正の整数値として与えられた、応答の有効性のための時間からLIVE(TTL)を含める必要があります。ゼロはGRASP_DEF_TIMEOUTミリ秒よりかなり大きい値を意味します(セクション2.6)。提案された値はその金額の10倍です。

It MAY include a copy of the discovery objective from the Discovery message.

発見メッセージから検出目的のコピーを含めることができます。

It is sent to the sender of the Discovery message via TCP at the port used to send the Discovery message (as explained in Section 2.8.4). In the case of a relayed Discovery message, the Discovery Response is thus sent to the relay, not the original initiator.

検出メッセージの送信に使用されたポートでTCPを介してディスカバリメッセージの送信者に送信されます(セクション2.8.4で説明されているように)。中継された発見メッセージの場合、ディスカバリ応答は元のイニシエータではなくリレーに送信されます。

In all cases, the transport session SHOULD be closed after sending the Discovery Response. A transport session failure is treated as no response.

すべての場合において、トランスポートセッションは検出応答を送信した後に閉じられるべきです。トランスポートセッションの失敗は、応答なしとして扱われます。

If the responding node supports the discovery objective of the discovery, it MUST include at least one kind of locator option (Section 2.9.5) to indicate its own location. A sequence of multiple kinds of locator options (e.g., IP address option and FQDN option) is also valid.

応答ノードが検出の検出目的をサポートしている場合は、それ自体の場所を示すために少なくとも1種類のロケータオプション(セクション2.9.5)を含める必要があります。複数種類のロケータオプション(例えば、IPアドレスオプションおよびFQDNオプション)のシーケンスも有効です。

If the responding node itself does not support the discovery objective, but it knows the locator of the discovery objective, then it SHOULD respond to the Discovery message with a Divert option (Section 2.9.2) embedding a locator option or a combination of multiple kinds of locator options that indicate the locator(s) of the discovery objective.

応答ノード自体が発見の目的をサポートしていない場合、検出オブジェクトのロケータを知っている場合は、Divertオプション(セクション2.9.2)の検出オプション(2.9.2)の検出メッセージに応答する必要があります(セクション2.9.2)ロケータオプションまたは複数種類の組み合わせ検出目的のロケータを示すロケータオプションの。

More details on the processing of Discovery Responses are given in Section 2.5.4.

発見回答の処理に関する詳細は、2.5.4項に記載されています。

2.8.6. Request Messages
2.8.6. メッセージを要求します

In fragmentary CDDL, Request Negotiation and Request Synchronization messages follow the patterns:

フラグメンタリCDDLでは、リクエストネゴシエーションとリクエスト同期メッセージのパターンに従います。

   request-negotiation-message = [M_REQ_NEG, session-id, objective]
        
   request-synchronization-message = [M_REQ_SYN, session-id, objective]
        

A negotiation or synchronization requesting node sends the appropriate Request message to the unicast address of the negotiation or synchronization counterpart, using the appropriate protocol and port numbers (selected from the discovery result). If the discovery result is an FQDN, it will be resolved first.

ネゴシエーションまたは同期要求ノードは、適切なプロトコルとポート番号を使用して、適切な要求メッセージをネゴシエーションまたは同期の対応物のユニキャストアドレスに送信します(検出結果から選択されます)。検出結果がFQDNの場合は、最初に解決されます。

A Request message MUST include the relevant objective option. In the case of Request Negotiation, the objective option MUST include the requested value.

要求メッセージには、関連する目的オプションを含める必要があります。リクエストネゴシエーションの場合、目的オプションは要求された値を含める必要があります。

When an initiator sends a Request Negotiation message, it MUST initialize a negotiation timer for the new negotiation thread. The default is GRASP_DEF_TIMEOUT milliseconds. Unless this timeout is modified by a Confirm Waiting message (Section 2.8.9), the initiator will consider that the negotiation has failed when the timer expires.

イニシエータが要求ネゴシエーションメッセージを送信すると、新しいネゴシエーションスレッドのネゴシエーションタイマーを初期化する必要があります。デフォルトはgrasp_def_timeoutミリ秒です。このタイムアウトを確認待機メッセージ(2.8.9項)によって変更されていない限り、イニシエータはタイマーが期限切れになるとネゴシエーションが失敗したと考える。

Similarly, when an initiator sends a Request Synchronization, it SHOULD initialize a synchronization timer. The default is GRASP_DEF_TIMEOUT milliseconds. The initiator will consider that synchronization has failed if there is no response before the timer expires.

同様に、イニシエータが要求同期を送信すると、同期タイマーを初期化する必要があります。デフォルトはgrasp_def_timeoutミリ秒です。イニシエータは、タイマーが期限切れになる前に応答がない場合、同期が失敗したと考えるでしょう。

When an initiator sends a Request message, it MUST initialize the loop count of the objective option with a value defined in the specification of the option or, if no such value is specified, with GRASP_DEF_LOOPCT.

イニシエータが要求メッセージを送信すると、そのオプションの指定で定義されている値、またはそのような値が指定されていない場合はGRASP_DEF_LOOPCTを指定して、目的オプションのループ数を初期化する必要があります。

If a node receives a Request message for an objective for which no ASA is currently listening, it MUST immediately close the relevant socket to indicate this to the initiator. This is to avoid unnecessary timeouts if, for example, an ASA exits prematurely but the GRASP core is listening on its behalf.

ノードがASAが現在リスニングされていない目的の要求メッセージを受信した場合、これをイニシエータに示すように関連ソケットをすぐに閉じる必要があります。これは、例えばASAが早期に出るがGrasp Coreがその代わりにリスニングしている場合、不要なタイムアウトを避けることです。

To avoid the highly unlikely race condition in which two nodes simultaneously request sessions with each other using the same Session ID (Section 2.7), a node MUST verify that the received Session ID is not already locally active when it receives a Request message. In case of a clash, it MUST discard the Request message, in which case the initiator will detect a timeout.

2つのノードが同じセッションID(セクション2.7)を使用して同時にセッションを同時に要求する非常に低い競合状態を回避するために、ノードは、受信したセッションIDが要求メッセージを受信したときにまだローカルアクティブではないことを検証する必要があります。衝突の場合は、要求メッセージを破棄しなければならず、その場合イニシエータはタイムアウトを検出します。

2.8.7. Negotiation Message
2.8.7. ネゴシエーションメッセージ

In fragmentary CDDL, a Negotiation message follows the pattern:

断片的なCDDLでは、ネゴシエーションメッセージはパターンに従います。

     negotiation-message = [M_NEGOTIATE, session-id, objective]
        

A negotiation counterpart sends a Negotiation message in response to a Request Negotiation message, a Negotiation message, or a Discovery message in rapid mode. A negotiation process MAY include multiple steps.

交渉対応物は、リクエストネゴシエーションメッセージ、ネゴシエーションメッセージ、または迅速モードでの検出メッセージに応答してネゴシエーションメッセージを送信する。交渉プロセスは複数のステップを含み得る。

The Negotiation message MUST include the relevant Negotiation Objective option, with its value updated according to progress in the negotiation. The sender MUST decrement the loop count by 1. If the loop count becomes zero, the message MUST NOT be sent. In this case, the negotiation session has failed and will time out.

ネゴシエーションメッセージには、関連するネゴシエーション目標オプションを含める必要があります。その値は、ネゴシエーションの進行状況に応じて更新されます。送信者はループ数を1で減らす必要があります。ループ数がゼロになると、メッセージを送信してはいけません。この場合、ネゴシエーションセッションは失敗し、タイムアウトします。

2.8.8. Negotiation End Message
2.8.8. ネゴシエーション終了メッセージ

In fragmentary CDDL, a Negotiation End message follows the pattern:

断片的なCDDLでは、ネゴシエーションエンドメッセージはパターンの後に続きます。

     end-message = [M_END, session-id, accept-option / decline-option]
        

A negotiation counterpart sends a Negotiation End message to close the negotiation. It MUST contain either an Accept option or a Decline option, defined in Section 2.9.3 and Section 2.9.4. It could be sent either by the requesting node or the responding node.

交渉の対応物は、ネゴシエーションを閉じるためにネゴシエーション終了メッセージを送信します。セクション2.9.3とセクション2.9.4で定義されているACCEPTオプションまたは拒否オプションのいずれかを含める必要があります。それは要求側ノードまたは応答ノードによって送信される可能性があります。

2.8.9. Confirm Waiting Message
2.8.9. 待機メッセージを確認してください

In fragmentary CDDL, a Confirm Waiting message follows the pattern:

断片的なCDDLでは、確認待機メッセージがパターンに従います。

     wait-message = [M_WAIT, session-id, waiting-time]
     waiting-time = 0..4294967295 ; in milliseconds
        

A responding node sends a Confirm Waiting message to ask the requesting node to wait for a further negotiation response. It might be that the local process needs more time or that the negotiation depends on another triggered negotiation. This message MUST NOT include any other options. When received, the waiting time value overwrites and restarts the current negotiation timer (Section 2.8.6).

応答ノードは、要求側ノードにさらなるネゴシエーション応答を待つように要求するための確認待機メッセージを送信する。ローカルプロセスには、より多くの時間が必要な場合、またはネゴシエーションが別のトリガーネゴシエーションに依存することです。このメッセージに他のオプションを含めないでください。受信すると、待機時間値は現在のネゴシエーションタイマーを上書きして再起動します(2.8.6項)。

The responding node SHOULD send a Negotiation, Negotiation End, or another Confirm Waiting message before the negotiation timer expires. If not, when the initiator's timer expires, the initiator MUST treat the negotiation procedure as failed.

回答ノードは、ネゴシエーションタイマーが期限切れになる前にネゴシエーション、ネゴシエーションの終了、または別の確認メッセージを送信する必要があります。もしそうでなければ、イニシエータのタイマーが期限切れになると、イニシエータはネゴシエーション手順を失敗として扱う必要があります。

2.8.10. Synchronization Message
2.8.10. 同期メッセージ

In fragmentary CDDL, a Synchronization message follows the pattern:

断片化CDDLでは、同期メッセージがパターンに従います。

     synch-message = [M_SYNCH, session-id, objective]
        

A node that receives a Request Synchronization, or a Discovery message in rapid mode, sends back a unicast Synchronization message with the synchronization data, in the form of a GRASP option for the specific synchronization objective present in the Request Synchronization.

リクエスト同期を受信するノード、またはRapid Modeでディスカバリメッセージは、要求同期に存在する特定の同期目標のための把握オプションの形で、同期データとのユニキャスト同期メッセージを返信します。

2.8.11. Flood Synchronization Message
2.8.11. フラッド同期メッセージ

In fragmentary CDDL, a Flood Synchronization message follows the pattern:

断片化CDDLでは、フラッド同期メッセージがパターンに従います。

     flood-message = [M_FLOOD, session-id, initiator, ttl,
                      +[objective, (locator-option / [])]]
        

ttl = 0..4294967295 ; in milliseconds

TTL = 0..4294967295;ミリ秒で

A node MAY initiate flooding by sending an unsolicited Flood Synchronization message with synchronization data. This MAY be sent to port GRASP_LISTEN_PORT at the link-local ALL_GRASP_NEIGHBORS multicast address, in accordance with the rules in Section 2.5.6.

ノードは、同期データを用いて迷惑なフラッド同期メッセージを送信することによってフラッディングを開始することができる。これは、セクション2.5.6の規則に従って、Link-Local All_grasp_neighborsマルチキャストアドレスのポートgrasp_listen_portに送信されます。

The initiator address is provided, as described for Discovery messages (Section 2.8.4), only to disambiguate the Session ID.

検出メッセージについて説明したように、セッションIDを曖昧させるためだけに、イニシエータアドレスが提供されます。

The message MUST contain a time-to-live (ttl) for the validity of the contents, given as a positive integer value in milliseconds. There is no default; zero indicates an indefinite lifetime.

メッセージには、正の整数値としてMRISECONDSの正の整数値として指定された、内容の有効性のための時間からLIVE(TTL)が含まれている必要があります。デフォルトはありません。ゼロは無期限の寿命を示します。

The synchronization data are in the form of GRASP option(s) for specific synchronization objective(s). The loop count(s) MUST be set to a suitable value to prevent flood loops (default value is GRASP_DEF_LOOPCT).

同期データは、特定の同期対象の把握オプションの形式である。ループカウントは、フラッドループを防ぐために適切な値に設定する必要があります(デフォルト値はgrasp_def_loopctです)。

Each objective option MAY be followed by a locator option (Section 2.9.5) associated with the flooded objective. In its absence, an empty option MUST be included to indicate a null locator.

各目的オプションの後には、あふれされた目的に関連したロケータオプション(セクション2.9.5)が続くことができます。その不在では、NULLロケータを示すために空のオプションを含める必要があります。

A node that receives a Flood Synchronization message MUST cache the received objectives for use by local ASAs. Each cached objective MUST be tagged with the locator option sent with it, or with a null tag if an empty locator option was sent. If a subsequent Flood Synchronization message carries an objective with the same name and the same tag, the corresponding cached copy of the objective MUST be overwritten. If a subsequent Flood Synchronization message carrying an objective with same name arrives with a different tag, a new cached entry MUST be created.

フラッド同期メッセージを受信するノードは、ローカルASASで使用するために受信した目的をキャッシュする必要があります。キャッシュされた各目的は、それを送信したロケータオプション、または空のロケータオプションが送信された場合にNULLタグを付けてタグ付けする必要があります。後続のフラッド同期メッセージが同じ名前と同じタグを持つ目的を持つ場合、対応する対象のキャッシュされたコピーを上書きする必要があります。同じ名前の目的を持つ後続のフラッド同期メッセージが異なるタグを持つ到着すると、新しいキャッシュエントリを作成する必要があります。

Note: the purpose of this mechanism is to allow the recipient of flooded values to distinguish between different senders of the same objective, and if necessary communicate with them using the locator, protocol, and port included in the locator option. Many objectives will not need this mechanism, so they will be flooded with a null locator.

注:このメカニズムの目的は、フラッディングされた値の受信者が同じ目的の異なる送信者を区別すること、および必要に応じてロケータオプションに含まれているロケータ、プロトコル、およびポートを使用してそれらと通信することです。多くの目的はこのメカニズムを必要としないので、それらはヌルロケータであふれされます。

Cached entries MUST be ignored or deleted after their lifetime expires.

LifTimeの有効期限が切れると、キャッシュされたエントリは無視されるか、削除する必要があります。

2.8.12. Invalid Message
2.8.12. 無効なメッセージ

In fragmentary CDDL, an Invalid message follows the pattern:

Frommentarary CDDLでは、無効なメッセージがパターンに続きます。

     invalid-message = [M_INVALID, session-id, ?any]
        

This message MAY be sent by an implementation in response to an incoming unicast message that it considers invalid. The Session ID value MUST be copied from the incoming message. The content SHOULD be diagnostic information such as a partial copy of the invalid message up to the maximum message size. An M_INVALID message MAY be silently ignored by a recipient. However, it could be used in support of extensibility, since it indicates that the remote node does not support a new or obsolete message or option.

このメッセージは、受信したユニキャストメッセージに応答して、Invalidを考慮した実装によって送信されることがあります。セッションID値は着信メッセージからコピーする必要があります。内容は、最大メッセージサイズまでの無効なメッセージの部分コピーなどの診断情報である必要があります。M_InValidメッセージは受信者によって黙って無視されてもよい。ただし、リモートノードが新規または時代遅れのメッセージやオプションをサポートしていないことを示すので、拡張性のサポートで使用できます。

An M_INVALID message MUST NOT be sent in response to an M_INVALID message.

M_InValidメッセージに応答してM_InValidメッセージを送信しないでください。

2.8.13. No Operation Message
2.8.13. 操作メッセージなし

In fragmentary CDDL, a No Operation message follows the pattern:

断片的なCDDLでは、パターンのない操作メッセージは次のようになります。

     noop-message = [M_NOOP]
        

This message MAY be sent by an implementation that for practical reasons needs to initialize a socket. It MUST be silently ignored by a recipient.

このメッセージは、実際の理由からソケットを初期化する必要があるために実装によって送信されてもよい。それは受信者によって黙って無視されなければなりません。

2.9. GRASP Options
2.9. 把握オプション

This section defines the GRASP options for the negotiation and synchronization protocol signaling. Additional options may be defined in the future.

このセクションでは、ネゴシエーションと同期プロトコルシグナリングの把握オプションを定義します。追加のオプションは将来定義されている可能性があります。

2.9.1. Format of GRASP Options
2.9.1. GRASPオプションのフォーマット

GRASP options SHOULD be CBOR arrays that MUST start with an unsigned integer identifying the specific option type carried in this option. These option types are formally defined in Section 4.

把握オプションは、このオプションで実行されている特定のオプションタイプを識別する符号なし整数で始める必要があるCBOBOR配列です。これらのオプション型はセクション4で正式に定義されています。

GRASP options may be defined to include encapsulated GRASP options.

把握オプションは、カプセル化された把持オプションを含むように定義されているかもしれません。

2.9.2. Divert Option
2.9.2. 宛先オプション

The Divert option is used to redirect a GRASP request to another node, which may be more appropriate for the intended negotiation or synchronization. It may redirect to an entity that is known as a specific negotiation or synchronization counterpart (on-link or off-link) or a default gateway. The Divert option MUST only be encapsulated in Discovery Response messages. If found elsewhere, it SHOULD be silently ignored.

Divertオプションは、把握要求を別のノードにリダイレクトするために使用されます。これは、目的のネゴシエーションまたは同期に適している可能性があります。それは、特定のネゴシエーションまたは同期のカウンターパート(オンリンクまたはオフリンク)またはデフォルトゲートウェイとして知られているエンティティにリダイレクトするかもしれません。Divertオプションは、検出応答メッセージでのみカプセル化されている必要があります。他の場所に見つかった場合、それは黙って無視されるべきです。

A discovery initiator MAY ignore a Divert option if it only requires direct Discovery Responses.

ディスカバリーイニシエータは、直接検出応答が必要な場合にDivertオプションを無視することができます。

In fragmentary CDDL, the Divert option follows the pattern:

断片的なCDDLでは、Divertオプションはパターンの後に続きます。

     divert-option = [O_DIVERT, +locator-option]
        

The embedded locator option(s) (Section 2.9.5) point to diverted destination target(s) in response to a Discovery message.

埋め込みロケータオプション(セクション2.9.5)は、検出メッセージに応答して転用された宛先ターゲットを指します。

2.9.3. Accept Option
2.9.3. オプションを受け入れます

The Accept option is used to indicate to the negotiation counterpart that the proposed negotiation content is accepted.

ACCEPTオプションは、提案されたネゴシエーションコンテンツが受け入れられていることを交渉の対応物に示すために使用されます。

The Accept option MUST only be encapsulated in Negotiation End messages. If found elsewhere, it SHOULD be silently ignored.

ACCEPTオプションは、ネゴシエーションの終了メッセージでのみカプセル化されている必要があります。他の場所に見つかった場合、それは黙って無視されるべきです。

In fragmentary CDDL, the Accept option follows the pattern:

fragmentarary CDDLでは、ACCEPTオプションはパターンに従います。

     accept-option = [O_ACCEPT]
        
2.9.4. Decline Option
2.9.4. 辞退オプション

The Decline option is used to indicate to the negotiation counterpart the proposed negotiation content is declined and to end the negotiation process.

辞退オプションは、交渉の対応物を示すために使用され、提案されたネゴシエーションコンテンツは拒否され、ネゴシエーションプロセスを終了します。

The Decline option MUST only be encapsulated in Negotiation End messages. If found elsewhere, it SHOULD be silently ignored.

辞退オプションは、ネゴシエーション終了メッセージにのみカプセル化されている必要があります。他の場所に見つかった場合、それは黙って無視されるべきです。

In fragmentary CDDL, the Decline option follows the pattern:

断片的なCDDLでは、辞退オプションはパターンに従います。

     decline-option = [O_DECLINE, ?reason]
     reason = text  ; optional UTF-8 error message
        

Note: there might be scenarios where an ASA wants to decline the proposed value and restart the negotiation process. In this case, it is an implementation choice whether to send a Decline option or to continue with a Negotiation message, with an objective option that contains a null value or one that contains a new value that might achieve convergence.

注意:ASAが提案された値を辞退し、ネゴシエーションプロセスを再開したいシナリオがあるかもしれません。この場合、辞退オプションを送信するか、ネゴシエーションメッセージを継続するかどうか、またはコンバージェンスを達成する可能性がある新しい値を含むオブジェクトのオプションを使用して、実装の選択肢です。

2.9.5. Locator Options
2.9.5. ロケータオプション

These locator options are used to present reachability information for an ASA, a device, or an interface. They are Locator IPv6 Address option, Locator IPv4 Address option, Locator FQDN option, and Locator URI option.

これらのロケータオプションは、ASA、デバイス、またはインターフェイスの到達可能性情報を提示するために使用されます。ロケータIPv6アドレスオプション、ロケータIPv4アドレスオプション、ロケータFQDNオプション、およびロケータURIオプションです。

Since ASAs will normally run as independent user programs, locator options need to indicate the network-layer locator plus the transport protocol and port number for reaching the target. For this reason, the locator options for IP addresses and FQDNs include this information explicitly. In the case of the Locator URI option, this information can be encoded in the URI itself.

ASASは通常独立したユーザープログラムとして実行されるので、ロケータオプションはネットワーク層ロケータにターゲットに到達するためのトランスポートプロトコルとポート番号を示す必要があります。このため、IPアドレスとFQDNのロケータオプションには、この情報が明示的に含まれています。ロケータURIオプションの場合、この情報はURI自体で符号化することができる。

Note: It is assumed that all locators used in locator options are in scope throughout the GRASP domain. As stated in Section 2.2, GRASP is not intended to work across disjoint addressing or naming realms.

注:ロケータオプションで使用されているすべてのロケーターはGRASPドメイン全体のスコープにあると仮定されています。セクション2.2で述べたように、GRASPは、互いに派生アドレッシングまたは命名分野間で動作することを意図していません。

2.9.5.1. Locator IPv6 Address Option
2.9.5.1. ロケータIPv6アドレスオプション

In fragmentary CDDL, the Locator IPv6 Address option follows the pattern:

Fragmentarary CDDLでは、Locator IPv6アドレスオプションはパターンを続けます。

     ipv6-locator-option = [O_IPv6_LOCATOR, ipv6-address,
                            transport-proto, port-number]
     ipv6-address = bytes .size 16
        

transport-proto = IPPROTO_TCP / IPPROTO_UDP IPPROTO_TCP = 6 IPPROTO_UDP = 17 port-number = 0..65535

トランスポート-POTO = IPPROTO_TCP / IPPROTO_UDP IPPROTO_TCP = 6 ipproto_udp = 17ポート番号= 0..65535

The content of this option is a binary IPv6 address followed by the protocol number and port number to be used.

このオプションの内容は、バイナリIPv6アドレスの後に使用されるプロトコル番号とポート番号が続きます。

Note 1: The IPv6 address MUST normally have global scope. However, during initialization, a link-local address MAY be used for specific objectives only (Section 2.5.2). In this case, the corresponding Discovery Response message MUST be sent via the interface to which the link-local address applies.

注1:IPv6アドレスは通常グローバルスコープを持つ必要があります。ただし、初期化中は、特定の目的のみにリンクローカルアドレスを使用できます(セクション2.5.2)。この場合、対応する検出応答メッセージは、リンクローカルアドレスが適用されるインターフェイスを介して送信する必要があります。

Note 2: A link-local IPv6 address MUST NOT be used when this option is included in a Divert option.

注2:このオプションがDivertオプションに含まれている場合は、リンクローカルIPv6アドレスを使用しないでください。

Note 3: The IPPROTO values are taken from the existing IANA Protocol Numbers registry in order to specify TCP or UDP. If GRASP requires future values that are not in that registry, a new registry for values outside the range 0..255 will be needed.

注3:TCPまたはUDPを指定するには、IPProtoの値は既存のIANAプロトコル番号レジストリから取得されます。graspがそのレジストリにない将来の値を必要とする場合、0..255の範囲外の値の新しいレジストリが必要になります。

2.9.5.2. Locator IPv4 Address Option
2.9.5.2. ロケータIPv4アドレスオプション

In fragmentary CDDL, the Locator IPv4 Address option follows the pattern:

Fragmentarary CDDLでは、Locator IPv4アドレスオプションはパターンを続けます。

     ipv4-locator-option = [O_IPv4_LOCATOR, ipv4-address,
                            transport-proto, port-number]
     ipv4-address = bytes .size 4
        

The content of this option is a binary IPv4 address followed by the protocol number and port number to be used.

このオプションの内容は、バイナリIPv4アドレスとそれに続くプロトコル番号とポート番号が使用されます。

Note: If an operator has internal network address translation for IPv4, this option MUST NOT be used within the Divert option.

注:オペレータにIPv4の内部ネットワークアドレス変換がある場合、このオプションはDivertオプション内で使用しないでください。

2.9.5.3. Locator FQDN Option
2.9.5.3. ロケータFQDNオプション

In fragmentary CDDL, the Locator FQDN option follows the pattern:

fragmentarary CDDLでは、ロケーターFQDNオプションはパターンを続けます。

     fqdn-locator-option = [O_FQDN_LOCATOR, text,
                            transport-proto, port-number]
        

The content of this option is the FQDN of the target followed by the protocol number and port number to be used.

このオプションの内容は、ターゲットのFQDNとそれに続くプロトコル番号とポート番号が使用されます。

Note 1: Any FQDN that might not be valid throughout the network in question, such as a Multicast DNS name [RFC6762], MUST NOT be used when this option is used within the Divert option.

注1:マルチキャストDNS名[RFC6762]など、ネットワーク全体に有効でない可能性があるFQDNは、このオプションがDivertオプション内で使用されていない場合は使用しないでください。

Note 2: Normal GRASP operations are not expected to use this option. It is intended for special purposes such as discovering external services.

注2:通常の把握操作はこのオプションを使用することは期待されていません。外部サービスの発見などの特別な目的のためのものです。

2.9.5.4. Locator URI Option
2.9.5.4. ロケータURIオプション

In fragmentary CDDL, the Locator URI option follows the pattern:

Fragmentarary CDDLでは、ロケータURIオプションはパターンを続けます。

     uri-locator-option = [O_URI_LOCATOR, text,
                           transport-proto / null, port-number / null]
        

The content of this option is the URI of the target followed by the protocol number and port number to be used (or by null values if not required) [RFC3986].

このオプションの内容は、ターゲットのURIであり、その後に使用するプロトコル番号とポート番号(または必須ではない場合はNULL値で)[RFC3986]です。

Note 1: Any URI which might not be valid throughout the network in question, such as one based on a Multicast DNS name [RFC6762], MUST NOT be used when this option is used within the Divert option.

注1:マルチキャストDNS名[RFC6762]に基づくものなど、ネットワーク全体に有効でない可能性があるURIは、このオプションがdivertオプション内で使用されていない場合は使用しないでください。

Note 2: Normal GRASP operations are not expected to use this option. It is intended for special purposes such as discovering external services. Therefore, its use is not further described in this specification.

注2:通常の把握操作はこのオプションを使用することは期待されていません。外部サービスの発見などの特別な目的のためのものです。したがって、本明細書ではその使用はさらに説明されない。

2.10. Objective Options
2.10. 客観的なオプション
2.10.1. Format of Objective Options
2.10.1. 客観的なオプションのフォーマット

An objective option is used to identify objectives for the purposes of discovery, negotiation, or synchronization. All objectives MUST be in the following format, described in fragmentary CDDL:

目標オプションは、検出、ネゴシエーション、および同期の目的のための目的を識別するために使用されます。すべての目的は、fragmentarary CDDLで説明されている次の形式でなければなりません。

   objective = [objective-name, objective-flags,
                loop-count, ?objective-value]
        

objective-name = text objective-value = any loop-count = 0..255

Objective-name = text objective-value =任意のループカウント= 0..255

All objectives are identified by a unique name that is a UTF-8 string [RFC3629], to be compared byte by byte.

すべての目的は、バイトによって比較されるUTF-8文字列[RFC3629]である一意の名前によって識別されます。

The names of generic objectives MUST NOT include a colon (":") and MUST be registered with IANA (Section 5).

一般的な目的の名前は、コロン( ":")を含めてはならず、IANAに登録する必要があります(セクション5)。

The names of privately defined objectives MUST include at least one colon (":"). The string preceding the last colon in the name MUST be globally unique and in some way identify the entity or person defining the objective. The following three methods MAY be used to create such a globally unique string:

個人的に定義されている目的の名前には、少なくとも1つのコロン( ":")を含める必要があります。名前の最後のコロンの前の文字列は、グローバルにユニークであり、ある程度客観的なエンティティまたは人を識別する必要があります。次の3つの方法を使用して、そのようなグローバルに固有の文字列を作成できます。

1. The unique string is a decimal number representing a registered 32-bit Private Enterprise Number (PEN) [RFC5612] that uniquely identifies the enterprise defining the objective.

1. 一意の文字列は、目的を定義する企業を一意に識別する登録された32ビットプライベートエンタープライズ番号(PEN)[RFC5612]を表す10進数です。

2. The unique string is a FQDN that uniquely identifies the entity or person defining the objective.

2. 固有の文字列は、目的を定義するエンティティまたは人を一意に識別するFQDNです。

3. The unique string is an email address that uniquely identifies the entity or person defining the objective.

3. 一意の文字列は、その企業を一意に識別するEメールアドレスであり、その目的を定義しています。

GRASP treats the objective name as an opaque string. For example, "EX1", "32473:EX1", "example.com:EX1", "example.org:EX1", and "user@example.org:EX1" are five different objectives.

grasp客観名を不透明文字列として扱います。たとえば、 "ex1"、 "32473:ex1"、 "example.com:ex1"、 "example.org:ex1"、 "user@example.org:ex1"は5つの異なる目的です。

The 'objective-flags' field is described in Section 2.10.2.

「客観的フラグ」フィールドはセクション2.10.2で説明されています。

The 'loop-count' field is used for terminating negotiation as described in Section 2.8.7. It is also used for terminating discovery as described in Section 2.5.4 and for terminating flooding as described in Section 2.5.6.2. It is placed in the objective rather than in the GRASP message format because, as far as the ASA is concerned, it is a property of the objective itself.

「ループカウント」フィールドは、セクション2.8.7で説明されているようにネゴシエーションを終了するために使用されます。また、セクション2.5.4に記載されているような発見の終了、および2.5.6.2項に記載されているようにフラッディングを終了させるためにも使用されます。ASAが関係する限り、それは目的自体の財産であるため、それは把握メッセージ形式ではなく目的に置かれます。

The 'objective-value' field expresses the actual value of a negotiation or synchronization objective. Its format is defined in the specification of the objective and may be a simple value or a data structure of any kind, as long as it can be represented in CBOR. It is optional only in a Discovery or Discovery Response message.

'objective-value'フィールドは、ネゴシエーションまたは同期対象の実際の値を表します。そのフォーマットは目的の仕様に定義されており、CBORで表現できる限り、あらゆる種類の単純な値またはデータ構造でもよい。発見または検出応答メッセージでのみオプションです。

2.10.2. Objective Flags
2.10.2. 客観的な旗

An objective may be relevant for discovery only, for discovery and negotiation, or for discovery and synchronization. This is expressed in the objective by logical flag bits:

目的は、発見と交渉、または発見と同期のために、発見のみに関連している可能性があります。これは論理フラグビットによって目的で表されます。

     objective-flags = uint .bits objective-flag
     objective-flag = &(
       F_DISC: 0    ; valid for discovery
       F_NEG: 1     ; valid for negotiation
       F_SYNCH: 2   ; valid for synchronization
       F_NEG_DRY: 3 ; negotiation is a dry run
     )
        

These bits are independent and may be combined appropriately, e.g., (F_DISC and F_SYNCH) or (F_DISC and F_NEG) or (F_DISC and F_NEG and F_NEG_DRY).

これらのビットは独立しており、例えば(F_DISCおよびF_SYNCH)または(F_DISCおよびF_NEG)または(F_DISCおよびF_NEGおよびF_NEG_DRY)を適切に組み合わせることができる。

Note that for a given negotiation session, an objective must be used either for negotiation or for dry-run negotiation. Mixing the two modes in a single negotiation is not possible.

特定のネゴシエーションセッションでは、交渉またはドライランネゴシエーションのために目的を使用する必要があります。1回の交渉で2つのモードを混合することはできません。

2.10.3. General Considerations for Objective Options
2.10.3. 客観的なオプションに関する一般的な考慮事項

As mentioned above, objective options MUST be assigned a unique name. As long as privately defined objective options obey the rules above, this document does not restrict their choice of name, but the entity or person concerned SHOULD publish the names in use.

上記のように、目的のオプションに一意の名前を割り当てる必要があります。特に定義された目的のオプションが上記の規則に従う限り、この文書は名前の選択を制限するものではありませんが、関係するエンティティまたは人は使用中の名前を公開する必要があります。

Names are expressed as UTF-8 strings for convenience in designing objective options for localized use. For generic usage, names expressed in the ASCII subset of UTF-8 are RECOMMENDED. Designers planning to use non-ASCII names are strongly advised to consult [RFC8264] or its successor to understand the complexities involved. Since GRASP compares names byte by byte, all issues of Unicode profiling and canonicalization MUST be specified in the design of the objective option.

名前は、ローカライズされた使用のための客観的なオプションを設計するための便利なため、UTF-8文字列として表されます。一般的な使用法のために、UTF-8のASCIIサブセットで表されている名前がお勧めです。ASCII以外の名前を使用することを計画しているデザイナーは、関与する複雑さを理解するために[RFC8264]またはその後継者に相談することを強くお勧めします。GRASPは名前バイトをバイトごとに比較して以来、Unicodeプロファイリングのすべての問題と正規化は、目的オプションの設計に指定する必要があります。

All objective options MUST respect the CBOR patterns defined above as "objective" and MUST replace the 'any' field with a valid CBOR data definition for the relevant use case and application.

すべての目的オプションは、上記で定義されたCBORパターンを「Objective」として尊重し、関連するユースケースとアプリケーションの有効なCBORデータ定義に「any」フィールドを置き換える必要があります。

An objective option that contains no additional fields beyond its 'loop-count' can only be a discovery objective and MUST only be used in Discovery and Discovery Response messages.

その「ループカウント」を超えて追加のフィールドを含まない目的オプションは、検出対象としかありません。ディスカバリおよび検出応答メッセージでのみ使用する必要があります。

The Negotiation Objective options contain negotiation objectives, which vary according to different functions and/or services. They MUST be carried by Discovery, Request Negotiation, or Negotiation messages only. The negotiation initiator MUST set the initial 'loop-count' to a value specified in the specification of the objective or, if no such value is specified, to GRASP_DEF_LOOPCT.

交渉目的のオプションには、さまざまな機能やサービスによって異なりますが、ネゴシエーション目標が含まれています。それらは発見、リクエストネゴシエーション、またはネゴシエーションメッセージのみによって運ばれなければなりません。ネゴシエーションイニシエータは、最初の 'LOOP-COUNT'を目的の指定で指定された値に設定する必要があります。またはそのような値が指定されていない場合はgrasp_def_loopctに設定する必要があります。

For most scenarios, there should be initial values in the negotiation requests. Consequently, the Negotiation Objective options MUST always be completely presented in a Request Negotiation message, or in a Discovery message in rapid mode. If there is no initial value, the 'value' field SHOULD be set to the 'null' value defined by CBOR.

ほとんどのシナリオでは、ネゴシエーション要求に初期値があるはずです。その結果、ネゴシエーション目標オプションは、常にリクエストネゴシエーションメッセージ、またはラピッドモードでの検出メッセージに完全に表示されなければなりません。初期値がない場合は、「Value」フィールドはCBORによって定義された 'null'値に設定する必要があります。

Synchronization Objective options are similar, but MUST be carried by Discovery, Discovery Response, Request Synchronization, or Flood Synchronization messages only. They include 'value' fields only in Synchronization or Flood Synchronization messages.

同期目標オプションは似ていますが、検出、検出応答、要求同期、またはフラッド同期メッセージのみによって運ばなければなりません。それらには、同期またはフラッド同期メッセージでのみ 'Value'フィールドが含まれています。

The design of an objective interacts in various ways with the design of the ASAs that will use it. ASA design considerations are discussed in [ASA-GUIDELINES].

目的の設計は、それを使用するASASの設計を用いて様々な方法で対話する。ASA設計上の考慮事項は[ASAガイドライン]で説明されています。

2.10.4. Organizing of Objective Options
2.10.4. 客観的なオプションの組織化

Generic objective options MUST be specified in documents available to the public and SHOULD be designed to use either the negotiation or the synchronization mechanism described above.

一般的な目的のオプションは、一般に利用可能な文書に指定する必要があり、上記のネゴシエーションまたは同期メカニズムのいずれかを使用するように設計されている必要があります。

As noted earlier, one negotiation objective is handled by each GRASP negotiation thread. Therefore, a negotiation objective, which is based on a specific function or action, SHOULD be organized as a single GRASP option. It is NOT RECOMMENDED to organize multiple negotiation objectives into a single option nor to split a single function or action into multiple negotiation objectives.

前述のように、1つのネゴシエーション目標は、各把握交渉スレッドによって処理されます。したがって、特定の関数または行動に基づく交渉目的は、単一の把握オプションとして編成されるべきです。複数のネゴシエーション目標を単一のオプションに編成したり、単一の機能やアクションを複数のネゴシエーション目標に分割することはお勧めしません。

It is important to understand that GRASP negotiation does not support transactional integrity. If transactional integrity is needed for a specific objective, this must be ensured by the ASA. For example, an ASA might need to ensure that it only participates in one negotiation thread at the same time. Such an ASA would need to stop listening for incoming negotiation requests before generating an outgoing negotiation request.

把握交渉がトランザクションの整合性をサポートしていないことを理解することが重要です。特定の目的にトランザクションの整合性が必要な場合は、ASAによって確保されなければなりません。たとえば、ASAは同時に1つのネゴシエーションスレッドにのみ参加するようにする必要があるかもしれません。そのようなASAは、発信ネゴシエーション要求を生成する前に、着信交渉要求のためのリスニングを止める必要があるでしょう。

A synchronization objective SHOULD be organized as a single GRASP option.

同期目的は単一の把握オプションとして編成されるべきです。

Some objectives will support more than one operational mode. An example is a negotiation objective with both a dry-run mode (where the negotiation is to determine whether the other end can, in fact, make the requested change without problems) and a live mode, as explained in Section 2.5.5. The semantics of such modes will be defined in the specification of the objectives. These objectives SHOULD include flags indicating the applicable mode(s).

いくつかの目的は複数の操作モードをサポートします。一例は、2.5.5項で説明したように、ドライランモード(実際には、他の端部が問題なく要求された変更を求めるかどうかを判断することである場合、ネゴシエーションが決定することである)と、2.5.5節で説明したようにライブモードの両方を備えた交渉目的です。そのようなモードの意味は目的の仕様において定義されるであろう。これらの目的は、該当するモードを示すフラグを含めるべきである。

An issue requiring particular attention is that GRASP itself is not a transactionally safe protocol. Any state associated with a dry-run operation, such as temporarily reserving a resource for subsequent use in a live run, is entirely a matter for the designer of the ASA concerned.

特に注意を必要とする問題は、把握自体がトランザクション安全なプロトコルではないということです。ライブランでの後続の使用のためにリソースを一時的に予約するなど、ドライラン操作に関連する任意の状態は、関係するASAの設計者にとってはまったく問題です。

As indicated in Section 2.1, an objective's value may include multiple parameters. Parameters might be categorized into two classes: the obligatory ones presented as fixed fields and the optional ones presented in some other form of data structure embedded in CBOR. The format might be inherited from an existing management or configuration protocol, with the objective option acting as a carrier for that format. The data structure might be defined in a formal language, but that is a matter for the specifications of individual objectives. There are many candidates, according to the context, such as ABNF, RBNF, XML Schema, YANG, etc. GRASP itself is agnostic on these questions. The only restriction is that the format can be mapped into CBOR.

セクション2.1に示されるように、目的の値は複数のパラメータを含み得る。パラメータは2つのクラスに分類される可能性があります。義務的なフィールドとして提示された義務的なものと、CBORに埋め込まれた他の形式のデータ構造に提示されたオプションのもの。フォーマットは、既存の管理プロトコルから継承され、目的オプションはそのフォーマットのキャリアとして機能します。データ構造は正式な言語で定義されるかもしれませんが、それは個々の目的の仕様の問題です。ABNF、RBNF、XMLスキーマ、YANGなどのコンテキストによると、多くの候補者があります。それ自体はこれらの質問では認められません。唯一の制限は、フォーマットをCBORにマッピングできることです。

It is NOT RECOMMENDED to mix parameters that have significantly different response-time characteristics in a single objective. Separate objectives are more suitable for such a scenario.

単一の目的で、著しく異なる応答時間特性を有するパラメータを混在させることは推奨されていません。そのようなシナリオには別々の目的がより適しています。

All objectives MUST support GRASP discovery. However, as mentioned in Section 2.3, it is acceptable for an ASA to use an alternative method of discovery.

すべての目的は把握発見をサポートしなければなりません。しかし、セクション2.3で述べたように、ASAが代替の発見方法を使用するのに許容されます。

Normally, a GRASP objective will refer to specific technical parameters as explained in Section 2.1. However, it is acceptable to define an abstract objective for the purpose of managing or coordinating ASAs. It is also acceptable to define a special-purpose objective for purposes such as trust bootstrapping or formation of the ACP.

通常、把握目的は、セクション2.1で説明されているように、特定の技術的パラメータを参照します。ただし、ASASを管理または調整する目的で抽象的な目的を定義することは許容されます。信頼ブートストラップやACPの形成などの目的のための特別な目的を定義することもできます。

To guarantee convergence, a limited number of rounds or a timeout is needed for each negotiation objective. Therefore, the definition of each negotiation objective SHOULD clearly specify this, for example, a default loop count and timeout, so that the negotiation can always be terminated properly. If not, the GRASP defaults will apply.

収束を保証するために、各交渉目的には限られた数のラウンドまたはタイムアウトが必要です。したがって、各ネゴシエーション目標の定義は、これを明確に指定する必要があります。たとえば、ネゴシエーションは常に正しく終了できます。そうでない場合は、graspデフォルトが適用されます。

There must be a well-defined procedure for concluding that a negotiation cannot succeed, and if so, deciding what happens next (e.g., deadlock resolution, tie-breaking, or reversion to best-effort service). This MUST be specified for individual negotiation objectives.

交渉が成功できないと締めくくるための明確に定義された手順がなければならず、そうであれば、次に何が起こるのか(例えば、デッドロック解像度、タイクラキ、またはベストエフォートサービスへの復帰)。これは個々のネゴシエーション目標に対して指定する必要があります。

2.10.5. Experimental and Example Objective Options
2.10.5. 実験的および例示的な目的のオプション

The names "EX0" through "EX9" have been reserved for experimental options. Multiple names have been assigned because a single experiment may use multiple options simultaneously. These experimental options are highly likely to have different meanings when used for different experiments. Therefore, they SHOULD NOT be used without an explicit human decision and MUST NOT be used in unmanaged networks such as home networks.

「EX0」を介して「EX9」の名前は実験的なオプションのために予約されています。単一の実験が複数のオプションを同時に使用できるため、複数の名前が割り当てられています。これらの実験的選択肢は、異なる実験に使用されたときに異なる意味を有する可能性が高い。したがって、それらは明示的な人間の決定なしで使用されてはならず、そしてホームネットワークのような管理されていないネットワークでは使用しないでください。

These names are also RECOMMENDED for use in documentation examples.

これらの名前はドキュメンテーションの例での使用にも推奨されます。

3. Security Considerations
3. セキュリティに関する考慮事項

A successful attack on negotiation-enabled nodes would be extremely harmful, as such nodes might end up with a completely undesirable configuration that would also adversely affect their peers. GRASP nodes and messages therefore require full protection. As explained in Section 2.5.1, GRASP MUST run within a secure environment such as the ACP [RFC8994], except for the constrained instances described in Section 2.5.2.

そのようなノードは、それらのピアにも悪影響を及ぼすであろう全てのノードが完全に望ましくない構成で終わる可能性があるため、ネゴシエーション対応ノードに対する攻撃は非常に有害であろう。したがって、ノードとメッセージを把握する必要があります。セクション2.5.1で説明されているように、GRASPは、セクション2.5.2で説明されている制約付きインスタンスを除いて、ACP [RFC8994]などの安全な環境内で実行する必要があります。

Authentication A cryptographically authenticated identity for each device is needed in an Autonomic Network. It is not safe to assume that a large network is physically secured against interference or that all personnel are trustworthy. Each autonomic node MUST be capable of proving its identity and authenticating its messages. GRASP relies on a separate, external certificate-based security mechanism to support authentication, data integrity protection, and anti-replay protection.

認証各デバイスの暗号化認証されたアイデンティティは、自律型ネットワークで必要です。大規模なネットワークが干渉に対して物理的に固定されていること、またはすべての要員が信頼できると仮定することは安全ではありません。各自律ノードは、そのIDを証明し、そのメッセージを認証することができなければなりません。GRASPは、認証、データの整合性保護、および再生アンチリプレイ保護をサポートするための別の外部証明書ベースのセキュリティメカニズムに依存しています。

Since GRASP must be deployed in an existing secure environment, the protocol itself specifies nothing concerning the trust anchor and certification authority. For example, in the ACP [RFC8994], all nodes can trust each other and the ASAs installed in them.

GRASPは既存の安全な環境に展開されている必要がありますので、プロトコル自体は信頼のアンカーと認証局について何も指定しません。たとえば、ACP [RFC8994]では、すべてのノードが互いにインストールされているASASを信頼できます。

If GRASP is used temporarily without an external security mechanism, for example, during system bootstrap (Section 2.5.1), the Session ID (Section 2.7) will act as a nonce to provide limited protection against the injecting of responses by third parties. A full analysis of the secure bootstrap process is in [RFC8995].

たとえば、システムブートストラップ中(セクション2.5.1)の間に、外部のセキュリティメカニズムがなくても一時的に使用されている場合(セクション2.5.1)、セッションID(セクション2.7)は、第三者による応答の注入に対して制限された保護を提供するための無断として機能します。セキュアブートストラッププロセスの完全な分析は[RFC8995]にあります。

Authorization and roles GRASP is agnostic about the roles and capabilities of individual ASAs and about which objectives a particular ASA is authorized to support. An implementation might support precautions such as allowing only one ASA in a given node to modify a given objective, but this may not be appropriate in all cases. For example, it might be operationally useful to allow an old and a new version of the same ASA to run simultaneously during an overlap period. These questions are out of scope for the present specification.

承認と役割の把握は、個々のASAの役割と機能について、そして特定のASAがサポートする権限を与えられているかについての不具合です。実装は、特定のノード内の1つのASAのみが特定の目的を変更できるような予防措置をサポートしますが、これはすべての場合には適切ではない可能性があります。たとえば、オーバーラップ期間中に同じASAの古いバージョンと新しいバージョンの同じバージョンを同時に実行できるようにするのに役立ちます。これらの質問は本明細書の範囲外です。

Privacy and confidentiality GRASP is intended for network-management purposes involving network elements, not end hosts. Therefore, no personal information is expected to be involved in the signaling protocol, so there should be no direct impact on personal privacy. Nevertheless, applications that do convey personal information cannot be excluded. Also, traffic flow paths, VPNs, etc., could be negotiated, which could be of interest for traffic analysis. Operators generally want to conceal details of their network topology and traffic density from outsiders. Therefore, since insider attacks cannot be excluded in a large network, the security mechanism for the protocol MUST provide message confidentiality. This is why Section 2.5.1 requires either an ACP or an alternative security mechanism.

プライバシーと機密性の把握は、エンドホストではなく、ネットワーク要素を含むネットワーク管理の目的を目的としています。したがって、シグナリングプロトコルには個人情報は含まれていないため、個人のプライバシーに直接的な影響はありません。それにもかかわらず、個人情報を伝えるアプリケーションは除外することはできません。また、交通流路、VPNなどが交渉される可能性があり、これは交通分析にとって関心がある可能性があります。オペレータは一般に、部外者からのネットワークトポロジーと交通密度の詳細を隠したいと考えています。したがって、インサイダーの攻撃を大規模なネットワークで除外することはできませんので、プロトコルのセキュリティメカニズムはメッセージの機密性を提供しなければなりません。これがセクション2.5.1にACPまたは代替のセキュリティメカニズムを必要とする理由です。

Link-local multicast security GRASP has no reasonable alternative to using link-local multicast for Discovery or Flood Synchronization messages, and these messages are sent in the clear and with no authentication. They are only sent on interfaces within the Autonomic Network (see Section 2.1 and Section 2.5.1). They are, however, available to on-link eavesdroppers and could be forged by on-link attackers. In the case of discovery, the Discovery Responses are unicast and will therefore be protected (Section 2.5.1), and an untrusted forger will not be able to receive responses. In the case of flood synchronization, an on-link eavesdropper will be able to receive the flooded objectives, but there is no response message to consider. Some precautions for Flood Synchronization messages are suggested in Section 2.5.6.2.

Link-LocalマルチキャストセキュリティGraspは、ディスカバリまたはフラッド同期メッセージのためにLink-Localマルチキャストを使用するための合理的な代替手段を持ち、これらのメッセージは明確で認証なしで送信されます。それらは自律網内のインターフェイス上でのみ送信されます(セクション2.1とセクション2.5.1を参照)。しかしながら、それらはオンリンク盗聴者に利用可能であり、オンリンク攻撃者によって偽造される可能性がある。発見の場合、発見回答はユニキャストであり、したがって保護されます(セクション2.5.1)、信頼されていないForgerは応答を受信できません。フラッド同期の場合、オンリンク軒先が浸水する目的を受け取ることができるが、検討する応答メッセージはありません。フラッド同期メッセージのためのいくつかの注意事項は、2.5.6.2項で提案されています。

DoS attack protection GRASP discovery partly relies on insecure link-local multicast. Since routers participating in GRASP sometimes relay Discovery messages from one link to another, this could be a vector for denial-of-service attacks. Some mitigations are specified in Section 2.5.4. However, malicious code installed inside the ACP could always launch DoS attacks consisting of either spurious Discovery messages or spurious Discovery Responses. It is important that firewalls prevent any GRASP messages from entering the domain from an unknown source.

DOS攻撃保護把握発見は、安全でないリンクローカルマルチキャストに部分的に依存しています。GRASPに参加しているルーターは、あるリンクから別のリンクへの発見メッセージを中継することがありますので、これはサービス拒否攻撃のベクトルになる可能性があります。いくつかの軽減はセクション2.5.4で指定されています。ただし、ACPの内部にインストールされている悪意のあるコードは、スプリアスの発見メッセージや偽の発見回答で構成されているDOS攻撃を常に起動できます。ファイアウォールが、メッセージメッセージが未知のソースからドメインに入るのを防ぐことが重要です。

Security during bootstrap and discovery A node cannot trust GRASP traffic from other nodes until the security environment (such as the ACP) has identified the trust anchor and can authenticate traffic by validating certificates for other nodes. Also, until it has successfully enrolled [RFC8995], a node cannot assume that other nodes are able to authenticate its own traffic. Therefore, GRASP discovery during the bootstrap phase for a new device will inevitably be insecure. Secure synchronization and negotiation will be impossible until enrollment is complete. Further details are given in Section 2.5.2.

ブートストラップおよび検出中のセキュリティセキュリティ環境(ACPなど)が信頼アンカーを識別し、他のノードの証明書を検証することでトラフィックを認証するまで、ノードは他のノードからのトラフィックを信頼できません。また、[RFC8995]に正常に登録されるまで、ノードは他のノードが独自のトラフィックを認証できると想定できません。したがって、新しいデバイスのブートストラップフェーズの間の把握は必然的に不安定になります。登録が完了するまで、安全な同期と交渉は不可能になります。さらに詳細はセクション2.5.2に示されています。

Security of discovered locators When GRASP discovery returns an IP address, it MUST be that of a node within the secure environment (Section 2.5.1). If it returns an FQDN or a URI, the ASA that receives it MUST NOT assume that the target of the locator is within the secure environment.

検出されたロケータのセキュリティGrasp DiscoveryがIPアドレスを返す場合は、セキュア環境内のノードのものでなければなりません(セクション2.5.1)。FQDNまたはURIを返す場合は、それを受信するASAは、ロケーターのターゲットがセキュア環境内にあると仮定してはなりません。

4. CDDL Specification of GRASP
4. GRASPのCDDL仕様
   <CODE BEGINS> file "grasp.cddl"
   grasp-message = (message .within message-structure) / noop-message
        
   message-structure = [MESSAGE_TYPE, session-id, ?initiator,
                        *grasp-option]
        

MESSAGE_TYPE = 0..255 session-id = 0..4294967295 ; up to 32 bits grasp-option = any

message_type = 0..255 session-id = 0..4294967295;最大32ビットgrasp-option = ANY

   message /= discovery-message
   discovery-message = [M_DISCOVERY, session-id, initiator, objective]
        
   message /= response-message ; response to Discovery
   response-message = [M_RESPONSE, session-id, initiator, ttl,
                       (+locator-option // divert-option), ?objective]
        
   message /= synch-message ; response to Synchronization request
   synch-message = [M_SYNCH, session-id, objective]
        
   message /= flood-message
   flood-message = [M_FLOOD, session-id, initiator, ttl,
                    +[objective, (locator-option / [])]]
        
   message /= request-negotiation-message
   request-negotiation-message = [M_REQ_NEG, session-id, objective]
        
   message /= request-synchronization-message
   request-synchronization-message = [M_REQ_SYN, session-id, objective]
        
   message /= negotiation-message
   negotiation-message = [M_NEGOTIATE, session-id, objective]
        
   message /= end-message
   end-message = [M_END, session-id, accept-option / decline-option]
        
   message /= wait-message
   wait-message = [M_WAIT, session-id, waiting-time]
        
   message /= invalid-message
   invalid-message = [M_INVALID, session-id, ?any]
        
   noop-message = [M_NOOP]
        
   divert-option = [O_DIVERT, +locator-option]
        
   accept-option = [O_ACCEPT]
        
   decline-option = [O_DECLINE, ?reason]
   reason = text  ; optional UTF-8 error message
        
   waiting-time = 0..4294967295 ; in milliseconds
   ttl = 0..4294967295 ; in milliseconds
        
   locator-option /= [O_IPv4_LOCATOR, ipv4-address,
                      transport-proto, port-number]
   ipv4-address = bytes .size 4
        
   locator-option /= [O_IPv6_LOCATOR, ipv6-address,
                      transport-proto, port-number]
   ipv6-address = bytes .size 16
        
   locator-option /= [O_FQDN_LOCATOR, text, transport-proto,
                      port-number]
        
   locator-option /= [O_URI_LOCATOR, text,
                      transport-proto / null, port-number / null]
        

transport-proto = IPPROTO_TCP / IPPROTO_UDP IPPROTO_TCP = 6 IPPROTO_UDP = 17 port-number = 0..65535

トランスポート-POTO = IPPROTO_TCP / IPPROTO_UDP IPPROTO_TCP = 6 ipproto_udp = 17ポート番号= 0..65535

   initiator = ipv4-address / ipv6-address
        

objective-flags = uint .bits objective-flag

objective-flags = uint vits object-flag.

   objective-flag = &(
     F_DISC: 0    ; valid for discovery
     F_NEG: 1     ; valid for negotiation
     F_SYNCH: 2   ; valid for synchronization
     F_NEG_DRY: 3 ; negotiation is a dry run
   )
        
   objective = [objective-name, objective-flags,
                loop-count, ?objective-value]
        

objective-name = text ; see section "Format of Objective Options"

objective-name =テキスト。「目的オプションの形式」を参照してください。

   objective-value = any
        

loop-count = 0..255

ループカウント= 0..255

; Constants for message types and option types

;メッセージタイプとオプションタイプの定数

M_NOOP = 0 M_DISCOVERY = 1 M_RESPONSE = 2 M_REQ_NEG = 3 M_REQ_SYN = 4 M_NEGOTIATE = 5 M_END = 6 M_WAIT = 7 M_SYNCH = 8 M_FLOOD = 9 M_INVALID = 99

M_ROOP = 0 M_Response = 2 M_RESPONSE = 3 M_REQ_SYN = 4 M_REQ_SYN = 4 M_ENGOTIATE = 5 M_END = 6 M_WAIT = 8 M_FLOOD = 9 M_INVALID = 99

O_DIVERT = 100 O_ACCEPT = 101 O_DECLINE = 102 O_IPv6_LOCATOR = 103 O_IPv4_LOCATOR = 104 O_FQDN_LOCATOR = 105 O_URI_LOCATOR = 106 <CODE ENDS>

O_IPV6_LOCATOR = 104 O_IPV4_LOCORATOR = 104 O_FQDN_LOCATOR = 105 O_FQDN_LOCATOR = 105 O_URI_LOCATOR = 106 <コードエンド>

5. IANA Considerations
5. IANAの考慮事項

This document defines the GeneRic Autonomic Signaling Protocol (GRASP).

この文書は、一般的な自律神経シグナリングプロトコル(GRASP)を定義します。

Section 2.6 explains the following link-local multicast addresses that IANA has assigned for use by GRASP.

セクション2.6は、IANAがGRASPによる使用に割り当てられた次のリンクローカルマルチキャストアドレスについて説明しています。

Assigned in the "Link-Local Scope Multicast Addresses" subregistry of the "IPv6 Multicast Address Space Registry":

「IPv6マルチキャストアドレス・スペース・レジストリー」の「Link-Local Scopeマルチキャストアドレス」に割り当てられています。

   Address(es):  ff02::13
   Description:  ALL_GRASP_NEIGHBORS
   Reference:  RFC 8990
        

Assigned in the "Local Network Control Block (224.0.0.0 - 224.0.0.255 (224.0.0/24))" subregistry of the "IPv4 Multicast Address Space Registry":

"Local Network Control Block(224.0.0.0 - 224.0.0.255(224.0.0.0 / 24))" "IPv4マルチキャストアドレススペースレジストリのサブレイストリ":

Address(es): 224.0.0.119 Description: ALL_GRASP_NEIGHBORS Reference: RFC 8990

アドレス(ES):224.0.0.119説明:ALL_GRASP_NEIGHBORSリファレンス:RFC 8990

Section 2.6 explains the following User Port (GRASP_LISTEN_PORT), which IANA has assigned for use by GRASP for both UDP and TCP:

セクション2.6は、UDPとTCPの両方のGRASPで使用するためにIANAが割り当てられた次のユーザーポート(grasp_listen_port)について説明します。

   Service Name:  grasp
   Port Number:  7017
   Transport Protocol:  udp, tcp
   Description  GeneRic Autonomic Signaling Protocol
   Assignee:  IESG <iesg@ietf.org>
   Contact:  IETF Chair <chair@ietf.org>
   Reference:  RFC 8990
        

The IANA has created the "GeneRic Autonomic Signaling Protocol (GRASP) Parameters" registry, which includes two subregistries: "GRASP Messages and Options" and "GRASP Objective Names".

IANAは、「Graspメッセージとオプションの把握」と「目的名の把握」を含む「汎用オートノミックシグナリングプロトコル(GRASP)パラメータ」レジストリを作成しました。

The values in the "GRASP Messages and Options" subregistry are names paired with decimal integers. Future values MUST be assigned using the Standards Action policy defined by [RFC8126]. The following initial values are assigned by this document:

「メッセージとオプションの把握」の値の値は、10進整数とペアになっています。将来の値は、[RFC8126]で定義されている標準アクションポリシーを使用して割り当てる必要があります。このドキュメントによって次の初期値が割り当てられています。

                        +=======+================+
                        | Value | Message/Option |
                        +=======+================+
                        | 0     | M_NOOP         |
                        +-------+----------------+
                        | 1     | M_DISCOVERY    |
                        +-------+----------------+
                        | 2     | M_RESPONSE     |
                        +-------+----------------+
                        | 3     | M_REQ_NEG      |
                        +-------+----------------+
                        | 4     | M_REQ_SYN      |
                        +-------+----------------+
                        | 5     | M_NEGOTIATE    |
                        +-------+----------------+
                        | 6     | M_END          |
                        +-------+----------------+
                        | 7     | M_WAIT         |
                        +-------+----------------+
                        | 8     | M_SYNCH        |
                        +-------+----------------+
                        | 9     | M_FLOOD        |
                        +-------+----------------+
                        | 99    | M_INVALID      |
                        +-------+----------------+
                        | 100   | O_DIVERT       |
                        +-------+----------------+
                        | 101   | O_ACCEPT       |
                        +-------+----------------+
                        | 102   | O_DECLINE      |
                        +-------+----------------+
                        | 103   | O_IPv6_LOCATOR |
                        +-------+----------------+
                        | 104   | O_IPv4_LOCATOR |
                        +-------+----------------+
                        | 105   | O_FQDN_LOCATOR |
                        +-------+----------------+
                        | 106   | O_URI_LOCATOR  |
                        +-------+----------------+
        

Table 1: Initial Values of the "GRASP Messages and Options" Subregistry

表1:「メッセージとオプションの把握」の初期値サブレジスト

The values in the "GRASP Objective Names" subregistry are UTF-8 strings that MUST NOT include a colon (":"), according to Section 2.10.1. Future values MUST be assigned using the Specification Required policy defined by [RFC8126].

「把握目的名」の値の値は、セクション2.10.1に従って、コロン( ":")を含めてはいけないUTF-8文字列です。将来の値は、[RFC8126]で定義された仕様必要なポリシーを使用して割り当てる必要があります。

To assist expert review of a new objective, the specification should include a precise description of the format of the new objective, with sufficient explanation of its semantics to allow independent implementations. See Section 2.10.3 for more details. If the new objective is similar in name or purpose to a previously registered objective, the specification should explain why a new objective is justified.

新しい目的のエキスパートレビューを支援するために、この仕様は、新しい目的のフォーマットの正確な説明を含めるべきであり、独立した実装を可能にするためのその意味論について十分な説明を含むべきである。詳細については2.10.3項を参照してください。新しい目的が以前に登録された目的をする目的の名前または目的の場合、その仕様は、新しい目的が正当化される理由を説明する必要があります。

The following initial values are assigned by this document:

このドキュメントによって次の初期値が割り当てられています。

                      +================+===========+
                      | Objective Name | Reference |
                      +================+===========+
                      | EX0            | RFC 8990  |
                      +----------------+-----------+
                      | EX1            | RFC 8990  |
                      +----------------+-----------+
                      | EX2            | RFC 8990  |
                      +----------------+-----------+
                      | EX3            | RFC 8990  |
                      +----------------+-----------+
                      | EX4            | RFC 8990  |
                      +----------------+-----------+
                      | EX5            | RFC 8990  |
                      +----------------+-----------+
                      | EX6            | RFC 8990  |
                      +----------------+-----------+
                      | EX7            | RFC 8990  |
                      +----------------+-----------+
                      | EX8            | RFC 8990  |
                      +----------------+-----------+
                      | EX9            | RFC 8990  |
                      +----------------+-----------+
        

Table 2: Initial Values of the "GRASP Objective Names" Subregistry

表2:「把握目的名「把握」サブレイストの初期値

6. References
6. 参考文献
6.1. Normative References
6.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、「RFCSで使用するためのキーワード」、BCP 14、RFC 2119、DOI 10.17487 / RFC2119、1997年3月、<https://www.rfc-editor.org/info/RFC2119>。

[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, DOI 10.17487/RFC3629, November 2003, <https://www.rfc-editor.org/info/rfc3629>.

[RFC3629] YERGEAU、F。、「UTF-8、ISO 10646の変換フォーマット」、STD 63、RFC 3629、DOI 10.17487 / RFC3629、2003年11月、<https://www.rfc-editor.org/info/RFC3629>。

[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.、Field、R.、およびL.Masinter、「Uniform Resource Identifier(URI):汎用構文」、STD 66、RFC 3986、DOI 10.17487 / RFC3986、2005年1月、<https://www.rfc-editor.org/info/rfc3986>。

[RFC4086] Eastlake 3rd, D., Schiller, J., and S. Crocker, "Randomness Requirements for Security", BCP 106, RFC 4086, DOI 10.17487/RFC4086, June 2005, <https://www.rfc-editor.org/info/rfc4086>.

[RFC4086]イーストレイク3RD、D.、Schiller、J.、S. Crocker、「セキュリティのためのランダム性要件」、BCP 106、RFC 4086、DOI 10.17487 / RFC4086、2005年6月、<https://www.rfc-編集者.org / info / rfc4086>。

[RFC7217] Gont, F., "A Method for Generating Semantically Opaque Interface Identifiers with IPv6 Stateless Address Autoconfiguration (SLAAC)", RFC 7217, DOI 10.17487/RFC7217, April 2014, <https://www.rfc-editor.org/info/rfc7217>.

[RFC7217] Gont、F. "IPv6ステートレスアドレス自動設定(SLAAC)"、RFC 7217、DOI 10.17487 / RFC7217、2014年4月、<https://ww.rfc-editor.org/ info / rfc7217>。

[RFC8085] Eggert, L., Fairhurst, G., and G. Shepherd, "UDP Usage Guidelines", BCP 145, RFC 8085, DOI 10.17487/RFC8085, March 2017, <https://www.rfc-editor.org/info/rfc8085>.

[RFC8085] eggert、L.、Fairhurst、G.、およびG.Shepherd、 "UDP使用ガイドライン"、BCP 145、RFC 8085、DOI 10.17487 / RFC8085、2017年3月、<https://www.rfc-editor.org/ info / rfc8085>。

[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>。

[RFC8610] Birkholz, H., Vigano, C., and C. Bormann, "Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures", RFC 8610, DOI 10.17487/RFC8610, June 2019, <https://www.rfc-editor.org/info/rfc8610>.

[RFC8610] Birkholz、H.、Vigano、C. Bormann、「簡潔なデータ定義言語(CDDL):簡潔なバイナリオブジェクト表現(CBOR)とJSONデータ構造を表現する表記規則」、RFC 8610、DOI 10.17487/ RFC8610、2019年6月、<https://www.rfc-editor.org/info/rfc8610>。

[RFC8949] Bormann, C. and P. Hoffman, "Concise Binary Object Representation (CBOR)", STD 94, RFC 8949, DOI 10.17487/RFC8949, December 2020, <https://www.rfc-editor.org/info/rfc8949>.

[RFC8949] Bormann、C.およびP.HOFFMAN、「簡潔なバイナリオブジェクト表現(CBOR)」、STD 94、RFC 8949、DOI 10.17487 / RFC8949、2020年12月、<https://www.rfc-editor.org/info/ RFC8949>。

[RFC8994] Eckert, T., Ed., Behringer, M., Ed., and S. Bjarnason, "An Autonomic Control Plane (ACP)", RFC 8994, DOI 10.17487/RFC8994, May 2021, <https://www.rfc-editor.org/info/rfc8994>.

[RFC8994] Eckert、T.、Ed。、Behringer、M.、Ed。、およびS.Bjarnason、「自律管理プレーン(ACP)」、RFC 8994、DOI 10.17487 / RFC8994、2021年5月、<https://www.rfc-editor.org/info/rfc8994>。

6.2. Informative References
6.2. 参考引用

[ADNCP] Stenberg, M., "Autonomic Distributed Node Consensus Protocol", Work in Progress, Internet-Draft, draft-stenberg-anima-adncp-00, 5 March 2015, <https://tools.ietf.org/html/draft-stenberg-anima-adncp-00>.

[ADNCP] Stenberg、M.、「自律分散ノードコンセンサスプロトコル」、進行中の作業、インターネットドラフト、ドラフト - Stenberg-Anima-ADNCP-00、<https://tools.ietf.org/html/ draft-stenberg-anima-adncp-00>。

[ASA-GUIDELINES] Carpenter, B., Ciavaglia, L., Jiang, S., and P. Peloso, "Guidelines for Autonomic Service Agents", Work in Progress, Internet-Draft, draft-ietf-anima-asa-guidelines-00, 14 November 2020, <https://tools.ietf.org/html/draft-ietf-anima-asa-guidelines-00>.

[ASAガイドライン] Carpenter、B.、Ciavaglia、L.、Jiang、S.、およびP. Peloso、「自律サービスエージェントのためのガイドライン」、進行中、インターネットドラフト、ドラフトIETF-ANIMA-ASAガイドライン-00、2020年11月14日、<https://tools.ietf.org/html/draft-ietf-anima-asa-guldelines-00>。

[IGCP] Behringer, M. H., Chaparadza, R., Xin, L., Mahkonen, H., and R. Petre, "IP based Generic Control Protocol (IGCP)", Work in Progress, Internet-Draft, draft-chaparadza-intarea-igcp-00, 25 July 2011, <https://tools.ietf.org/html/draft-chaparadza-intarea-igcp-00>.

[IGCP] BEHRINGER、MH、Chaparadza、R.、Xin、L.、Mahkonen、H.、R. Petre、「IPベースの一般的な制御プロトコル(IGCP)」、進行中の作業、インターネットドラフト、ドラフト - チャプラージツ - INTAREA-IGCP-00、2011年7月25日、<https://tools.ietf.org/html/draft-chaparadza-intarea-igcp-00>。

[RFC2205] Braden, R., Ed., Zhang, L., Berson, S., Herzog, S., and S. Jamin, "Resource ReSerVation Protocol (RSVP) -- Version 1 Functional Specification", RFC 2205, DOI 10.17487/RFC2205, September 1997, <https://www.rfc-editor.org/info/rfc2205>.

[RFC2205] Braden、R.、Ed。、Zhang、L.、Berson、S.、Herzog、S.、およびS. Jamin、「リソース予約プロトコル(RSVP) - バージョン1機能仕様」、RFC 2205、DOI10.17487 / RFC2205、1997年9月、<https://www.rfc-editor.org/info/rfc2205>。

[RFC2334] Luciani, J., Armitage, G., Halpern, J., and N. Doraswamy, "Server Cache Synchronization Protocol (SCSP)", RFC 2334, DOI 10.17487/RFC2334, April 1998, <https://www.rfc-editor.org/info/rfc2334>.

[RFC2334] Luciani、J.、Armitage、G.、Halpern、J.、およびN.Doraswamy、「サーバーキャッシュ同期プロトコル(SCSP)」、RFC 2334、DOI 10.17487 / RFC2334、1998年4月、<HTTPS:// WWW.rfc-editor.org / info / rfc2334>。

[RFC2608] Guttman, E., Perkins, C., Veizades, J., and M. Day, "Service Location Protocol, Version 2", RFC 2608, DOI 10.17487/RFC2608, June 1999, <https://www.rfc-editor.org/info/rfc2608>.

[RFC2608] Guttman、E.、Perkins、C、J.、およびM.日、「サービスロケーションプロトコル、バージョン2」、RFC 2608、DOI 10.17487 / RFC2608、1999年6月、<https:// www。rfc-editor.org/info/rfc2608>。

[RFC2865] Rigney, C., Willens, S., Rubens, A., and W. Simpson, "Remote Authentication Dial In User Service (RADIUS)", RFC 2865, DOI 10.17487/RFC2865, June 2000, <https://www.rfc-editor.org/info/rfc2865>.

[RFC2865] Rigney、C、Willens、S.、Rubens、A.、およびW.Simpson、「ユーザーサービス内のリモート認証ダイヤル(RADIUS)」、RFC 2865、DOI 10.17487 / RFC2865、2000年6月、<https://www.rfc-editor.org/info/rfc2865>。

[RFC3416] Presuhn, R., Ed., "Version 2 of the Protocol Operations for the Simple Network Management Protocol (SNMP)", STD 62, RFC 3416, DOI 10.17487/RFC3416, December 2002, <https://www.rfc-editor.org/info/rfc3416>.

[RFC3416] Presuhn、R.、ED。「STD 62、RFC 3416、DOI 10.17487 / RFC3416、2002年12月、<https:// www。rfc-editor.org/info/rfc3416>。

[RFC3493] Gilligan, R., Thomson, S., Bound, J., McCann, J., and W. Stevens, "Basic Socket Interface Extensions for IPv6", RFC 3493, DOI 10.17487/RFC3493, February 2003, <https://www.rfc-editor.org/info/rfc3493>.

[RFC3493] Gilligan、R.、Thomson、S.、Bound、J.、McCann、J.、およびW.Stevens、RFC 3493、DOI 10.17487 / RFC3493、2003年2月、<HTTPS//www.rfc-editor.org/info/rfc3493>。

[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman, "Neighbor Discovery for IP version 6 (IPv6)", RFC 4861, DOI 10.17487/RFC4861, September 2007, <https://www.rfc-editor.org/info/rfc4861>.

[RFC4861] Narten、T.、Nordmark、E.、Simpson、W.、およびH. Soliman、「IPバージョン6(IPv6)の隣接発見(IPv6)」、RFC 4861、DOI 10.17487 / RFC4861、2007年9月、<https://www.rfc-editor.org/info/rfc4861>。

[RFC5612] Eronen, P. and D. Harrington, "Enterprise Number for Documentation Use", RFC 5612, DOI 10.17487/RFC5612, August 2009, <https://www.rfc-editor.org/info/rfc5612>.

[RFC5612] ERONEN、P.およびD.Harrington、2009年8月、<https://www.rfc-editor.org/info/rfc5612>。

[RFC5971] Schulzrinne, H. and R. Hancock, "GIST: General Internet Signalling Transport", RFC 5971, DOI 10.17487/RFC5971, October 2010, <https://www.rfc-editor.org/info/rfc5971>.

[RFC5971] Schulzrinne、H.およびR.Hancock、 "Gist:General Internet Signaling Transport"、RFC 5971、DOI 10.17487 / RFC 5971、2010年10月、<https://www.rfc-editor.org/info/rfc5971>。

[RFC6206] Levis, P., Clausen, T., Hui, J., Gnawali, O., and J. Ko, "The Trickle Algorithm", RFC 6206, DOI 10.17487/RFC6206, March 2011, <https://www.rfc-editor.org/info/rfc6206>.

[RFC6206] Levis、P.、Clausen、T.、Hui、J.、Gnawali、O.、J.KO、「The Trickle Agorithm」、RFC 6206、DOI 10.17487 / RFC6206、2011年3月、<https://www.rfc-editor.org/info/rfc6206>。

[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., and A. Bierman, Ed., "Network Configuration Protocol (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, <https://www.rfc-editor.org/info/rfc6241>.

[RFC6241]、R.Bjorklund、M.、Ed。、Schoenwaelder、J.、Ed。、およびA. Bierman、ED。、「ネットワーク構成プロトコル(NetConf)」、RFC 6241、DOI 10.17487 /RFC6241、2011年6月、<https://www.rfc-editor.org/info/rfc6241>。

[RFC6733] Fajardo, V., Ed., Arkko, J., Loughney, J., and G. Zorn, Ed., "Diameter Base Protocol", RFC 6733, DOI 10.17487/RFC6733, October 2012, <https://www.rfc-editor.org/info/rfc6733>.

[RFC6733] Fajardo、V.、Ed。、Arkko、J.、Loughney、J.、およびG. Zorn、Ed。、「Diameter Base Protocol」、RFC 6733、DOI 10.17487 / RFC6733、2012年10月、<https://www.rfc-editor.org/info/rfc6733>。

[RFC6762] Cheshire, S. and M. Krochmal, "Multicast DNS", RFC 6762, DOI 10.17487/RFC6762, February 2013, <https://www.rfc-editor.org/info/rfc6762>.

[RFC6762] Cheshire、S.およびM. Krochmal、「マルチキャストDNS」、RFC 6762、DOI 10.17487 / RFC6762、2013年2月、<https://www.rfc-editor.org/info/rfc6762>。

[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>。

[RFC6887] Wing, D., Ed., Cheshire, S., Boucadair, M., Penno, R., and P. Selkirk, "Port Control Protocol (PCP)", RFC 6887, DOI 10.17487/RFC6887, April 2013, <https://www.rfc-editor.org/info/rfc6887>.

[RFC6887]、D.、ED、Cheshire、S.、Boucadair、M.、Penno、R.、およびP. Selkirk、 "Port Control Protocol(PCP)"、RFC 6887、DOI 10.17487 / RFC6887、2013年4月<https://www.rfc-editor.org/info/rfc6887>。

[RFC7558] Lynn, K., Cheshire, S., Blanchet, M., and D. Migault, "Requirements for Scalable DNS-Based Service Discovery (DNS-SD) / Multicast DNS (mDNS) Extensions", RFC 7558, DOI 10.17487/RFC7558, July 2015, <https://www.rfc-editor.org/info/rfc7558>.

[RFC7558] Lynn、K.、Cheshire、S.、Blanchet、M.、およびD. Migault、「スケーラブルDNSベースのサービス発見(DNS-SD)/マルチキャストDNS(MDNS)拡張機能の要件」、RFC 7558、DOI2017487 / RFC7558、2015年7月、<https://www.rfc-editor.org/info/rfc7558>。

[RFC7575] Behringer, M., Pritikin, M., Bjarnason, S., Clemm, A., Carpenter, B., Jiang, S., and L. Ciavaglia, "Autonomic Networking: Definitions and Design Goals", RFC 7575, DOI 10.17487/RFC7575, June 2015, <https://www.rfc-editor.org/info/rfc7575>.

[RFC7575] Behringer、M.、Pritikin、M.、Bjarnason、S.、Clemm、A.、Carpenter、B.、Jiang、S.、およびL. Ciavaglia、「オートノミックネットワーキング:定義とデザイン目標」、RFC 7575、DOI 10.17487 / RFC7575、2015年6月、<https://www.rfc-editor.org/info/rfc7575>。

[RFC7576] Jiang, S., Carpenter, B., and M. Behringer, "General Gap Analysis for Autonomic Networking", RFC 7576, DOI 10.17487/RFC7576, June 2015, <https://www.rfc-editor.org/info/rfc7576>.

[RFC7576] Jiang、S.、Carpenter、B.およびM. Behringer、「自律ネットワーキングのための一般的なギャップ分析」、RFC 7576、DOI 10.17487 / RFC7576、2015年6月、<https://www.rfc-editor.org/ info / rfc7576>。

[RFC7787] Stenberg, M. and S. Barth, "Distributed Node Consensus Protocol", RFC 7787, DOI 10.17487/RFC7787, April 2016, <https://www.rfc-editor.org/info/rfc7787>.

[RFC7787] Stenberg、M.およびS.Barth、「分散ノードコンセンサスプロトコル」、RFC 7787、DOI 10.17487 / RFC7787、2016年4月、<https://www.rfc-editor.org/info/rfc7787>。

[RFC7788] Stenberg, M., Barth, S., and P. Pfister, "Home Networking Control Protocol", RFC 7788, DOI 10.17487/RFC7788, April 2016, <https://www.rfc-editor.org/info/rfc7788>.

[RFC7788] Stenberg、M.、Barth、S.、およびP. Pfister、 "Home Networking Control Protocol"、RFC 7788、DOI 10.17487 / RFC7788、2016年4月、<https://www.rfc-editor.org/info/ RFC7788>。

[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, <https://www.rfc-editor.org/info/rfc8040>.

[RFC8040] Bierman、A.、Bjorklund、M.、K。Watsen、 "Restconf Protoction"、RFC 8040、DOI 10.17487 / RFC8040、2017年1月、<https://www.rfc-editor.org/info/rfc8040>。

[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]綿、M.、Leiba、B.およびT.Narten、「RFCSのIANAに関する考察のためのガイドライン」、BCP 26、RFC 8126、DOI 10.17487 / RFC8126、2017年6月、<HTTPS:// WWW.rfc-editor.org / info / rfc8126>。

[RFC8264] Saint-Andre, P. and M. Blanchet, "PRECIS Framework: Preparation, Enforcement, and Comparison of Internationalized Strings in Application Protocols", RFC 8264, DOI 10.17487/RFC8264, October 2017, <https://www.rfc-editor.org/info/rfc8264>.

[RFC8264] Saint-Andre、P.およびM.Blanchet、「Precisフレームワーク:アプリケーションプロトコルの準備、執行、および執行、および国際化された文字列の比較」、RFC 8264、DOI 10.17487 / RFC8264、2017年10月、<https:// www。rfc-editor.org/info/rfc8264>。

[RFC8368] Eckert, T., Ed. and M. Behringer, "Using an Autonomic Control Plane for Stable Connectivity of Network Operations, Administration, and Maintenance (OAM)", RFC 8368, DOI 10.17487/RFC8368, May 2018, <https://www.rfc-editor.org/info/rfc8368>.

[RFC8368] Eckert、T.、ED。M. Behringer、「ネットワーク事業の安定した接続、管理、メンテナンス(OAM)」、RFC 8368、DOI 10.17487 / RFC8368、2018年5月、<https://www.rfc-editor.org/ info / rfc8368>。

[RFC8415] Mrugalski, T., Siodelski, M., Volz, B., Yourtchenko, A., Richardson, M., Jiang, S., Lemon, T., and T. Winters, "Dynamic Host Configuration Protocol for IPv6 (DHCPv6)", RFC 8415, DOI 10.17487/RFC8415, November 2018, <https://www.rfc-editor.org/info/rfc8415>.

[RFC8415] Mrugalski、T.、Sodelski、M.、Volz、B.、Yourtchenko、A.、Richardson、M.、Jiang、S.、Lemon、T.、T.Winters、「IPv6用動的ホスト構成プロトコル」(DHCPv6) "、RFC 8415、DOI 10.17487 / RFC8415、2018年11月、<https://www.rfc-editor.org/info/rfc8415>。

[RFC8991] Carpenter, B., Liu, B., Ed., Wang, W., and X. Gong, "GeneRic Autonomic Signaling Protocol Application Program Interface (GRASP API)", RFC 8991, DOI 10.17487/RFC8991, May 2021, <https://www.rfc-editor.org/info/rfc8991>.

[RFC8991]大工、B.、Liu、B、Ed。、Wang、W.、およびX. Gong、 "Genical Autical Signaling Protocolアプリケーションプログラムインタフェース(Grasp API)"、RFC 8991、DOI 10.17487 / RFC8991、2021年5月<https://www.rfc-editor.org/info/rfc8991>。

[RFC8993] Behringer, M., Ed., Carpenter, B., Eckert, T., Ciavaglia, L., and J. Nobre, "A Reference Model for Autonomic Networking", RFC 8993, DOI 10.17487/RFC8993, May 2021, <https://www.rfc-editor.org/info/rfc8993>.

[RFC8993] Behringer、M.、Ed。、Carpenter、B.、Eckert、T.、Ciavaglia、L.、およびJ.Bobre、 "Autonomic Networkingのための参照モデル"、RFC 8993、DOI 10.17487 / RFC8993、2021年5月<https://www.rfc-editor.org/info/rfc8993>。

[RFC8995] Pritikin, M., Richardson, M., Eckert, T., Behringer, M., and K. Watsen, "Bootstrapping Remote Secure Key Infrastructure (BRSKI)", RFC 8995, DOI 10.17487/RFC8995, May 2021, <https://www.rfc-editor.org/info/rfc8995>.

[RFC8995] Pritikin、M.、Richardson、M.、Eckert、T.、Behringer、M.、およびK. Watsen、「ブートストラップリモートセキュリティキーインフラストラクチャ(Brski)」、RFC 8995、DOI 10.17487 / RFC8995、2021年5月<https://www.rfc-editor.org/info/rfc8995>。

Appendix A. Example Message Formats
付録A.メッセージフォーマットの例

For readers unfamiliar with CBOR, this appendix shows a number of example GRASP messages conforming to the CDDL syntax given in Section 4. Each message is shown three times in the following formats:

CBORに不慣れな読者のために、この付録はセクション4に与えられたCDDL構文に準拠した例示的な把握メッセージを示しています。各メッセージは次の形式で3回表示されます。

1. CBOR diagnostic notation.

1. CBOR診断表記法

2. Similar, but showing the names of the constants. (Details of the flag bit encoding are omitted.)

2. 同様ですが、定数の名前を示しています。(フラグビット符号化の詳細は省略されている。)

3. Hexadecimal version of the CBOR wire format.

3. CBORワイヤフォーマットの16進数バージョン。

Long lines are split for display purposes only.

長い行は表示目的のためだけに分割されます。

A.1. Discovery Example
A.1. 発見の例

The initiator (2001:db8:f000:baaa:28cc:dc4c:9703:6781) multicasts a Discovery message looking for objective EX1:

イニシエータ(2001:DB8:F000:BAAA:28cc:DC4C:9703:6781)Objective EX1を探している検出メッセージをマルチキャストします。

   [1, 13948744, h'20010db8f000baaa28ccdc4c97036781', ["EX1", 5, 2, 0]]
   [M_DISCOVERY, 13948744, h'20010db8f000baaa28ccdc4c97036781',
                 ["EX1", F_SYNCH_bits, 2, 0]]
   h'84011a00d4d7485020010db8f000baaa28ccdc4c970367818463455831050200'
        

A peer (2001:0db8:f000:baaa:f000:baaa:f000:baaa) responds with a locator:

Aピア(2001:0dB8:F000:BAAA:F000:BAAA:F000:BAAA)はロケーターで応答します。

   [2, 13948744, h'20010db8f000baaa28ccdc4c97036781', 60000,
                 [103, h'20010db8f000baaaf000baaaf000baaa', 6, 49443]]
   [M_RESPONSE, 13948744, h'20010db8f000baaa28ccdc4c97036781', 60000,
                 [O_IPv6_LOCATOR, h'20010db8f000baaaf000baaaf000baaa',
                  IPPROTO_TCP, 49443]]
   h'85021a00d4d7485020010db8f000baaa28ccdc4c9703678119ea6084186750
     20010db8f000baaaf000baaaf000baaa0619c123'
        
A.2. Flood Example
A.2. 洪水の例

The initiator multicasts a Flood Synchronization message. The single objective has a null locator. There is no response:

イニシエータはフラッド同期メッセージをマルチキャストします。単一の目的にはNULLロケータがあります。応答はありません。

[9, 3504974, h'20010db8f000baaa28ccdc4c97036781', 10000,
             [["EX1", 5, 2, ["Example 1 value=", 100]],[] ] ]
[M_FLOOD, 3504974, h'20010db8f000baaa28ccdc4c97036781', 10000,
             [["EX1", F_SYNCH_bits, 2, ["Example 1 value=", 100]],[] ] ]
h'85091a00357b4e5020010db8f000baaa28ccdc4c97036781192710
  828463455831050282704578616d706c6520312076616c75653d186480'
        
A.3. Synchronization Example
A.3. 同期例

Following successful discovery of objective EX2, the initiator unicasts a Request Synchronization message:

Objective EX2の発見に続いて、イニシエータは要求同期メッセージをユニキャストします。

[4, 4038926, ["EX2", 5, 5, 0]] [M_REQ_SYN, 4038926, ["EX2", F_SYNCH_bits, 5, 0]] h'83041a003da10e8463455832050500'

[4,4038926、["EX2"、5,5,0] [M_REQ_SYN、4038926、["EX2"、F_SYNCH_BITS、5,0] h'83041A003DA10E8463455832050500 '

The peer responds with a value:

ピアは値で応答します。

[8, 4038926, ["EX2", 5, 5, ["Example 2 value=", 200]]] [M_SYNCH, 4038926, ["EX2", F_SYNCH_bits, 5, ["Example 2 value=", 200]]] h'83081a003da10e8463455832050582704578616d706c6520322076616c75653d18c8'

[8,4038926、["EX2"、5,5、[例2)= "、200]]] [M_SYNCH、4038926、[" EX2 "、F_SYNCH_BITS、5、[例2 value ="、200]h'83081A00320505827045786161756520322076616C75653D18C8 '

A.4. Simple Negotiation Example
A.4. 簡単な交渉の例

Following successful discovery of objective EX3, the initiator unicasts a Request Negotiation message:

Objective EX3の発見に続いて、イニシエータはリクエストネゴシエーションメッセージをユニキャストします。

[3, 802813, ["EX3", 3, 6, ["NZD", 47]]] [M_REQ_NEG, 802813, ["EX3", F_NEG_bits, 6, ["NZD", 47]]] h'83031a000c3ffd8463455833030682634e5a44182f'

[3,802813、["EX3"、3,6、["NZD"、47]]] [M_REQ_NEG、802813、["ex3"、f_neg_bits、6、["NZD"、47]] h'83031A000C3FFD84634558330306834E5A44182F '

The peer responds with immediate acceptance. Note that no objective is needed because the initiator's request was accepted without change:

ピアは即時の受け入れで応答します。イニシエータの要求が変更されずに受け入れられたため、目的は必要ないことに注意してください。

[6, 802813, [101]] [M_END , 802813, [O_ACCEPT]] h'83061a000c3ffd811865'

[6,802813、[101]] [M_END、802813、[O_accept]] h'83061A000C3FFD811865 '

A.5. Complete Negotiation Example
A.5. 完全な交渉の例

Again the initiator unicasts a Request Negotiation message:

再びイニシエータはリクエストネゴシエーションメッセージをユニキャストします。

[3, 13767778, ["EX3", 3, 6, ["NZD", 410]]] [M_REQ_NEG, 13767778, ["EX3", F_NEG_bits, 6, ["NZD", 410]]] h'83031a00d214628463455833030682634e5a4419019a'

[3,13767778、["ex3"、3,6、["NZD"、410]]] [M_REQ_NEG、13767778、["EX3"、F_NEG_BITS、6、["NZD"、410]]。h'83031A00D2463445558330306829A '

The responder starts to negotiate (making an offer):

レスポンダは交渉を開始します(オファーを作る)。

[5, 13767778, ["EX3", 3, 6, ["NZD", 80]]] [M_NEGOTIATE, 13767778, ["EX3", F_NEG_bits, 6, ["NZD", 80]]] h'83051a00d214628463455833030682634e5a441850'

[5,13767778、["EX3"、3,6、["NZD"、80]]] [M_Negatiate、13767778、["EX3"、F_NEG_BITS、6、["NZD"、80]]。h'83051A00D2463445A441850 '

The initiator continues to negotiate (reducing its request, and note that the loop count is decremented):

イニシエータは交渉を続けます(その要求を短縮し、ループ数が減少していることに注意してください)。

[5, 13767778, ["EX3", 3, 5, ["NZD", 307]]] [M_NEGOTIATE, 13767778, ["EX3", F_NEG_bits, 5, ["NZD", 307]]] h'83051a00d214628463455833030582634e5a44190133'

[5,13767778、["ex3"、3,5、["NZD"、307]]] [M_Negatiate、13767778、["EX3"、F_NEG_BITS、5、["NZD"、307]] h'83051A00D24634345583303058233 '

The responder asks for more time:

レスポンダはもっと時間を尋ねます。

[7, 13767778, 34965] [M_WAIT, 13767778, 34965] h'83071a00d21462198895'

[7,13767778,34965] [M_WAIT、13767778,34965] H'83071A00D2462198895 '

The responder continues to negotiate (increasing its offer):

レスポンダは交渉し続けています(そのオファーの増加)。

[5, 13767778, ["EX3", 3, 4, ["NZD", 120]]] [M_NEGOTIATE, 13767778, ["EX3", F_NEG_bits, 4, ["NZD", 120]]] h'83051a00d214628463455833030482634e5a441878'

[5,13767778、["ex3"、3,4、["NZD"、120]]] [M_Negatiate、13767778、["ex3"、f_neg_bits、4、["NZD"、120]]] h'83051A00D2463440455833030482634J5A441878 '

The initiator continues to negotiate (reducing its request):

イニシエータは交渉を続けています(要求を短縮)。

[5, 13767778, ["EX3", 3, 3, ["NZD", 246]]] [M_NEGOTIATE, 13767778, ["EX3", F_NEG_bits, 3, ["NZD", 246]]] h'83051a00d214628463455833030382634e5a4418f6'

[5,13767778、["ex3"、3,3、["NZD"、246]]] [M_Negatiate、13767778、["ex3"、f_neg_bits、3、["nzd"、246]] h'83051A00D214634455833030382634E5A4418F6 '

The responder refuses to negotiate further:

レスポンダはさらに交渉を拒否します。

[6, 13767778, [102, "Insufficient funds"]] [M_END , 13767778, [O_DECLINE, "Insufficient funds"]] h'83061a00d2146282186672496e73756666696369656e742066756e6473'

[6,13767778、[102]、「基金不足」] [M_END、13767778、[O_DECLINE、「ファンド不足」)h'83061A00D2146280666666369606J6473 '

This negotiation has failed. If either side had sent [M_END, 13767778, [O_ACCEPT]] it would have succeeded, converging on the objective value in the preceding M_NEGOTIATE. Note that apart from the initial M_REQ_NEG, the process is symmetrical.

この交渉は失敗しました。どちらの側面が[M_END、13767778、[O_Accept]]を送信した場合、前のM_Negotiateの目的の値に収束して成功しました。最初のM_REQ_NEGとは別に、プロセスは対称的です。

Appendix B. Requirement Analysis of Discovery, Synchronization, and Negotiation

付録B.発見、同期、交渉の要求分析

This section discusses the requirements for discovery, negotiation, and synchronization capabilities. The primary user of the protocol is an Autonomic Service Agent (ASA), so the requirements are mainly expressed as the features needed by an ASA. A single physical device might contain several ASAs, and a single ASA might manage several technical objectives. If a technical objective is managed by several ASAs, any necessary coordination is outside the scope of GRASP. Furthermore, requirements for ASAs themselves, such as the processing of Intent [RFC7575], are out of scope for the present document.

このセクションでは、検出、ネゴシエーション、および同期機能の要件について説明します。プロトコルの主なユーザーは自律型サービスエージェント(ASA)であるため、要件は主にASAに必要な機能として表現されます。単一の物理デバイスにはいくつかのASAが含まれている可能性があり、単一のASAは複数の技術的な目的を管理する可能性があります。技術的な目的がいくつかのASAによって管理されている場合、必要な調整は把握範囲外です。さらに、Intent [RFC7575]の処理など、ASAS自体の要件は、本文書の範囲外です。

B.1. Requirements for Discovery
B.1. 発見の要件

D1. ASAs may be designed to manage any type of configurable device or software, as required in Appendix B.2. A basic requirement is therefore that the protocol can represent and discover any kind of technical objective (as defined in Section 2.1) among arbitrary subsets of participating nodes.

D1。ASASは、付録B.2に必要なように、任意の種類の設定可能なデバイスまたはソフトウェアを管理するように設計されている可能性があります。したがって、プロトコルは、参加ノードの任意のサブセットのうちの(セクション2.1で定義されている)任意の種類の技術的な目的を表し、発見することができることです。

In an Autonomic Network, we must assume that when a device starts up, it has no information about any peer devices, the network structure, or the specific role it must play. The ASA(s) inside the device are in the same situation. In some cases, when a new application session starts within a device, the device or ASA may again lack information about relevant peers. For example, it might be necessary to set up resources on multiple other devices, coordinated and matched to each other so that there is no wasted resource. Security settings might also need updating to allow for the new device or user. The relevant peers may be different for different technical objectives. Therefore discovery needs to be repeated as often as necessary to find peers capable of acting as counterparts for each objective that a discovery initiator needs to handle. From this background we derive the next three requirements:

自律型ネットワークでは、デバイスが起動すると、ピアデバイス、ネットワーク構造、またはプレイする必要がある特定の役割に関する情報がありません。デバイス内のASAは同じ状況にあります。場合によっては、新しいアプリケーションセッションがデバイス内で起動すると、デバイスまたはASAに関連するピアに関する情報が不足している可能性があります。たとえば、互いに調整され整合された他の複数のデバイスにリソースを設定する必要があるかもしれません。セキュリティ設定は、新しいデバイスまたはユーザーを許可するために更新が必要になる場合があります。関連するピアは、技術的な目的が異なる場合があります。したがって、発見イニシエータが処理する必要があるという各目的の対応者として機能することができるピアを見つけるために、検出が必要に応じて繰り返される必要があります。この背景から、次の3つの要件を導き出します。

D2. When an ASA first starts up, it may have no knowledge of the specific network to which it is attached. Therefore the discovery process must be able to support any network scenario, assuming only that the device concerned is bootstrapped from factory condition.

D2。ASAが最初に起動すると、接続されている特定のネットワークに関する知識がない可能性があります。したがって、ディスカバリプロセスは、関係するデバイスがファクトリ状態からブートストラップされていると仮定して、ネットワークシナリオをサポートできる必要があります。

D3. When an ASA starts up, it must require no configured location information about any peers in order to discover them.

D3。ASAが起動すると、それらを検出するためにピアに関する設定されていない場所情報が必要でなければなりません。

D4. If an ASA supports multiple technical objectives, relevant peers may be different for different discovery objectives, so discovery needs to be performed separately to find counterparts for each objective. Thus, there must be a mechanism by which an ASA can separately discover peer ASAs for each of the technical objectives that it needs to manage, whenever necessary.

D4。ASAが複数の技術的な目的をサポートしている場合、関連するピアは異なる発見の目的で異なる場合がありますので、各目的の対応物を見つけるために別々に検出する必要があります。したがって、必要に応じて、それが管理する必要がある技術目的のそれぞれについて、ASAがPeer ASAを別々に検出できるメカニズムが必要です。

D5. Following discovery, an ASA will normally perform negotiation or synchronization for the corresponding objectives. The design should allow for this by conveniently linking discovery to negotiation and synchronization. It may provide an optional mechanism to combine discovery and negotiation/synchronization in a single protocol exchange.

D5。発見後、ASAは通常、対応する目的のネゴシエーションまたは同期を実行します。このデザインは、検出を交渉と同期に便利にリンクすることで、これを可能にする必要があります。単一のプロトコル交換で発見とネゴシエーション/同期を組み合わせるためのオプションのメカニズムを提供することがあります。

D6. Some objectives may only be significant on the local link, but others may be significant across the routed network and require off-link operations. Thus, the relevant peers might be immediate neighbors on the same layer 2 link, or they might be more distant and only accessible via layer 3. The mechanism must therefore provide both on-link and off-link discovery of ASAs supporting specific technical objectives.

D6。いくつかの目的はローカルリンクでのみ重要であるかもしれませんが、他のものはルーテッドネットワーク全体で重要であり、オフリンク操作を必要とします。したがって、関連するピアは、同じレイヤ2リンク上の即時隣接している可能性があります。したがって、それらはより遠くにあり、レイヤ3を介してアクセス可能である可能性があります。メカニズムは、特定の技術的目的をサポートするASAのオンリンクとオフリンクの両方の発見を提供する必要があります。

D7. The discovery process should be flexible enough to allow for special cases, such as the following:

D7。発見プロセスは、次のような特別な場合を考慮するのに十分柔軟であるべきです。

* During initialization, a device must be able to establish mutual trust with autonomic nodes elsewhere in the network and participate in an authentication mechanism. Although this will inevitably start with a discovery action, it is a special case precisely because trust is not yet established. This topic is the subject of [RFC8995]. We require that once trust has been established for a device, all ASAs within the device inherit the device's credentials and are also trusted. This does not preclude the device having multiple credentials.

* 初期化中に、デバイスはネットワーク内の他の場所にある自律ノードとの相互信頼を確立でき、認証メカニズムに参加する必要があります。これは必然的に発見行動から始まりますが、信頼がまだ確立されていないため、特別なケースです。このトピックは[RFC8995]の主題です。デバイスの信頼が確立されたら、デバイス内のすべてのASAがデバイスの資格情報を継承していることも必要です。これは複数の資格情報を持つデバイスを排除するものではありません。

* Depending on the type of network involved, discovery of other central functions might be needed, such as the Network Operations Center (NOC) [RFC8368]. The protocol must be capable of supporting such discovery during initialization, as well as discovery during ongoing operation.

* 関係するネットワークの種類によっては、ネットワークオペレーションセンター(NOC)[RFC8368]など、他の中央機能の発見が必要になる場合があります。このプロトコルは、初期化中、および継続的な操作中の発見をサポートすることができなければなりません。

D8. The discovery process must not generate excessive traffic and must take account of sleeping nodes.

D8。検出プロセスは過度のトラフィックを生成してはならず、スリープノードを考慮する必要があります。

D9. There must be a mechanism for handling stale discovery results.

D9。古くなった発見結果を処理するためのメカニズムがなければなりません。

B.2. Requirements for Synchronization and Negotiation Capability
B.2. 同期と交渉機能の要件

Autonomic Networks need to be able to manage many different types of parameters and consider many dimensions, such as latency, load, unused or limited resources, conflicting resource requests, security settings, power saving, load balancing, etc. Status information and resource metrics need to be shared between nodes for dynamic adjustment of resources and for monitoring purposes. While this might be achieved by existing protocols when they are available, the new protocol needs to be able to support parameter exchange, including mutual synchronization, even when no negotiation as such is required. In general, these parameters do not apply to all participating nodes, but only to a subset.

オートノミックネットワークは、さまざまな種類のパラメータを管理でき、待ち時間、負荷、未使用、または限られたリソース、競合するリソース要求、セキュリティ設定、省電力、負荷分散などの多くの次元を検討する必要があります。ステータス情報とリソースメトリックスの必要性リソースの動的調整および監視目的のためにノード間で共有されること。これは既存のプロトコルによって利用可能な場合には達成される可能性がありますが、新しいプロトコルは、交渉が必要な場合でも、相互同期を含むパラメータ交換をサポートできる必要があります。一般に、これらのパラメータはすべての参加ノードには適用されませんが、サブセットにのみ適用されません。

SN1. A basic requirement for the protocol is therefore the ability to represent, discover, synchronize, and negotiate almost any kind of network parameter among selected subsets of participating nodes.

SN1。したがって、プロトコルの基本的な要件は、参加ノードの選択されたサブセット間でほぼあらゆる種類のネットワークパラメータを表現、発見、同期化、およびネゴシエートすることができます。

SN2. Negotiation is an iterative request/response process that must be guaranteed to terminate (with success or failure). While tie-breaking rules must be defined specifically for each use case, the protocol should have some general mechanisms in support of loop and deadlock prevention, such as hop-count limits or timeouts.

SN2。Negotiationは、終了することが保証されなければならない反復要求/応答プロセスです(成功または失敗)。タイ遮断規則は各ユースケースについて具体的に定義されている必要がありますが、プロトコルはループのサポートとホップカウントの制限やタイムアウトなど、いくつかの一般的なメカニズムを持ちます。

SN3. Synchronization must be possible for groups of nodes ranging from small to very large.

SN3。小さいから非常に大きい範囲のノードのグループに対して同期が可能でなければなりません。

SN4. To avoid "reinventing the wheel", the protocol should be able to encapsulate the data formats used by existing configuration protocols (such as Network Configuration Protocol (NETCONF) and YANG) in cases where that is convenient.

SN4。「ホイールの再発明」を避けるために、プロトコルは、既存の構成プロトコル(NetConf)やYangなど)で使用されるデータフォーマット(NetConf)やYangなど)が便利な場合にカプセル化できるはずです。

SN5. Human intervention in complex situations is costly and error prone. Therefore, synchronization or negotiation of parameters without human intervention is desirable whenever the coordination of multiple devices can improve overall network performance. It follows that the protocol's resource requirements must be small enough to fit in any device that would otherwise need human intervention. The issue of running in constrained nodes is discussed in [RFC8993].

SN5。複雑な状況における人間の介入は費用がかかり、エラーが発生しやすいです。したがって、複数の装置の調整が全体的なネットワーク性能を向上させることができるときはいつでも、人間の介入なしのパラメータの同期または交渉が望ましい。その結果、プロトコルのリソース要件は、その他の方法で人間の介入を必要とするあらゆるデバイスに収まるのに十分小さくなければならないことが必要です。制約されたノードを実行するという問題は[RFC8993]で説明されています。

SN6. Human intervention in large networks is often replaced by use of a top-down network management system (NMS). It therefore follows that the protocol, as part of the Autonomic Networking Infrastructure, should be capable of running in any device that would otherwise be managed by an NMS, and that it can coexist with an NMS and with protocols such as SNMP and NETCONF.

SN6。大規模ネットワークにおける人間の介入は、トップダウンネットワーク管理システム(NMS)の使用によって置き換えられることがよくあります。そのため、オートノミックネットワーキングインフラストラクチャの一部としてのプロトコルは、そうでなければNMSによって管理されるであろう任意のデバイスで実行可能であるべきであり、それがNMSとSNMPやNetConfのようなプロトコルと共存させることができることを目的としています。

SN7. Specific autonomic features are expected to be implemented by individual ASAs, but the protocol must be general enough to allow them. Some examples follow:

SN7。特定の自律技術的特徴は個々のASAによって実装されると予想されますが、プロトコルはそれらを許可するのに十分に一般的でなければなりません。いくつかの例が続きます:

* Dependencies and conflicts: In order to decide upon a configuration for a given device, the device may need information from neighbors. This can be established through the negotiation procedure, or through synchronization if that is sufficient. However, a given item in a neighbor may depend on other information from its own neighbors, which may need another negotiation or synchronization procedure to obtain or decide. Therefore, there are potential dependencies and conflicts among negotiation or synchronization procedures. Resolving dependencies and conflicts is a matter for the individual ASAs involved. To allow this, there need to be clear boundaries and convergence mechanisms for negotiations. Also some mechanisms are needed to avoid loop dependencies or uncontrolled growth in a tree of dependencies. It is the ASA designer's responsibility to avoid or detect looping dependencies or excessive growth of dependency trees. The protocol's role is limited to bilateral signaling between ASAs and the avoidance of loops during bilateral signaling.

* 依存関係と競合:特定のデバイスの構成を決定するために、デバイスは隣接者からの情報を必要とする可能性があります。これは、ネゴシエーション手順、または十分な場合は同期を通じて確立できます。しかしながら、隣人内の所与の項目は、それ自身の隣接者からの他の情報に依存し、それは取得または決定するための別のネゴシエーションまたは同期手順を必要とし得る。したがって、ネゴシエーションまたは同期手順の潜在的な依存性と競合があります。依存関係と競合の解決は、関係する個々のASAの問題です。これを許可するためには、交渉の明確な境界や収束メカニズムが必要です。依存関係の木のループの依存性または制御されていない成長を避けるためには、いくつかのメカニズムが必要です。ループの依存関係や依存関係の木の過度の成長を回避または検出することはASAデザイナーの責任です。プロトコルの役割は、ASA間の両側シグナル伝達と二国間シグナル伝達中のループの回避に限定されています。

* Recovery from faults and identification of faulty devices should be as automatic as possible. The protocol's role is limited to discovery, synchronization, and negotiation. These processes can occur at any time, and an ASA may need to repeat any of these steps when the ASA detects an event such as a negotiation counterpart failing.

* 故障からの回復と故障した装置の識別はできるだけ自動であるべきです。プロトコルの役割は、発見、同期、およびネゴシエーションに限定されています。これらのプロセスはいつでも発生する可能性があり、ASAがネゴシエーション対応者のようなイベントを検出したときにASAがこれらのステップを繰り返す必要がある場合があります。

* Since a major goal is to minimize human intervention, it is necessary that the network can in effect "think ahead" before changing its parameters. One aspect of this is an ASA that relies on a knowledge base to predict network behavior. This is out of scope for the signaling protocol. However, another aspect is forecasting the effect of a change by a "dry run" negotiation before actually installing the change. Signaling a dry run is therefore a desirable feature of the protocol.

* 主な目標は人間の介入を最小限に抑えることですので、そのパラメータを変更する前にネットワークが「先に考える」ことができることが必要です。これの一態様は、ネットワークの動作を予測するために知識ベースに依存するASAです。これはシグナリングプロトコルの範囲外です。しかしながら、別の態様は、実際に変更を設置する前に、「ドライラン」ネゴシエーションによる変化の影響を予測することである。それ故、シグナリングドライランはプロトコルの望ましい特徴である。

Note that management logging, monitoring, alerts, and tools for intervention are required. However, these can only be features of individual ASAs, not of the protocol itself. Another document [RFC8368] discusses how such agents may be linked into conventional Operations, Administration, and Maintenance (OAM) systems via an Autonomic Control Plane [RFC8994].

管理ロギング、監視、警告、および介入のツールが必要です。ただし、これらはプロトコル自体ではなく、個々のASAの特徴にしか機能できません。別の文書[RFC8368]そのようなエージェントが自律型制御プレーン[RFC8994]を介して従来の操作、管理、およびメンテナンス(OAM)システムにどのように関連している可能性があるかについて説明します。

SN8. The protocol will be able to deal with a wide variety of technical objectives, covering any type of network parameter. Therefore the protocol will need a flexible and easily extensible format for describing objectives. At a later stage, it may be desirable to adopt an explicit information model. One consideration is whether to adopt an existing information model or to design a new one.

SN8。このプロトコルは、あらゆる種類のネットワークパラメータを網羅して、さまざまな技術的な目的を扱うことができます。したがって、プロトコルは目的を説明するための柔軟で容易に伸びる形式を必要とします。後の段階では、明示的な情報モデルを採用することが望ましいかもしれません。1つの考慮事項は、既存の情報モデルを採用するか、新しい情報を設計するかどうかです。

B.3. Specific Technical Requirements
B.3. 具体的な技術的要件

T1. It should be convenient for ASA designers to define new technical objectives and for programmers to express them, without excessive impact on runtime efficiency and footprint. In particular, it should be convenient for ASAs to be implemented independently of each other as user-space programs rather than as kernel code, where such a programming model is possible. The classes of device in which the protocol might run is discussed in [RFC8993].

T1。ASA設計者が、新しい技術的目的を定義し、プログラマーが実行時の効率とフットプリントに過度の影響を与えることなくそれらを表現するためのプログラマのために便利であるべきです。特に、そのようなプログラミングモデルが可能であるカーネルコードとしてはなく、ユーザ空間プログラムとして互いに独立して実装されることが便利であるべきである。プロトコルが実行される可能性があるデバイスのクラスは[RFC8993]で説明されています。

T2. The protocol should be easily extensible in case the initially defined discovery, synchronization, and negotiation mechanisms prove to be insufficient.

T2。最初に定義されたディスカバリ、同期、およびネゴシエーションメカニズムが不十分であることが証明されている場合、プロトコルは簡単に拡張できます。

T3. To be a generic platform, the protocol payload format should be independent of the transport protocol or IP version. In particular, it should be able to run over IPv6 or IPv4. However, some functions, such as multicasting on a link, might need to be IP version dependent. By default, IPv6 should be preferred.

T3。一般的なプラットフォームになるには、プロトコルペイロード形式はトランスポートプロトコルまたはIPバージョンから独立している必要があります。特に、IPv6またはIPv4を介して実行できるはずです。ただし、リンク上のマルチキャストなどの機能によっては、IPバージョンに依存する必要があるかもしれません。デフォルトでは、IPv6が優先されるべきです。

T4. The protocol must be able to access off-link counterparts via routable addresses, i.e., must not be restricted to link-local operation.

T4。プロトコルは、ルーティング可能なアドレスを介してオフリンクの対応物にアクセスできなければなりません。すなわち、リンクローカル動作に制限されてはならない。

T5. It must also be possible for an external discovery mechanism to be used, if appropriate for a given technical objective. In other words, GRASP discovery must not be a prerequisite for GRASP negotiation or synchronization.

T5。特定の技術目的に適している場合は、外部発見メカニズムを使用することも可能でなければなりません。言い換えれば、GRASPディスカバリは、把握交渉または同期のための前提条件であってはなりません。

T6. The protocol must be capable of distinguishing multiple simultaneous operations with one or more peers, especially when wait states occur.

T6。特に待機状態が発生したときに、プロトコルは1つ以上のピアと複数の同時操作を区別することができなければなりません。

T7. Intent: Although the distribution of Intent is out of scope for this document, the protocol must not by design exclude its use for Intent distribution.

T7。意図:意図の分布はこの文書の範囲外であるが、プロトコルは設計によって意図的配布のためにその使用を除外しなければならない。

T8. Management monitoring, alerts, and intervention: Devices should be able to report to a monitoring system. Some events must be able to generate operator alerts, and some provision for emergency intervention must be possible (e.g., to freeze synchronization or negotiation in a misbehaving device). These features might not use the signaling protocol itself, but its design should not exclude such use.

T8。管理監視、アラート、および介入:デバイスは監視システムに報告できるはずです。いくつかのイベントはオペレータアラートを生成できなければならず、そして緊急介入のためのいくつかの提供は可能でなければならない(例えば、不正確な装置における同期または交渉を凍結するため)。これらの機能はシグナリングプロトコル自体を使用しないかもしれませんが、そのデザインはそのような使用を排除するべきではありません。

T9. Because this protocol may directly cause changes to device configurations and have significant impacts on a running network, all protocol exchanges need to be fully secured against forged messages and man-in-the-middle attacks, and secured as much as reasonably possible against denial-of-service attacks. There must also be an encryption mechanism to resist unwanted monitoring. However, it is not required that the protocol itself provides these security features; it may depend on an existing secure environment.

T9。このプロトコルは直接デバイス構成に直接変更され、実行中のネットワークに大きな影響を与える可能性があるため、すべてのプロトコル交換は鍛造メッセージや中間攻撃に対して完全に保護され、拒否に対して合理的に可能な限り安全に保護される必要があります。サービス攻撃不要な監視に抵抗するための暗号化メカニズムもなければなりません。ただし、プロトコル自体がこれらのセキュリティ機能を提供する必要はありません。既存の安全な環境に依存する可能性があります。

Appendix C. Capability Analysis of Current Protocols
現在のプロトコルの付録C.機能解析

This appendix discusses various existing protocols with properties related to the requirements described in Appendix B. The purpose is to evaluate whether any existing protocol, or a simple combination of existing protocols, can meet those requirements.

この付録では、付録Bに記載されている要件に関連するプロパティを持つさまざまな既存のプロトコルについて説明します。その目的は、既存のプロトコル、または既存のプロトコルの単純な組み合わせがそれらの要件を満たすことができるかどうかを評価することです。

Numerous protocols include some form of discovery, but these all appear to be very specific in their applicability. Service Location Protocol (SLP) [RFC2608] provides service discovery for managed networks, but it requires configuration of its own servers. DNS-Based Service Discovery (DNS-SD) [RFC6763] combined with Multicast DNS (mDNS) [RFC6762] provides service discovery for small networks with a single link layer. [RFC7558] aims to extend this to larger autonomous networks, but this is not yet standardized. However, both SLP and DNS-SD appear to target primarily application-layer services, not the layer 2 and 3 objectives relevant to basic network configuration. Both SLP and DNS-SD are text-based protocols.

多数のプロトコルには何らかの形の発見が含まれていますが、これらすべてがその適用可能性に非常に具体的であるようです。サービスロケーションプロトコル(SLP)[RFC2608]管理対象ネットワークのサービス検出を提供しますが、独自のサーバーの構成が必要です。DNSベースのサービス発見(DNS-SD)[RFC6763]マルチキャストDNS(MDNS)[RFC6762]と組み合わされた[RFC6762]は、単一のリンクレイヤーを持つ小ネットワークのサービス発見を提供します。[RFC7558]これをより大きな自律ネットワークに拡張することを目的としていますが、これはまだ標準化されていません。ただし、SLPとDNS-SDの両方が、基本的なネットワーク構成に関連するレイヤ2および3の目的ではなく、主にアプリケーション層サービスをターゲットにしているようです。SLPとDNS-SDの両方がテキストベースのプロトコルです。

Simple Network Management Protocol (SNMP) [RFC3416] uses a command/ response model not well suited for peer negotiation. NETCONF [RFC6241] uses an RPC model that does allow positive or negative responses from the target system, but this is still not adequate for negotiation.

簡易ネットワーク管理プロトコル(SNMP)[RFC3416]は、ピアネゴシエーションに適していないコマンド/レスポンスモデルを使用します。NETCONF [RFC6241]は、ターゲットシステムから正または負の応答を許可するRPCモデルを使用しますが、これはまだ交渉には十分ではありません。

There are various existing protocols that have elementary negotiation abilities, such as Dynamic Host Configuration Protocol for IPv6 (DHCPv6) [RFC8415], Neighbor Discovery (ND) [RFC4861], Port Control Protocol (PCP) [RFC6887], Remote Authentication Dial-In User Service (RADIUS) [RFC2865], Diameter [RFC6733], etc. Most of them are configuration or management protocols. However, they either provide only a simple request/response model in a master/slave context or very limited negotiation abilities.

IPv6の動的ホスト構成プロトコル(DHCPv6)[RFC8415]、Noible Discovery(ND)[RFC4861]、ポート制御プロトコル(PCP)[RFC6887]、リモート認証ダイヤルインユーザーサービス(RADIUS)[RFC2865]、直径[RFC6733]などは構成プロトコルまたは管理プロトコルです。ただし、マスター/スレーブのコンテキストまたは非常に限られた交渉能力で単純な要求/応答モデルのみを提供します。

There are some signaling protocols with an element of negotiation. For example, Resource ReSerVation Protocol (RSVP) [RFC2205] was designed for negotiating quality-of-service parameters along the path of a unicast or multicast flow. RSVP is a very specialized protocol aimed at end-to-end flows. A more generic design is General Internet Signalling Transport (GIST) [RFC5971]; however, it tries to solve many problems, making it complex, and is also aimed at per-flow signaling across many hops rather than at device-to-device signaling. However, we cannot completely exclude extended RSVP or GIST as a synchronization and negotiation protocol. They do not appear to be directly usable for peer discovery.

ネゴシエーションの要素を持つシグナリングプロトコルがいくつかあります。例えば、リソース予約プロトコル(RSVP)[RFC2205]は、ユニキャストフローまたはマルチキャストフローの経路に沿ってサービス品質パラメータを交渉するために設計されていました。RSVPは、エンドツーエンドの流れを目的とした非常に特殊なプロトコルです。より一般的なデザインは、一般的なインターネットシグナリングトランスポート(GIST)[RFC5971]です。しかし、それは多くの問題を解決しようとし、それを複雑にすることであり、そしてデバイス間シグナリングではなく、多くのホップにわたる流れのシグナリングを対象としています。ただし、同期およびネゴシエーションプロトコルとして、拡張RSVPまたはGISTを完全に除外することはできません。それらはピア発見に直接使用可能ではないようです。

RESTCONF [RFC8040] is a protocol intended to convey NETCONF information expressed in the YANG language via HTTP, including the ability to transit HTML intermediaries. While this is a powerful approach in the context of centralized configuration of a complex network, it is not well adapted to efficient interactive negotiation between peer devices, especially simple ones that might not include YANG processing already.

RESTCONF [RFC8040]は、HTTMを介してYANG言語で表現されているNetConf情報を伝送することを目的としたプロトコルです。これは複雑なネットワークの集中構成の文脈における強力なアプローチですが、ピアデバイス間の効率的な対話型ネゴシエーション、特にヤン処理を含まない可能性のある簡単なものには適していません。

The Distributed Node Consensus Protocol (DNCP) [RFC7787] is defined as a generic form of a state synchronization protocol, with a proposed usage profile being the Home Networking Control Protocol (HNCP) [RFC7788] for configuring Homenet routers. A specific application of DNCP for Autonomic Networking was proposed in [ADNCP]. According to [RFC7787]:

分散ノードコンセンサスプロトコル(DNCP)[RFC7787]は、一般的な形式の状態同期プロトコルとして定義されており、提案された使用法プロファイルはホームネットワーキング制御プロトコル(HNCP)[RFC7788]がホームネットルータを設定するための[RFC7788]です。[ADNCP]で、自律技術ネットワーキング用のDNCPの特定のアプリケーションが提案されています。[RFC7787]によると:

   |  DNCP is designed to provide a way for each participating node to
   |  publish a set of TLV (Type-Length-Value) tuples (at most 64 KB)
   |  and to provide a shared and common view about the data
   |  published...
   |
   |  DNCP is most suitable for data that changes only infrequently...
   |
   |  If constant rapid state changes are needed, the preferable choice
   |  is to use an additional point-to-point channel...
        

Specific features of DNCP include:

DNCPの特定の機能は次のとおりです。

* Every participating node has a unique node identifier.

* 参加しているノードには、一意のノード識別子があります。

* DNCP messages are encoded as a sequence of TLV objects and sent over unicast UDP or TCP, with or without (D)TLS security.

* DNCPメッセージは、一連のTLVオブジェクトとしてエンコードされ、Unicast UDPまたはTCPを介して(D)TLSセキュリティの有無にかかわらず送信されます。

* Multicast is used only for discovery of DNCP neighbors when lower security is acceptable.

* セキュリティが低い場合には、マルチキャストはDNCPネイバーの発見にのみ使用されます。

* Synchronization of state is maintained by a flooding process using the Trickle algorithm. There is no bilateral synchronization or negotiation capability.

* 状態の同期は、トリクルアルゴリズムを用いたフラッディングプロセスによって維持されます。二国間の同期または交渉機能はありません。

* The HNCP profile of DNCP is designed to operate between directly connected neighbors on a shared link using UDP and link-local IPv6 addresses.

* DNCPのHNCPプロファイルは、UDPおよびLink-Local IPv6アドレスを使用して、共有リンク上の直接接続されたネイバー間で動作するように設計されています。

DNCP does not meet the needs of a general negotiation protocol because it is designed specifically for flooding synchronization. Also, in its HNCP profile, it is limited to link-local messages and to IPv6. However, at the minimum, it is a very interesting test case for this style of interaction between devices without needing a central authority, and it is a proven method of network-wide state synchronization by flooding.

DNCPは、フラッディング同期のために特別に設計されているため、一般的なネゴシエーションプロトコルのニーズを満たしていません。また、そのHNCPプロファイルでは、リンクローカルメッセージとIPv6に制限されています。しかし、最低では、中心的な権限を必要とせずにこの装置間のこのスタイルの対話のための非常に興味深いテストケースであり、それは洪水によるネットワーク全体同期の実証済みの方法です。

The Server Cache Synchronization Protocol (SCSP) [RFC2334] also describes a method for cache synchronization and cache replication among a group of nodes.

サーバキャッシュ同期プロトコル(SCSP)[RFC2334]は、ノードグループ間のキャッシュ同期とキャッシュ複製のためのメソッドも記述しています。

A proposal was made some years ago for an IP based Generic Control Protocol (IGCP) [IGCP]. This was aimed at information exchange and negotiation but not directly at peer discovery. However, it has many points in common with the present work.

IPベースの一般的な制御プロトコル(IGCP)[IGCP]のために数年前に提案が行われました。これは情報交換と交渉を目的としていましたが、ピア発見で直接はありませんでした。ただし、現在の作業と共通点が多い。

None of the above solutions appears to completely meet the needs of generic discovery, state synchronization, and negotiation in a single solution. Many of the protocols assume that they are working in a traditional top-down or north-south scenario, rather than a fluid peer-to-peer scenario. Most of them are specialized in one way or another. As a result, we have not identified a combination of existing protocols that meets the requirements in Appendix B. Also, we have not identified a path by which one of the existing protocols could be extended to meet the requirements.

上記の解決策のどれも、一般的な発見、状態同期、および単一のソリューションのネゴシエーションのニーズを完全に満たすようです。プロトコルの多くは、それらが流体ピアツーピアシナリオではなく、従来のトップダウンまたは北南のシナリオで働いていると仮定しています。それらのほとんどは一方向または別の方法で専門としています。その結果、付録Bの要件を満たす既存のプロトコルの組み合わせを特定していません。また、既存のプロトコルの1つを要件を満たすために拡張できるパスを特定していません。

Acknowledgments

謝辞

A major contribution to the original draft version of this document was made by Sheng Jiang, and significant contributions were made by Toerless Eckert. Significant early review inputs were received from Joel Halpern, Barry Leiba, Charles E. Perkins, and Michael Richardson. William Atwood provided important assistance in debugging a prototype implementation.

この文書のオリジナルドラフト版への大きな貢献は、Sheng Jiangによって行われ、大幅な貢献はトーレスエッケートによって行われました。著しい初期レビューの入力は、Joel Halpern、Barry Leiba、Charles E. Perkins、およびMichael Richardsonから受信されました。William Atwoodは、プロトタイプの実装をデバッグするのに重要な支援を提供しました。

Valuable comments were received from Michael Behringer, Jéferson Campos Nobre, Laurent Ciavaglia, Zongpeng Du, Yu Fu, Joel Jaeggli, Zhenbin Li, Dimitri Papadimitriou, Pierre Peloso, Reshad Rahman, Markus Stenberg, Martin Stiemerling, Rene Struik, Martin Thomson, Dacheng Zhang, and participants in the Network Management Research Group, the ANIMA Working Group, and the IESG.

貴重なコメントは、Michael Behringer、JéfersonCamos Nobre、Laurent Ciavaglia、Zongpeng du、Zongpeng du、Joel Jaeggli、Zhenbin Li、Zhenbin Li、Dimitri Papadimitriou、Pierre Peloso、Reshad Rahman、Markus Stenberg、Martin Stiemerling、Martin Thomson、Dacheng Zhangネットワーク管理研究グループ、アニマワーキンググループ、およびIESGの参加者。

Authors' Addresses

著者の住所

Carsten Bormann Universität Bremen TZI Postfach 330440 D-28359 Bremen Germany

Bremen Tzi Postfach 330440 D-28359ブレーメンドイツ

   Email: cabo@tzi.org
        

Brian Carpenter (editor) School of Computer Science University of Auckland PB 92019 Auckland 1142 New Zealand

Brian Carpenter(編集)オークランド大学オブコンピュータサイエンス大学PB 92019オークランド1142ニュージーランド

   Email: brian.e.carpenter@gmail.com
        

Bing Liu (editor) Huawei Technologies Co., Ltd Q14, Huawei Campus Hai-Dian District No.156 Beiqing Road Beijing 100095 China

Bing Liu(編集)Huawei Technologies Co.、Ltd Q14、Huawei Campus Hai-Dian District No.156北京ロード北京100095中国

   Email: leo.liubing@huawei.com