跳到主要内容

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

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

未尝试与 [RFC791] 中定义的 IPv4 TOS 八位字节的 "DTR" 或 TOS 位保持向后兼容.

4.1 默认 PHB (A Default PHB)​

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

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

4.2 既往与未来的 IP 优先级字段使用 (Once and Future IP Precedence Field Use)​

我们希望与 IP 优先级字段 (IPv4 TOS 八位字节的位 0-2) 的当前用法保持某种形式的向后兼容.存在使用 IP 优先级字段以类似于此处为 DSCP 字段提议的方式来选择不同逐跳转发处理的路由器.因此, 通过适当配置这些路由器, 可以快速部署一个简单的差分服务原型架构.此外, 当今的 IP 系统了解 IP 优先级字段的位置, 因此如果在部署差分服务合规设备时以类似方式使用这些位, 在早期部署期间不太可能出现严重的故障.换言之, 如果 DSCP 字段的位 0-2 以类似于或涵盖已部署的 IP 优先级字段用法的方式使用, 即使在单个服务提供商的网络内, 严格的 DS 合规性也不必无处不在.

4.2.1 IP 优先级的历史与演进简述 (IP Precedence History and Evolution in Brief)​

IP 优先级字段可以说是 DS 字段的先驱.IP 优先级以及 IP 优先级字段最初在 [RFC791] 中定义.三位 IP 优先级字段可能取的值被分配给各种用途, 包括网络控制流量, 路由流量和各种特权级别.最低特权级别被称为"例行流量 (routine traffic)".在 [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 优先级字段已知当前用法保持部分向后兼容, 我们采取的方法是描述一组与 IP 优先级字段所选大多数已部署转发处理兼容的 PHB 的最低要求.此外, 我们给出一组必须 (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 必须 (MUST) 满足类选择器 PHB 要求, 此外还要在码点 000000 上保留默认 PHB 要求 (第 4.1 节).

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

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

此外, 由不同类选择器码点选择的 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)​

可以部署一组包含一个或多个类选择器合规 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], 或基于类的排队 (Class-Based Queuing) [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 的范围内可配置.