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)
-
- 1.1. 动机 (Motivation)
- 1.2. 关键概念 (Key Concepts)
-
- 2.1. TFO Cookie 请求 (Cookie Request)
- 2.2. TFO Cookie 响应 (Cookie Response)
- 2.3. TCP Fast Open 连接 (Fast Open Connection)
- 2.4. Cookie 重用 (Cookie Reuse)
-
- 3.1. TCP Fast Open Cookie 请求 (Cookie Request)
- 3.2. TCP Fast Open Cookie 授予 (Cookie Grant)
- 3.3. TCP Fast Open 连接 (Fast Open)
- 3.4. Cookie 处理 (Cookie Handling)
-
4. 安全考量 (Security Considerations)
- 4.1. 攻击威胁 (Attack Threats)
- 4.2. 放大攻击 (Amplification Attacks)
- 4.3. 资源耗尽攻击 (Resource Exhaustion)
- 4.4. 隐私考量 (Privacy Considerations)
-
- 6.1. 规范性参考文献 (Normative References)
- 6.2. 信息性参考文献 (Informative References)
附录 (Appendices)
核心技术要点 (Key Technical Points)
TFO Cookie 机制
- Cookie 生成: 服务器使用加密函数基于客户端 IP 地址生成 Cookie
- Cookie 验证: 客户端在后续连接中携带 Cookie,服务器验证其有效性
- 数据携带: 验证通过后,SYN 包中的数据可被应用层接收
性能优势
- 减少一个完整的 RTT 延迟
- 特别适合短连接和请求-响应模式
- 对 Web 浏览和 API 调用有显著性能提升
安全保护
- 防止放大攻击:限制 SYN 数据大小
- 防止资源耗尽:Cookie 验证机制
- 兼容性:可与传统 TCP 透明共存
相关 RFC 文档 (Related RFCs)
- 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+)
注意: 实验性状态意味着该机制仍在评估中,实现时应谨慎考虑其安全性和兼容性影响。