深入解析 VXLAN BGP EVPN 数据中心网络架构

1. VXLAN 概述

如今,VXLAN 是少数既可用作网络覆盖层又可用作主机覆盖层的覆盖协议之一。这意味着 VXLAN 报头不仅能在支持 VXLAN 的网络交换机上进行封装/解封装和处理,还能在服务器主机自身完成这些操作。这种特性使得物理与虚拟的集成无缝衔接,实现了极为灵活的部署方案。此外,虽然已经有了如通用协议封装(GPE)和网络服务头(NSH)等下一代覆盖协议的提案,但这些方案的正式批准可能还需要一些时间。目前,VXLAN 仍然是数据中心部署中事实上的覆盖协议。

2. Cisco 开放式可编程架构

随着 VXLAN 作为一种基于标准的数据中心覆盖解决方案的引入,VXLAN 网络中的学习机制最初是基于泛洪和学习(F&L)语义的。然而,多年的网络经验表明,基于泛洪的方法最终会带来可扩展性挑战。泛洪虽然提供了一种学习端点信息(特别是远程 MAC 与 VTEP 的绑定)的机制,以便后续流量可以单播,但如果能通过控制协议将这些映射信息分发到各个边缘设备或 VTEP,那么泛洪的需求就有可能被完全消除。

通过对 BGP EVPN 地址族的扩展,现在可以在 VXLAN 网络中分发端点(IP、MAC)到 VTEP 的绑定信息。当一个端点在本地 VTEP 被学习到时,利用 BGP EVPN,该可达性信息可以分发到所有感兴趣的 VTEP。这样,任何发往该端点的流量都可以从其他 VTEP 进行最优转发,而无需泛洪流量。

在支持 BGP EVPN 的 VXLAN 网络中,消除二层流量的泛洪在很大程度上有助于提高可扩展性。同时,通过特定方法,三层流量也能在这些网络中实现最优转发。在讨论这些方法之前,我们先简要了解一下传统数据中心网络中的三层流量转发。

3. 传统三层拓扑及其问题

经典的三层拓扑在网络行业中应用了很长时间。通常,端点或服务器连接到接入层,接入层仅提供二层支持,并进行适当的 VLAN 和交换机端口配置。对于子网间通信,端点的流量通过聚合层或分布层交换机进行路由。端点的默认网关通常以三层 SVI 或 IRB 接口的形式位于聚合层。为了实现冗余,聚合层交换机配置了诸如 HSRP 或 VRRP 等第一跳冗余协议(FHRP)。各个聚合层交换机通过核心层交换机相互连接,通过适当的三层协议在聚合层和核心层交换机之间交换前缀信息。

然而,随着大规模数据中心的部署,三层拓扑逐渐成为可扩展性的瓶颈。随着网络中端点数量的增加,聚合层交换机中存储的 IP - MAC 绑定数量也相应增加,这就需要支持更大的 FIB 表。此外,这些交换机需要处理的 ARP 和 ND 刷新等控制平面开销也显著增加。再加上聚合层交换机可承载的三层接口数量和相应的租户 VRF 数量的限制,问题变得更加严重。

从灵活性和弹性的需求来看,将工作负载迁移到资源可用的区域是理想的选择。但在三层拓扑中,流量通过承载默认网关的聚合层交换机进行不必要的“迂回”,这是最好的情况。在最坏的情况下,工作负载可能只能部署在特定聚合 POD 中直接连接的接入层交换机后面的服务器下。对于 4K VLAN,聚合层交换机可能会面临巨大的可扩展性挑战。因此,考虑到 VXLAN 支持多达 1600 万个虚拟网络,传统的三层拓扑无法承受这样的负担。行业已经认识到这一局限性,并大力推动将三层功能迁移到接入层,摒弃集中式三层网关的方法。

4. 向接入层迁移三层功能及新拓扑

将默认网关迁移到接入层可以减少故障域,因为接入交换机只需要为其下方的工作负载支持第一跳协议。与单个或一对聚合交换机需要支持所有接入交换机下方的所有端点相比,这显然是一种更具可扩展性的模型。这就催生了叶脊(leaf - spine)或脊叶(spine - leaf)拓扑。

具有三层支持的接入层通常称为叶层,而提供各个叶节点之间互连的聚合层称为脊层。随着 VXLAN 的应用以及生成树协议(STP)及其相关不良影响的消除,网络的稳定性得到了显著提升。聚合或脊交换机现在成为核心交换机,它们结构精简,只需在叶节点之间进行最优的流量转发,并且完全不感知端点地址。此外,通过 BGP EVPN 控制协议,泛洪未知单播流量的需求基本被消除。

