Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

带 IRB 的 EVPN 解决方案概述

数据中心服务提供商 (DCSP) 在公共物理网络上为其多个客户托管数据中心。对于每个客户(也称为租户)来说,这项服务就像一个功能齐全的数据中心,可以扩展到 4094 个 VLAN 和所有专用子网。为了实现灾难恢复、高可用性和资源利用率优化,DCSP 通常需要跨数据中心跨越到多个站点。部署数据中心服务时,DCSP 面临以下主要挑战:

  • 将第 2 层域扩展到多个数据中心站点。这需要优化的子网内流量转发。

  • 在发生虚拟机 (VM) 时支持最佳的子网间流量转发和最佳路由。

  • 支持具有独立 VLAN 和子网空间的多个租户。

以太网 VPN (EVPN) 旨在应对上述所有挑战,其中包括:

  • 基本的 EVPN 功能实现了最佳的子网内流量转发

  • 在 EVPN 部署中实施集成路由和桥接 (IRB) 解决方案,可实现最佳的子网间流量转发

  • 配置具有虚拟交换机支持的 EVPN 可让多个租户拥有独立的 VLAN 和子网空间

以下部分介绍了用于 EVPN 的 IRB 解决方案:

需要 EVPN IRB 解决方案

EVPN 是一种技术,用于通过 IP/MPLS 核心网络到属于单个第 2 层域的不同物理站点提供第 2 层扩展和互连。在使用 EVPN 的数据中心环境中,需要进行第 2 层(子网内流量)和第 3 层(子网间流量)转发,并可能与租户第 3 层 VPN 进行互作。

如果仅使用第 2 层解决方案,就无法实现子网间流量的最佳转发,即使流量是本地流量(例如,当两个子网位于同一服务器上时)。

仅使用第 3 层解决方案时,子网内流量可能会出现以下问题:

  • 未检测到重复 MAC 地址的 MAC 地址混叠问题。

  • 使用 TTL 1 将流量限制在子网中的应用程序的 TTL 问题。

  • 依赖于 2 层连接的 IPv6 链路本地寻址和重复地址检测。

  • 第 3 层转发不支持子网广播的转发语义。

  • 支持需要第 2 层转发的非 IP 应用。

由于纯第 2 层和第 3 层解决方案存在上述缺点,因此当面临第 3 层 VPN 互作性和虚拟机 (VM) 移动性等作考虑因素时,需要一种解决方案能在数据中心环境中实现第 2 层和第 3 层流量的最佳转发。

基于 EVPN 的集成路由和桥接 (IRB) 解决方案为数据中心内和跨数据中心的子网内和子网间提供最佳的单播和组播转发。

EVPN IRB 功能对于在提供第 2 层 VPN 或 VPLS 服务以及第 3 层 VPN 服务的 IP/MPLS 网络中运行的服务提供商非常有用,这些服务提供商希望扩展其服务,以便为现有客户提供云计算和存储服务。

实施 EVPN IRB 解决方案

EVPN IRB 解决方案可提供以下功能:

  • 子网内(第 2 层)流量的最佳转发。

  • 子网间(第 3 层)流量的最佳转发。

  • 支持组播流量的入口复制。

  • 支持基于网络和基于主机的叠加模型。

  • 支持对第 2 层和第 3 层流量进行一致的基于策略的转发。

  • IRB 接口上支持以下路由协议:

    • BFD

    • BGP

    • IS-IS

    • OSPF 和 OSPF 版本 3

  • 支持单主动和全主动多宿主

Junos OS 支持多种 EVPN 配置模式,可以满足 EVPN 和数据中心云服务客户的个性化需求。为了提供灵活性和可扩展性,可以在特定 EVPN 实例中定义多个网桥域。同样,一个或多个 EVPN 实例可以与单个第 3 层 VPN 虚拟路由和转发 (VRF) 相关联。通常,每个数据中心租户都会分配一个唯一的第 3 层 VPN VRF,而租户可以包含一个或多个 EVPN 实例,以及每个 EVPN 实例的一个或多个网桥域。为了支持此模型,每个配置的网桥域(包括 EVPN 实例的默认网桥域)都需要一个 IRB 接口来执行第 2 层和第 3 层功能。每个网桥域或 IRB 接口都映射到 VRF 中的唯一 IP 子网。

