Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

使用 EVPN 的 VXLAN 数据中心互连概述

从 Junos OS 16.1 版开始,以太网 VPN (EVPN) 技术可用于通过 MPLS/IP 网络互连虚拟可扩展局域网 (VXLAN) 网络,以提供数据中心连接。这是通过互连的 VXLAN 网络之间的第 2 层子网内连接和控制平面分离来实现的。

以下部分介绍了将 EVPN 与 VXLAN 集成用作数据中心互连 (DCI) 解决方案的技术和实施概述。

适用于 DCI 的 VXLAN-EVPN 集成技术概述

以下部分概述了 VXLAN、EVPN、集成 DCI 的需求以及由此带来的优势。

了解 VXLAN

虚拟可扩展局域网 (VXLAN) 是一种第 3 层封装协议,使 MX 系列路由器能够将第 2 层或第 3 层数据包通过 VXLAN 隧道推送到虚拟化数据中心或互联网。在两个虚拟隧道端点 (VTEP) 之间建立通信,可以是终端主机或网络交换机或路由器,将虚拟机 (VM) 流量封装并解封装到一个 VXLAN 标头中。

VXLAN 通常被描述为一种叠加技术,因为它允许您通过在包含 IP 地址的 VXLAN 数据包中封装(通过隧道传输)以太网帧,在中间的第 3 层网络上扩展第 2 层连接。VXLAN 的这项功能可满足多租户数据中心的要求,其中,每个租户的虚拟机可能将物理服务器与其他租户共享,这些租户分布在不同数据中心内部或跨不同数据中心的物理服务器之间,此外还需要隔离每个租户的流量以确保安全性和潜在的 MAC 地址重叠。

虚拟机管理程序在物理服务器之间创建 VXLAN 隧道。由于物理服务器可以托管多个租户,因此每个虚拟机管理程序都会创建多个 VXLAN 隧道。

图 1:VXLAN 概述 VXLAN Overview

VXLAN 是一种允许您对网络进行分段的技术(就像 VLAN 一样),但它也解决了 VLAN 的扩展限制,并提供 VLAN 无法提供的优势。使用 VXLAN 的部分重要优势包括:

  • 理论上,您可以在管理域中创建多达 1600 万个 VXLAN(而非瞻博网络设备上的 4094 个 VLAN)。

    MX 系列路由器支持多达 32K 个 VXLAN。这意味着 VXLAN 能够以云构建者为支持大量租户所需的规模提供网络分段。

  • 您可以通过第 3 层网络上的隧道传输流量,从而在单独的第 2 层域中的服务器之间迁移虚拟机。借助此功能,您可以在数据中心内部或数据中心之间动态分配资源,而不会受到第 2 层边界的约束,也不会被迫创建大型或地理位置分散的第 2 层域。

了解 EVPN

EVPN 是一种基于标准的新技术,可通过 IP 或 IP/MPLS 骨干网络在不同第 2 层域之间提供虚拟多点桥接连接。与其他 VPN 技术(如 IPVPN 和 VPLS)类似,EVPN 实例 (EVI) 配置在 PE 路由器上,以保持客户之间的逻辑服务分离。PES 连接到 CE 设备,这些设备可以是路由器、交换机或主机。然后,PE 路由器使用多协议 BGP (MP-BGP) 交换可访问性信息,并在 PE 之间转发封装的流量。由于该架构的元素与其他 VPN 技术通用,因此 EVPN 可以无缝引入并集成到现有服务环境中。

图 2:EVPN 概述 EVPN Overview

EVPN 技术通过添加扩展的控制平面程序,在参与的数据中心边界路由器 (DCB) 之间交换第 2 层(MAC 地址)和第 3 层(IP 地址)信息,为新一代数据中心互连 (DCI) 提供了机制。这些功能有助于解决一些 DCI 挑战,例如无缝虚拟机移动性和最佳 IP 路由。无缝虚拟机移动性是指在虚拟机移动性面前面临的第 2 层扩展和维护连接的挑战,而最佳 IP 路由是指支持虚拟机出站流量的默认网关行为和避免虚拟机入站流量的三角路由的挑战。

