Skip to main content

5. IANA 考量 (IANA Considerations)

本章说明 TCP Fast Open 对 IANA 注册的要求和分配情况。

5.1. TCP 选项编号分配 (TCP Option Kind Assignment)

TCP Fast Open 使用 TCP 选项 (TCP Option) 来传输 Cookie 和相关信息。根据 RFC 6994《Shared Use of Experimental TCP Options》,TCP Fast Open 已被分配实验性选项编号。

选项编号

TCP Option Kind Number: 34

正式名称:TCP Fast Open Cookie
参考文档:RFC 7413
分配状态:Experimental (实验性)

选项格式

+-------------+-------------+-------------------+
| Kind=34 | Length | Cookie (可选) |
+-------------+-------------+-------------------+

字段说明

  • Kind: 8 位,固定值为 34
  • Length: 8 位,取值范围 2-18
    • Length=2:Cookie 请求(无 Cookie 数据)
    • Length=6-18:Cookie 响应或使用(4-16 字节 Cookie)
  • Cookie: 可变长度,4-16 字节

5.2. 实验性状态说明 (Experimental Status)

实验性协议的含义

TCP Fast Open 被标记为 Experimental (实验性),这意味着:

  1. 非标准轨道

    • 不在 IETF 标准轨道 (Standards Track) 上
    • 旨在实验和评估技术可行性
    • 可能在未来修订或废弃
  2. 部署建议

    • 实现者应理解实验性质
    • 部署时应谨慎考虑兼容性和安全性
    • 可能需要在后续版本中调整
  3. 向标准演进

    • 基于实施经验,可能提升为标准
    • 或根据反馈进行重大修订
    • 或被新的机制取代

实现者注意事项

建议

部署清单:
├─ 实现时遵循 RFC 7413 规范
├─ 提供禁用 TFO 的配置选项
├─ 监控实际使用中的问题
├─ 向 IETF 反馈实施经验
└─ 关注后续 RFC 更新

兼容性承诺

  • 实验性协议可能在未来版本中更改
  • 实现应设计为可向后兼容
  • 建议支持协议版本协商

5.3. 选项编号共享 (Option Number Sharing)

根据 RFC 6994,实验性 TCP 选项可能共享编号空间。TCP Fast Open 使用独立的选项编号 (34),不与其他实验性选项共享。

冲突避免

标识机制

  • 使用固定的 Kind 值 (34)
  • 通过 Length 字段区分请求和响应
  • Cookie 内容由具体实现定义

互操作性

不同实现之间的兼容性:
├─ 必须使用相同的 Kind 值 (34)
├─ 必须遵循相同的 Length 约定
├─ Cookie 格式由服务器独立定义(不需要互操作)
└─ 客户端和服务器必须来自兼容实现

5.4. 未来考虑 (Future Considerations)

标准化路径

如果 TCP Fast Open 被证明成功并广泛部署,可能的演进路径:

  1. 提升为提议标准 (Proposed Standard)

    • 基于实施经验修订规范
    • 解决已知问题和限制
    • 正式纳入 IETF 标准轨道
  2. 选项编号重新分配

    • 可能分配正式的(非实验性)选项编号
    • 或继续使用现有编号 34
  3. 协议增强

    • 可能引入版本字段
    • 扩展 Cookie 格式
    • 增加新的安全特性

已知实施 (Known Implementations)

截至 RFC 7413 发布,已有多个实施:

操作系统

  • Linux 内核 (3.6+)
  • FreeBSD
  • Apple macOS/iOS
  • Windows 10 (1607+)

应用程序

  • Google Chrome
  • Mozilla Firefox
  • curl
  • nginx

这些实施的广泛部署为标准化提供了实践基础。

5.5. 注册信息摘要 (Registration Summary)

项目:TCP Option
参数:Kind
值:34
名称:TCP Fast Open Cookie
参考:RFC 7413
日期:2014-12
备注:Experimental

联系信息

文档编辑

  • Yuchung Cheng (Google)
  • Jerry Chu (Google)
  • Sivasankar Radhakrishnan (Google)
  • Arvind Jain (Google)

IETF 工作组

  • TCP Maintenance and Minor Extensions (tcpm)

邮件列表


下一章节: 6. 参考文献 (References) 列出本规范引用的规范性和信息性参考文献。