跳到主要内容

1. 简介

在 MPLS 域 [MPLS_ARCH] 中, 当数据流穿越公共路径时, 可使用 MPLS 信令协议建立标签交换路径 (Label Switched Path, LSP). 在入口标签交换路由器 (Label Switch Router, LSR) 处, 每个分组被赋予一个标签并向下游发送. 沿 LSP 的每个 LSR 使用该标签将分组转发到下一跳.

在差分服务 (Differentiated Service, Diff-Serv) 域 [DIFF_ARCH] 中, 穿越某链路且要求相同 Diff-Serv 行为的所有 IP 分组构成一个行为聚合 (Behavior Aggregate, BA). 在 Diff-Serv 域的入口节点, 分组被分类并标记与其行为聚合相对应的差分服务代码点 (Diff-Serv Code Point, DSCP). 在每个中间节点, DSCP 用于选择逐跳行为 (Per Hop Behavior, PHB), 该 PHB 决定调度处理, 并在某些情况下决定每个分组的丢弃概率.

本文档规定了一种解决方案, 用于在 MPLS 网络上支持其对应 PHB 已在 [DIFF_HEADER], [DIFF_AF], [DIFF_EF] 中定义的 Diff-Serv 行为聚合. 该方案也便于灵活支持将来可能定义的 PHB.

该方案依赖两类 LSP 的联合使用:

  • 可承载多个有序聚合 (Ordered Aggregate, OA) 的 LSP, 从而由 MPLS 垫片头 (Shim Header) 的 EXP 字段向 LSR 传达将应用于该分组的 PHB (涵盖分组的调度处理信息及其丢弃优先级).

  • 仅承载单个有序聚合的 LSP, 从而分组的调度处理由 LSR 仅从分组的标签值推断, 而分组的丢弃优先级则在 MPLS 垫片头的 EXP 字段中传达, 或在封装链路层特定的选择性丢弃机制 (ATM, Frame Relay, 802.1) 中传达.

如 [DIFF_HEADER] 所述, "服务提供商不必使用相同的节点机制或配置来在其网络内实现服务区分, 并可自由以适合其服务产品与流量工程目标的方式配置节点参数". 因此, 本文档定义的方案使服务提供商可灵活选择如何在其域内对 Diff-Serv 服务类别进行路由或流量工程 (例如, 通过不同 LSP 并分别路由来支持不同服务类别, 或在同一 LSP 上共同支持并一起路由所有服务类别).

由于 MPLS 面向路径, 在面对拓扑变化时, 它有可能提供比传统逐跳路由 IP 系统更快且更可预测的保护与恢复能力. 本文档将此类能力称为 "MPLS 保护". 尽管此类能力及其相关机制超出本规范范围, 我们注意到它们可为不同 LSP 提供不同级别的保护. 由于本文给出的方案允许服务提供商选择如何将 Diff-Serv 服务类别映射到 LSP, 该方案也使服务提供商可灵活决定为不同 Diff-Serv 服务类别提供的保护级别 (例如, 某些服务类别可由受保护的 LSP 支持, 而另一些服务类别则由不受保护的 LSP 支持).

此外, 本文档规定的方案在可能时仅在有用或必要时才为给定转发等价类 (Forwarding Equivalent Class, FEC) [MPLS_ARCH] 使用多条 LSP, 从而节约标签空间并降低标签建立/拆除信令的通信量.

本规范允许对经 MPLS 网络传输的 IPv4 与 IPv6 流量均支持差分服务. 本文档仅描述单播操作. 组播支持留待进一步研究.

本文档描述的方案不排除在 MPLS 上同时支持 Diff-Serv 时, 通过信令或配置使用 EXP 比特来支持显式拥塞通知 (Explicit Congestion Notification) [ECN]. 然而, 在 MPLS 环境中支持 ECN 的技术超出本文档范围.

1.1. 术语​

本文档中的关键词 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", " SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY" 与 "OPTIONAL" 应按 RFC 2119 中的描述解释.

