Skip to main content

4. 历史码点定义和PHB要求 (Historical Codepoint Definitions and PHB Requirements)

DS 字段将与当前实践保持有限的向后兼容性,如本节所述。向后兼容性通过两种方式解决。首先,有一些已经广泛使用的逐跳行为(例如,满足 [RFC1812] 中指定的 IPv4 优先级队列要求的行为),我们希望允许在 DS 兼容节点中继续使用它们。此外,有一些码点对应于 IP 优先级字段的历史使用,我们保留这些码点以映射到满足第 4.2.2.2 节中指定的一般要求的 PHB,尽管这些码点映射到的特定差分服务 PHB 可以 (MAY) 有额外的规范。

不尝试维护与 IPv4 TOS 八位组的 "DTR" 或 TOS 比特位的向后兼容性,如 [RFC791] 中所定义。

4.1 默认PHB (A Default PHB)

DS 兼容节点中必须 (MUST) 提供 "默认" PHB。这是现有路由器中可用的常见尽力而为转发行为,如 [RFC1812] 中标准化的。当没有其他协议时,假定数据包属于此聚合。此类数据包可以 (MAY) 在不遵守任何特定规则的情况下发送到网络中,网络将在其他资源策略约束的情况下,尽可能快地传递尽可能多的这些数据包。此 PHB 的合理实现是一个队列规则,只要输出链路不需要满足另一个 PHB,就发送此聚合的数据包。构建服务的合理策略将确保聚合不会 "饿死"。这可以通过每个节点中为默认行为聚合保留一些最小资源(例如,缓冲区、带宽)的机制来实施。这允许非差分服务感知的发送者继续以今天相同的方式使用网络。将差分服务引入域对其客户和对等方的服务期望的影响是一个涉及域策略决策的复杂问题,超出了本文档的范围。默认 PHB 的推荐 (RECOMMENDED) 码点是比特模式 000000;值 000000 必须 (MUST) 映射到满足这些规范的 PHB。为默认行为选择的码点与现有实践 [RFC791] 兼容。如果码点未映射到标准化或本地使用的 PHB,则应该 (SHOULD) 将其映射到默认 PHB。

最初标记为默认行为的数据包可以 (MAY) 在通过边界进入 DS 域时使用另一个码点重新标记,以便在该域内使用不同的 PHB 转发,可能受对等域之间某些协商协议的约束。

4.2 曾经和未来的IP优先级字段使用 (Once and Future IP Precedence Field Use)

我们希望与 IP 优先级字段的当前使用保持某种形式的向后兼容性:IPv4 TOS 八位组的比特位 0-2。存在使用 IP 优先级字段以类似于此处提出的 DSCP 字段使用方式来选择不同的逐跳转发处理的路由器。因此,可以通过适当配置这些路由器来快速部署简单的原型差分服务架构。此外,今天的 IP 系统了解 IP 优先级字段的位置,因此如果在部署 DS 兼容设备时以类似方式使用这些比特位,则在早期部署期间不太可能发生重大故障。换句话说,如果 DSCP 字段的比特位 0-2 以类似于或包含已部署的 IP 优先级字段使用的方式使用,则严格的 DS 兼容性即使在单个服务提供商的网络内也不需要无处不在。

4.2.1 IP优先级历史和简要演变 (IP Precedence History and Evolution in Brief)

IP 优先级字段是 DS 字段的某种前身。IP 优先级和 IP 优先级字段首次在 [RFC791] 中定义。三比特位 IP 优先级字段可能采用的值被分配给各种用途,包括网络控制流量、路由流量和各种级别的特权。最低级别的特权被视为 "常规流量"。在 [RFC791] 中,优先级的概念被广泛定义为 "此数据报重要性的独立度量"。并非所有 IP 优先级字段的值都假定跨边界具有含义,例如 "网络控制优先级指定仅用于网络内部。该指定的实际使用和控制取决于每个网络。" [RFC791]

虽然早期的 BBN IMP 实现了优先级功能,但早期的商业路由器和 UNIX IP 转发代码通常没有。随着网络变得更加复杂,客户需求增长,商业路由器供应商开发了实现各种队列服务的方法,包括优先级队列,这些通常基于路由器中过滤器编码的策略,这些过滤器检查 IP 地址、IP 协议号、TCP 或 UDP 端口以及其他头部字段。IP 优先级是这些过滤器可以检查的选项之一。

简而言之,IP 优先级已被广泛部署和广泛使用,如果不完全按照 [RFC791] 中的预期方式。这在 [RFC1122] 中得到认可,其中指出虽然使用 IP 优先级字段是有效的,但 [RFC791] 中优先级的具体分配仅仅是历史性的。

4.2.2 将IP优先级纳入类选择器码点 (Subsuming IP Precedence into Class Selector Codepoints)