EVPN 技术可供数据中心运营商用于提供可按需扩展的多租户、灵活且有弹性的服务。这种灵活性和弹性可能需要在不同的物理数据中心之间使用计算资源来实现单一服务(第 2 层扩展)和虚拟机运动。

EVPN 支持全活动多宿主,允许 CE 设备连接到两个或多个 PE 路由器,以便使用设备之间的所有链路转发流量。这让 CE 能够将流量负载平衡到多个 PE 路由器。更重要的是,它允许远程 PE 将流量负载平衡到核心网络上的多宿主 PE。数据中心之间的这种流量负载平衡被称为混叠。EVPN 还具有防止全活动多宿主拓扑中出现广播、未知单播和组播 (BUM) 流量环路的机制。

当一个接入链路或一个 PE 路由器发生故障时,多宿主可以提供冗余。无论哪种情况,流量都使用剩余的活动链路从 CE 流向 PE。对于其他方向上的流量,远程 PE 会更新其转发表,将流量发送到连接到多宿主以太网分段的剩余活动 PE。EVPN 提供快速融合机制,因此,进行此调整所需的时间与 PE 学习的 MAC 地址数量无关。

EVPN 的 MP-BGP 控制平面允许将实时虚拟机从一个数据中心动态移动到另一个数据中心,也称为虚拟机运动。将虚拟机移动到目标服务器/虚拟机管理程序后,它会传输一个免费 ARP,用于更新目标数据中心 PE 的第 2 层转发表。然后,PE 会将 MAC 路由更新传输到所有远程 PE,进而更新其转发表。通过这种方式,EVPN 可以跟踪虚拟机(也称为 MAC 移动性)的移动。EVPN 还具有检测和阻止 MAC 翻动的机制。

EVPN 技术类似于第 3 层 MPLS VPN,是一种引入基于 MPLS 核心使用 MP-BGP 路由 MAC 地址的概念的技术。使用 EVPN 的一些重要优势包括:

  • 能够拥有双活动多宿主边缘设备。

  • 提供跨双活动链路的负载平衡。

  • 提供 MAC 地址移动性。

  • 提供多租户。

  • 提供混叠。

  • 实现快速融合。

VXLAN-EVPN 集成概述

VXLAN 定义在第 3 层网络之上叠加第 2 层网络的隧道方案。它允许以太网帧的最佳转发,并支持单播和组播流量的多路径,并使用 UDP/IP 封装进行隧道传输,并且主要用于数据中心内站点连接。

另一方面,EVPN 的一个独特特性是 PE 设备之间的 MAC 地址学习发生在控制平面中。从 CE 设备检测到的新 MAC 地址将由本地 PE 使用 MP-BGP 播发至所有远程 PE 设备。此方法不同于 VPLS 等现有第 2 层 VPN 解决方案,这些解决方案通过在数据平面中泛洪未知单播来学习。这种基于控制平面的 MAC 学习方法是 EVPN 提供的许多有用功能的关键推动者。

由于 MAC 学习在控制平面中处理,因此 EVPN 可以灵活地在 P 之间支持不同的数据平面封装技术。这一点非常重要,因为并非每个骨干网络都在运行 MPLS,尤其是在企业网络中。

如今,人们对 EVPN 非常感兴趣,因为它解决了网络运营商面临的许多挑战,这些运营商正在构建数据中心以提供云和虚拟化服务。EVPN 的主要应用是数据中心互连 (DCI),能够扩展部署的不同数据中心之间的第 2 层连接,以提高向最终用户交付应用程序流量以及实现灾难恢复的性能。

尽管有各种 DCI 技术可用,但 EVPN 由于其独特功能(如主动-主动冗余、混叠和批量 MAC 撤销)与其他 MPLS 技术有着额外的优势。因此,为了提供 DCI 解决方案,VXLAN 与 EVPN 集成。

每个连接到 MPLS 或 IP 核心的 VXLAN 网络都运行 IGP 控制平面的独立实例。每个 PE 设备都参与其 VXLAN 网络的 IGP 控制平面实例。在这里,每个客户都是一个数据中心,因此拥有自己的虚拟路由器,用于 VXLAN 底层。

每个 PE 节点均可终止 VXLAN 数据平面封装,其中每个 VNI 或 VSID 都映射到一个网桥域。PE 路由器对从 VXLAN 网络接收的流量执行数据平面学习。

