EVPN VXLAN 上的 CoS 支持
您可以在 VXLAN 接口上配置服务等级 (CoS) 功能。来自不同租户的 VXLAN 流量通过同一物理底层网络遍历网络边界。为确保公平对待 VXLAN 中所有租户的流量,并确定更高优先级流量的优先级,请将 CoS 功能应用于 VXLAN 接口。
了解 VXLAN 接口上的 CoS
本节介绍如何将分类和重写规则应用于 VXLAN 实例中的数据包。 图 1 显示了具有两个叶节点和一个主干节点的简单 VXLAN。
请参阅 图 1 ,了解 VXLAN 中带有 DSCP/ToS 字段的数据包流:
-
CE 1 将带有编程的第 3 层 DSCP/ToS 位的数据包发送到叶 1 节点。
-
枝叶 1 接收原始数据包,并将 VXLAN 报头附加到原始数据包之上。外部 VXLAN 第 3 层报头使用原始数据包 DSCP/Tos 位。您可以基于原始数据包 DSCP/802.1p 位创建分类器。入口叶上的入口接口支持 DSCP 和 802.1p 分类器。
-
如果在枝叶 1 上配置了重写,则内部标头将具有由 CE 1 设置的 DSCP/802.1p 位,外部标头将具有重写位。仅支持 DSCP 重写规则,但 QFX10000 交换机除外,如果标记了底层网络,则还支持 802.1p 重写。
-
主干节点接收 VXLAN 数据包,并可以使用这些 DSCP 位进行入口分类,并将数据包转发到具有相应转发等级的出口接口。
-
主干出口接口可以使用重写规则重写这些位。这些主干重写规则仅影响外部第 3 层 DSCP 字段。内部/原始数据包仍保存由 CE 1 设置的 DSCP/802.1p 位。
-
枝叶 2 接收数据包,处理隧道终止,并移除外部 VXLAN 报头。
-
叶 2 分类和重写功能适用于内部标头。
-
原始数据包到达 CE 2。
在叶节点上,如果数据包是组播的,则可以使用分类来创建 multi-destination
适当的组播分类和重写规则。
在 VXLAN 接口上配置 CoS
本节以 图 1 为参考,展示 VXLAN 中叶节点和主干节点的分类器配置和重写规则的示例。您可以像往常一样为每个节点上的分类器创建调度程序。
分类器的示例配置和叶 1 上的重写规则。
分类器的示例配置和主干上的重写规则。
-
基于外部 VXLAN DSCP/ToS 位创建分类器:
[edit class-of-service classifiers] user@spine#set dscp dscp_cf forwarding-class best-effort loss-priority low code-points af22 user@spine#set dscp dscp_cf forwarding-class network-control loss-priority high code-points af31 user@spine#set dscp dscp_cf forwarding-class expedited-forwarding loss-priority low code-points af13 user@spine#set dscp dscp_cf forwarding-class assured-forwarding loss-priority high code-points cs3
-
将分类器应用于入口主干接口:
[edit class-of-service interfaces] user@spine#set ge-0/0/3 unit 0 classifiers dscp dscp_cf user@spine#set ge-0/0/5 unit 0 classifiers dscp dscp_cf
-
为外部 VXLAN DSCP/ToS 位创建重写规则:
[edit class-of-service rewrite-rules] user@spine#set dscp dscp_rw forwarding-class best-effort loss-priority low code-points af22 user@spine#set dscp dscp_rw forwarding-class network-control loss-priority high code-points af31 user@spine#set dscp dscp_rw forwarding-class expedited-forwarding loss-priority low code-points af13 user@spine#set dscp dscp_rw forwarding-class assured-forwarding loss-priority high code-points cs3
-
将重写规则应用于出口主干接口:
[edit class-of-service interfaces] user@spine#set ge-0/0/4 unit 0 rewrite-rules dscp dscp_rw user@spine#set ge-0/0/6 unit 0 rewrite-rules dscp dscp_rw
分类器的示例配置和叶 2 上的重写规则。
-
基于 原始 DSCP/ToS 位创建分类器,因为在应用转发类 之前,VXLAN 标头会在隧道终止时移除:
[edit class-of-service classifiers] user@leaf2#set dscp dscp_cf forwarding-class best-effort loss-priority low code-points 100000 user@leaf2#set dscp dscp_cf forwarding-class network-control loss-priority high code-points 110000 user@leaf2#set dscp dscp_cf forwarding-class expedited-forwarding loss-priority low code-points 011010 user@leaf2#set dscp dscp_cf forwarding-class assured-forwarding loss-priority high code-points 001010
-
将分类器应用于入口叶 2 接口:
[edit class-of-service interfaces] user@leaf2#set ge-0/0/7 unit 0 classifiers dscp dscp_cf user@leaf2#set ge-0/0/8 unit 0 classifiers dscp dscp_cf
-
为 原始 DSCP/ToS 位创建重写规则:
[edit class-of-service rewrite-rules] user@leaf2#set dscp dscp_rw forwarding-class best-effort loss-priority low code-points 100000 user@leaf2#set dscp dscp_rw forwarding-class network-control loss-priority high code-points 110000 user@leaf2#set dscp dscp_rw forwarding-class expedited-forwarding loss-priority low code-points 011010 user@leaf2#set dscp dscp_rw forwarding-class assured-forwarding loss-priority high code-points 001010
-
将重写规则应用于出口叶 2 接口:
[edit class-of-service interfaces] user@leaf2#set ge-0/0/9 unit 0 rewrite-rules dscp dscp_rw
要检查其中一个接口上的 CoS 配置:
user@node#show class-of-service interface interface-name
要检查其中一个接口上的队列统计信息,请执行以下操作:
user@node#show interfaces queue interface-name
在 VXLAN 接口上实施 CoS(Junos OS 演化版)
使用分类器、调度程序和重写规则的组合,支持 EVPN VXLAN 流量的 CoS。本节介绍如何在运行 Junos OS 演化版的设备上的不同节点上实现这些组件,以便对 EVPN VXLAN 流量应用 CoS。
- 用户网络接口 (UNI)/入口 PE 分类 — 启动 EVPN VXLAN 隧道的入口 PE 支持基于 IEEE 802.1p 和差分服务代码点 (DSCP) 的流量分类。BA 和 MF 分类器可应用于企业风格 (EP) 或服务提供商 (SP) 风格接入接口。
- 网络节点接口 (NNI)/出口 PE 分类 — EVPN VXLAN 隧道终止的出口 PE 支持基于 IEEE 802.1p 和差分服务代码点 (DSCP) 的流量分类。BA 分类器可以应用于底层逻辑接口或单元。隧道终止不支持 MF 分类器。
- NNI 处重写 — VXLAN 隧道封装后,将使用底层逻辑接口或单元上的重写规则配置外部/隧道标头上的重写。根据配置的重写规则,VXLAN 流量在主干/网络中进行分类。
NNI 接口支持 VXLAN 数据包的外部/隧道标头上的 DSCP 重写。
以下 EVPN VXLAN 方案支持重写规则:- VNI 内部 L2 网关 — 重写规则适用于单播和广播、未知单播和组播 (BUM) 流量。
- VNI 间 L3 网关 — 集中路由桥接 (CRB) 和边缘路由桥接 (ERB)。
- EVPN 类型 5 路由。
- UNI 重写 — VXLAN 隧道终止后,将使用企业风格 (EP) 或服务提供商 (SP) 风格接入接口上的重写规则配置内部标头上的重写。根据配置的重写规则,解封装的数据包在 CE 端网络中分类。对于已封装的数据包,UNI 接口支持以下重写规则:
- 内部 IPv4/IPv6 报头上的 DSCP 重写
- 内部以太网报头上的 IEEE 802.1p 重写(如果已标记)
- VNI 内部 L2 网关 — 重写规则适用于单播和广播、未知单播和组播 (BUM) 流量。
- VNI 间 L3 网关 — 集中路由桥接 (CRB) 和边缘路由桥接 (ERB)。
- EVPN 类型 5 路由。
- 调度 — 通过使用调度程序实现流量优先级和带宽预留。调度程序与通过分类器设置的转发类相关联。
VXLAN 上的 CoS 限制
以下限制适用于 PTX 路由器:
- 集成路由和桥接 (IRB)(L3 网关方案)不支持 DSCP 重写规则。
- NNI 接口不支持 IEEE 802.1p 重写规则。
- UNI 或 NNI 接口不支持显式拥塞通知 (ECN) 重写。
- 不支持基于优先级的流控制 (PFC)。
- 不支持 IPv6 或 IRB 底层网络的 CoS 分类和重写机制。
EVPN VXLAN 上的 CoS 功能与 QFX5K 平台上相同。QFX5120 上已支持的所有 VXLAN CoS 功能在 QFX5130 和 QFX5700 平台上也受支持。
以下限制适用于 QFX5130 和 QFX5700 平台:
- 由于硬件限制,不支持 HQoS。
- 不支持 IRB 接口上的分类器、重写器和调度器。
- 不支持 NNI 端口上的 DOT1P 重写和分类器。
- 不支持在 UNI 端口上进行 DOT1P 和 DSCP 重写。
- 以下条件支持 NNI 端口上的 DSCP 重写:
-
默认情况下,NNI 端口上的 DSCP 重写受支持,如果启用 at
[edit forwarding-options]
,则vxlan-tos-copy-filter
不起作用。 -
无论 at
[edit forwarding-options]
是否vxlan-tos-copy-filter
已启用,内部 ECN 位都会复制到外部 VXLAN 报头。 -
请勿启用
vxlan-tos-copy-filter
,vxlan-disable-copy-tos-encap
[edit forwarding-options]
同时这会导致不确定行为。
-
- PFC 配置将导致长达 10 毫秒的瞬时流量丢弃。
- 不支持 DSCP IPV6 分类器和重写。请改用 DSCP 分类器并重写。
- TOS 复制功能不适用于 5 类 EVPN VXLAN。
以下限制适用于QFX10000平台:
-
由于 IRB 接口不支持 dscp 重写规则,因此您可以在底层 L2 接口上应用重写规则。VXLAN 隧道数据包中的 802.1p/dscp 值是使用底层 L2 接口规则写入的。