DSCP:IPv4 和 IPv6 报头中区分服务字段(DS 字段)的定义

发布时间:2021-07-28 15:21:48作者:V小编阅读:0

Definition of the Differentiated Services Field (DS Field)in the IPv4 and IPv6 Headers

本备忘录的状态

本文档为 Internet 社区指定了 Internet 标准跟踪协议,并请求讨论和改进建议。本协议的标准化状态和现状请参考当前版本的《互联网官方协议标准》(STD 1)。本备忘录的分发不受限制。

版权声明

版权所有 (C)互联网协会 (1998)。版权所有。

梗概

对 Internet 协议的区分服务增强旨在实现 Internet 中可扩展的服务区分,而无需在每个跃点处进行每个流状态和信令。可以从部署在网络节点中的一组定义良好的小型构建块构建各种服务。服务可以是端到端的,也可以是域内的;它们包括能够满足定量性能要求(例如峰值带宽)和相对性能(例如“等级”区分)。服务可以通过以下组合构建:

- 在网络边界(自治系统边界、内部管理边界或主机)的 IP 报头字段中设置位;

- 使用这些位来确定网络内部节点如何转发数据包;

- 根据每项服务的要求或规则,在网络边界处调节标记的数据包。

每个服务的要求或规则必须通过超出本文档范围的管理策略机制来设置。区分服务兼容网络节点包括一个分类器,该分类器根据 DS 字段的值选择数据包,以及能够提供 DS 字段值指示的特定数据包转发处理的缓冲区管理和数据包调度机制。DS 字段的设置和标记数据包的时间行为的调节只需要在网络边界执行,并且复杂性可能会有所不同。

本文档定义了 IP 头字段,称为 DS(differentiated services,区分服务)字段。在 IPv4 中,它定义了 TOS 八位字节的布局;在 IPv6 中,流量类八位字节。此外,还定义了一组基本的数据包转发处理或每跳行为。

要更完整地了解区分服务,另请参阅区分服务架构 [ARCH]。

1、 简介

区分服务旨在提供一个框架和构建块,以支持在 Internet 中部署可扩展的服务区分。区分服务方法旨在通过将架构分成两个主要组件来加快部署速度,其中一个组件已经很好理解,而另一个才刚刚开始被理解。在这方面,我们以互联网的原始设计为指导,在该设计中决定将转发和路由组件分开。数据包转发是一项相对简单的任务,需要尽快在每个数据包的基础上执行。转发使用数据包头在路由表中查找确定数据包输出接口的条目。路由设置该表中的条目,可能需要反映一系列传输和其他策略以及跟踪路由故障。路由表作为转发任务的后台进程进行维护。此外,路由是一项更复杂的任务,已经在过去 20 年中不断发展。

类似地,区分服务架构包含两个主要组件:一种是转发路径中相当容易理解的行为,另一种是配置转发路径中使用的参数的更复杂且仍在出现的后台策略和分配组件。转发路径行为包括由队列服务规程和/或队列管理规程实现的单个数据包接收的差异处理。无论我们如何构建端到端或域内服务,这些每跳行为都是有用的,并且在网络节点中需要对数据包进行差异化处理。我们的重点是行为的一般语义,而不是用于实现它们的特定机制,因为这些行为的发展速度不如机制快。

如今,可以在网络节点中部署基于每个数据包选择它们的每跳行为和机制,而首先解决的正是区分服务架构的这一方面。此外,转发路径可能需要对指定用于“特殊”处理的网络流量进行一些监视、管制和整形,以强制执行与特殊处理的传递相关的要求。这种流量调节的机制也很容易理解。此类流量调节器的广泛部署对于构建服务也很重要,尽管它们在构建服务中的实际用途可能会随着时间的推移而发展。