每个 PE 节点实施 EVPN,以便通过 VXLAN 隧道学习的客户端 MAC 地址分发到 BGP 中。通过 MPLS 核心发送数据包,以及通过 VXLAN 网络发送数据包时,每个 PE 节点都使用 MPLS 封装 VXLAN 或以太网帧

图 3:VXLAN-EVPN 集成概述 VXLAN-EVPN Integration Overview

VXLAN-EVPN 数据包格式

VXLAN 和 EVPN 数据包格式如下所示:

图 4:VXLAN-EVPN 数据包格式 VXLAN-EVPN Packet Format

VXLAN-EVPN 数据包演练

以下部分介绍了 VXLAN 和 EVPN 网络之间两种类型的流量的数据包演练:

BUM 流量处理

图 5:VXLAN-EVPN BUM 流量处理 VXLAN-EVPN BUM Traffic Handling

通过 EVPN 云处理从 VXLAN 分段 1 到 VXLAN 分段 2 的 VXLAN 到 EVPN BUM 流量,如下所示:

  1. 0- 启动时,服务器 A 希望将流量发送到服务器 B。由于服务器 A 在其 ARP 表中没有服务器 B 的 ARP 绑定,服务器 A 会构建 ARP 广播请求并发送。

    ARP 数据包的内容如下所示:

    • VLAN ID = VLAN 10

    • 源 MAC= MAC1

    • 目标 MAC = ff.ff.ff.ff.ff.ff.ff

    • 源 IP 地址 = 服务器 A 或 VM IP 地址的 IP 地址

    • 目标 IP 地址 = 服务器 B 的 IP 地址

    • 以太网数据包类型 = 0x0806

    第 2 层帧被发送至支持 VXLAN 的架顶式 (TOR) 交换机 TOR A。

  2. 1—交换机 TOR A 接收 ARP 请求(广播)帧。TOR A 是 VNI 1000 的 VXLAN VTEP 的发起方和终止方。用于 VXLAN 1000 的 VTEP 是服务器 A VLAN 10 广播域的一部分。

    接收帧后,TOR A 执行入口处理,包括入口数据包分类。根据数据包中的传入 VLAN,TOR A 将数据包分类为给定端口下的一个 IFL。这个 IFL 的家族是一个桥牌家族。根据 IFL 网桥系列,可以识别网桥域 ID。

    识别网桥域后,TOR A 学习传入帧源 MAC,以便可以通过此 IFL 访问 MAC A。由于帧是广播帧,TOR A 需要将帧发送至广播域的所有成员(接收帧的成员除外)。广播域的成员之一是 VNI 1000 的 VTEP。要发送 VXLAN 分段上的帧,TOR A 将完成该帧上的 VXLAN BUM 下一跃点处理。下一跃点推送 VXLAN 报头。

    VXLAN 标头的内容如下所示:

    • 源 MAC 地址 = MAC 地址或源 IP 地址接口

    • 目标 MAC 地址 = 组播 MAC 地址

    • 源 IP 地址 = 10.10.10.1

    • 目标 IP 地址 = 组播组地址 (226.0.39.16)

    • 源 UDP 端口 = 根据传入帧标头上的哈希计算

    • 目标 UDP 端口 = 4789(众所周知的 VXLAN 隧道端口)

    构建 VXLAN 封装帧后,TOR A 会将帧发送至路由器 PE2。

  3. 2—路由器 PE2 接收 VXLAN 帧,并通过查看众所周知的目标 UDP 端口将帧识别为 VXLAN 帧。此 VXLAN 帧的 VNI ID 用于桥接域识别。路由器 PE2 识别网桥域后,PE2 完成内部源 MAC 到外部源 IP 地址的 MAC 学习(MACA 到 10.10.10.1 映射)。映射完成后,VXLAN 解封装下一跃点处理将移除用于终止 VXLAN 隧道的 VXLAN 报头。

  4. 3A—完成 MAC 学习后,学习源 MAC(MAC1 到外部源 IP)将发送到 L2ALD。此 MAC 路由由 L2ALD 发送至 RPD,以便通过 BGP MAC 路由播发到 BGP 对等方来控制此 MAC 的学习。BGP 对等路由器收到 MAC 路由通告后,路由器将此 MAC 可达性 (MACA,MPLS 标签 L1) 安装到桥接域表中。

  5. 3— 给定的桥接域指向组播下一跃点路由,以便通过 EVPN 云转发数据包。下一跃点推送服务标签(与 VNI 关联的组播 MPLS 标签,每个对等方 ID、桥接域,标签是按对等方 ID 和 VNI ID)。MPLS 数据包通过 MPLS 云形成并发送。

  6. 4-路由器 PE4 将帧作为 MPLS 数据包接收。在这里,PE4 通过在 mpls.0 表中查找 MPLS 标签 L1 来识别网桥域。MPLS 查找点指向网桥域下一跃点的表格下一跃点。识别网桥域并将数据包识别为广播数据包后,将执行 BUM 复合泛洪下一跃点。BUM 复合下一跃点也指向 VXLAN 下一跳(用于构建 VXLAN 组播数据包)。

  7. 5- VXLAN 下一跃点包含有关构建 VXLAN 报头的信息。

    VXLAN 标头信息如下所示:

    • 源 MAC 地址 = MAC 地址或源 IP 地址接口

    • 目标 MAC 地址 = 组播 MAC 地址

    • 源 IP 地址 = 11.10.10.1

    • 目标 IP 地址 = 组播组地址 (226.0.39.16)

    • 源 UDP 端口 = 根据传入帧标头上的哈希计算

    • 目标 UDP 端口 = 4789(VXLAN 隧道的已知端口)

  8. 6-这一步的帧处理与步骤 1 相同。移除 VXLAN 报头后,该帧将转发到与广播域关联的 CE 泛洪路由,并将数据包作为第 2 层帧转发。

  9. 7-服务器 B 接收 ARP 请求数据包,并向服务器 A 发送 ARP 回复。

