通过 EVPN-MPLS WAN 实现 EVPN-VXLAN 数据中心互连概述
您可以通过运行基于 MPLS 的 EVPN 的 WAN 来互连运行以太网 VPN (EVPN) 和虚拟可扩展 LAN (VXLAN) 封装的不同数据中心网络。
以下章节将介绍通过运行 EVPN-MPLS 的 WAN 运行 EVPN-VXLAN 的数据中心网络互连的技术和实施概述,这些网络将用作数据中心互连 (DCI) 解决方案。
通过 WAN 实现数据中心网络互连概述
下面简要概述了如何通过使用逻辑隧道 (LT-) 接口运行基于 MPLS 的 EVPN 的 WAN 运行以太网 VPN (EVPN) 和虚拟可扩展 LAN (VXLAN) 封装的不同数据中心网络。您可以:
通过运行基于 MPLS 的 EVPN 的 WAN 网络连接数据中心边缘路由器,实现数据中心互连。
使用在数据中心边缘路由器上配置的逻辑隧道 (LT-) 接口互连 EVPN-VXLAN 和 EVPN-MPLS。
图 1 图显示了两个数据中心网络(DC1 和 DC2)通过运行基于 MPLS 的 EVPN 的 WAN 运行 EVPN-VXLAN 封装的互连:
在此图中,
以下设备是数据中心 EVPN-VXLAN 叠加网络 1 (DC1) 的一部分:
连接到数据中心网络的客户边缘设备(CE1、CE2 和 CE3)。
连接到每个 CE 设备的 VLAN 主机。
扮演架顶式(ToR11 和 ToR12)路由器角色的 MX 路由器。
MX 路由器,在 EVPN-VXLAN 网络中充当数据中心网关路由器,以及运行基于 MPLS 的 EVPN(MX11 和 MX12)的 WAN 边缘边缘路由器。
以下设备是数据中心 EVPN-VXLAN 叠加网络 2 (DC2) 的一部分:
连接到数据中心网络的客户边缘设备(CE4、CE5 和 CE6)。
连接到每个 CE 设备的 VLAN 主机。
扮演架顶式(ToR21 和 ToR22)路由器角色的 MX 路由器。
MX 路由器,在 EVPN-VXLAN 网络中充当数据中心网关路由器,以及运行基于 MPLS 的 EVPN(MX21 和 MX22)的 WAN 边缘路由器。
数据中心网络的互连通过一对逻辑隧道(lt-)接口在数据中心网关路由器上实现。
在数据中心网关路由器上,您需要配置一对逻辑隧道 (lt-) 接口,用于对数据中心 EVPN-VXLAN 实例和基于 WAN MPLS 的 EVPN 实例进行互连:一个逻辑隧道 (LT-) 接口配置为 EVPN-VXLAN 网络的接入接口,另一个逻辑隧道 (lt-) 接口作为基于 MPLS 的 EVPN 网络的接入接口,如 图 2 所示。
数据中心网关路由器支持 A/A 多宿主互连。
要在数据中心网关路由器的逻辑隧道 (LT-) 接口上配置 EVPN-VXLAN 和基于 MPLS 的 EVPN 实例,请参阅 示例:通过运行基于 EVPN 的 MPLS 的 WAN 互连 EVPN-VXLAN 数据中心网络。
数据中心网关上的多宿主
您可以配置冗余数据中心网关,将 EVPN-VXLAN 网络主动-主动多宿主连接到运行基于 MPLS 的 EVPN 的 WAN,并将基于 MPLS 的 EVPN 网络主动-主动多宿主连接到 EVPN-VXLAN。这允许 EVPN-VXLAN 网络和基于 MPLS 的 EVPN WAN 网络互连之间实现冗余。这还可以在冗余数据中心网关之间的两个方向(从 EVPN-VXLAN 到 EVPN-MPLS,以及从 EVPN-MPLS 到 EVPN-VXLAN)上对单播流量进行负载平衡。广播、未知单播和组播 (BUM) 流量由其中一个数据中心网关转发出数据中心。
EVPN 指定货运代理 (DF) 选择
为了实现主动-主动的 EVPN-VXLAN 到 EVPN-MPLS 互连实例和主动-主动的 EVPN-MPLS 到 EVPN-VXLAN 实例,数据中心网关路由器上的逻辑隧道 (LT-) 接口配置了非零以太网分段标识符 (ESI)。ESI 是一个 10 个八位位组值,在整个网络中必须是唯一的,它基于每个端口为逻辑隧道 (lt-) 接口进行配置。根据RFC7432中定义的 EVPN 多宿主过程,将为 EVPN 实例 (EVI) 播发以下路由:
播发以太网分段路由
播发 ESI 自动发现路由,并将有效的水平分割标签和模式设置为多宿主
考虑了RFC7432中描述的标准 EVPN DF 选择程序。DF 选择基于每个 EVI 的每个以太网分段。EVPN-VXLAN 和 EVPN-MPLS 独立运行其 DF 选择过程。
水平分割
水平分割可防止网络中出现 BUM 流量环路,请参阅RFC7432。对于从核心到数据中心网关 (EVPN PE) 方向的 BUM 流量,DF 会将 BUM 流量泛洪到接入 (lt- 接口) 路由器,非 DF 会阻止 BUM 流量。当 DF 或非 DF 接收到来自接入 (lt 接口) 路由器的 BUM 流量时,它会泛洪到核心,但 DF 不会根据水平分割规则将从非 DF 接收到 BUM 流量泛洪到接入路由器。对于给定的 BUM 数据包,只有一个副本会泛洪到接入路由器(lt 接口),然后通过其中一个数据中心网关路由器涌入 EVPN 核心,因为 EVPN 多宿主到另一个 EVPN 网络。来自第一个 EVPN 实例的 DF 过滤器规则可保证,在 BUM 流量重新进入第二个 EVPN 实例之前,只有一个副本从 DF 转发到 lt 接口。
混 叠
在数据中心网关中配置冗余后,流量将按流在冗余数据中心网关路由器之间实现负载均衡。使用为数据中心互连的 EVPN-VXLAN 实例和 EVPN-MPLS 实例配置的一对逻辑隧道 (LT-) 接口,通过数据平面学习 MAC 地址。但是,由于 EVPN-VXLAN 网络和运行 EVPN-MPLS 的 WAN 中 EVPN PE 具有 A/A 多宿主和全网状的性质,主机拥有的 MAC 始终可以被所有冗余数据中心网关访问。数据中心网关路由器上的每个 EVPN 实例通过按 EVI 自动发现路由播发方式,声明对逻辑隧道 (lt-) 接口上配置的 ESI 支持混叠功能。混叠功能支持在RFC7432中定义。
图 3 显示了 CE1 和 NVE1 之间的链路故障,但数据中心网络 (DC1) 内的两个数据中心网关路由器仍然可以访问 CE1。
之间的负载平衡
主机与其架顶式 (TOR) 设备之间的链路故障不会影响数据中心网关路由器声明的混叠功能,因为数据中心网络本身对运行 EVPN-MPLS 的 WAN 是主动-主动的。只要主机连接到数据中心网络中的另一台 ToR 设备,所有其他冗余数据中心网关路由器仍然可以访问该主机,因此适用混叠功能。
VLAN 感知捆绑服务
在适用于 MX 系列的 Junos OS 中,EVPN-VXLAN 和 EVPN-MPLS 实例都支持具有一个或多个桥接域的 VLAN 感知捆绑服务。要通过一对逻辑隧道 (lt-) 接口将两个具有 VLAN 感知捆绑服务的 EVI 连接在一起,需要在逻辑隧道 (lt-) 接口上支持中继接口,并且需要在 EVPN-VXLAN 和 EVPN-MPLS 实例上支持中继接口。Junos OS MX 系列上的中继接口允许逻辑接口接受使用 VLAN ID 列表中指定的任何 VLAN ID 标记的数据包。
当中继模式用于逻辑隧道 (lt-) 接口时,从第一个 EVPN 虚拟交换机从逻辑隧道 (lt-) 接口中继端口传出的帧会使用相应的 VLAN 标记进行标记;通过其对等逻辑隧道 (LT-) 接口,系统会根据在帧中找到的 VLAN 标记,检查并转发传入第二个虚拟交换机的帧。
以下是在逻辑隧道 (lt-) 接口上使用中继中继模式的示例配置,以支持 VLAN 感知捆绑服务,以便将 EVPN-VXLAN 与运行基于 MPLS 的 EVPN 的 WAN 互连:
interfaces lt-1/0/10 {
esi {
36:36:36:36:36:36:36:36:36:36;
all-active;
}
unit 3 {
encapsulation ethernet-bridge;
peer-unit 4;
family bridge {
interface-mode trunk;
vlan-id-list [ 51 52 ];
}
}
unit 4 {
encapsulation ethernet-bridge;
peer-unit 3;
family bridge {
interface-mode trunk;
vlan-id-list [ 51 52 ];
}
}
}
以下是 EVPN-VXLAN 和 EVPN-MPLS 中继端口支持的示例配置:
routing-instances evpn-mpls {
vtep-source-interface lo0.0;
instance-type virtual-switch;
interface lt-1/0/10.4;
route-distinguisher 101:2;
vrf-target target:2:2;
protocols {
evpn {
extended-vlan-list 51-52;
}
}
bridge-domains {
bd1 {
domain-type bridge;
vlan-id 51;
}
bd2 {
domain-type bridge;
vlan-id 52;
}
}
}
routing-instances red {
vtep-source-interface lo0.0;
instance-type virtual-switch;
interface lt-1/0/10.4
route-distinguisher 101:1;
vrf-target target:1:1;
protocols {
evpn {
encapsulation vxlan;
extended-vni-list all;
}
}
bridge-domains {
bd1 {
domain-type bridge;
vlan-id 51;
routing-interface irb.0;
vxlan {
vni 51;
encapsulate-inner-vlan;
decapsulate-accept-inner-vlan;
}
}
bd2 {
domain-type bridge;
vlan-id 52;
routing-interface irb.1;
vxlan {
vni 52;
encapsulate-inner-vlan;
decapsulate-accept-inner-vlan;
}
}
}
}
数据中心网络设计和注意事项
在设计数据中心网络之前,您需要决定是在数据中心网络中对 IP 底层使用 IGP、iBGP 还是 eBGP 协议。另一个需要考虑的重要因素是 AS 分配。数据中心网络中的 ToR 设备的 AS 编号必须不同于 WAN 边缘路由器中使用的 AS 编号。
对于叠加网络,您需要决定是使用 iBGP、eBGP,还是同时使用 iBGP 和 eBGP 的组合。
图 4 展示了作为数据中心网关的 MX 路由器(MX11、MX12、MX21 和 MX22),以及将 EVPN-VXLAN 与 EVPN-MPLS 互连的 WAN 边缘路由器。主干交换机为 ToR 之间的东西向流量提供连接,因此不需要进行第 3 层路由的流量不会通过 MX 路由器。从网络设计角度来看,要提供端到端 EVPN 解决方案,必须满足以下要求:
在 EVPN-VXLAN 和 EVPN-MPLS 分段之间隔离 IGP
在数据中心网络中使用 IGP 时,您需要将 EVPN-VXLAN 中的 IP 网络与 WAN 中的 IP 网络隔离开来。在数据中心使用 IGP 时,一种选择是不在连接主干交换机和 MX 路由器的接口上运行 IGP 协议。相反,主干交换机和 MX 路由器之间使用地址族 inet 单播的 eBGP 会话,这样,通过 IGP/eBGP/策略,您可以将 ToR 和 MX 路由器的环路地址相互泄露,同时仍然保持数据中心 IP 网络与 WAN 的隔离。在 EVPN-VXLAN 网段中,IGP 仅在主干交换机和 ToR 之间。在 EVPN-MPLS 网段中,IGP 位于所有 MX 路由器之间。
将 iBGP 用于数据中心网络中的 IP 底层
如果要求不在数据中心的 IP 底层使用 IGP,则可以使用地址族 inet 单播的 iBGP 来替换主干交换机和 ToR 之间的 OSPF。在主干交换机和数据中心网关之间,您仍然需要使用 eBGP 来播发环路 IP。
对数据中心网络中的 IP 底层使用 eBGP
如果要求仅在数据中心使用 eBGP,则需要将 eBGP 与地址族 inet unicast 一起用于 IP 底层。在这个案例中,它是一个典型的两级 CLOS 网络,没有主干聚合层。每个 ToR 和数据中心网关都被分配了一个唯一的 AS 编号。ToR 直接与数据中心网关路由器建立 eBGP 会话。
EVPN-VXLAN 和 EVPN-MPLS 网络中的不同自治系统 (AS)
以下是对运行 iBGP 的 EVPN-VXLAN 和 EVPN-MPLS 网络中不同 AS 的支持,或 IP 叠加的 eBGP。
运行 iBGP/eBGP for the Overlay
ToR 和主干交换机在同一 AS100 中,所有 MX 系列路由器都在 AS8303 中。在 ToR 中,其 EVPN 网络层可达性信息 (NLRI) 通过 iBGP 会话进行交换。使用 BGP 路由反射器 (RR),每个 ToR 与 RR 建立 iBGP 会话。属于同一桥接域的 ToR 之间的数据流量仅通过主干交换机,并且始终相隔 2 个跃点。由于 ToR 和主干交换机在同一 AS 中,而 MX 边缘路由器处于不同的 AS 中,因此 MX 边缘路由器会直接与 RR 或每个 ToR 建立 eBGP 会话。默认情况下,从 iBGP 会话 (ToR) 获知的路由会重新播发至 eBGP(MX 路由器),反之亦然。当 BGP 在 iBGP 和 eBGP 会话之间重新播发 EVPN NLRI 时,将强制实施 BGP 下一跃点不变。
仅为叠加运行 eBGP
如果要求仅在数据中心运行 eBGP,则会为每个 ToR 分配一个唯一的 AS 编号。每个数据中心网关路由器在数据中心正面使用唯一的 AS 编号。对于面向 WAN 的一面,使用相同的 AS 编号,但 AS 编号将与面向数据中心的一面所用的 AS 编号不同。AS 编号也可以在每个数据中心中重复使用。
要防止数据中心的 EVPN 路由播发至其他数据中心的数据中心网关路由器,必须在 EVPN-MPLS 网络中启用路由限制。为了使 BGP 路由约束正常工作,EVPN-VXLAN 和 EVPN-MPLS 网络分别使用不同的路由目标。