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 系列路由器通过 VXLAN 隧道将第 2 层或第 3 层数据包推送至虚拟化数据中心或互联网。在两个虚拟隧道端点 (VTEP) 之间建立通信,这些端点可以是终端主机或网络交换机或路由器,用于将虚拟机 (VM) 流量封装到一个 VXLAN 标头中。

VXLAN 通常被描述为叠加技术,因为它允许您在包含 IP 地址的 VXLAN 数据包中封装(隧道)以太网帧,从而通过中间第 3 层网络扩展第 2 层连接。VXLAN 的这一功能可满足多租户数据中心的要求,其中每个租户的虚拟机都可与分布在不同数据中心内或不同数据中心内物理服务器上的其他租户共享物理服务器,从而满足在租户拥有的所有虚拟机之间提供无缝第 2 层连接的需求,同时隔离每个租户的流量以实现安全和潜在的 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 层域之间提供虚拟多点桥接连接。与 IPVPN 和 VPLS 等其他 VPN 技术类似,在 PE 路由器上配置了 EVPN 实例 (EVI),以保持客户之间的逻辑服务分离。这些 PE 连接到可是路由器、交换机或主机的 CE 设备。然后,PE 路由器使用多协议 BGP (MP-BGP) 交换可访问性信息,并在 PES 之间转发封装流量。由于该架构元素与其他 VPN 技术通用,因此可以无缝引入 EVPN 并集成到现有服务环境中。

图 2:EVPN 概述 EVPN Overview

EVPN 技术通过添加扩展控制平面过程来交换参与的数据中心边界路由器 (DCBR) 之间的第 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 控制平面允许实时虚拟机从一个数据中心动态移动到另一个数据中心,也称为 VM 运动。将虚拟机移至目标服务器/虚拟机管理程序之后,它将传输免费 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 解决方案不同,VPLS 通过在数据平面中泛洪未知单播来学习。这种基于控制平面的 MAC 学习方法是 EVPN 提供的许多有用功能的关键推动因素。

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

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

尽管有各种 DCI 技术可用,但 EVPN 具有比其他 MPLS 技术更多的优势,因为它具有独特的功能,如主动主动冗余、混叠和大规模 MAC 退出。因此,为了提供 DCI 解决方案,VXLAN 与 EVPN 集成。

每个 VXLAN 网络都连接到 MPLS 或 IP 核心,运行 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—启动时,Server A 希望将流量发送到 Server B。由于 Server A 在其 ARP 表中没有对服务器 B 的 ARP 绑定,服务器 A 会构建 ARP 广播请求并发送。

    ARP 数据包的内容如下:

    • VLAN ID = VLAN 10

    • 源 MAC= MAC1

    • 目标 MAC = 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 是 VXLAN VTEP for VNI 1000 的发起方和终端。VXLAN 1000 的 VTEP 是服务器 A VLAN 10 的广播域的一部分。

    接收帧后,TOR A 执行入口处理,包括入口数据包分类。TOR A 基于数据包中的传入 VLAN,将数据包分类为给定端口下的 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.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 的 MAC 学习完成到外部源 IP 地址(MACA 到 10.10.10.10.1 映射)。完成映射后,VXLAN 标头由 VDNH 卸下。

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

  5. 3— 给定的桥接域点到组播下一跳跃路由,用于在 EVPN 云上转发数据包。下一跳跃推送服务标签(与每个对等方 ID 的 VNI 关联的组播 MPLS 标签、桥接域、标签为每个对等方 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.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 学习都已发生,则处理来自 Server B 的 VXLAN 到 EVPN 单播流量(ARP 回复):处理方式如下:

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

    ARP 数据包的内容如下:

    • VLAN ID = VLAN 10

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

    • 目标 MAC = MACA

    • 源 IP 地址 = 服务器 B 或 VM IP 地址的 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.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 标签查找在 MPLS.0 表中完成。此查找结果在下一跳跃表和桥接域表中。

    目标 MAC (MAC1) 查找在桥接域 MAC 表中完成。此查找结果为下一跳跃为 VXLAN 单播。

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

    VXLAN 封装下一跳跃标头的内容如下:

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

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

    • 源 IP 地址 = 10.10.10.2

    • 目标 IP 地址 = 10.10.10.10.1(MAC 学习过程的结果)

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

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

  8. 14—VXLAN 封装帧由交换机 TOR A 接收。 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 Aware 服务用例

对于 VNI 感知束模式,有多个 VNI 可以映射到同一 EVI。以太网标记 ID 必须设置为 BGP 路由广告中的 VNI ID。此用例中的 MPLS 标签分配应根据 EVI、VNI 基础进行,以便 VXLAN 可以在入口 PE 路由器上终止,并在出口 PE 路由器上重新创建。

图 8 提供有关 VNI Aware 服务用例的详细信息。

图 8:VNI Aware 服务 VNI Aware Service

VXLAN-VLAN 互通用例

异构数据中心站点需要这种用例情景。在这种情况下,新数据中心站点是基于 VXLAN 的数据中心站点,而旧的数据中心站点则基于 VLAN。在这种情况下,需要通过 EVPN 与 VLAN 进行 VXLAN 互操作。

图 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

冗余用例

两种类型的冗余用例场景包括 Active-Standby 和 Active-Active。

主动备用冗余用例

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

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

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

主动-主动冗余用例

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

interconnect-multihoming-peer-gateway设置 MAC-VRF 和 VTEP-Scaling 配置需要设置 CLI 命令。请注意,在某些情况下,仅在 VTEP 扩展模式下支持 EVPN-VXLAN,其中为可能具有多个路由实例的给定对等设备创建了一个 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 隧道的多对一映射,其中可将多个 VNIS 映射到同一 EVI。

  • VNI 转换。

    注意:

    VNI 转换通过将 VXLAN 标记规范化到 VLAN 来提供支持。

  • 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) 网络,以提供数据中心连接。