单播流量处理

图 6:VXLAN-EVPN 单播流量处理 VXLAN-EVPN Unicast Traffic Handling

假设数据和控制平面 MAC 学习都已发生,则从服务器 B 的 VXLAN 到 EVPN 单播流量(ARP 回复)将按如下处理:

  1. 8-服务器 B 生成 ARP 回复。

    ARP 数据包的内容如下所示:

    • VLAN ID = VLAN 10

    • 源 MAC = MACB(服务器 B 接口 MAC)

    • 目标 MAC = MACA

    • 源 IP 地址 = 服务器 B 的 IP 地址或 VM IP 地址

    • 目标 IP 地址 = 服务器 A 的 IP 地址

    ARP 数据包转发至交换机 TOR B。

  2. 9—接收帧后,交换机 TOR B 对传入帧进行分类。该帧被归类为接收接口上的 IFL。根据 IFL 系列,标识与 IFL 关联的网桥域。在给定的网桥域中,TOR B 学习源 MAC 地址。一旦 TOR B 完成桥接域目标 MAC (MACA) 查找,此查找将提供 VXLAN 单播下一跃点。下一跃点包含形成 VXLAN 报头所需的所有信息。

    形成数据包所需的下一跃点的内容如下:

    • 源 MAC 地址 = 源 IP 地址接口的 MAC 地址

    • 目标 MAC 地址 = 下一跃点的 MAC 地址

    • 源 IP 地址 = 11.10.10.2

    • 目标 IP 地址 = 11.10.10.1(由于 MAC 学习过程)

    • 源 UDP 端口 = 根据传入帧标头上的哈希计算

    • 目标 UDP 端口 = 4789(VXLAN 隧道的已知端口)

      注意:

      VXLAN 草案的早期版本使用 8472 作为 UDP 端口。

  3. 10— 路由器 PE 接收 VXLAN 封装的帧 4。PE4 通过使用目标 IP 地址和目标 UDP 端口完成查找来识别帧。此查找将导致 VXLAN 解封装。解封装下一跃点也会存储外部源 IP 地址。

    下一个查找基于 VNI ID 1000 执行。此查找结果将进入新域表。

  4. 10A—路由器 PE 完成源 MAC 到源 IP 地址学习,L2ALD 接收 MAC 学习通知。此 MAC 会发送至 RPD,通过 BGP-EVPN MAC 播发路由分发到其他 PE 路由器。BGP 控制平面将此 MAC 可访问性信息分发到所有其他 PE 路由器。

    目标 MAC (MAC1) 查找在桥接域 MAC 地址表中完成。此查找结果为单播下一跃点 (EVPN NH)。

  5. 11- 执行 EVPN 单播下一跃点。下一跃点包含单播 MPLS 服务标签。此标签通过 MP-BGP 控制平面分发。下游对等方分配此 MPLS 服务标签。此标签的分配基于 PE (PE、VLAN) 或 MAC 地址。根据下一跃点中的信息,MPLS 数据包在 MPLS 网络上形成并转发。

  6. 12-路由器 PE2 接收帧。该帧被识别为 MPLS 数据包。在 MPLS.0 表中完成 MPLS 标签查找。此查找结果为表格的下一跃点和桥接域表。

    目标 MAC (MAC1) 查找在网桥域 MAC 表中完成。此查找会产生 VXLAN 单播下一跃点。

  7. 13— VXLAN 单播下一跃点包含用于构建 VXLAN 封装标头的所有信息。VXLAN 报头强加于数据包上。

    VXLAN 封装下一跃点标头的内容如下所示:

    • 源 MAC 地址 = 源 IP 地址接口的 MAC 地址

    • 目标 MAC 地址 = 下一跃点的 MAC 地址

    • 源 IP 地址 = 10.10.10.2

    • 目标 IP 地址 = 10.10.10.1(由于 MAC 学习过程)

    • 源 UDP 端口 = 根据传入帧标头上的哈希计算

    • 目标 UDP 端口 = 4789(VXLAN 隧道的已知端口)

  8. 14—交换机 TOR A 接收 VXLAN 封装帧。TOR A 使用目标 IP 地址和目标 UDP 端口执行查找,以识别该帧。此查找将导致 VXLAN 解封装。解封装的下一跃点也会存储外部源 IP 地址。

    下一个查找基于 VNI ID 1000 执行。此查找结果将进入新域表。TOR A 完成了源 MAC (MAC2) 到源 IP 地址 (10.10.10.2) 学习。TOR A 在网桥域 MAC 地址表中查找目标 MAC (MAC1)。此查找结果为单播下一跃点,其中包含有关出口接口的信息。

  9. 15-服务器 A 接收 ARP 回复,服务器 A 和服务器 B 已准备好进行通信。

