Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

EVPN-over-VXLAN 支持的功能

EVPN-over-VXLAN 数据平面封装支持以下功能:

VXLAN 封装

EVPN 支持同一 EVPN 实例中的 VXLAN 数据平面封装类型。为了支持 VXLAN 封装类型,所有 EVPN PE 设备都将 BGP 封装扩展社区中的隧道类型指定为 VXLAN。入口 PE 根据自己的封装功能及其 EVPN 远程 PE 设备播发的封装功能来确定要使用的封装类型。

当 EVPN 用作采用 VXLAN 封装的底层 IP 网络的叠加解决方案时,数据包会在入口 PE 设备处使用 VXLAN 标头进行封装,并在出口 PE 设备上从 VXLAN 标头解封装数据包。 图 1 显示了通过使用 VXLAN 封装的底层 IP 网络在核心中转发数据包时的数据包格式:

图 1:采用 VXLAN 封装 Underlay IP Network with VXLAN Encapsulation的底层 IP 网络

如果底层网络使用 IPv4 协议和 IPv4 寻址,则 VXLAN 数据包中的外部 IP 报头为 IPv4 报头。所有支持 EVPN-VXLAN 的平台都使用 IPv4 底层网络。

在某些平台上,您可以将底层配置为使用 IPv6 协议和 IPv6 寻址。在这些情况下,VXLAN 数据包中的外部 IP 报头是 IPv6 报头,您需要将 VTEP 源地址配置为 IPv6 地址。有关使用 IPv6 底层网络的详细信息,请参阅带有 IPv6 底层网络的 EVPN-VXLAN

EVPN BGP 路由和属性

EVPN BGP 路由和属性支持 EVPN-over-VXLAN 数据平面封装,受影响如下:

  • 通过在 EVPN MAC 路由中附加具有隧道封装类型 VXLAN 的 BGP 封装扩展社区属性,出口 PE 设备将播发 EVPN 包含组播路由和每个 EVI 路由的 EVPN。

  • 所有 EVPN BGP 路由的以太网标记字段都设置为零,以仅支持基于 VXLAN 网络标识符 (VNI) 的模式。

  • VNI(在 EVPN 叠加网络中也称为 VNI 字段)位于 EVPN MAC 路由、EVPN 包含组播路由和每个 EVPN 实例自动发现路由的 MPLS 字段中。

  • 对于每个以太网分段的 EVPN 自动发现路由,以太网分段标识符标签字段设置为零,因为支持的 VXLAN 封装类型不存在以太网分段标识符标签。

  • 来自远程 PE 设备的所有相应 EVPN 路由都将通过 inet.0 或 :vxlan.inet.0 表(而非 IPv4 的 inet.3 表)进行解析。将 IPv6 底层网络用于 EVPN-VXLAN 隧道时,inet6.0 和 :vxlan.inet6.0 表也是如此。

EVPN 多宿主过程

您可以通过第 2 层链路聚合组 (LAG) 接口将裸机服务器 (BMS) 多宿主至一对瞻博网络架顶式 (TOR) 交换机,例如 QFX5100 交换机。由于使用 LAG 接口,仅有一个 BUM 流量副本从 BMS 转发到核心路由器。为防止第 2 层环路和 BUM 流量泛洪回到多宿主 BMS 所连接的同一以太网段,BUM 流量应用多宿主主动-主动水平分割过滤规则。为了完全支持 EVPN 多宿主主动-主动模式功能,瞻博网络 TOR 交换机还会将 EVPN 混叠路由通告至其他 EVPN PE 设备。

使用 VXLAN 数据平面封装的 EVPN over IP 缺乏 MPLS 标签支持,这会影响以下 EVPN 多宿主主动-主动模式功能:

注意:

EVPN over VXLAN 不支持主动-备用操作模式。您只能使用 all-active ESI 接口配置中的选项配置主动-主动模式。不支持通过选项使用 VXLAN 封装 single-active 的具有 EVPN 的单宿主以太网网段。

从 Junos OS 22.2R1 版开始,EVPN 添加了全活动冗余、混叠和批量 MAC 撤销支持(包括数据平面 VXLAN 集成),以便在数据中心与其已建立的数据中心互连 (DCI) 技术之间提供弹性连接。这一全新支持通过将 EVPN 组播与数据平面 VXLAN 集成,构建了端到端 DCI 解决方案。

