从 BGP VPLS 迁移到 EVPN 概述
对于同时使用 BGP VPLS 和 EVPN 网络的服务提供商,有必要将这些网络互连。在 Junos OS 18.1 版之前,已用于此目的的 VPLS 和 EVPN 路由实例互连点上的逻辑隧道接口。在这种情况下,每个网络中的 PE 设备都不知道其他技术网络中的 PE 设备。从 Junos OS 18.1 版开始,我们引入了一种解决方案,用于为每个 VPN 路由实例逐站点实现从 BGP VPLS 到 EVPN 的分阶段迁移。在此解决方案中,为同一 VPN 路由实例和单宿主分段运行 EVPN 和 VPLS 的 PE 设备可以共存。该解决方案支持用于 EVPN PE 的多宿主网络和多宿主设备的单主动冗余。使用单主动冗余,只要 EVPN PE 采用单主动冗余,参与者 VPN 实例可以跨越 EVPN PES 和 VPLS PES。
对于从 BGP VPLS 迁移,当启用家族 EVPN 承载 EVPN NLR 时,您应该会丢失一些流量。将路由实例迁移到 EVPN 的损失应降至最低。
以下部分介绍了从 BGP VPLS 到 EVPN 的迁移:
技术概述和优势
VPLS 是基于以太网的点到多点 2 层 VPN。该技术允许您通过 MPLS 主干网将地理位置分散的数据中心 LAN 相互连接,同时保持第 2 层连接。VPLS 标准中定义的高可用性功能(如 LER 双宿主)和使用 BGP 信令的拓扑自动发现功能使 VPLS 具有可扩展性且易于部署。由于 VPLS 使用 MPLS 作为其核心,它在 MPLS 网络中提供低延迟变化和有统计限制的低融合时间。
另一方面,EVPN 是一种第 2 层和第 3 层 VPN 组合解决方案,与当前技术相比,其可扩展性、弹性和效率更高。它提供多种优势,包括为服务提供商和企业提供更高的网络效率、可靠性、可扩展性、虚拟机 (VM) 移动性和策略控制。
尽管 VPLS 是一种广泛部署的第 2 层 VPN 技术,但服务提供商网络会由于扩展优势和部署便利性而迁移到 EVPN。EVPN 的一些优势包括:
控制平面流量随 BGP 一起分布,广播和组播流量使用共享组播树或入口复制发送。
控制平面学习用于 MAC 和 IP 地址,而非数据平面学习。MAC 地址学习需要未知单播和 ARP 帧泛滥;而 IP 地址学习不需要任何泛洪。
路由反射器用于将 PE 设备之间的 BGP 会话全网状缩减为 PE 和路由反射器之间的单个 BGP 会话。
使用 BGP 的自动发现可用于发现参与给定 VPN 的 PE 设备、参与给定冗余组的 PE 设备、隧道封装类型、组播隧道类型、组播成员等。
使用全主动多宿主。这允许给定 CE 设备具有到多个 PE 设备的多个链路,而往返该 CE 的流量将充分利用所有这些链路(以太网分段)。
当 CE 设备与 PE 设备之间的链路发生故障时,该 EVPN 实例 (EVI) 的 PE 设备将随着单个 EVPN 路由的撤销而收到故障通知。这使这些 PE 开发人员可以作为与失败链路关联的每个 MAC 地址的下一跃点移除正在提取的 PE 设备(批量撤销)。
BGP VPLS 到 EVPN 迁移
一些服务提供商希望保留其在 VPLS 上的投资。因此需要将旧的 VPLS 网络连接到运行 EVPN 的新网络。为此,使用了 VPLS 和 EVPN 路由实例互连点上的逻辑隧道接口。但是,所有其他 PE 设备都属于 VPLS 网络或 EVPN 网络,并且不知道其他技术。
从 Junos OS 18.1 版开始,EVPN 可以分阶段引入现有 BGP VPLS 网络,而对 VPLS 服务的影响微乎其微。在 BGP VPLS PE 设备上,部分客户可能会转移到 EVPN,而其他客户继续使用 VPLS 伪线。其他 PE 设备可能完全是 VPLS,并将其他 PE 上的客户切换到 EVPN。
从 BGP VPLS 无缝迁移到 EVPN 解决方案支持以下功能:
允许针对每个 VPN 实例逐个站点分阶段迁移至 EVPN。例如,将在 EVPN PE 设备上配置的新 EVPN 站点。
允许同时为同一 VPN 实例和单宿主分段运行 EVPN 和 VPLS 的 PE 设备共存。
在 BGP VPLS 到 EVPN 的迁移中,一些客户已迁移到 EVPN,而其他客户则使用 VPLS 提供服务的 PE 设备称为超级 PE。当超级 PE 设备在路由实例中发现其他超级 PE 设备时,它们会使用 EVPN 转发与其他超级 PE 设备通信,并将 VPLS 伪线连接到运行 VPLS 的 PE 设备。没有 EVPN 感知功能且仅为所有客户运行 VPLS 的 PE 设备称为 VPLS PE。
连接到超级 PE 的 CE 设备可以访问连接到仅 EVPN PE 设备的 CE 设备和连接到仅 VPLS 的 PE 设备的 CE 设备。连接到仅 EVPN PE 设备的 CE 设备无法访问连接到仅支持 VPLS 的 PE 设备的 CE 设备。
由于支持从 BGP VPLS 到 EVPN 的迁移按路由实例进行,并且如果路由实例为 PE 设备上的多个客户提供服务,则所有迁移都一起迁移。EVPN 负责在升级到 EVPN 的 PE 设备之间设置数据转发,而 VPLS 继续设置数据转发至运行 VPLS 的 PE 设备。
BGP VPLS 到 EVPN 迁移不支持以下功能:
从 FEC129 VPLS 迁移到 EVPN。
VPLS 虚拟交换机到 EVPN 虚拟交换机的迁移。
将 VPLS 路由实例迁移到 EVPN 虚拟交换机。
将 VPLS 路由实例或 PBB-VPLS 迁移到 PBB-EVPN。
从 EVPN 无缝迁移回 VPLS。
增强 EVPN 以支持 VPLS 支持的工具或语句和命令集。
无法跨 EVPN 和 VPLS PE 设备实现全活动,因为 VPLS 不支持全活动多宿主功能。
通过超级 PE 设备,将仅限 EVPN 的 PE 设备与仅支持 VPLS 的 PE 设备连接。
IPv6、逻辑系统、多机箱支持和 SNMP,因为它们目前在 EVPN 上不受支持。
EVPN 迁移配置
要执行 BGP VPLS 到 EVPN 迁移,请执行以下操作:
在备份路由引擎上,加载 Junos OS 18.1R1 版。
执行 ISSU 获取主要角色。确保 VPLS ISSU 对 VPLS 转发没有任何影响。
识别需要迁移到 EVPN 的路由实例(客户)。
通过在 BGP 中添加
family evpn
并在signaling
[edit protocols bgp group-session]
层级启用家族 EVPN 信令。注意:添加到
family evpn
BGP 协议将导致删除并重新创建 CE IFL,因此,在完成这一步后,您应该会丢失一些流量。protocols { bgp { group session { family evpn { signaling; } } } }
使用反映配置的 VPLS 优先级的优先级值来配置 ESI 接口。
注意:创建 ESI 接口将导致删除并重新创建 CE IFL,因此,在完成这一步后,您应该会有一些流量丢失。
[edit interfaces interface-name] esi { 00:01:02:03:04:05:06:00:00:01; single-active; df-election-type { preference { value match vpls preference; } } }
在单个路由实例中启用 EVPN。
将现有 BGP VPLS 配置中的层级的
[edit routing-instances routing-intance-name]
路由实例类型从vpls
evpn
更改为。[edit routing-instances routing-instance-name] instance-type evpn;
在
evpn
层次结构级别包括和vpls
语句[edit routing-instances routing-intance-name protocols]
,以支持 EVPN 和 VPLS 命令。[edit routing-instances routing-instance-name] protocols { evpn vpls }
将 VPLS 网络中的所有节点迁移到 EVPN 后,您可以选择停用 VPLS 协议。这将使 EVPN 能够清晰地设置其单宿主和多宿主状态,但可能会导致流量丢失。要停用 VPLS 协议,请删除
protocols vpls
层次结构下的[edit routing-instances routing-instance-name]
语句。[edit routing-instances routing-instance-name] user@host# delete protocols vpls
提交 EVPN 迁移配置后,路由协议进程和第 2 层地址学习过程开始构建 EVPN 状态以反映接口、网桥域、对等方和路由。本地学习的 MAC 地址由实例.vpls.0 中的第 2 层地址学习过程同步到路由协议进程。当实例.vpls.0 中的本地 MAC 老化时,路由协议进程会通过第 2 层地址学习过程发出通知。
学习 EVPN 对等方时,路由协议进程会向第 2 层地址学习过程发送新消息,以从 VE 网格组中移除对等方标签交换接口或虚拟隧道逻辑接口,并禁用其上的 MAC 学习。然后,EVPN IM 下一跃点被添加到 VE 网格组。在通过 BGP 学习 MAC 地址和通知 MPLS 下一跃点的第 2 层地址学习过程的路由协议过程中,EVPN 行为得到维护。
VPLS 语句和命令继续应用于 PE 设备与通过它们学习的 MAC 地址之间的 VPLS 伪线。EVPN 语句和命令适用于运行 EVPN 的 PE 设备。
恢复到 VPLS
如果 EVPN 迁移出现问题,您可以恢复到 VPLS,直到了解问题。通过启用以下配置,路由实例以非灾难性方式从超级 PE 恢复到 VPLS PE:
[edit routing-instances routing-instance-name] user@host# set instance-type vpls user@host# delete protocols evpn
将 EVPN 迁移恢复为 VPLS 时,将发生以下情况:
EVPN 状态信息将被删除。
有一个 EVPN 控制平面路由撤销的触发器。
路由协议进程使用路由实例和对等方标签交换接口或虚拟隧道逻辑接口向第 2 层地址学习过程发送新消息。
标签交换接口或虚拟隧道接口会将新消息添加到泛洪组,并启用 MAC 学习。
路由协议进程会删除出口 IM 下一跃点,从而提示第 2 层地址学习进程将其从泛洪组中移除。
通过标签交换接口或虚拟隧道逻辑接口再次学习远程 MAC 地址。
BGP VPLS 到 EVPN 的迁移和其他功能
表 1 介绍了一些相关功能的功能,例如将 BGP VPLS 迁移到 EVPN 的多宿主和集成路由和桥接 (IRB)。
特征 |
EVPN 迁移支持的功能 |
---|---|
MAC 移动 |
仅在 VPLS PE 和超级 PE 设备之间支持 MAC 移动。 当 MAC 地址从仅 VPLS 的 PE 移动到超级 PE 时,它会通过 BGP 学习,路由协议进程通知第 2 层地址学习过程,EVPN 下一跃点将在 foo.vpls.0 路由表中更新。 当 MAC 地址从超级 PE 移动到仅限 VPLS 的 PE 时,它会在标签交换接口或虚拟隧道接口上的数据包转发引擎中学习。第 3 层地址学习过程将其更新为 VPLS 或标签交换接口的下一跃点。 当 EVPN BGP 撤回类型 2 路由时,MAC 地址不会从转发表中删除,因此不会丢失数据。 转发 MAC 表由 VPLS 和 EVPN 共享。某些属性,例如 |
Irb |
IRB 无需更改。 在超级 PE 上,EVPN 在第 3 层虚拟路由和转发中填充通过 MAC+IP Type 2 路由从 EVPN 对等方学习的 /32 主机路由,而使用子网路由的 VPLS IRB 转发在仍在运行 VPLS 的站点上工作。 |
分层 VPLS |
在包含中心辐射型 PE 设备的 H-VPLS 网络中,当中心 PE 迁移到 EVPN 时,需要通过接入标签交换或虚拟隧道接口获知的本地 MAC 地址播发到 BGP 中,以便其他仅支持 EVPN 的 PE 设备或超级 PE 设备可以访问这些地址。 将 H-VPLS 网络迁移到 EVPN 时,需要考虑以下事项:
|
ESI 配置 |
ESI 在物理接口或端口级别配置。 |