跳到主要内容

7. 相对于 RFC 2581 的变化 (Changes Relative to RFC 2581)

本节概述本文档相对于 [RFC2581] 所做的变化.

Duplicate Acknowledgment 定义

新增了 "duplicate acknowledgment" 的具体定义, 该定义基于 BSD TCP 所使用的定义.

未规定的行为

本文档现在指出, 在 retransmission timer 触发之后如何处理 duplicate ACK 属于未来工作, 并且本文档明确不予规定.

Initial Window 要求

initial window 要求已更改, 以允许 [RFC3390] 中标准化的 Larger Initial Windows. 此外, 本文档还详细说明了当发现 initial window 因 Path MTU Discovery [RFC1191] 而过大时应采取的步骤.

Initial ssthresh 值

ssthresh 的 recommended initial value 已改为说明它应该任意高, 而此前为可以. 这是为了在该事项上向实现者提供更多指导.

Slow Start - Appropriate Byte Counting

在 slow start 期间, 明确建议使用 L=1*SMSS 的 Appropriate Byte Counting [RFC3465]. [RFC2581] 中给出的增加 cwnd 方法仍然被明确允许.

Congestion Avoidance - Byte Counting

也建议在 congestion avoidance 期间使用 byte counting, 同时仍然允许 [RFC2581] 中的方法和其他安全方法.

Retransmission Timeout 时的 ssthresh

本文档澄清了 retransmission timeout 时对 ssthresh 的处理. 特别是, 在某个给定 segment 的第一次重传时, ssthresh 必须设置为 FlightSize 的一半, 然后在同一 segment 的后续重传中保持不变.

Fast Retransmit 与 Fast Recovery

本文档澄清了 fast retransmit 和 fast recovery 的描述, 并且现在建议使用 Limited Transmit [RFC3042].

Duplicate ACK 欺骗防护

TCP 现在可以将 loss recovery 期间人为膨胀 cwnd 的 duplicate ACK 数量限制为 outstanding segment 的数量, 以避免 [SCWA99] 中描述的 duplicate ACK spoofing attack.

Restart Window

restart window 已从 IW 改为 min(IW,cwnd). 该行为在 [RFC2581] 中被描述为 "experimental".

Advanced Loss Recovery

现在建议 TCP 实现者实现一种符合本文档所述原则的 advanced loss recovery 算法.

Security Considerations 更新

security considerations 已更新, 以讨论 ACK division 并建议将 byte counting 作为抵御该攻击的措施.