在主动-主动拓扑中,两个链路都用于对流量进行负载均衡。源自 EVPN-MPLS 域的单播流量会以负载均衡的方式转发至两个网关,并通过 VXLAN 隧道转发至远程 VXLAN 终端路由器。负载平衡数据包可能来自任一网关,并导致 VXLAN 终端路由器上的 MAC 触发器问题。您可以通过在网关的环路接口上将任播 IP 地址配置为辅助地址来克服此 MAC 触发器问题。当您将任播地址设置为时 vxlan-source-ip,将创建到任播地址的 VXLAN 隧道,并且将从 VTEP 的任播地址中学习 MAC。

使用以下语句在 ESI 级别设置 A/A 冗余,并在 lo0 接口上设置任播地址。将带有任播 IP 的辅助地址添加到 lo0 接口,并将其作为 VTEP 接口 vxlan-source-ip 包含在路由实例和 secondary-vtep-address 协议下 pim 中。

局部偏置和水平分割过滤规则

由于缺少 MPLS 标签,因此将根据 EVPN PE 设备的 IP 地址(而非 MPLS 以太网分段标签)修改多宿主以太网段的水平分割过滤规则。对于来自接入接口的流量,转发至多宿主以太网段的任何流量都将基于采用 VXLAN 数据平面封装的 EVPN 的本地偏差。每个 EVPN PE 设备都会跟踪其共享同一以太网段的对等多宿主 EVPN PE 设备的 IP 地址。此跟踪可为从其他 EVPN PE 设备接收的每个 VXLAN 数据包提供源 VTEP IP 地址(在外部 IP 标头中)。针对多目标流量,入口和出口 PE 设备均会实施水平分割过滤规则:

  • 入口 PE — 负责将来自其任何直连接入接口的多目标数据包转发到其剩余的关联多宿主以太网分段,无论主题入口 PE 设备的指定转发器 (DF) 选择状态如何。

  • 出口 PE — 不允许将任何多目标数据包转发到出口 PE 与其入口 PE 设备共享到的同一多宿主以太网段,无论主题出口 PE 设备的 DF 选择状态如何。

混 叠

通过 LAG 接口包将 BMS 连接到一对瞻博网络 TOR 交换机时,只有一台交换机可以学习本地 MAC 地址。为了支持从 VXLAN 到 BMS 的已知单播流量在交换机之间实现负载平衡,交换机上的 EVPN PE 设备必须按 EVPN 实例自动发现路由播发 EVPN。此通告向远程 EVPN PE 设备发出信号,表明 MAC 从其对等方多宿主 PE 设备的多宿主以太网段获知的知识也可以到达。对于 VXLAN 封装,在提供 EVPN 混叠功能时,EVPN 过程没有更改。

下一跳转发

第 2 层地址学习守护程序 (l2ald) 在入口创建 VXLAN 封装复合下一跃点,在出口创建 VXLAN 解封装复合下一跃点。VXLAN 封装复合下一跃点通过 VXLAN 封装将第 2 层单播流量转发到远程 PE 设备。如果有多个路径可用于到达远程 MAC(与多宿主 EVPN 主动-主动情况类似),则路由协议守护程序 (rpd) 会通知 l2ald 与远程 MAC 关联的所有远程 VTEP IP 地址。l2ald 负责为远程 MAC 构建等价多路径 (ECMP) 下一跃点。VXLAN 解封装复合下一跳可在出口处解封装 VXLAN 隧道标头,然后将流量转发至 BMS。

对于已知的单播流量:

  • 在入口处,rpd 不需要在 mpls.0 表中添加标签路由。

  • 在出口处,rpd 不需要添加标签路由来指向 mpls.0 表中的表下一跃点。

控制平面 MAC 学习方法

EVPN 独有的特点是,PE 设备之间的 MAC 地址学习发生在控制平面中。本地 PE 路由器检测到 CE 设备的新 MAC 地址,然后使用 MP-BGP 将地址以通告的形式下发给所有远程 PE 设备。此方法不同于 VPLS 等现有的第 2 层 VPN 解决方案,这些方案通过在数据平面中进行未知单播泛洪的方式来学习。此控制平面 MAC 学习方法是 EVPN 提供的功能和优势的重要组成部分。由于 MAC 学习过程发生在控制平面中,因此 EVPN 具有较高的灵活性,可以在 PE 设备之间支持不同的数据平面封装技术。这种灵活性很重要,因为并非每个骨干网络都在运行 MPLS,特别是在企业网络中。

