跳到主要内容

5. 紧凑时间表示的协议集成

5. 紧凑时间表示的协议集成 (Protocol Integration of the Compact Time Representation)

一种直接适配紧凑时间方法的方式是使用 1 字节长度字段来指示这种替代编码, 同时保留现有的 TLV 注册表条目. 这种方法存在向后兼容性问题, 但仍基于以下原因予以考虑:

  • 两个 CCNx RFC ([RFC8569] 和 [RFC8609]) 都是实验性 (Experimental) RFC, 而非标准轨 (Standards Track) RFC; 因此, 对向前兼容性和向后兼容性的预期并不那么严格. 对已部署 CCNx 网络进行 "flag day" 升级虽然不便, 但仍然可行.

  • 这些压缩编码的主要用例是规模较小的 IoT 和/或传感器网络, 其中消费者, 生产者和转发器的数量相对较少.

  • 由于当前 TLV 具有逐跳 (hop-by-hop) 语义, 它们不受任何已签名哈希覆盖, 因而可以由任意转发器自由重新编码. 这意味着支持新编码的转发器可以在两种编码之间自由转换.

  • 分配新的 TLV 注册表值这一替代方案无论如何也不能实质性缓解互操作性问题.

5.1. Interest Lifetime

[RFC8609] 中的 Interest Lifetime 定义允许使用可变长度的生命周期表示, 其中长度为 1 时会以毫秒为单位编码线性范围 [0,255]. 本文档修改该定义, 要求始终以紧凑时间值表示来编码 1 字节 Interest Lifetime 值 (见图 4). 对于任何其他长度, Interest Lifetime 按照 [RFC8609] 第 3.4.1 节中的描述进行编码.

                     1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
| T_INTLIFE | Length = 1 |
+---------------+---------------+---------------+---------------+
| COMPACT_TIME |
+---------------+

图 4: 对 Interest Lifetime TLV 定义的修改.

[RFC8609] 中的 Recommended Cache Time 定义指定了一种固定长度为 8 字节的绝对时间表示. 本文档修改该定义, 要求始终以紧凑相对时间值表示来编码 1 字节 Recommended Cache Time 值 (见图 5). 对于任何其他长度, Recommended Cache Time 按照 [RFC8609] 第 3.4.2 节中的描述进行编码.

                     1                   2                   3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
| T_CACHETIME | Length = 1 |
+---------------+---------------+---------------+---------------+
| COMPACT_TIME |
+---------------+

图 5: 对 Recommended Cache Time TLV 定义的修改.

数据包处理经过调整, 会基于绝对接收时间从相对时间码计算绝对时间. 在传输时, 会基于当前系统时间计算新的相对时间码.