今天由 IP 优先级字段选择的数据包转发处理规范必须相当通用;可能不够具体以在差分服务框架中构建可预测的服务。为了在不牺牲未来灵活性的情况下保持与 IP 优先级字段已知当前使用的部分向后兼容性,我们采用了描述一组 PHB 的最低要求的方法,这些要求与大多数由 IP 优先级字段选择的已部署转发处理兼容。此外,我们给出了一组码点,这些码点必须 (MUST) 映射到满足这些最低要求的 PHB。这些码点映射到的 PHB 可以 (MAY) 除了此处所述的必需规范外还有更详细的规范列表。其他码点可以 (MAY) 映射到这些相同的 PHB。我们将这组码点称为类选择器码点 (Class Selector Codepoints),这些码点可能映射到的 PHB 的最低要求称为类选择器 PHB 要求 (Class Selector PHB Requirements)。

4.2.2.1 类选择器码点 (The Class Selector Codepoints)

DS 字段值 xxx000|xx 或 DSCP = xxx000 且 CU 子字段未指定,被保留作为一组类选择器码点。映射到这些码点的 PHB 除了保留码点 000000 上的默认 PHB 要求(第 4.1 节)外,还必须 (MUST) 满足类选择器 PHB 要求。

4.2.2.2 类选择器PHB要求 (The Class Selector PHB Requirements)

我们将数值大于另一个类选择器码点的类选择器码点称为具有更高的相对顺序,而数值小于另一个类选择器码点的类选择器码点称为具有更低的相对顺序。由八个类选择器码点映射到的 PHB 集合必须 (MUST) 产生至少两个独立转发的流量类别,并且由类选择器码点选择的 PHB 应该 (SHOULD) 在合理的操作条件和流量负载下,给予数据包及时转发的概率不低于用较低相对顺序的类选择器码点标记的数据包。丢弃的数据包被认为是不及时转发的极端情况。此外,由码点 11x000 选择的 PHB 必须 (MUST) 与由码点 000000 选择的 PHB 相比提供优先转发处理,以保留 IP 优先级值 110111 用于路由流量的常见用法。

此外,由不同类选择器码点选择的 PHB 应该 (SHOULD) 被独立转发;也就是说,用不同类选择器码点标记的数据包可以 (MAY) 被重新排序。网络节点可以 (MAY) 对这些 PHB 每个可以使用的节点资源量实施限制。

规范满足这些要求的 PHB 组被称为类选择器兼容 PHB (Class Selector Compliant PHBs)。

码点 000000 上的类选择器 PHB 要求与第 4.1 节中列出的默认 PHB 兼容。

4.2.2.3 使用类选择器PHB要求实现IP优先级兼容性 (Using the Class Selector PHB Requirements for IP Precedence Compatibility)

DS 兼容网络节点可以部署一组或多组类选择器兼容 PHB 组。本文档指出,码点集 xxx000 必须 (MUST) 映射到此类 PHB 集。由于还可以将多个码点映射到同一个 PHB,供应商或网络管理员可以 (MAY) 将网络节点配置为将码点映射到 PHB,而不管 DSCP 字段的比特位 3-5 如何,以产生与历史 IP 优先级使用兼容的网络。因此,例如,码点 011010 将映射到与码点 011000 相同的 PHB。

4.2.2.4 实现类选择器兼容PHB组的示例机制 (Example Mechanisms for Implementing Class Selector Compliant PHB Groups)

类选择器兼容 PHB 可以通过多种机制实现,包括严格优先级队列、加权公平队列 (WFQ)、WRR 或变体 [RPS, HPFQA, DRR],或基于类的队列 [CBQ]。PHB 和机制之间的区别在第 5 节中更详细地描述。

重要的是要注意,这些机制可能通过特定供应商设备中可用的其他 PHB(标准化或非标准化)获得。例如,未来的文档可能会为一组推荐的码点标准化严格优先级队列 PHB 组。网络管理员可以将这些路由器配置为使用码点 xxx000 选择严格优先级队列 PHB,以符合本文档的要求。

作为进一步的示例,另一个供应商可能在其路由器中使用 CBQ 机制。CBQ 机制可以用于实现严格优先级队列 PHB 以及一组类选择器兼容 PHB,其功能范围比仅仅满足最低类选择器 PHB 要求的 PHB 集更广。

4.3 总结 (Summary)

本文档将码点 xxx000 定义为类选择器码点,其中由这些码点选择的 PHB 必须 (MUST) 满足第 4.2.2.2 节中描述的类选择器 PHB 要求。这样做是为了在不过度限制未来灵活性的情况下,保持与互联网中 IP 优先级字段当前使用的有用级别的向后兼容性。此外,码点 000000 用作互联网的默认 PHB 值,因此不可配置。其余七个非零类选择器码点仅在映射到满足第 4.2.2.2 节中要求的 PHB 的范围内可配置。