TCP 序号、窗口与拥塞控制公式表

首部与 MSS

TCP Data Offset 以 4 B 字为单位:基本首部 Data Offset=5,对应 20 B;最大值 15,对应 60 B。

路径 MTU 已知时,常用 MSS 上限:无选项 IPv4/TCP、MTU 1500 B:MSS 只计算 TCP 数据,不包含 IP 和 TCP 首部。

字节序号

报文段首字节序号为 ,数据长度为 B:SYN、FIN 各占用一个序号:其中标志存在时指示量 ,否则为 0。纯 ACK 不推进本方向序号。

接收方连续收到此前全部字节后:序号字段为 32 bit,计算按模 循环。

接收缓存与接收窗口

设:

  • RcvBuffer:接收缓存容量。
  • LastByteRcvd:已接收最高字节位置。
  • LastByteRead:应用已读取最高字节位置。

连续字节模型下:

TCP 首部 Window 字段从 ACK 指示的下一个期望字节开始通告可接收范围:若采用半开区间,可接收序号范围为:

发送窗口

接收窗口和拥塞窗口共同限制在途数据:当前未确认在途数据为 FlightSize:发送缓存、应用可用数据、MSS 和 Nagle 等机制还可能形成额外限制。

时延带宽积与吞吐

路径瓶颈速率为 bit/s:换算为字节:窗口足够稳定时:上式中 rwnd、cwnd 使用 B;若窗口直接用 bit 表示,则不乘 8。

RTT 估计

教材常取 、。实现还会设置 RTO 上下限,并在连续超时后指数退避。

重传报文段的 ACK 可能同时对应原发送和重传,RTT 采样应避开这种歧义。

慢开始

传统离散 RTT 模型中,每个确认新数据的 ACK 使:一个 RTT 内约确认当前窗口的数据,因此:达到 ssthresh 后转入拥塞避免。题目若按每轮给出整数 MSS,依题目指定切换点取值。

拥塞避免

按 ACK 更新的常见近似式:一轮 RTT 累计约增加:

拥塞信号后的窗口

教材常用:题目也可能直接按丢包前 cwnd/2 计算。

超时

传统规则:随后重新慢开始。

3 个重复 ACK

Reno 风格快速恢复的关键取值:收到确认新数据的 ACK 后:Tahoe 风格在快速重传后把 cwnd 降到 1 MSS。计算题必须按题目指定算法处理。

TCP 窗口计算例

发送方已发送序号 1000~3999,收到 ACK=2500,接收方通告 rwnd=4000 B,拥塞窗口 cwnd=5000 B。

未确认数据:发送限制:可继续发送:若下一个未发送字节序号为 4000,可发送区间为 [4000,6500)。

HTTP 小对象时延

使用 TCP 非持久连接获取一个小对象,忽略 DNS、TLS、发送和处理时间:其中 1 RTT 用于 TCP 握手,1 RTT 用于请求到响应首字节。持久连接可以复用握手,拥塞窗口和慢开始仍会影响对象实际发送时间。

王道口径补充(2026-09-16 审校)

以下各条由第 5 章错题反推补入,均按王道教材口径,与上面按 RFC 写的公式有出入时以本节为准:

  • 快恢复后的 cwnd:王道取 旧,不加 3 MSS;超时则 旧(不小于 2),。
  • ssthresh 取的是出现拥塞时 cwnd 的一半,不是旧 ssthresh 的一半。
  • 慢开始阶段加倍不越过门限:若 ,则下一个 RTT 的 。
  • cwnd 的增加都发生在收到确认之后:问”第 个 RTT 内发送的报文段都被确认时”,要把该轮的增量算上(2009 真题:超时时 16KB,第 4 个 RTT 后为 9KB)。
  • 发送窗口 = ,再减去已发送未确认的字节(2010、2021 真题)。
  • SYN 与 FIN 各消耗一个序号,纯 ACK 不消耗;已发送的应用层数据量 = FIN 序号 − SYN 序号 − 1(2020 真题)。
  • 确认号是期望收到的下一个字节;窗口值从确认号算起。
  • TCP 按 MSS 分割数据,重传也以 MSS 为单位;MSS 在三次握手时协商,取双方较小值。
  • 序号绕回时间 ( 为字节/秒):40Gb/s 下约 859ms。
  • 释放连接的最短时间:主动关闭方 1RTT + 2MSL,被动关闭方 1.5RTT。

计算顺序

  1. 给两个方向分别维护序号空间。
  2. 数据按字节数推进,SYN、FIN 各额外推进 1。
  3. 用 ACK 确定累计确认边界和接收窗口左边界。
  4. 用 min(rwnd,cwnd) 求发送限制,再扣 FlightSize。
  5. 窗口与吞吐计算先统一 bit/B。
  6. RTO 依次更新 EstimatedRTT、DevRTT、RTO。
  7. 拥塞题区分慢开始、拥塞避免、超时和 3 个重复 ACK。

链接