1. 简介 (Introduction)
差分服务旨在提供一个框架和构建块, 以便在互联网中部署可扩展的服务区分.差分服务方法旨在通过将架构分为两个主要组件来加速部署, 其中一个已经相当成熟, 另一个才刚刚开始被理解.在这方面, 我们遵循互联网的原始设计, 其中做出了将转发和路由组件分离的决定.
数据包转发是需要尽可能快速地在每个数据包基础上执行的相对简单的任务.转发使用数据包头部在路由表中查找条目, 该条目确定数据包的输出接口.路由设置该表中的条目, 可能需要反映一系列传输和其他策略, 以及跟踪路由故障.路由表作为转发任务的后台进程维护.此外, 路由是更复杂的任务, 在过去 20 年中持续演进.
类似地, 差分服务架构包含两个主要组件.一个是转发路径中相当成熟的行为, 另一个是更复杂且仍在发展中的后台策略和分配组件, 用于配置转发路径中使用的参数.转发路径行为包括单个数据包接收的差异化处理, 由队列服务规程和/或队列管理规程实现.这些逐跳行为在网络节点中是有用且必需的, 无论我们如何构建端到端或域内服务.本文档关注的是这些行为的通用语义, 而非用于实现它们的特定机制, 因为这些行为演进的速度可能慢于机制.
逐跳行为以及逐包选择这些行为的机制如今便可部署在网络节点中, 这也是差分服务架构中首先被处理的一面.此外, 在转发路径中, 为了强制与提供"特殊"处理相关的要求, 可能需要对指定接受"特殊"处理的网络流量进行监视、监管和整形.这类流量调节机制也已被相当充分地理解.此类流量调节器的广泛部署对于实现服务构建同样重要, 但它们在服务构建中的实际使用可能会随时间演进.
关于哪些数据包接受特殊处理、以及对资源使用施加何种规则的网络元素配置, 则远未被充分理解.尽管如此, 通过使用简单策略和静态配置, 仍有可能在网络中部署有用的差分服务.如 [ARCH] 所述, 配置逐跳行为与流量调节器以创建服务的方式有多种.这一过程将提供额外经验, 以指导更复杂的策略与分配.在架构的这一组件演进期间, 转发路径的基本行为可以保持不变.由于构建此类服务的经验还将持续一段时间, 我们避免对此构建进行标准化, 因为那将操之过急.此外, 我们避免涉及服务构建的诸多细节, 因为它们由不同实体之间的法律合同所涵盖, 这超出了 IETF 的范围.
本文档集中于转发路径组件.在数据包转发路径中, 差分服务通过将 IP 数据包头部字段中包含的码点映射到沿其路径每个网络节点的特定转发处理方式 (即逐跳行为, PHB) 来实现.该码点可以是本文档稍后定义的一组强制值之一、在未来文档中定义的一组推荐值之一, 或者可能仅具有纯本地含义.预期 PHB 是通过在网络节点的输出接口队列上采用各种队列服务和/或队列管理规程来实现的: 例如加权轮询 (weighted round-robin, WRR) 队列服务, 或丢弃优先级 (drop-preference) 队列管理.
标记由网络边界 (第一跳路由器或源主机) 处的流量调节器执行, 包括管理边界.流量调节器可能包含标记、计量、监管和整形的原语 (这些机制在 [ARCH] 中描述).服务通过边界处使用特定的数据包分类与流量调节机制, 以及沿流量中转路径的逐跳行为串联来实现.差分服务架构的目标是规定这些构建块, 以保证未来的可扩展性, 既涉及构建块的数量与类型, 也涉及由它们构建的服务.
本备忘录中使用的术语在第 2 节中定义.差分服务字段定义 (DS 字段) 在第 3 节中给出.第 4 节讨论与 IPv4 优先级字段当前使用的部分向后兼容的愿望; 作为解决方案, 引入了类选择器码点和类选择器合规 PHB.第 5 节给出逐跳行为标准化的指南.第 6 节讨论码点分配的指南.第 7 节讨论安全考虑.
本文档是对 DS 字段及其用途的简明描述.它旨在与差分服务架构 [ARCH] 配合阅读.
本文档中的关键词 "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY" 和 "OPTIONAL" 应按照 [RFC2119] 中的描述进行解释.