2. 定义
本节给出本文档其余部分将使用的若干术语定义.
SEGMENT
segment 是任何 TCP/IP data 或 acknowledgment packet (或二者兼有).
SENDER MAXIMUM SEGMENT SIZE (SMSS)
SMSS 是 sender 可传输的最大 segment 大小. 该值可基于:
- 网络的 maximum transmission unit
- path MTU discovery [RFC1191, RFC4821] 算法
- RMSS (见下一项)
- 其他因素
该大小不包括 TCP/IP headers 和 options.
RECEIVER MAXIMUM SEGMENT SIZE (RMSS)
RMSS 是 receiver 愿意接受的最大 segment 大小. 这是连接启动期间 receiver 发送的 MSS option 中指定的值. 或者, 如果未使用 MSS option, 则为 536 字节 [RFC1122]. 该大小不包括 TCP/IP headers 和 options.
FULL-SIZED SEGMENT
包含允许的最大数据字节数的 segment (即包含 SMSS 字节数据的 segment).
RECEIVER WINDOW (rwnd)
最近通告的 receiver window.
CONGESTION WINDOW (cwnd)
限制 TCP 可发送数据量的 TCP 状态变量. 在任何给定时刻, TCP 不得发送 sequence number 高于最高已确认 sequence number 与 cwnd 和 rwnd 中较小值之和的数据.
INITIAL WINDOW (IW)
initial window 是三次握手完成后 sender 的 congestion window 大小.
LOSS WINDOW (LW)
loss window 是 TCP sender 使用其 retransmission timer 检测到丢失后的 congestion window 大小.
RESTART WINDOW (RW)
restart window 是 TCP 在空闲期之后重新开始传输后的 congestion window 大小 (如果使用 slow start 算法; 更多讨论见 section 4.1).
FLIGHT SIZE
已发送但尚未被 cumulative acknowledged 的数据量.
DUPLICATE ACKNOWLEDGMENT
在以下算法中, 当满足下列条件时, acknowledgment 被视为 "duplicate":
(a) ACK 的 receiver 有 outstanding data, (b) incoming acknowledgment 不携带数据, (c) SYN 和 FIN bits 都为 off, (d) acknowledgment number 等于给定连接上已收到的最大 acknowledgment (来自 [RFC793] 的 TCP.UNA), 且 (e) incoming acknowledgment 中的 advertised window 等于上一个 incoming acknowledgment 中的 advertised window.
或者, 使用 selective acknowledgments (SACKs) [RFC2018, RFC2883] 的 TCP 可以利用 SACK 信息判断 incoming ACK 何时为 "duplicate" (例如, 如果 ACK 包含此前未知的 SACK 信息).