关于哪些数据包得到特殊处理以及哪些类型的规则将应用于资源的使用,网络元素的配置还不太清楚。然而,可以通过使用简单的策略和静态配置在网络中部署有用的区分服务。如 [ARCH] 中所述,有多种方法可以组合每跳行为和流量调节器来创建服务。在这个过程中,获得了额外的经验,将指导更复杂的政策和分配。转发路径中的基本行为可以保持不变,而架构的这个组件会演进。此类服务的构建经验将持续一段时间,因此我们避免将这种构建标准化,因为为时过早。此外,服务构建的许多细节都包含在不同业务实体之间的标准协议中,我们避免这样做,因为它非常超出 IETF 的范围。

本文档重点介绍转发路径组件。在数据包转发路径中,通过将包含在 IP 数据包报头字段中的代码点映射到沿其路径的每个网络节点的特定转发处理或每跳行为 (per-hop behavior,PHB)来实现区分服务。代码点可以从本文档稍后定义的一组强制值中选择,也可以从将在未来文档中定义的一组推荐值中选择,或者可能具有纯粹的本地含义。预计 PHB 将通过在网络节点的输出接口队列上采用一系列队列服务和/或队列管理规则来实现:例如加权循环 (weighted round-robin,WRR)队列服务或丢弃优先队列管理。

标记由网络边界的流量调节器执行,包括网络边缘(第一跳路由器或源主机)和管理边界。流量调节器可能包括标记、计量、监管和整形的原语(这些机制在[ARCH]中描述)。服务是通过在边界使用特定的数据包分类和流量调节机制以及沿流量的传输路径串联每跳行为来实现的。区分服务架构的目标是为未来的可扩展性指定这些构建块,包括构建块的数量和类型以及由它们构建的服务。

本备忘录中使用的术语在第2节中定义;区分服务字段定义(DS 字段)在第 3 节中给出;在第4节,我们讨论了与当前使用的 IPv4 优先级字段部分向后兼容的愿望。作为解决方案,我们引入了类选择器代码点和类选择器兼容 PHB。第5节给出了每跳行为标准化的指南。第6节讨论了代码点分配的指南。第7节涵盖了安全考虑。

本文档简要描述了 DS 字段及其用途。它旨在与区分服务架构 [ARCH] 一起阅读。

本文档中的关键词“必须”、“不得”、“需要”、“应该”、“不应”、“应该”、“不应该”、“推荐”、“可以”和“可选”是解释为 [RFC2119] 中的描述。

2、 本文档中使用的术语

Behavior Aggregate:行为聚合,在特定方向上穿过链路的具有相同代码点的数据包的集合。术语“聚合”和“行为聚合”在本文档中可互换使用。

Classifier:分类器,根据定义的规则根据包头的内容选择包的实体。

Class Selector Codepoint:类选择器代码点,“xxx000”范围内的八个代码点中的任何一个(其中“x”可能等于“0”或“1”)。类选择器代码点在4.2.2节中讨论。

Class Selector Compliant PHB:符合类选择器的PHB,满足第4.2.2.2节中规定的类选择器 PHB 要求的每跳行为。

Codepoint:代码点,DS 字段的 DSCP 部分的特定值。推荐的代码点应该映射到特定的、标准化的 PHB。多个代码点可以映射到同一个 PHB。

Differentiated Services Boundary:区分服务边界,DS 域的边缘,可能会部署分类器和流量调节器。区分服务边界可以进一步细分为入口节点和出口节点,其中入口/出口节点是给定流量方向上边界链路的下游/上游节点。区分服务边界通常位于主机数据包所经过的符合区分服务的第一跳路由器(或网络节点)的入口处,或位于传输数据包的符合区分服务的最后一跳路由器或网络节点的出口处在到达主机之前遍历。这有时被称为叶路由器的边界。区分服务边界可能与主机位于同一地点,受当地政策的约束。也称为DS边界。

Differentiated Services-Compliant:区分服务兼容,符合本文档中规定的要求。也符合 DS。

