Skip to content

1. 目的与范围

1981 年发布的 RFC 793 记录了传输控制协议(TCP),取代了此前公布的各版 TCP 规范。

此后,TCP 得到广泛实现,互联网上大量应用都将其用作传输协议。

数十年来,RFC 793 与若干其他文档共同构成了 TCP 的核心规范(参见 RFC 7414)。随着时间推移,人们针对 RFC 793 提出了许多勘误,也在安全、性能等诸多方面发现了缺陷并加以解决。与此同时,各种增强散落在越来越多的独立文档中,始终未能汇总为对基础规范的一次全面更新。

本文旨在汇集针对 TCP 基础功能规范(RFC 793)的全部 IETF 标准轨道变更及其他澄清,并将其整合为更新后的规范版本。

TCP 所用的重要算法(例如拥塞控制)均有配套文档,本文引用了这些文档,但并未将相关算法完整纳入。这是有意为之:基础规范应能与多种另行开发、独立纳入的附加算法配合使用。本文聚焦于所有 TCP 实现为互操作而必须支持的共同基础。由于一些附加 TCP 特性本身已经相当复杂(例如高级丢包恢复和拥塞控制),未来的配套文档也可能会尝试将它们汇总起来。

RFC 793 及其后续更新不仅包含协议规范——描述 TCP 报文段的格式、生成与处理规则,这些规则需要落实到代码中——还包含信息性、描述性的文字,帮助读者理解协议设计与运行的方方面面。本文不试图修改或更新这些信息性文字,只关注规范性协议规范的更新。在适当之处,本文保留了指向相关文档的引用,这些文档包含重要的解释与设计理由。

本文既适用于检查现有 TCP 实现是否符合规范,也适用于编写新的 TCP 实现。

Licensed under CC BY-NC-SA 4.0.