1. 简介 (Introduction)
差分服务 (Differentiated Services) 旨在提供一个框架和构建块,以实现在互联网中部署可扩展的服务区分。差分服务方法旨在通过将架构分为两个主要组件来加速部署,其中一个组件已经得到了相当充分的理解,而另一个组件才刚刚开始被理解。在这方面,我们遵循互联网的原始设计,即决定将转发和路由组件分离。数据包转发是需要在每个数据包基础上尽可能快速执行的相对简单的任务。转发使用数据包头部在路由表中查找条目,该条目确定数据包的输出接口。路由设置该表中的条目,可能需要反映一系列传输和其他策略,并跟踪路由故障。路由表作为转发任务的后台进程进行维护。此外,路由是更复杂的任务,在过去20年中一直在不断演进。
类似地,差分服务架构包含两个主要组件。一个是转发路径中相当充分理解的行为,另一个是更复杂且仍在演进的后台策略和分配组件,该组件配置转发路径中使用的参数。转发路径行为包括单个数据包接收的差异化处理,由队列服务规则和/或队列管理规则实现。这些逐跳行为 (Per-Hop Behaviors, PHB) 在网络节点中是有用且必需的,无论我们如何构建端到端或域内服务,都需要它们来提供数据包的差异化处理。我们关注的是行为的一般语义,而不是用于实现它们的特定机制,因为这些行为的演进速度将慢于机制的演进速度。
逐跳行为和在每个数据包基础上选择它们的机制可以在今天的网络节点中部署,正是差分服务架构的这一方面首先得到解决。此外,转发路径可能需要对指定用于"特殊"处理的网络流量进行一些监控、管制和整形,以强制执行与提供特殊处理相关的要求。这种流量条件化 (Traffic Conditioning) 机制也已经得到相当充分的理解。这种流量条件器的广泛部署对于构建服务也很重要,尽管它们在构建服务中的实际使用可能会随着时间的推移而演进。
关于哪些数据包获得特殊处理以及对资源使用应用什么样的规则,网络元素的配置远未得到充分理解。尽管如此,通过使用简单的策略和静态配置,可以在网络中部署有用的差分服务。如 [ARCH] 中所述,有多种方法可以组合逐跳行为和流量条件器来创建服务。在此过程中,将获得额外的经验,以指导更复杂的策略和分配。转发路径中的基本行为可以保持不变,而架构的这一组件则在演进。构建此类服务的经验将继续一段时间,因此我们避免标准化这种构建,因为这还为时过早。此外,服务构建的许多细节都被不同业务实体之间的法律协议所涵盖,我们避免这一点,因为它非常超出 IETF 的范围。
本文档专注于转发路径组件。在数据包转发路径中,差分服务通过将 IP 数据包头部字段中包含的码点 (Codepoint) 映射到沿其路径的每个网络节点上的特定转发处理或逐跳行为 (PHB) 来实现。码点可以从本文档后面定义的一组强制值中选择,从未来文档中定义的一组推荐值中选择,或者可能具有纯粹的本地含义。PHB 预计将通过在网络节点的输出接口队列上采用一系列队列服务和/或队列管理规则来实现:例如加权轮询 (WRR, Weighted Round-Robin) 队列服务或丢弃优先级队列管理。
标记由网络边界的流量条件器执行,包括网络边缘(第一跳路由器或源主机)和管理边界。流量条件器可能包括标记、计量、管制和整形的原语(这些机制在 [ARCH] 中描述)。服务通过在边界使用特定的数据包分类和流量条件化机制,结合沿流量传输路径的逐跳行为串联来实现。差分服务架构的一个目标是为未来的可扩展性指定这些构建块,包括构建块的数量和类型以及由它们构建的服务。
本备忘录中使用的术语在第2节中定义。差分服务字段定义 (DS Field) 在第3节中给出。在第4节中,我们讨论了与当前 IPv4 优先级 (Precedence) 字段使用的部分向后兼容性的愿望。作为解决方案,我们引入了类选择器码点 (Class Selector Codepoints) 和类选择器兼容 PHB (Class Selector Compliant PHBs)。第5节提出了逐跳行为标准化的指南。第6节讨论了码点分配的指南。第7节涵盖了安全考虑。
本文档是对 DS 字段及其用途的简明描述。它旨在与差分服务架构 [ARCH] 一起阅读。
本文档中的关键词 "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY" 和 "OPTIONAL" 应按照 [RFC2119] 中的描述进行解释。
版权声明
本文档翻译自 RFC 2474。原文版权 © 1998 The Internet Society。根据原文档的许可条款,允许翻译为其他语言。