Differentiated Services Domain:区分服务域,Internet 的一个连续部分,在该部分上以协调的方式管理一组一致的区分服务策略。一个差异化的服务域可以代表不同的管理域或自治系统、不同的信任区域、不同的网络技术(例如,包/帧)、主机和路由器等。也是 DS 域。

Differentiated Services Field:区分服务字段,当按照本文档中给出的定义进行解释时,IPv4 报头 TOS 八位字节或 IPv6 流量类八位字节。也是DS字段。

Mechanism:机制,根据特定算法实现一个或多个每跳行为。

Microflow:微流,应用程序到应用程序数据包流的单个实例,由源地址、目标地址、协议 ID 和源端口、目标端口(如果适用)标识。

Per-hop Behavior:每跳行为(PHB),对在区分服务兼容节点上应用到行为聚合的外部可观察转发处理的描述。PHB 的描述应该足够详细,以允许构建可预测的服务,如 [ARCH] 中所述。

Per-hop Behavior Group:一组一个或多个 PHB,由于适用于该集合中所有 PHB 的共同约束,例如队列服务或队列管理策略,只能有意义地同时指定和实施。也是PHB组。

Traffic Conditioning:流量调节,可应用于行为聚合、应用程序流或其他操作上有用的流量子集的控制功能,例如路由更新。这些可以包括计量、管制、整形和数据包标记。流量调节用于执行域之间的协议,并通过在 DS 字段中使用适当的代码点标记数据包并在必要时监视和更改聚合的时间特性来调节流量以接收域内的区分服务。见[ARCH]。

Traffic Conditioner:流量调节器,执行流量调节功能的实体,可能包含仪表、监管器、整形器和标记。流量调节器通常部署在 DS 边界节点中(即,不在 DS 域的内部节点中)。

Service:服务,对跨特定域、跨一组互连 DS 域或端到端的客户流量(子集)的整体处理的描述。服务描述包含在管理策略中,服务是通过应用流量调节来创建行为聚合体来构建的,这些行为聚合体在 DS 域内的每个节点都经历了已知的 PHB。多个服务可以通过与一系列流量调节器协同使用的单个每跳行为来支持。

总之,分类器和流量调节器用于选择将哪些数据包添加到行为聚合中。聚合在 DS 域中接受不同的处理,流量调节器可以改变聚合的时间特性以符合某些要求。数据包的 DS 字段用于指定数据包的行为聚合,随后用于确定数据包接收哪种转发处理。可以基于 DS 字段中的代码点选择 PHB 的行为聚合分类器,例如差分输出队列服务规则,应该包含在 DS 域中的所有网络节点中。DS 边界的分类器和流量调节器是根据某些服务规范配置的,这是本文档范围之外的管理策略问题。

[ARCH] 中给出了额外的区分服务定义。

3、 区分服务字段定义

定义了称为 DS 字段的替换报头字段,旨在取代 IPv4 TOS 八位字节 [RFC791] 和 IPv6 流量类八位字节 [IPv6] 的现有定义。

DS 字段的 6 位用作代码点 (Differentiated Services Code Point,DSCP),以选择数据包在每个节点经历的 PHB。保留了两位当前未使用 (currently unused,CU)字段,其定义和解释超出了本文档的范围。在确定适用于接收数据包的每跳行为时,区分服务兼容节点会忽略 CU 位的值。

DS 字段结构如下所示:

在本文档中使用的 DSCP 值符号“xxxxxx”(其中“x”可能等于“0”或“1”)中,最左侧的位表示 DS 字段的第 0位(如上所示),最右侧的位表示第5位。

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

除了下面提到的一些例外,代码点到 PHB 的映射必须是可配置的。符合 DS 的节点必须支持从代码点到 PHB 的可配置映射表的逻辑等效项。PHB 规范必须包括一个推荐的默认代码点,对于标准空间中的代码点,它必须是唯一的(参见第 6 节)。实现应在其默认配置中支持推荐的代码点到 PHB 映射。操作者可以选择为 PHB 使用不同的代码点,作为推荐的默认值的补充或替代。请注意,如果操作者选择这样做,即使在边界两侧实施了相同的 PHB,在边界处也可能需要重标记 DS 字段。

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

