数据隧道协议(Data Tunnel Protocol,DTP)规范

版本:草案(Draft) 目标版本:2025-10-25 状态:草案,等待评审 协议层:应用层

引言

本规范定义了数据隧道协议(Data Tunnel Protocol,简称 DTP)的线格式(wire format)、状态机、协商机制、加密要求、错误处理以及版本管理规则。DTP 是 iFay 生态系统中用于终端设备与 Fay 之间双向数据归集与注入的应用层协议。

本规范是 DTP 的规范性文档(Normative Specification)。任何符合本规范的实现都应当能够与其他符合实现互操作。

关键词约定

本文档中的关键词 必须(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 章协商机制约定的协商、调整与终止
第 6 章数据传输数据归集与注入流程
第 7 章安全与加密端到端加密要求
第 8 章可靠性保障续传、确认、会话管理
第 9 章错误处理错误码与错误通知机制
第 10 章版本管理版本管理的操作机制与治理流程(权威策略见第 1 章 §1.7)

一致性

声明实现 DTP 的实体(以下简称"实现")必须满足以下一致性要求:

  1. 实现 必须 完整支持本规范定义的所有 必须(MUST) 规则。
  2. 实现 支持本规范定义的所有 应(SHOULD) 规则。如不支持,必须 在文档中明示偏离项。
  3. 实现 选择是否支持 可(MAY) 规则。
  4. 实现 不得 引入与本规范冲突的扩展。任何扩展 必须 通过本规范定义的扩展机制(参见第 4 章自定义字段、第 5 章约定参数扩展)实现。

规范性引用

  • 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/zh-CN/blueprint/):DTP 的非规范性介绍材料,提供动机、设计原理与示例
  • DTP Schemaschema/draft/schema.ts):DTP 的 TypeScript 类型定义参考实现