Skip to main content

3. 差分服务字段定义 (Differentiated Services Field Definition)

定义了一个替代头部字段,称为 DS 字段 (DS Field),旨在取代 IPv4 TOS 八位组 [RFC791] 和 IPv6 流量类别八位组 [IPv6] 的现有定义。

DS 字段的六个比特位用作码点 (DSCP, Differentiated Services Codepoint) 来选择数据包在每个节点经历的 PHB。两个比特位的当前未使用 (CU, Currently Unused) 字段被保留,其定义和解释不在本文档的范围内。差分服务兼容节点在确定应用于接收数据包的逐跳行为时忽略 CU 比特位的值。

DS 字段结构如下所示:

     0   1   2   3   4   5   6   7
+---+---+---+---+---+---+---+---+
| DSCP | CU |
+---+---+---+---+---+---+---+---+

DSCP: differentiated services codepoint (差分服务码点)
CU: currently unused (当前未使用)

在本文档中使用的 DSCP 值表示法 xxxxxx(其中 x 可以等于 01)中,最左边的比特位表示 DS 字段的比特位 0(如上所示),最右边的比特位表示比特位 5。

实现者应注意 DSCP 字段宽度为六个比特位。DS 兼容节点必须 (MUST) 通过匹配整个 6 比特位 DSCP 字段来选择 PHB,例如,通过将字段的值视为表索引来选择已在该设备中实现的特定数据包处理机制。PHB 选择必须 (MUST) 忽略 CU 字段的值。DSCP 字段被定义为非结构化字段,以便于定义未来的逐跳行为。

除下文所述的例外情况外,码点到 PHB 的映射必须 (MUST) 是可配置的。DS 兼容节点必须 (MUST) 支持从码点到 PHB 的可配置映射表的逻辑等价物。PHB 规范必须 (MUST) 包含一个推荐的默认码点,对于标准空间中的码点,该码点必须 (MUST) 是唯一的(参见第 6 节)。实现应该 (SHOULD) 在其默认配置中支持推荐的码点到 PHB 的映射。操作者可以选择为 PHB 使用不同的码点,可以是在推荐默认值之外,也可以代替推荐默认值。请注意,如果操作者选择这样做,即使在边界两侧实现相同的 PHB,也可能需要在管理边界重新标记 DS 字段。

有关重新标记的进一步讨论,请参见 [ARCH]。

对一般可配置性的例外情况是针对码点 xxx000,并在第 4.2.2 节和第 4.3 节中说明。

接收到具有无法识别码点的数据包应该 (SHOULD) 像标记为默认行为一样转发(参见第 4 节),并且其码点不应更改。此类数据包不得 (MUST NOT) 导致网络节点故障。

上述 DS 字段的结构与 [RFC791] 中 IPv4 TOS 八位组的现有定义不兼容。假设是 DS 域通过部署重新标记边界节点来保护自己,使用 RFC 791 优先级指定的网络也应该如此。正确的操作程序应该 (SHOULD) 遵循 [RFC791],其中指出:"如果这些优先级指定的实际使用对特定网络有关,则该网络有责任控制对这些优先级指定的访问和使用。" 在 DS 边界验证 DS 字段的值在任何情况下都是明智的,因为上游节点可以轻松地将其设置为任意值。未由适当配置的边界节点隔离的 DS 域可能会提供不可预测的服务。

节点可以 (MAY) 根据需要重写 DS 字段以提供所需的本地或端到端服务。DS 边界的 DS 字段转换规范是提供商和用户之间服务级别协议的主题,不在本文档的范围内。标准化的 PHB 允许提供商从一组众所周知的数据包转发处理中构建其服务,这些处理可以预期存在于许多供应商的设备中。


说明: 本章节基于 RFC 2474(1998年12月发布)。根据 RFC 文档的开放许可条款进行翻译。