适用于 DCI 的 VXLAN-EVPN 集成实施概述

以下部分提供 DCI VXLAN-EVPN 集成的用例。

VNI 基本服务用例

对于 VNI 基本服务,VNI 和 EVI 之间有一对一映射。在这种情况下,无需在 MAC 播发路由中携带 VNI,因为网桥域 ID 可以从与此路由关联的路由目标 (RT) 派生。MPLS 标签分配按 EVI 进行。

图 7 概述了 VNI 基本用例。VNI 基本服务通常用于实现 VNI 转换和 VNI 到 VLAN 互连。

图 7:VNI 基本服务 VNI Base Service

VNI 感知服务用例

如果采用 VNI 感知捆绑模式,则可以将多个 VNI 映射到同一 EVI。以太网标记 ID 必须设置为 BGP 路由播发中的 VNI ID。此用例中的 MPLS 标签分配应基于 EVI、VNI 进行,以便可以在入口 PE 路由器上终止 VXLAN,并在出口 PE 路由器上重新创建。

图 8 提供了 VNI 感知服务用例的详细信息。

图 8:VNI 感知服务 VNI Aware Service

VXLAN-VLAN 互连用例

此用例场景是异构数据中心站点所必需的。在这种情况下,新的数据中心站点是基于 VXLAN 的数据中心站点,而旧数据中心站点基于 VLAN。在这种情况下,需要 VXLAN 与 EVPN 上的 VLAN 互连。

图 9 提供了 VXLAN-VLAN 互连用例的详细数据包演练。需要将 VLAN 与 VXLAN 互连,从控制平面 BGP 路由更新的角度来看,反之亦然。标签分配需要按 EVI 进行。

图 9:VXLAN-VLAN 互连 VXLAN-VLAN Interworking

VXLAN 间路由用例

