跳到主要内容

6. Updates to Existing Standards (对现有标准的更新)

以下各节阐述本文档所指明的对现有协议的具体变更.

6.1. Updates to RFC 791 (对 RFC 791 的更新)​

RFC 791 指出:

互联网数据报的发起协议模块将标识字段设为一个值, 该值对于该源-目的对和协议而言, 在数据报于互联网系统中保持活跃的期间内必须是唯一的.

随后又指出:

因此, 发送方必须为该源、目的对和协议选择在数据报 (或其任何分片) 可能于互联网中存活的期间内唯一的标识符.

这样看来, 发送协议模块需要维护一张标识符表, 为它在互联网上一个最大数据报生命周期内曾通信过的每个目的地保留一个表项.

然而, 由于标识符字段允许 65,536 个不同的值, 某些主机或许能够简单地使用与目的地无关的唯一标识符.

某些较高层协议来选择标识符是合适的.例如, TCP 协议模块可能重传一个完全相同的 TCP 报文段, 如果该重传携带与原始传输相同的标识符, 正确接收的概率将会提高, 因为任一个数据报的分片都可以用来构造出正确的 TCP 报文段.

本文档对 RFC 791 的修改如下:

  • IPv4 ID 唯一性仅适用于非原子数据报.
  • 重传的非原子 IPv4 数据报不再被允许重用 ID 值.

6.2. Updates to RFC 1122 (对 RFC 1122 的更新)​

RFC 1122 在第 3.2.1.5 节 ("标识: RFC 791 第 3.2 节") 中指出:

在发送较早数据报的完全相同副本时, 主机可以 (MAY) 选择在该副本中保留相同的标识字段.

DISCUSSION:

一些互联网协议专家一直主张, 当主机发送较早数据报的完全相同副本时, 新副本应当包含与原始数据报相同的标识值.有两点被提出的好处: (1) 如果数据报被分片且部分分片丢失, 接收方可能能够从原始数据报和副本的分片重建出一个完整的数据报; (2) 拥塞的网关可以使用 IP 标识字段 (以及分片偏移) 从队列中丢弃重复的数据报.

本文档对 RFC 1122 的修改如下:

  • IPv4 ID 字段不再被允许用于重复检测.这同时适用于原子数据报和非原子数据报.
  • 重传的非原子 IPv4 数据报不再被允许重用 ID 值.

6.3. Updates to RFC 2003 (对 RFC 2003 的更新)​

本文档更新了 IPv4-in-IPv4 隧道为 IPv4 外层首部创建 IPv4 ID 值的方式 [RFC2003], 但仅以与任何其他 IPv4 数据报源相同的方式进行.具体而言, RFC 2003 指出以下内容, 其中 [10] 指 RFC 791:

标识、标志、分片偏移

这三个字段按 [10] 中的规定设置...

本文档对 RFC 2003 的修改如下:

  • IPv4 ID 字段按 RFC 6864 所允许的方式设置.