一般可配置性的例外是代码点“xxx000”,并在第4.2.2节和第4.3节中注明。

接收到的带有无法识别代码点的数据包应该被转发,就好像它们被标记为默认行为(参见第 4 节),并且它们的代码点不应更改。此类数据包不得导致网络节点发生故障。

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

节点可以根据需要重写 DS 字段以提供所需的本地或端到端服务。DS 边界处的 DS 字段转换规范是提供商和用户之间服务水平协议的主题,不在本文档的范围内。标准化的 PHB 允许提供商根据一组众所周知的数据包转发处理来构建他们的服务,这些处理预计会出现在许多供应商的设备中。

4、 历史代码点定义和 PHB 要求

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

没有尝试保持与 [RFC791] 中定义的 IPv4 TOS 八位字节的“DTR”或 TOS 位的向后兼容性。

4.1、 默认PHB

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

最初标记为默认行为的数据包可能会在它通过边界进入 DS 域时用另一个代码点重标记,以便使用该域内的不同 PHB 转发它,这可能取决于对等域之间的某些协商协议。

4.2、 曾经和未来的 IP 优先级字段使用

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

4.2.1、 IP 优先级历史和演变简述

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

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

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

4.2.2、 将 IP 优先级包含在类选择器代码点中

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

4.2.2.1、 类选择器代码点

由 'xxx000|xx' 的 DS 字段值或 DSCP = 'xxx000' 和未指定的 CU 子字段选择的数据包转发处理的规范被保留为一组类选择器代码点。除了保留对代码点“000000”(第 4.1 节)的默认 PHB 要求之外,这些代码点映射到的 PHB 还必须满足类选择器 PHB 要求。

4.2.2.2、 类选择器 PHB 要求

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

此外,由不同的类选择器代码点选择的 PHB 应该独立转发;也就是说,标有不同类选择器代码点的数据包可能会被重新排序。网络节点可以强制限制每个 PHB 可以使用的节点资源量。

其规范满足这些要求的 PHB 组被称为符合类选择器的 PHB。

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

4.2.2.3、 使用类选择器 PHB 对 IP 优先级兼容性的要求

可以使用一组一个或多个符合类选择器的 PHB 组来部署符合 DS 的网络节点。本文档声明代码点“xxx000”集必须映射到这样的 PHB 集。由于也可以将多个代码点映射到同一个 PHB,供应商或网络管理员可以配置网络节点以将代码点映射到 PHB,而不考虑 DSCP 字段的第 3-5 位,以产生与历史 IP 兼容的网络优先使用。因此,例如,代码点“011010”将映射到与代码点“011000”相同的 PHB。

4.2.2.4、 实现类选择器兼容 PHB 组的示例机制

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

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

再举一个例子,另一家供应商可能在其路由器中采用 CBQ 机制。CBQ 机制可用于实现严格优先级排队 PHB 以及一组符合类选择器的 PHB,其功能范围比仅满足最低类选择器 PHB 要求的一组 PHB 中可用的功能范围更广.

4.3、 总结

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

5、 每跳行为标准化指南

PHB 的行为特征将被标准化,而不是特定的算法或用于实现它们的机制。一个节点可能有一组(可能很大)参数,可用于控制如何将数据包调度到输出接口上(例如,具有可设置优先级、队列长度、循环权重、丢弃算法、丢弃偏好权重的 N 个单独队列和阈值等)。为了说明 PHB 和机制之间的区别,我们指出符合类选择器的 PHB 可以通过多种机制实现,包括:严格优先级队列、WFQ、WRR 或变体 [HPFQA、RPS、DRR] 或 CBQ [CBQ ],单独或组合。

