为 MPLS LSP 配置服务等级
以下各节概述了 MPLS 服务等级 (CoS),并介绍了如何配置 MPLS CoS 值:
MPLS 的服务等级概述
当 IP 流量进入 LSP 隧道时,入口路由器会使用 CoS 值标记所有数据包,该值用于将流量放入传输优先级队列。在路由器上,对于 SDH/SONET 和 T3 接口,每个接口有四个传输队列。CoS 值作为 MPLS 报头的一部分进行编码,并保留在数据包中,直到数据包从出口路由器退出时移除 MPLS 报头。LSP 中的路由器利用在入口路由器上设置的 CoS 值。CoS 值通过 CoS 位(也称为 EXP 或实验位)进行编码。有关更多信息,请参阅 MPLS 标签分配。
MPLS 服务等级与路由器的一般 CoS 功能协同工作。如果未配置任何 CoS 功能,则使用默认的常规 CoS 设置。对于 MPLS 服务等级,您可能希望通过配置加权轮询来确定传输队列的服务优先级,并使用随机早期检测 (RED) 配置拥塞避免。
配置 MPLS CoS 值
当流量进入 LSP 隧道时,将通过以下三种方式之一设置 MPLS 标头中的 CoS 值:
数据包缓冲到的输出队列的编号和数据包丢失优先级 (PLP) 位将写入 MPLS 标头,并用作数据包的 CoS 值。此行为是默认行为,不需要配置。 默认 MPLS EXP 分类器 解释了默认的 MPLS CoS 值,并总结了如何处理 CoS 值。
您可以在进入 LSP 隧道的所有数据包上设置固定的 CoS 值。固定的 CoS 值意味着进入 LSP 的所有数据包都接收相同的服务等级。
您可以设置 MPLS EXP 重写规则以覆盖默认行为。
要在进入 LSP 的所有数据包上设置固定的 CoS 值,请包含以下 class-of-service
语句:
class-of-service cos-value;
您可以在以下层次结构级别包含此语句:
[edit protocols mpls]
[edit protocols mpls label-switched-path path-name]
[edit protocols mpls label-switched-path path-name primary path-name]
[edit protocols mpls label-switched-path path-name secondary path-name]
[edit protocols rsvp interface interface-name link-protection]
[edit protocols rsvp interface interface-name link-protection bypass destination]
[edit logical-systems logical-system-name protocols mpls]
[edit logical-systems logical-system-name protocols mpls label-switched-path path-name]
[edit logical-systems logical-system-name protocols mpls label-switched-path path-name primary path-name]
[edit logical-systems logical-system-name protocols mpls label-switched-path path-name secondary path-name]
[edit logical-systems logical-system-name protocols rsvp interface interface-name link-protection ]
[edit logical-systems logical-system-name protocols rsvp interface interface-name link-protection bypass destination]
在层次结构级别使用该[edit protocols mpls]
语句设置class-of-service
的 CoS 值将取代在层次结构级别为[edit class-of-service]
接口设置的 CoS 值。实际上,为 LSP 配置的 CoS 值会覆盖为接口设置的 CoS 值。
class-of-service
层次结构级别的语句[edit protocols mpls label-switched-path]
为 LSP 中数据包的 MPLS 填充标头分配初始 EXP 值。此值仅在入口路由设备上初始化,并覆盖为该转发类建立的重写配置。但是,MPLS LSP 上的语句不会更改class-of-service
进入入口路由设备的数据包的 CoS 处理(加权轮询 [WRR] 和 RED)。分类仍基于层次结构级别的行为[edit class-of-service]
聚合 (BA) 分类器或层次结构级别的多字段分类器[edit firewall]
。
我们建议将 LSP 上的所有路由设备配置为具有相同的 EXP 输入分类器,如果配置了重写规则,则所有路由设备都应具有相同的重写配置。否则,下一个 LSR 上的流量可能会分类到不同的转发类中,从而导致将不同的 EXP 值写入 EXP 标头。
CoS 值可以是 0 到 7 之间的十进制数。此数字对应于 3 位二进制数。CoS 值的高阶 2 位选择要在出站接口卡上使用的传输队列。
CoS 值的低阶位被视为 PLP 位,用于选择要在输出队列上使用的 RED 丢弃配置文件。如果低阶位为 0,则使用非 PLP 丢弃配置文件,如果低阶位为 1,则使用 PLP 丢弃配置文件。通常预计 RED 会更积极地丢弃设置了 PLP 位的数据包。有关 RED 和丢弃配置文件的详细信息,请参阅 使用 RED 丢弃配置文件和数据包丢失优先级管理拥塞。
将 PLP 丢弃配置文件配置为更积极地丢弃数据包(例如,将 CoS 值从 6 设置为 7)可降低流量通过的可能性。
表 1 总结了 MPLS CoS 值如何与传输队列和 PLP 位相对应。请注意,在 MPLS 中,CoS 位值和输出队列之间的映射是硬编码的。您无法为 MPLS 配置映射;您只能为 IPv4 流量配置它,如 了解转发类如何将类分配给输出队列中所述。
MPLS CoS 值 |
位 |
传输队列 |
PLP 位 |
---|---|---|---|
0 |
000 |
0 |
未设置 |
1 |
001 |
0 |
设置 |
2 |
010 |
1 |
未设置 |
3 |
011 |
1 |
设置 |
4 |
100 |
2 |
未设置 |
5 |
101 |
2 |
设置 |
6 |
110 |
3 |
未设置 |
7 |
111 |
3 |
设置 |
由于 CoS 值是 MPLS 标头的一部分,因此该值仅在数据包通过 LSP 隧道时与数据包关联。当数据包从 LSP 隧道退出时,该值不会复制回 IP 标头。
要为标签交换路径 (LSP) 中的多协议标签交换 (MPLS) 数据包配置服务等级 (CoS):
指定 CoS 值
如果未指定 CoS 值,则数据包 IP 报头中的 IP 优先级位将用作数据包的 CoS 值。
使用 MPLS CoS 值重写 IEEE 802.1p 数据包标头
对于安装在 T 系列路由器或 M320 路由器上且与 M 系列路由器或 T 系列路由器有对等连接的以太网接口,您可以将 MPLS CoS 和 IEEE 802.1p 值重写为配置的值(MPLS CoS 值也称为 EXP 或实验位)。通过重写这些值,您可以将配置的值传递到第 2 层 VLAN 路径。要重写 MPLS CoS 和 IEEE 802.1p 值,必须在服务接口配置类中包含 EXP 和 IEEE 802.1p 重写规则。配置 IEEE 802.1p 和 EXP 重写规则时,将应用 EXP 重写表。
有关如何配置 EXP 和 IEEE 802.1p 重写规则的信息,请参阅 重写数据包标头以确保转发行为。