跳到主要内容

4. 要求

所有链路 必须 强制执行其 MTU: 对于可能以非确定方式递送大于其额定 MTU 的分组的链路, 必须 始终丢弃这类分组.

所有主机 应该 以模拟 IPv6 功能的模式使用 IPv4 分片. 所有分片 应该 在主机上完成, 并且所有 IPv4 分组 (包括分片) 应该 设置 DF 位, 以便它们不会在网络中被 (再次) 分片.

以下要求仅适用于包含 PLPMTUD 的实现.

要使用 PLPMTUD, Packetization Layer 必须 具备一种丢失报告机制, 能够及时且准确地向发送方指示哪些分组已在网络中丢失.

正常的拥塞控制算法 必须 在所有条件下保持生效, 唯一例外是仅检测到一个孤立的 probe packet 丢失. 仅在这种情况下, 正常的拥塞 (窗口或数据速率) 降低 应该 被抑制. 如果检测到任何其他数据丢失, 则 必须 执行标准拥塞控制.

被抑制的拥塞控制 必须 受到速率限制, 使其发生频率低于同一路径上以可比数据速率运行的 TCP 拥塞控制的最坏情况丢失率.

每当 MTU 提高时, 拥塞状态变量 必须 重新缩放, 以避免提高以字节计的窗口大小 (或以字节每秒计的数据速率).

每当 MTU 降低时 (例如在处理 ICMP PTB 消息时), 拥塞状态变量 应该 重新缩放, 以避免提高以分组数计的窗口大小.

如果 PLPMTUD 更新了某条特定路径的 MTU, 则 应该 通知共享该路径表示的所有 Packetization Layer 会话使用新的 MTU, 并进行所需的拥塞控制调整.

所有实现 必须 包含相应机制, 使应用能够选择性地传输大于当前有效 Path MTU 但小于第一跳 Link MTU 的分组.

实现 可以 为每种协议使用不同的启发式方法来选择初始有效 Path MTU.