假定读者熟悉 [MPLS_ARCH], [MPLS_ENCAPS], [MPLS_ATM], [MPLS_FR] 的术语, 包括下列各项:

  • FEC: Forwarding Equivalency Class (转发等价类)

  • FTN: FEC-To-NHLFE Map (FEC 到 NHLFE 映射)

  • ILM: Incoming Label Map (入向标签映射)

  • LC-ATM: Label Switching Controlled-ATM (interface) (标签交换控制的 ATM 接口)

  • LC-FR: Label Switching Controlled-Frame Relay (interface) (标签交换控制的帧中继接口)

  • LSP: Label Switched Path (标签交换路径)

  • LSR: Label Switch Router (标签交换路由器)

  • MPLS: Multi-Protocol Label Switching (多协议标签交换)

  • NHLFE: Next Hop Label Forwarding Entry (下一跳标签转发项)

假定读者熟悉 [DIFF_ARCH], [DIFF_HEADER], [DIFF_AF], [DIFF_EF] 的术语, 包括下列各项:

  • AF: Assured Forwarding (确保转发)

  • BA: Behavior Aggregate (行为聚合)

  • CS: Class Selector (类选择器)

  • DF: Default Forwarding (默认转发)

  • DSCP: Differentiated Services Code Point (差分服务代码点)

  • EF: Expedited Forwarding (加速转发)

  • PHB: Per Hop Behavior (逐跳行为)

假定读者熟悉 [DIFF_NEW] 的术语, 包括下列各项:

  • OA: Ordered Aggregate (有序聚合). 共享排序约束的行为聚合集合.

  • PSC: PHB Scheduling Class (PHB 调度类). 应用于属于给定 OA 的行为聚合的一个或多个 PHB 的集合. 例如, AF1x 是由 AF11, AF12 与 AF13 PHB 组成的 PSC. EF 是由单个 PHB (即 EF PHB) 组成的 PSC 示例.

还使用下列缩写:

  • CLP: Cell Loss Priority (信元丢失优先级)

  • DE: Discard Eligibility (丢弃合格性)

  • SNMP: Simple Network Management Protocol (简单网络管理协议)

最后, 本规范定义下列缩写:

  • E-LSP: EXP-Inferred-PSC LSP (由 EXP 推断 PSC 的 LSP)

  • L-LSP: Label-Only-Inferred-PSC LSP (仅由标签推断 PSC 的 LSP)

1.2. EXP 推断 PSC 的 LSP (E-LSP)​

单条 LSP 可用于支持一个或多个 OA. 此类 LSP 最多可支持给定 FEC 的八个 BA, 而不论这些 BA 跨越多少 OA. 对于此类 LSP, LSR 使用 MPLS 垫片头的 EXP 字段来确定将应用于该分组的 PHB. 这包括 PSC 与丢弃偏好 (drop preference).

我们将此类 LSP 称为 "EXP-inferred-PSC LSPs" (E-LSP), 因为在该 LSP 上传输的分组的 PSC 取决于该分组的 EXP 字段值.

对于给定的此类 LSP, 从 EXP 字段到 PHB (即到 PSC 与丢弃优先级) 的映射, 要么在标签建立时显式信令, 要么依赖预配置映射.

E-LSP 的详细操作在下文第 3 节规定.

1.3. 仅由标签推断 PSC 的 LSP (L-LSP)​

可为单个 <FEC, OA> 对建立单独的 LSP. 对于此类 LSP, PSC 在标签建立时显式信令, 从而在标签建立之后, LSR 可仅从标签值推断将应用于带标签分组的 PSC. 当使用垫片头时, LSR 将应用于带标签分组的丢弃优先级 (Drop Precedence) 在该分组的 MPLS 垫片头内通过 EXP 字段传达. 当不使用垫片头时 (例如 MPLS Over ATM), LSR 将应用于带标签分组的丢弃优先级在链路层头封装内通过链路层特定的丢弃优先级字段传达 (例如 ATM CLP).