BGP EVPN 对可达性信息的分发实现了分布式 IP 任播网关。可以根据需要在任何和所有叶交换机上同时配置相同的默认网关。这样,当工作负载在不同叶交换机之间移动时,仍然可以直接连接到其默认网关,任何工作负载都可以部署在任何叶交换机下方。

借助分布式 IP 任播网关,任何路由流量都可以从源叶节点最优地转发到目的叶节点。脊层提供了所需的冗余,从而形成了一个具有足够冗余性的简单网络拓扑。

5. 架构相关术语
  • 叶交换机(Leaf Switches) :也称为边缘或网络虚拟化边缘(NVE)设备,承载 VTEP。物理和虚拟端点连接到叶交换机。叶交换机到端点的下游接口通常是二层端口,可承载 dot1q 标记或未标记的流量。
  • 脊交换机(Spine Switches) :一个或多个脊交换机提供叶交换机之间的连接。
  • 底层网络(Underlay) :架构中的每个交换机都是一个 IP 网络的一部分,这个 IP 网络称为底层网络。
  • 覆盖网络(Overlay) :所有叶间流量都进行 VXLAN 封装,并通过覆盖网络传输。
  • 边界节点(Borders) :架构与外部的可达性通过特殊节点(边界节点)实现。边界功能可以由叶交换机(边界叶)或脊交换机(边界脊)承载。VXLAN 封装的流量从叶交换机到达边界时,通常在边界的 VTEP 进行解封装,并根据配置的二层或三层交接将流量转发到外部设备。
  • 服务叶(Service Leaf) :连接服务设备的叶交换机有时称为服务叶。不同的叶角色主要是逻辑上的,而非物理上的,同一个叶交换机可以同时承担普通叶、边界叶和服务叶的功能。
  • 路由反射器(Route Reflectors,RRs) :为了实现高效的 BGP EVPN 覆盖连接,架构中还会配置一个或多个路由反射器,通常在脊交换机或超级脊交换机上配置。
  • 会合点(Rendezvous Points,RPs) :如果使用 IP 组播来转发多目的地流量,架构中还需要配置会合点,通常也在脊交换机或超级脊交换机上。

以下是这些术语的关系图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A(叶交换机):::process -->|连接| B(端点):::process
    C(脊交换机):::process -->|连接| A
    A -->|VXLAN封装流量| D(覆盖网络):::process
    E(边界节点):::process -->|连接外部| F(外部设备):::process
    A -->|可达性信息| E
    G(路由反射器):::process -->|辅助| C
    H(会合点):::process -->|用于组播| C
6. 数据中心网络架构的特性

基于 Clos 的架构具有几个对数据中心网络特别有吸引力的特性:
| 特性 | 描述 |
| ---- | ---- |
| 可扩展性 | 无过度订阅,每个叶节点的上行和下行带宽相等,提供高二分带宽,适合数据中心应用。可以根据需求添加叶节点、脊节点或边界节点,实现架构的扩展。 |
| 弹性 | 对链路和节点故障具有极高的弹性,提供了高水平的冗余。丢失一个脊节点会降低可用架构带宽,但流量仍能以降低的总速率进行最优转发。链路故障时,流量会重定向到可用路径,收敛时间取决于底层和覆盖协议的收敛速度。 |
| 效率 | 两层 Clos 架构中,每个叶节点可以通过选定的脊节点单跳到达其他叶节点,为所有通过架构转发的流量提供确定性延迟。添加一个脊节点会使等价路径数量增加一条。等价多路径(ECMP)同样适用于单播和组播流量,以及具有分布式 IP 任播网关的二层(桥接)和三层(路由)流量。 |

在这个架构中,任何子网都可以同时配置在任何叶节点上,从网络角度提供了真正的“任意工作负载任意位置”的选项。架构还可以设计为支持数十到数百甚至数千个 10G 面向服务器的端口,并通过适当的过度订阅配置,适应不同容量的工作负载环境。

7. 服务器或端点连接选项

端点通常连接到叶节点,这些端点可以是裸金属机器、虚拟工作负载、存储设备或服务设备。端点可以直接连接到叶节点,也可以通过织物扩展器(FEX)或在某些情况下通过刀片交换机连接。

