了解 CoS 重写规则
数据包进入或退出网络时,可能需要边缘交换机更改数据包的服务等级 (CoS) 设置。 重写规则 用于设置传出数据包标头中的代码点位(第 3 层 DSCP 位、第 2 层 CoS 位或 MPLS EXP 位)的值。每个重写规则:
读取与数据包关联的当前转发类和丢弃优先级。
从表中查找新的(重写)代码点值。
将该代码点值写入数据包标头,替换旧的代码点值。
必须将重写规则分配给接口才能使重写生效。
您可以对每个接口应用(绑定)一个 DSCP 或 DSCP IPv6 重写规则和一个 IEEE 802.1p 重写规则。您还可以将 EXP 重写规则绑定到 family mpls 逻辑接口,以重写 MPLS 流量的 CoS 位。
不能同时将 DSCP 和 DSCP IPv6 重写规则应用于同一物理接口。每个物理接口仅支持一个 DSCP 重写规则。无论配置的重写规则是 DSCP 还是 DSCP IPv6,IP 和 IPv6 数据包都使用相同的 DSCP 重写规则。可以在具有 DSCP 或 IEEE 重写规则的接口上应用 EXP 重写规则。只有接口上的 family mpls MPLS 流量使用 EXP 重写规则。
您可以将 DSCP 重写规则和 DSCP IPv6 重写规则应用于逻辑接口。IPv6 数据包使用 DSCP-IPv6 重写规则重写,IPv4 数据包使用 DSCP 重写规则进行标记。
没有默认的重写规则。如果要将重写规则应用于传出数据包,则必须显式配置重写规则。
您可以将行为聚合 (BA) 分类器和重写规则视为同一枚硬币的两面。BA 分类器读取传入数据包的代码点位,并将数据包分类为转发类,然后系统会为转发类应用配置的 CoS。重写规则会在数据包离开系统之前更改(重写)代码点位,以便下一台交换机或路由器可以对数据包应用适当级别的 CoS。将重写规则应用于接口时,重写规则是转发之前对数据包执行的最后一个 CoS作。
重写规则会更改边缘交换机出站接口上传出数据包中的 CoS 值,以适应目标对等方的策略。这样,相邻网络中的下游交换机就可以将每个数据包分类到相应的服务组中。
在每个物理接口上,要么接口上使用的所有转发类都必须配置重写规则,要么接口上使用的任何转发类都不能配置重写规则。在任何物理端口上,都不要混用带有重写规则的转发类和不带重写规则的转发类。
在出口过滤器与流量匹配 之前 ,将应用重写规则。由于代码点重写发生在出口过滤器与流量匹配之前,因此出口过滤器匹配基于重写值,而不是数据包中的原始代码点值。
对于同时携带内部 VLAN 标记和外部 VLAN 标记的数据包,重写规则仅重写外部 VLAN 标记。
MPLS EXP 重写规则仅适用于 family mpls 逻辑接口。不能将 EXP 重写规则应用于物理接口。您最多可以配置 64 个 EXP 重写规则,但任何时候在交换机上都只能使用 16 个 EXP 重写规则。在给定的逻辑接口上,所有推送的 MPLS 标签都应用了相同的 EXP 重写规则。您可以将不同的 EXP 重写规则应用于同一物理接口上的不同逻辑接口。
如果交换机正在执行倒数第二跳弹出 (PHP),则 EXP 重写规则不会生效。如果交换机上同时配置了 EXP 分类器和 EXP 重写规则,则最后一个弹出标签的 EXP 值会复制到内部标签中。如果交换机上配置了 EXP 分类器或 EXP 重写规则(但不能同时配置两者),则内部标签 EXP 值将保持不变发送。
您可以配置足够的重写规则来处理大多数(如果不是全部)网络场景。 表 1 显示了每种类型的重写规则可以配置的数量,以及每个重写规则可以配置的条目数。
重写规则类型 |
最大重写规则数 |
每个重写规则的最大条目数 |
|---|---|---|
IEEE 802.1p |
64 |
128 |
DSCP |
32 |
128 |
DSCP IPv6 |
32 |
128 |
MPLS EXP |
64 |
128 |
您无法将重写规则直接应用于集成路由和桥接 (IRB)(也称为路由 VLAN 接口 (RVI),因为 IRB/RVI 的成员是 VLAN,而非端口。但是,您可以将重写规则应用于 IRB/RVI 的 VLAN 端口成员。