Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

示例:使用 IRB 解决方案配置 EVPN

具有 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 功能适用于在 IP/MPLS 网络中运营的服务提供商,该网络提供第 2 层 VPN 或 VPLS 服务以及第 3 层 VPN 服务,并希望扩展其服务,为现有客户提供云计算和存储服务。

实施 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 接口与主实例 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 宣传 H1-M1 和 H2-M2 与 PE2 结合。

  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),因此会向 PE2 发送 IP 单播数据包。

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

实施 EVPN IRB 解决方案的优势

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

从 Junos OS 17.1R1 版开始,使用邻接方发现协议 (NDP) 在具有 EVPN 的 IRB 接口上支持 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 相对应。出现默认网关问题的原因是,在从一台服务器重新定位到另一台服务器时,VM 没有刷新其 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 地址信息。然后,通过正常的 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。使用前面介绍的方法,在最坏的情况下,通过本地 EVPN MAC 学习过程或通过从远程 PE 路由器接收的 MAC 通告消息获知的每个MAC 地址都有一个 IP 主机路由。BGP 路由目标过滤可用于限制此类路由的分布。

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

  1. 源主机使用自己的源 MAC 和 IP 地址、本地 PE 路由器的 IRB 接口的目标 MAC 和目标主机的 IP 地址发送 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 会递减。

示例:使用 IRB 解决方案配置 EVPN-MPLS

此示例说明如何在以太网 VPN (EVPN) 部署中配置集成路由和桥接 (IRB) 解决方案。

要求

此示例使用以下硬件和软件组件:

  • 两个 MX 系列路由平台作为 PE 路由器。

  • 两个客户边缘 (CE) 路由器,每个都连接到 PE 路由器。

  • 在所有 PE 路由器上运行的 Junos OS 14.1 或更高版本。

    • 使用 Junos OS 22.1R1 版进行更新和重新验证。

开始之前:

  1. 配置路由器接口。

  2. 配置 OSPF 或任何其他 IGP 协议。

  3. 配置 BGP。

  4. 配置 RSVP 或 LDP。

  5. 配置 MPLS。

概述

在 EVPN 解决方案中,可以在特定 EVPN 实例中定义多个桥接域,并且一个或多个 EVPN 实例可以与单个第 3 层 VPN VRF 相关联。通常情况下,系统会为每个数据中心租户分配一个唯一的第 3 层 VPN 虚拟路由转发 (VRF),但该租户可以由一个或多个 EVPN 实例或每个 EVPN 实例的桥接域组成。

为了支持这种灵活性和可扩展性因素,EVPN 解决方案为包含 MPC FPC 的 MX 系列路由器上的 IRB 接口提供支持,以促进最佳的第 2 层和第 3 层转发以及虚拟机移动性。IRB 接口配置在每个配置的桥接域上,包括 EVPN 实例的默认桥接域。

IRB 能够在单个节点内进行第 2 层交换和第 3 层路由,从而避免子网间流量产生额外的跃点。EVPN IRB 解决方案使用网关 MAC 和 IP 同步消除了默认网关问题,并通过为租户 VRF 中的虚拟机 (VM) 创建 IP 主机路由,避免了第 3 层互连的三角路由问题。

拓扑学

图 2 展示了带有 IRB 解决方案的简单 EVPN 拓扑。路由器 PE1 和 PE2 是提供商边缘路由器,分别连接到两台客户边缘 (CE) 路由器(CE1 和 CE2)。

图 2:带有 IRB 解决方案的 EVPN with IRB Solution EVPN

配置

程序

CLI 快速配置

要快速配置此示例,请复制以下命令,将其粘贴到文本文件中,删除所有换行符,更改详细信息,以便与网络配置匹配,然后将命令复制并粘贴到层 [edit] 级的 CLI 中。

CE1

PE1型

PE2

CE2 认证

分步过程

下面的示例要求您在各个配置层级中进行导航。有关导航 CLI 的信息,请参阅 在配置模式下使用 CLI 编辑器

要配置 PE1,请执行以下操作:

注意:

在修改相应的接口名称、地址和其他参数后,对 PE2 重复此过程。

  1. 在 PE1 上配置接口。

  2. 设置 PE1 的路由器 ID 和自治系统编号。

  3. 为 EVPN 配置链式复合下一跃点。

  4. 在 PE1 的所有接口(管理接口除外)上启用 RSVP。

  5. 在 PE1 的所有接口上启用 MPLS,管理接口除外。创建从 PE1 到 PE2 的标签交换路径。

  6. 在 PE1 上为 IBGP 配置 BGP 组。使用环路地址为 PE1 分配本地地址和邻居地址,以便与 PE2 对等。包括系列 inet-vpn unicastevpn signaling 网络层可达性信息 (NLRI)。

  7. 在 PE1 的所有接口上配置 OSPF,管理接口除外。为 OSPF 启用流量工程。对于以 OSPF 作为 IGP 的 RSVP 信号 LSP,必须启用流量工程才能启动 LSP。

  8. 配置 EVPN 路由实例。配置 VLAN 标识符、连接到 CE1 的接口、作为路由接口的 IRB 接口、路由识别符以及 EVPNA 路由实例的 VRF 目标。

  9. 配置 VRF 路由实例。为 VRF 路由实例配置 IRB 接口、路由识别符、VRF 目标和 VRF 表标签。

结果

在配置模式下,输入show interfacesshow routing-optionsshow protocols、和show routing-instances命令,以确认您的配置。如果输出未显示预期的配置,请重复此示例中的说明以更正配置。

验证

确认配置工作正常。

验证本地 IRB MAC

目的

验证是否从 L2ALD 中学习了本地 IRB MAC。

行动

在 PE1 上,确定本地 IRB 接口的 MAC 地址。

在操作模式下,运行 show interfaces irb extensive | match "Current address" 命令。

在操作模式下,运行 show route table evpna.evpn.0 extensive | find 2c:6b:f5:1b:46:f0 命令。

意义

本地 IRB 接口的路由显示在 PE1 上的 EVPN 实例路由表中,该路由表可从 EVPN 中学习,并使用默认网关扩展社区进行标记。

验证远程 IRB MAC

目的

验证是否已从 BGP 中获知远程 IRB MAC。

行动

在 PE2 上,验证是否已学习来自 PE1 的远程 IRB MAC。

在操作模式下,运行在 PE1 上运行的相同 show route table evpna.evpn.0 extensive | find 2c:6b:f5:1b:46:f0 命令。

意义

远程 IRB 接口的路由显示在 PE2 上的 EVPN 实例路由表中。路由是从 BGP 中获知的,并使用默认网关扩展社区进行标记。

验证本地 IRB IP

目的

验证 RPD 是否在本地学习本地 IRB IP。

行动

在 PE1 上,确定本地 IRB 接口的 MAC 和 IP 地址。

在操作模式下,运行 show interfaces irb extensive | match "Current address" 命令。

在操作模式下,运行 show interfaces irb.0 terse | match inet 命令。

在操作模式下,运行 show route table evpna.evpn.0 extensive | find "a8:d0:e5:54:0d:10::10.0.0.251" 命令。

意义

本地 IRB 接口的 MAC 加 IP 路由将显示在 PE1 上的 EVPN 实例路由表中,该路由可从 EVPN 中学习并使用默认网关扩展社区进行标记。

验证远程 IRB IP

目的

验证是否已从 BGP 中获知远程 IRB IP。

行动

在路由器 PE2 上,验证是否已学习来自 PE1 的远程 IRB MAC。

在操作模式下,运行在 PE1 上运行的相同 show route table evpna.evpn.0 extensive | find 2c:6b:f5:1b:46:f0::172.16.11.254 命令。

意义

远程 IRB 接口的 MAC 加 IP 路由将显示在 PE2 上的 EVPN 实例路由表中,并使用默认网关扩展社区进行标记。

验证 CE-CE 可达性

目的

验证 CE1 是否可以 ping CE2。

行动

在操作模式下,对 CE1 执行 show route 172.16.22.1 命令,对 CE2 执行 ping 命令。

在操作模式下,对 CE1 执行 ping 命令,对 CE2 执行 ping 命令。

意义

从 CE1 到 CE2 的 Ping 成功。

验证 CE-PE 可达性

目的

验证 CE1 是否可以 ping PE2。

行动

在操作模式下,对 PE2 运行 show route table vrf.inet.0 命令。

在操作模式下,在 CE1 上运行 ping 命令以对 PE2 上的 IRB 接口执行 ping 操作。

意义

从 CE1 到 PE2 的 Ping 成功。

验证 PE-PE 可达性

目的

验证 PE1 是否可以 ping PE2。

行动

在操作模式下,对 PE1 运行 show route table vrf.inet.0 命令。

在操作模式下,从 PE1 运行 ping 命令以对 PE2 上的 IRB 接口执行 ping 操作。

意义

从 PE1 到 PE2 的 Ping 成功。