PHB 可以单独指定,也可以作为一个组指定(单个 PHB 是 PHB 组的特例)。由于适用于组内每个 PHB 的共同约束,例如队列服务或队列管理策略,PHB 组通常由一组两个或更多 PHB 组成,这些 PHB 只能有意义地同时指定和实施。PHB 组规范应该描述一个数据包可能被重标记以选择组内另一个 PHB 的条件。建议 PHB 实现不会在微流中引入任何数据包重新排序。PHB 组规范必须标识任何可能的数据包重新排序含义,这些含义可能发生在每个单独的 PHB 中,如果微流中的不同数据包被标记为组内不同的 PHB,则可能发生这种情况。

只有那些没有被现有 PHB 标准描述,并且已经实现、部署并显示有用的每跳行为才应该被标准化。由于目前对区分服务的经验非常有限,因此假设这些每跳行为的确切规范还为时过早。

每个标准化的 PHB 必须有一个关联的推荐代码点,从 32 个代码点的空间中分配出来(参见第 6 节)。该规范在代码点空间中留出了空间以允许演化,因此定义的空间 ('xxx000')是故意稀疏的。

网络设备供应商可以自由提供任何被认为有用或有市场价值的参数和功能。当在节点中实现特定的标准化 PHB 时,供应商可以使用满足标准的 PHB 定义的任何算法。节点的功能及其特定配置决定了处理数据包的不同方式。

服务提供商不需要使用相同的节点机制或配置来实现其网络内的服务差异化,并且可以以适合其服务产品和流量工程目标的任何方式自由配置节点参数。随着时间的推移,某些常见的每跳行为可能会演变(即,对于实现端到端服务特别有用的行为),并且这些行为可能与 DS 字段中的特定 EXP/LU PHB 代码点相关联,允许跨域使用边界(见第 6 节)。这些 PHB 是未来标准化的候选者。

建议按照 [ARCH] 中规定的指南指定标准化的 PHB。

6、 IANA 考虑

DS 字段中的 DSCP 字段能够传送 64 个不同的代码点。代码点空间被分为三个池,用于代码点分配和管理:一个包含 32 个推荐代码点的池(池 1),由 [CONS] 中定义的标准行动分配,一个包含 16 个代码点的池(池 2)保留用于 [CONS] 中定义的实验或本地使用(EXP/LU),以及 16 个代码点池(池 3),最初可用于实验或本地使用,但应优先用于标准化分配,如果池 1 永远疲惫。池在下表中定义(其中“x”指的是“0”或“1”):

(*)可根据需要用于未来的标准操作分配

本文档分配了从上面的池 1 中提取的八个推荐代码点 ('xxx000')。这些代码点必须被映射,而不是映射到特定的 PHB,而是映射到“至少”满足第4.2.2.2节中规定的要求的 PHB。提供与 [RFC791] 中定义的并在某些当前设备中部署的 IP 优先级的最低水平的向后兼容性。

7、 安全考虑

本节考虑引入区分服务引起的安全问题,主要是拒绝服务攻击的可能性,以及未经授权的流量窃取服务的相关可能性(第 7.1 节)。第 7.2 节讨论了在存在 IPsec 的情况下区分服务的操作,包括它与 IPsec 隧道模式和其他隧道协议的交互。请参阅 [ARCH] 以更广泛地处理整体区分服务架构引起的安全问题。

7.1、 窃取和拒绝服务

区分服务的主要目标是允许为公共网络基础设施上的业务流提供不同级别的服务。可以使用多种技术来实现这一点,但最终结果将是某些数据包接收到与其他数据包不同(例如,更好)的服务。网络流量到导致不同(例如,更好或更差)服务的特定行为的映射主要由 DS 代码点指示,因此攻击者可能能够通过将代码点修改为指示用于以下行为的行为的值来获得更好的服务。增强服务或通过注入具有此类代码点值的数据包。考虑到其极限,当修改或注入的流量耗尽可用于转发它和其他流量流的资源时,这种窃取服务就变成了拒绝服务攻击。