注意:

您可以将 IRB 接口与主实例 inet.0 表相关联,而非 EVPN IRB 解决方案中的 VRF。

EVPN 中的 IRB 支持两个主要功能。

  • 主机 MAC-IP 同步

    其中包括:

    • 在 EVPN 中播发 IP 地址以及 MAC 播发路由。这是通过使用 EVPN MAC 播发路由中的 IP 字段来完成的。

    • 接收 PE 路由器将 MAC 安装到 EVPN 实例 (EVI) 表中,并将 IP 安装到关联的 VRF 中。

  • 网关 MAC-IP 同步

    其中包括:

    • 在 EVPN 中播发所有本地 IRB、MAC 和 IP 地址。这是通过在 EVPN MAC 播发路由中包含默认网关扩展社区来实现的。

    • 接收 PE 创建转发状态以路由发往网关 MAC 的数据包,并在路由中播发 MAC 为网关 IP 执行代理 ARP。

图 1 展示了两个提供商边缘 (PE) 设备 PE1 和 PE2 之间的子网间流量转发。每个 PE 设备上的 IRB1 和 IRB2 接口属于不同的子网,但它们共享一个公共 VRF。

图 1:子网间流量转发 Inter-Subnet Traffic Forwarding

子网间流量转发的执行方式如下:

  1. PE2 将 H3-M3 和 H4-M4 绑定播发到 PE1。同样,PE1 播发与 PE2 的 H1-M1 和 H2-M2 绑定。

  2. PE1 和 PE2 将 MAC 地址安装在相应的 EVI MAC 表中,而 IP 路由则安装在共享 VRF 中。

  3. 播发 PE 设备被设置为 IP 路由的下一跃点。

  4. 如果 H1 向 H4 发送数据包,则数据包将发送至 PE1 上的 IRB1。

  5. H4 的 IP 查找在 PE1 上的共享 VRF 中进行。由于 H4 IP 的下一跃点是 PE2(播发 PE),因此 IP 单播数据包将发送至 PE2。

  6. PE1 根据 VRF 路由中的信息重写 MAC 报头,PE2 执行 MAC 查找以将数据包转发给 H4。

实施 EVPN IRB 解决方案的优势

EVPN IRB 解决方案的主要目标是提供最佳的第 2 层和第 3 层转发。需要该解决方案来有效地处理子网间转发以及虚拟机 (VM) 移动性。虚拟机移动性是指虚拟机能够在同一或不同的数据中心内从一台服务器迁移到另一台服务器,同时保留其现有的 MAC 和 IP 地址。为子网间流量提供最佳转发和有效的虚拟机移动性涉及解决两个问题:默认网关问题和三角路由问题。

使用邻接方发现协议 (NDP) 通过 EVPN 的 IRB 接口支持 IPv6 地址。为了通过 EVPN 支持 IPv6,引入了以下功能:

  • 主路由实例中 IRB 接口上的 IPv6 地址

  • 从请求的 NA 消息中学习 IPv6 邻域

  • IRB 接口上的 NS 和 NA 数据包已从网络核心禁用

  • 虚拟网关地址用作第 3 层地址

  • 主机 IPv6 的 MAC-IP 同步

您可以在层次结构级别的 [edit interfaces irb] IRB 接口中配置 IPv6 地址。

网关 MAC 和 IP 同步

