带有 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
边界网关协议
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 接口与 EVPN IRB 解决方案中的主实例 inet.0 表相关联,而不是与 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 的数据包,并为网关 IP 完成代理 ARP,并在路由中通告 MAC。
图 1 显示了两个提供商边缘 (PE) 设备(PE1 和 PE2)之间的子网间流量转发。每个 PE 设备上的 IRB1 和 IRB2 接口属于不同的子网,但它们共享一个公共 VRF。
![Inter-Subnet Traffic Forwarding](/documentation/us/en/software/junos/evpn-vxlan/images/g042213.gif)
子网间流量转发的执行方式如下:
PE2 通告 H3-M3 和 H4-M4 与 PE1 结合。类似地,PE1通告H1-M1和H2-M2与PE2结合。
PE1 和 PE2 将 MAC 地址安装在相应的 EVI MAC 表中,而 IP 路由安装在共享 VRF 中。
播发 PE 设备设置为 IP 路由的下一跃点。
如果 H1 将数据包发送到 H4,则数据包将发送到 PE1 上的 IRB1。
H4 的 IP 查找发生在 PE1 上的共享 VRF 中。由于 H4 IP 的下一跃点是 PE2(播发 PE),因此会将 IP 单播数据包发送到 PE2。
PE1 根据 VRF 路由中的信息重写 MAC 报头,PE2 执行 MAC 查找以将数据包转发到 H4。
实施 EVPN IRB 解决方案的优势
EVPN IRB 解决方案的主要目标是提供最佳的第 2 层和第 3 层转发。需要该解决方案来有效处理子网间转发以及虚拟机 (VM) 移动性。虚拟机移动性是指虚拟机在保留其现有 MAC 和 IP 地址的同时,从相同或不同数据中心内的一台服务器迁移到另一台服务器的能力。为子网间流量和有效的虚拟机移动性提供最佳转发涉及解决两个问题 - 默认网关问题和三角路由问题。
从 Junos OS 17.1R1 版开始,使用 EVPN 的 IRB 接口使用邻居发现协议 (NDP) 支持 IPv6 地址。为 EVPN 提供的 IPv6 支持引入了以下功能:
主路由实例中 IRB 接口上的 IPv6 地址
从请求的 NA 消息中学习 IPv6 邻域
IRB 接口上的 NS 和 NA 数据包已从网络核心中禁用
虚拟网关地址用作第 3 层地址
用于 IPv6 的主机 MAC-IP 同步
您可以在层次结构级别的 IRB 接口 [edit interfaces irb]
中配置 IPv6 地址。
网关 MAC 和 IP 同步
在 EVPN IRB 部署中,虚拟机的 IP 默认网关是在提供商边缘 (PE) 路由器的 IRB 接口上配置的 IP 地址,对应于虚拟机所属的桥接域或 VLAN。出现默认网关问题的原因是,虚拟机在从一台服务器重新定位到另一台服务器时不会刷新其 ARP 表,而是继续发送目标 MAC 地址设置为原始网关地址的数据包。如果新旧服务器不属于同一第 2 层域(新的第 2 层域可能位于当前数据中心或新数据中心内),则先前确定的网关不再是最佳网关或本地网关。新网关需要识别包含远程 PE 路由器上其他网关的 MAC 地址的数据包,并转发流量,就像数据包发往本地网关本身一样。此功能至少要求每个 PE 路由器向网络中的所有其他 PE 路由器播发其网关或 IRB MAC 和 IP 地址。网关地址交换可以使用标准 MAC 路由通告消息(包括 IP 地址参数)并使用默认网关扩展社区标记该路由来完成,以便远程 PE 路由器可以将网关 MAC 通告路由与正常 MAC 通告路由区分开来。
3 层 VPN 互通
EVPN IRB 解决方案的数据中心间方面涉及不同数据中心中的虚拟机之间的路由,或完全位于数据中心环境之外的主机站点与数据中心内的虚拟机之间的路由。此解决方案依靠 EVPN MAC 路由通告的能力来同时传输 MAC 地址和 IP 地址信息。PE 路由器的本地 MAC 学习功能已扩展为还可以捕获与本地获知的 MAC 地址关联的 IP 地址信息。然后,该 IP-MAC 地址映射信息将通过正常的 EVPN 过程分发到每个 PE 路由器。当 PE 路由器收到此类 MAC 和 IP 信息时,它会在 EVPN 实例中安装 MAC 路由,并在与该 EVPN 实例对应的第 3 层 VPN VRF 中安装关联 IP 地址的主机路由。当虚拟机从一个数据中心移动到另一个数据中心时,正常的 EVPN 过程会导致从虚拟机所在的新 PE 路由器通告 MAC 和 IP 地址。安装在与 EVPN 关联的 VRF 中的主机路由会将发往该虚拟机的第 3 层流量请求到新的 PE 路由器,并避免在源、虚拟机所在的前 PE 路由器和新 PE 路由器之间进行三角路由。
BGP 可扩展性是数据中心间三角路由避免解决方案的潜在问题,因为可能会将许多主机路由注入第 3 层 VPN。使用上述方法,在最坏的情况下,通过本地 EVPN MAC 学习过程或从远程 PE 路由器接收的 MAC 通告消息获知的每个 MAC 地址都有一个 IP 主机路由。BGP 路由目标过滤可用于限制此类路由的分布。
要使用第 3 层子网间转发过程实现数据中心间三角路由避免,需要以下功能元素:
源主机使用自己的源 MAC 和 IP 地址发送 IP 数据包,其中包含本地 PE 路由器的 IRB 接口的目标 MAC 和目标主机的 IP 地址。
当 IRB 接口接收到以 MAC 为目标的帧时,它会在与 EVPN 实例关联的 VRF 中执行第 3 层查找,以确定数据包的路由位置。
在 VRF 中,PE 路由器查找从 MAC 派生的第 3 层路由以及之前从远程 PE 路由器接收的 IP EVPN 路由。然后将目标 MAC 地址更改为与目标 IP 对应的目标 MAC 地址。
然后,使用与目标主机所属的 EVPN 实例相对应的标签,将数据包转发到 MPLS 为目标主机提供服务的远程 PE 路由器。
接收数据包的出口 PE 路由器对目标主机的 MAC 执行第 2 层查找,并通过出口 PE 路由器的 IRB 接口将数据包发送到所连接子网上的目标主机。
由于入口 PE 路由器正在执行第 3 层路由,因此 IP TTL 会递减。