跳到主要内容

1. 目的和范围

1981 年, RFC 793 [16] 发布, 记录了传输控制协议 (Transmission Control Protocol, TCP), 并取代了此前发布的 TCP 规范.

从那时起, TCP 已被广泛实现, 并作为互联网上大量应用程序的传输协议使用.

几十年来, RFC 793 连同若干其他文档共同作为 TCP 的核心规范 [49]. 随着时间推移, 针对 RFC 793 提交了许多勘误. 在安全性, 性能以及许多其他方面, 也发现并解决了一些缺陷. 增强内容的数量随时间增长, 并分散在许多单独的文档中. 这些内容从未被汇集起来, 形成对基础规范的一次全面更新.

本文档的目的是汇集对基础 TCP 功能规范 (RFC 793) 所做的所有 IETF 标准轨变更以及其他澄清, 并将它们统一到该规范的更新版本中.

本文档引用了一些配套文档, 其中包含 TCP 使用的重要算法 (例如, 拥塞控制), 但这些算法并未被完整纳入本文档. 这是一个有意的选择, 因为此基础规范可以与多个单独开发和纳入的附加算法配合使用. 本文档聚焦于所有 TCP 实现为了互操作而必须支持的共同基础. 由于一些附加 TCP 功能本身已经变得相当复杂 (例如, 高级丢失恢复和拥塞控制), 未来的配套文档可能会尝试以类似方式汇集这些内容.

除了描述 TCP 段格式, 生成规则以及处理规则并需要在代码中实现的协议规范外, RFC 793 和其他更新还包含资料性和说明性文本, 供读者理解协议设计和运行的各个方面. 本文档不试图修改或更新这些资料性文本, 而只聚焦于更新规范性的协议规范. 在适当位置, 本文档保留了对包含重要解释和理由的文档的引用.

本文档旨在既可用于检查现有 TCP 实现是否符合规范, 也可用于编写新的实现.