在 EVPN IRB 部署中,虚拟机的 IP 默认网关是在提供商边缘 (PE) 路由器的 IRB 接口上配置的 IP 地址,该接口与虚拟机所属的桥接域或 VLAN 相对应。出现默认网关问题的原因是,虚拟机在从一台服务器重定位到另一台服务器时不会刷新其 ARP 表,并继续发送目标 MAC 地址设置为原始网关的数据包。如果新旧服务器不属于同一个第 2 层域(新的第 2 层域可能位于当前数据中心或新数据中心内),则之前识别的网关不再是最佳网关或本地网关。新网关需要识别包含远程 PE 路由器上其他网关 MAC 地址的数据包,并转发流量,就好像数据包的发往本地网关本身一样。此功能至少要求每个 PE 路由器将其网关或 IRB MAC 和 IP 地址播发到网络中的所有其他 PE 路由器。可以使用标准 MAC 路由播发消息(包括 IP 地址参数)并使用默认网关扩展社区标记该路由来完成网关地址交换,以便远程 PE 路由器可以将网关 MAC 播发路由与普通 MAC 播发路由区分开来。

注意:

我们要求您在每个 EVPN 路由实例的层次结构级别配置[edit routing-instances EVPN-instance-name protocols evpn default-gateway]no-gateway-community选项,在其中配置具有虚拟网关地址的 IRB 接口。

在支持no-gateway-community在全局级别配置该选项的平台上,您也可以在层次结构级别进行[edit protocols evpn default-gateway]配置no-gateway-community

有关使用该no-gateway-community选项的详细信息,请参阅 default-gateway

3 层 VPN 互连

EVPN IRB 解决方案的数据中心间涉及位于不同数据中心的虚拟机之间的路由,或者完全在数据中心环境之外的主机站点与数据中心内的虚拟机之间的路由。此解决方案依靠 EVPN MAC 路由播发同时携带 MAC 地址和 IP 地址信息的能力。PE 路由器的本地 MAC 学习功能得到扩展,还可以捕获与在本地学习的 MAC 地址相关联的 IP 地址信息。然后,通过正常的 EVPN 过程将该 IP-MAC 地址映射信息分发到每个 PE 路由器。当 PE 路由器收到此类 MAC 和 IP 信息时,它会在 EVPN 实例中安装 MAC 路由,并在与该 EVPN 实例对应的第 3 层 VPN VRF 中安装关联 IP 地址的主机路由。当虚拟机从一个数据中心移动到另一个数据中心时,正常的 EVPN 过程将导致从虚拟机所在的新 PE 路由器播发 MAC 和 IP 地址。安装在与 EVPN 关联的 VRF 中的主机路由将发往该虚拟机的第 3 层流量请求到新的 PE 路由器,并避免在源、虚拟机所在的原 PE 路由器和新 PE 路由器之间进行三角路由。

BGP 可扩展性是数据中心间三角路由避免解决方案的一个潜在问题,因为许多主机路由可能会注入第 3 层 VPN。使用前面描述的方法,在最坏的情况下,每个 MAC 地址都有一个 IP 主机路由,这些地址是通过本地 EVPN MAC 学习过程或通过从远程 PE 路由器接收的 MAC 播发消息获知的。BGP路由目标过滤可用于限制此类路由的分布。

要使用第 3 层子网间转发过程实现数据中心间三角路由避免,需要具备以下功能元素:

  1. 源主机使用自己的源 MAC 和 IP 地址发送 IP 数据包,其中包含本地 PE 路由器 IRB 接口的目标 MAC 和目标主机的 IP 地址。

  2. 当 IRB 接口收到以其 MAC 作为目标的帧时,它会在与 EVPN 实例关联的 VRF 中执行第 3 层查找,以确定数据包的路由位置。

  3. 在 VRF 中,PE 路由器可查找从 MAC 派生的第 3 层路由以及之前从远程 PE 路由器接收的 IP EVPN 路由。然后,目标 MAC 地址将更改为与目标 IP 对应的目标 MAC 地址。

  4. 然后,数据包会使用 MPLS 转发至为目标主机提供服务的远程 PE 路由器,该标签与目标主机所属的 EVPN 实例相对应。

  5. 接收数据包的出口 PE 路由器对目标主机的 MAC 执行第 2 层查找,并通过出口 PE 路由器的 IRB 接口将数据包发送到连接的子网上的目的主机。

  6. 由于入口 PE 路由器正在执行第 3 层路由,因此 IP TTL 会递减。