データトンネルプロトコル(Data Tunnel Protocol、DTP)仕様

バージョン:ドラフト(Draft) 目標バージョン:2025-10-25 ステータス:ドラフト、レビュー待ち プロトコル層:アプリケーション層

はじめに

本仕様は、データトンネルプロトコル(Data Tunnel Protocol、以下 DTP)のワイヤフォーマット(wire format)、ステートマシン、ネゴシエーション機構、暗号化要件、エラー処理およびバージョン管理規則を定義する。DTP は、iFay エコシステムにおいて端末デバイスと Fay の間で双方向のデータ収集および注入を行うためのアプリケーション層プロトコルである。

本仕様は DTP の**規範的(Normative)**ドキュメントである。本仕様に準拠した実装は、他の準拠実装と相互運用できなければならない。

キーワードの規定

本ドキュメント中のキーワード しなければならない(MUST)してはならない(MUST NOT)必須(REQUIRED)するものとする(SHALL)するものではない(SHALL NOT)すべきである(SHOULD)すべきでない(SHOULD NOT)推奨される(RECOMMENDED)してもよい(MAY) および 任意(OPTIONAL) の解釈は、RFC 2119 および RFC 8174 の定義に従う。これらは太字で表記された場合にのみ規範的意味を持つ。

ドキュメント構成

本仕様は 10 の章から構成される:

タイトル範囲
第 1 章概要とプロトコル定位DTP の役割、設計目標、他プロトコルとの関係、バージョン管理と互換性(§1.7、規範的)
第 2 章用語と定義規範的用語の定義
第 3 章プロトコルアーキテクチャプロトコルの階層、コンポーネント、ステートマシン
第 4 章論理フレーム構造ヘッダーとペイロードのバイナリフォーマット
第 5 章ネゴシエーション機構Agreement のネゴシエーション、調整、終了
第 6 章データ伝送データ収集と注入のフロー
第 7 章セキュリティと暗号化エンドツーエンド暗号化要件
第 8 章信頼性保障再送、確認、セッション管理
第 9 章エラー処理エラーコードとエラー通知機構
第 10 章バージョン管理バージョン管理の操作機構とガバナンスフロー(権威ある方針は第 1 章 §1.7 を参照)

適合性

DTP の実装を宣言する主体(以下「実装」)は、以下の適合性要件を満たさなければならない:

  1. 実装は、本仕様で定義されるすべての しなければならない(MUST) 規則を完全にサポートしなければならない。
  2. 実装は、本仕様で定義されるすべての すべきである(SHOULD) 規則をサポートすべきである。サポートしない場合、ドキュメントにおいて逸脱項目を明示しなければならない。
  3. 実装は、してもよい(MAY) 規則をサポートするか否かを選択してもよい。
  4. 実装は、本仕様と矛盾する拡張を導入してはならない。いかなる拡張も、本仕様で定義された拡張機構(第 4 章のカスタムフィールド、第 5 章の Agreement パラメータ拡張を参照)を通じて実装しなければならない。

規範的引用

  • RFC 2119 — Key words for use in RFCs to Indicate Requirement Levels
  • RFC 8174 — Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words
  • RFC 4122 — A Universally Unique IDentifier (UUID) URN Namespace(Fragment_ID、Agreement_ID、Session_ID に使用)
  • RFC 3339 — Date and Time on the Internet: Timestamps(UTC タイムスタンプ形式)
  • CAP 仕様 — Control Authorization Protocol。DTP は CAP に依存して身元認証と鍵交換を完了する

関連ドキュメント

  • DTP ブループリントドキュメントdocs/ja/blueprint/):DTP の非規範的な紹介資料。動機、設計原理、サンプルを提供する
  • DTP Schemaschema/draft/schema.ts):DTP の TypeScript 型定義によるリファレンス実装