在此用例中,一个子网 (VNI-A) 中的虚拟机或主机希望将流量发送到不同子网 (VNI-B) 中的虚拟机或主机。为了提供这种通信,应支持 VXLAN 间路由。

图 10 提供了 VXLAN 间路由用例的用例。

图 10:VXLAN 间路由 Inter-VXLAN Routing

冗余用例

这两种类型的冗余用例包括主动-备用和主动-主动。

主动-备用冗余用例

在此用例场景中,TOR 交换机(源自 GW 的 VXLAN)或发起 VXLAN 隧道的 VXLAN 网络会双宿主到两个 PE 设备,以实现主动备用冗余。如果活动链路或节点发生故障,备份路径将接管。

图 11 提供了主动-备用冗余用例场景的详细信息。

图 11:主动-备用冗余 Active-Standby Redundancy

主动-主动冗余用例

当使用 QFX 系列平台上的网关模型将数据中心的 EVPN VXLAN 与 WAN 中的 EVPN-VXLAN 互连时,您可以在多宿主客户边缘设备上配置主动-主动冗余模式,以允许第 2 层单播流量跨 CE 设备上的所有多宿主链路实现负载均衡。

interconnect-multihoming-peer-gateway MAC-VRF 和 VTEP 扩展配置需要设置 CLI 命令。请注意,在某些情况下,EVPN-VXLAN 仅在 VTEP 扩展模式下受支持,在此模式下,为给定的对等设备创建一个 VTEP,该设备可能具有多个路由实例。在这种情况下,只能将对等方设备表示为 WAN 对等方 (WAN VTEP) 或 DC VTEP(普通 VTEP)。

对于主动-主动冗余,需要在“互连”区域进行其他配置,以启用 DCI 互连。 default switch (switch-options) 对于配置,请务必在下 global protocols evpn设置 DCI。

协议 EVPN 示例:

注意: interconnect-multihoming-peer-gateways 应配置为包含同一 DC 上所有 DCI 对等方的列表。

此列表最多可包含 64 个对等网关条目。请务必在节下 global protocol evpn 而非任何 mac-vrf 设置下进行配置。

示例:主动-主动多宿主 提供了主动-主动冗余的详细信息。

使用 EVPN 的 VXLAN DCI 支持和不支持的功能

Junos OS 支持使用 EVPN 的 VXLAN DCI 的以下功能:

  • VXLAN 隧道和 EVPN 实例的一对一映射。换句话说,VNI 和 EVI 之间的一对一映射。

  • 通过一个 EVPN 实例对 VXLAN 隧道进行多对一映射,其中多个 VVI 可以映射到同一 EVI。

  • VNI 转换。

    注意:

    通过将 VXLAN 标记正态化为 VLAN,支持 VNI 转换。

  • VXLAN 到 VLAN 互连。

  • VXLAN 间路由。

  • 单一主动冗余。

  • PIM BIDIR 模式中的主动-主动冗余。

  • 使用 IPSec 的 VXLAN 隧道流量保护。

  • 平滑路由引擎切换。

  • ISSU。

Junos OS 不支持使用 EVPN 的 VXLAN DCI 的以下功能:

  • VXLAN 使用 IANA 分配的 UDP 端口 4789。仅当启用了 VXLAN 配置时,才会处理发往 UDP 端口 4789 的数据包。VXLAN 数据包由转发平面解封装,并处理内部第 2 层数据包。为新学习的 MAC 条目的控制平面处理生成 MAC 学习数据包。这些条目会使用现有基础架构进行 MAC 学习,从而限制这些条目。VXLAN 可为远程端点生成附加学习消息。这些消息也会使用现有的拒绝服务检测基础架构进行限制。

  • 只有当数据包中的 VXLAN 标识符是设备的已知实体时,才会处理 VXLAN 隧道上收到的数据包。未知实体会被转发平面丢弃。

  • 使用可配置的防火墙过滤器在到达 MX 系列路由器转发平面中的 VXLAN 处理模块之前会被丢弃。

  • 逻辑系统。

版本历史记录表
释放
描述
16.1
从 Junos OS 16.1 版开始,以太网 VPN (EVPN) 技术可用于通过 MPLS/IP 网络互连虚拟可扩展局域网 (VXLAN) 网络,以提供数据中心连接。