随着 Nexus 2K 系列交换机的推出,FEX 技术得到了广泛应用。从逻辑上讲,FEX 模块可以看作是一个外部线卡,完全由其连接的父交换机管理。FEX 模块的所有管理和配置都在父交换机上完成,与 FEX 连接的终端主机的流量在父交换机上进行交换和路由。

使用 FEX 时,行尾(EoR)或行中(MoR)拓扑很常见。FEX 通常作为每个机架的机架顶(ToR)交换机,每个 FEX 连接到 MoR 或 EoR 交换机。与 EoR 部署相比,MoR 部署的优势在于连接所需的电缆更短。

在架构中,存在多种 FEX 连接组合,这些组合取决于服务器是直接双连接到叶节点还是通过 FEX 连接,FEX 本身甚至可以双连接到一对配置为 vPC 对等体的叶节点。最常见的选项是每个 vPC 对等体上有一个直通 FEX,服务器通过端口通道双连接到这些 FEX,这样可以在链路故障、FEX 故障或 vPC 对等体故障时提供容错能力。如果需要更高的冗余性,可以使用增强型 vPC(EvPC)部署,即服务器和 FEX 都进行双连接。

刀片机箱式服务器部署也非常受欢迎,它可以在相同的机架空间内提供更多的计算能力,简化管理并减少所需的电缆数量。像 Cisco UCS 织物互连(FI)系列交换机这样的刀片交换机也可以从叶节点向下连接。

对于完整的数据中心解决方案,除了计算和网络功能外,还需要考虑存储。该架构足够灵活,可以支持传统的光纤通道(FC)存储和 IP 存储选项。Cisco Nexus 设备支持统一端口选项,端口可以配置为承载以太网或 FC 流量。光纤通道以太网(FCoE)技术消除了对专用以太网链路和单独 FC 链路的需求,允许在同一条链路上同时承载以太网和 FC 流量。从叶节点向上,流量可以分离为通过 VXLAN 核心传输的以太网流量和通过单独存储网络传输的存储流量。

随着 IP 存储的普及和超融合解决方案的快速发展,对单独存储网络的需求已经完全消除。Cisco HyperFlex 解决方案为 IP 存储提供了一种演进方法,它与当前部署完全向后兼容,并易于与基于 VXLAN BGP EVPN 的架构集成。该架构与 FC 和 IP 存储设备都能很好地集成。

综上所述,基于 VXLAN BGP EVPN 的架构是迈向实现超大规模网络的重要一步,将在可预见的未来为基于云的数据中心环境提供支持。

深入解析 VXLAN BGP EVPN 数据中心网络架构

8. 服务器与存储连接的详细分析

为了更清晰地了解服务器和存储在 VXLAN BGP EVPN 架构中的连接情况,下面对不同连接方式进行详细分析。

8.1 FEX 连接方式对比
连接方式 优点 缺点 适用场景
服务器直接双连接到叶节点 连接简单直接,数据传输路径短 缺乏 FEX 提供的额外灵活性和管理便利 对网络架构简单性要求高,服务器数量较少的场景
服务器通过 FEX 单连接到叶节点 利用 FEX 可简化管理,增加端口密度 存在单点故障风险 对成本敏感,对冗余性要求不高的场景
服务器通过 FEX 双连接到 vPC 对等叶节点 提供较高的容错能力,在链路、FEX 或 vPC 对等体故障时仍能正常工作 配置相对复杂 对可靠性要求高的企业级数据中心
增强型 vPC(EvPC)部署(服务器和 FEX 都双连接) 提供最高级别的冗余性 配置复杂度和成本最高 对业务连续性要求极高的关键业务场景
8.2 存储连接方式分析

在存储连接方面,传统的 FC 存储和新兴的 IP 存储各有特点。

  • 传统 FC 存储 :具有高可靠性、低延迟的特点,适用于对数据存储性能要求极高的应用场景,如金融交易系统、医疗影像存储等。但它需要独立的存储网络,成本较高,管理相对复杂。
  • IP 存储 :随着技术的发展,IP 存储的性能不断提升,并且具有成本低、易于集成等优点。特别是超融合解决方案的出现,使得 IP 存储可以与计算、网络资源整合在一起,实现统一管理。Cisco HyperFlex 解决方案就是一个典型的代表,它将计算、存储、网络和虚拟化整合为一体,大大简化了数据中心的架构。

以下是存储连接方式的流程图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A(服务器):::process -->|可选| B(FEX):::process
    B -->|可选| C(叶交换机):::process
    A -->|直接或通过 FEX| C
    C -->|以太网流量| D(VXLAN 核心):::process
    C -->|存储流量| E(存储网络):::process
    E -->|传统 FC 存储| F(FC 存储设备):::process
    E -->|IP 存储| G(IP 存储设备):::process
    D -->|与存储交互| E