对于控制平面远程 MAC 学习,由于 l2ald 创建 VXLAN 封装复合下一跃点和 VXLAN 解封装复合下一跃点,因此 rpd 不再创建 MAC 转发表中使用的间接下一跃点。rpd 依靠现有机制来通知 l2ald 从控制平面获知的远程 MAC 地址。rpd 不会通知 l2ald 有关 MAC FIB 表中远程 MAC 使用的 VLAN ID 和间接下一跃点索引,而是将远程 VTEP IP 地址和 VXLAN 网络标识符告知给 l2ald。控制平面远程 MAC 学习路由点指向 VXLAN 封装复合下一跃点,或由 MAC 转发表中的 l2ald 创建的 ECMP 下一跃点。

对于多宿主 EVPN 主动-主动,一对远程 VTEP IP 地址与远程 MAC 地址相关联。远程 VTEP IP 地址可从远程 PE 设备接收的 MAC 路由或远程 PE 设备的混叠路由中获取。当远程 PE 设备撤回 MAC 路由或 MAC 学习的以太网段的混叠路由时,rpd 会相应地向 l2ald 发出有关远程 VTEP IP 地址对更改的警报。因此,l2ald 更新了为此 MAC 构建的 uni-list 下一跃点。当远程 MAC 路由及其关联的混叠路由均被撤回或无法解析时,rpd 会通知 l2ald 有关删除此远程 MAC 的信息,并且 l2ald 会从 MAC 转转发表中撤回此 MAC。

Contrail 虚拟路由器和 L3-VRF 表

Contrail 虚拟化软件可创建与第 3 层虚拟路由和转发 (L3-VRF) 表中的路由相关联的虚拟网络 (VN)。

以下是关联的路由:

IRB 接口的子网路由

对于在 MX 系列路由器上为虚拟网络创建的每对 MAC-(虚拟路由和转发) VRF 和 L3-VRF 表,相应的 IRB 接口将与 MAC-VRF 和 L3-VRF 表对相关联。MX 系列路由器上的 L3-VRF 表具有与其本地虚拟网络关联的 IRB 接口的子网路由,以及与数据中心内其他虚拟网络关联的 IRB 接口的所有子网路由,这些子网路由由 Junos OS 路由泄漏功能提供。MX 系列路由器通过 MP-BGP 将这些子网路由播发至 Contrail 控制节点。因此,Contrail vRouter 的 L3-VRF 表包含其 IP FIB 中 IRB 接口的相同子网路由集,并且子网路由将其下一跃点指向 MX 系列路由器。

虚拟机主机路由

Contrail 虚拟路由器支持代理 ARP,并使用 EVPN MAC 路由为其虚拟机 (VM) 通告 IP 地址。对于 Contrail 虚拟路由器和 MX 系列路由器,虚拟网络的 L3-VRF 表包含同一虚拟网络中这些虚拟机的所有虚拟机主机路由,以及所有其他虚拟网络中的路由。虚拟机之间的虚拟网络内和虚拟网络间流量将直接在第 3 层 Contrail 虚拟路由器之间进行转发。

裸机服务器主机路由

瞻博网络 TOR 交换机(例如 QFX5100 交换机)不会使用连接到它的裸机服务器 (BMS) 的 EVPN MAC 路由通告 IP 地址。由于交换机会发出 EVPN MAC 路由通告,因此 Contrail 虚拟路由器和 MX 系列路由器上的 L3-VRF 表中未安装 BMS 主机路由。但是,如果 MX 系列 路由器收到来自 BMS 的 ARP 响应,则 BMS 的 ARP 路由将安装在 MX 系列 路由器的内核中。

指定货运代理选择

为了提供更好的负载平衡和更灵活的拓扑,通过为每个以太网分段选择最小 VLAN ID 或 VXLAN 网络 ID,来确定指定转发方的选择,而不是基于 EVPN 实例进行选择。 图 2 显示了指定转发器选择拓扑示例。

图 2:指定转发器选择拓扑 Designated Forwarder Election Topology

CE 设备 (CE1) 的以太网分段标识符值配置为 ES1,并通过配置的 VLAN 100 和 101 连接到 PE1 和 PE2 设备。路由器 PE1 被选为两个 VLAN 的指定转发器。

CE 设备 (CE2) 的以太网段标识符值配置为 ES2,并通过配置 VLAN 201 连接到 PE1 和 PE3 设备。路由器 PE3 被选为此 VLAN 的指定转发方。

以太网标记 ID 可以是以下任一选项:

  • VLAN ID(适用于 EVPN-MPLS)

  • VXLAN 网络 ID(适用于 EVPN-VXLAN)