SPECIFICATION
数据隧道协议(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 的实体(以下简称"实现")必须满足以下一致性要求:
- 实现 必须 完整支持本规范定义的所有 必须(MUST) 规则。
- 实现 应 支持本规范定义的所有 应(SHOULD) 规则。如不支持,必须 在文档中明示偏离项。
- 实现 可 选择是否支持 可(MAY) 规则。
- 实现 不得 引入与本规范冲突的扩展。任何扩展 必须 通过本规范定义的扩展机制(参见第 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 Schema(
schema/draft/schema.ts):DTP 的 TypeScript 类型定义参考实现