防御此类窃取和拒绝服务攻击包括将 DS 域边界的流量调节与 DS 域内网络基础设施的安全性和完整性相结合。DS 域边界节点必须确保所有进入域的流量都标有适合流量和域的代码点值,如有必要,用新的代码点值重标记流量。这些 DS 边界节点是抵御基于修改代码点的窃取和拒绝服务攻击的主要防线,因为任何此类攻击的成功都表明攻击流量使用的代码点不合适。边界节点的一个重要实例是 DS 域内的任何流量发起节点都是该流量的初始边界节点。DS 域中的内部节点依靠 DS 代码点将流量与转发 PHB 相关联,并且不需要在使用它们之前检查代码点值。因此,内部节点依赖于 DS 域边界节点的正确操作,以防止带有不适当代码点或超出规定级别的流量到达,这会破坏域的操作。

7.2、 IPsec 和隧道交互

[ESP, AH] 中定义的 IPsec 协议在其任何加密计算中都不包括 IP 标头的 DS 字段(在隧道模式的情况下,不包括外部 IP 标头的 DS 字段)。因此,网络节点修改 DS 字段对 IPsec 的端到端安全没有影响,因为它不会导致任何 IPsec 完整性检查失败。因此,IPsec 不会针对攻击者修改 DS 字段(即中间人攻击)提供任何防御,因为攻击者的修改也不会对 IPsec 的端到端安全产生影响。

IPsec 的隧道模式为封装的 IP 报头的 DS 字段提供安全性。隧道模式 IPsec 数据包包含两个 IP 标头:由隧道入口节点提供的外部标头和由数据包的原始源提供的封装内部标头。当 IPsec 隧道(全部或部分)托管在区分服务网络上时,中间网络节点对外部报头中的 DS 字段进行操作。在隧道出口节点,IPsec 处理包括移除外部报头并使用内部报头转发数据包(如果需要)。IPsec 协议要求内部报头的 DS 字段不会被此解封装处理更改,以确保对 DS 字段的修改不能用于跨 IPsec 隧道端点发起窃取或拒绝服务攻击。本文档不更改该要求。如果隧道出口节点的 DS 域的 DS 边界节点尚未处理内部 IP 报头,则隧道出口节点是离开隧道的流量的边界节点,因此必须确保产生的流量具有适当的 DS 代码点。

当 IPsec 隧道出口解封装处理包括对封装数据包进行足够强的加密完整性检查时(其中充分性由本地安全策略确定),隧道出口节点可以安全地假设内部报头中的 DS 字段具有与之前相同的值在隧道入口节点。一个重要的结果是,DS 域内原本不安全的链接可以通过足够强大的 IPsec 隧道来保护。此分析及其含义适用于任何执行完整性检查的隧道协议,但内部报头的 DS 字段的保证级别取决于隧道协议执行的完整性检查的强度。如果隧道可以通过当前 DS 域外的节点(或易受攻击的节点)缺乏足够的保证,则必须将封装的数据包视为从 DS 域外到达边界。

以上就是DSCP:IPv4 和 IPv6 报头中区分服务字段(DS 字段)的定义的介绍,Vecloud为客户提供丰富的IPV6网络专线解决方案,主要地区包含日本、韩国、伦敦、法兰克福、洛杉矶、圣何塞、华盛顿、印度、迪拜、南非等均可随时提供网络专线和IP传输服务。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:shawn.lee@vecloud.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

标题:DSCP:IPv4 和 IPv6 报头中区分服务字段(DS 字段)的定义

TAG标签:IPv4

地址:http://www.vecloud.com.cn/article/322.html

上一篇:食品加工行业专线网络速度优化升级方案
下一篇:从腾讯5G云专线业务,看“5G网络管道化”趋势
返回顶部