我们将此类 LSP 称为 "Label-Only-Inferred-PSC LSPs" (L-LSP), 因为可仅从标签完全推断 PSC, 而无需任何其他信息 (例如, 不论 EXP 字段值如何). L-LSP 的详细操作在下文第 4 节规定.

1.4. 总体操作​

对于给定 FEC, 除非适用第 7, 8 与 9 节中指明的介质特定限制, 本规范允许在 MPLS Diff-Serv 域内使用下列任一组合:

  • 零条或任意多条 E-LSP, 以及

  • 零条或任意多条 L-LSP.

网络管理员从允许的组合集合中选择实际的 LSP 组合, 并选择如何将行为聚合实际承载到该 LSP 组合上, 以最好地匹配其在 Diff-Serv 支持, 流量工程与 MPLS 保护方面的环境与目标. 选择此类组合的准则超出本规范范围.

对于给定 FEC, 可能有多条 LSP 承载相同 OA, 例如出于对该 OA 进行负载均衡的目的; 然而, 为遵守排序约束, 给定微流 (microflow) 的所有分组 (可能跨越给定有序聚合的多个 BA) MUST 在同一 LSP 上传输. 反之, 每条 LSP MUST 能够支持给定 OA 的所有 (活动) BA.

部署场景示例见附录 A (仅供参考).

1.5. 标签与 FEC 的关系​

  • [MPLS_ARCH] 在 2.1. Overview' 一节中指出: 某些路由器分析分组的网络层头, 不仅为了选择分组的下一跳, 还为了确定分组的 "优先级" 或 "服务类别". 它们随后可对不同分组应用不同的丢弃阈值或调度规程. MPLS 允许 (但不要求) 优先级或服务类别可从标签完全或部分推断. 在此情况下, 可以说标签代表 FEC 与优先级或服务类别的组合.'

与此一致, 我们观察到:

  • 对于 E-LSP, 标签代表 FEC 与在该 E-LSP 上传输的 BA 集合的组合. 当所有受支持的 BA 都在某条 E-LSP 上传输时, 标签即代表完整的 FEC.

  • 对于 L-LSP, 标签代表 FEC 与 OA 的组合.

1.6. E-LSP 与 L-LSP 的带宽预留​

不论使用何种标签绑定协议, E-LSP 与 L-LSP 都可在有或无带宽预留的情况下建立.

建立带带宽预留的 E-LSP 或 L-LSP, 意味着在 LSP 建立时信令该 LSP 的带宽需求. 此类信令的带宽需求可由 LSR 在建立时用于对相关 PSC 已供给 (例如通过配置, SNMP 或策略协议) 的 Diff-Serv 资源执行准入控制. 此类信令的带宽需求也可由 LSR 在建立时用于对与相关 PSC 关联的 Diff-Serv 资源进行调整 (例如调整 PSC 调度权重).

注意, 建立带带宽预留的 E-LSP 或 L-LSP 并不意味着需要按 LSP 调度. 由于本文档规定 E-LSP 与 L-LSP 用于支持差分服务, 所需的转发处理 (调度与丢弃策略) 由适当的 Diff-Serv PHB 定义. 该转发处理 MUST 由 LSR 以 BA 为粒度应用, 并且 MUST 符合相关 PHB 规范.

当在 L-LSP 建立时信令带宽需求时, 所信令的带宽显然与该 L-LSP 的 PSC 相关联. 因此, 使用所信令带宽执行准入控制的 LSR 可对专用于该 PSC 的 Diff-Serv 资源执行准入控制 (例如对通过其调度权重保证给该 PSC 的带宽).

当在 E-LSP 建立时信令带宽需求时, 所信令的带宽与整条 LSP 集体关联, 因而与所传输的 PSC 集合关联. 因此, 使用所信令带宽执行准入控制的 LSR 可对由 PSC 集合共享的全局资源执行准入控制 (例如对链路的总带宽).

不使用带宽预留的场景以及使用带宽预留的场景示例见附录 B (仅供参考).