跳到主要内容

RFC 7413 - TCP Fast Open

  • 状态: Experimental
  • 发布日期: December 2014
  • Stream: IETF
  • 勘误: 无勘误

摘要 (Abstract)

本文档描述了一种实验性的 TCP 机制——TCP Fast Open (TFO)。TFO 允许在 TCP 握手期间交换数据,通过使用 TFO Cookie(一种 TCP 选项字段)来验证先前连接过的客户端。这减少了新 TCP 连接的延迟,对于延迟敏感的应用程序(如 Web 服务)特别有价值。

技术重要性: TCP Fast Open 可以将 HTTP 请求-响应时间减少一个完整的往返时间 (RTT),特别适用于短连接场景。


目录 (Contents)

主要章节 (Main Sections)


附录 (Appendices)


核心技术要点 (Key Technical Points)

  • Cookie 生成: 服务器使用加密函数基于客户端 IP 地址生成 Cookie
  • Cookie 验证: 客户端在后续连接中携带 Cookie,服务器验证其有效性
  • 数据携带: 验证通过后,SYN 包中的数据可被应用层接收

性能优势

  • 减少一个完整的 RTT 延迟
  • 特别适合短连接和请求-响应模式
  • 对 Web 浏览和 API 调用有显著性能提升

安全保护

  • 防止放大攻击:限制 SYN 数据大小
  • 防止资源耗尽:Cookie 验证机制
  • 兼容性:可与传统 TCP 透明共存

  • RFC 793: Transmission Control Protocol
  • RFC 6994: Shared Use of Experimental TCP Options
  • RFC 7323: TCP Extensions for High Performance

实现状态 (Implementation Status)

本 RFC 为实验性标准,已在多个主流操作系统中实现:

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

注意: 实验性状态意味着该机制仍在评估中,实现时应谨慎考虑其安全性和兼容性影响。