9. 架构的自动化与管理

Cisco 开放式可编程架构不仅关注网络的最优转发,还包含了自动化和管理框架。这主要涉及以下几个方面:

9.1 Day 0 初始化

在架构的初始部署阶段(Day 0),需要将设备设置为适当的指定角色,并进行相应的启动配置。这一步骤通常包括以下操作:
1. 设备发现 :通过网络管理工具发现架构中的所有设备,包括叶交换机、脊交换机、边界节点等。
2. 角色分配 :根据架构设计,为每个设备分配特定的角色,如叶节点、脊节点、边界叶等。
3. 配置下发 :将预定义的启动配置文件下发到各个设备,确保设备按照预期进行初始化。

9.2 Day 1 操作

在架构投入使用后(Day 1),需要根据活动的工作负载在相应的叶交换机上进行覆盖配置的部署。具体操作如下:
1. 工作负载监测 :实时监测架构中的工作负载分布情况,了解各个叶节点上的服务器负载。
2. 配置调整 :根据工作负载的变化,动态调整叶交换机的配置,如 VLAN 分配、路由策略等。
3. 资源分配 :确保每个工作负载都能获得足够的网络资源,避免资源竞争。

9.3 Day 2 运维

在架构的日常运行过程中(Day 2),需要进行故障排查、管理和持续监测。主要工作包括:
1. 故障检测 :通过网络监控工具实时监测架构中的设备状态和链路状态,及时发现故障。
2. 故障诊断 :当发现故障时,利用诊断工具对故障进行定位和分析,确定故障原因。
3. 故障修复 :根据故障诊断结果,采取相应的措施进行故障修复,如更换故障设备、调整配置等。
4. 性能优化 :定期对架构的性能进行评估,根据评估结果进行性能优化,如调整路由策略、增加带宽等。

10. 分布式 IP 任播网关的优势

分布式 IP 任播网关是 VXLAN BGP EVPN 架构中的一个重要特性,它带来了诸多优势:

10.1 工作负载迁移的便利性

在传统的网络架构中,当工作负载在不同的子网之间迁移时,需要重新配置默认网关,这不仅增加了管理复杂度,还可能导致网络中断。而在分布式 IP 任播网关的架构中,相同的默认网关可以同时配置在所有叶交换机上。当工作负载在不同叶交换机之间移动时,它仍然可以直接连接到默认网关,无需进行任何配置更改,大大提高了工作负载迁移的便利性。

10.2 流量转发的优化

分布式 IP 任播网关可以实现路由流量从源叶节点到目的叶节点的最优转发。脊层提供了冗余路径,确保在链路或节点故障时,流量可以快速切换到备用路径,从而提高了网络的可靠性和性能。同时,由于流量不需要经过集中式的网关,减少了网络延迟和拥塞的可能性。

以下是分布式 IP 任播网关的工作原理示意图:

graph LR
    classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px

    A(源叶节点):::process -->|路由流量| B(脊层):::process
    B -->|多条路径| C(目的叶节点):::process
    D(分布式 IP 任播网关):::process -->|配置在| A
    D -->|配置在| C
    A -->|可达性信息| D
    C -->|可达性信息| D
11. 总结

基于 VXLAN BGP EVPN 的数据中心网络架构是一种具有高度可扩展性、弹性和效率的解决方案。它通过引入 VXLAN 作为覆盖协议,利用 BGP EVPN 进行控制平面的管理,实现了物理与虚拟网络的无缝集成。叶脊拓扑结构的采用,将三层功能迁移到接入层,减少了故障域,提高了网络的可扩展性。分布式 IP 任播网关的实现,使得工作负载的迁移更加便捷,流量转发更加优化。

同时,该架构还具备良好的自动化和管理能力,通过 Day 0、Day 1 和 Day 2 的不同阶段操作,确保了架构的高效部署、灵活配置和稳定运行。在存储方面,既支持传统的 FC 存储,又能适应 IP 存储和超融合解决方案的发展趋势,为数据中心提供了全面的解决方案。

随着云计算、大数据和人工智能等技术的不断发展,数据中心对网络架构的要求也越来越高。基于 VXLAN BGP EVPN 的架构将在未来的数据中心建设中发挥重要作用,为企业提供更加高效、可靠和灵活的网络基础设施。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