为了满足现代网络的需求,数据中心网络必须优先考虑最核心的功能,例如强大的网络带宽、高可用性、可扩展性和安全等。 在本文中,我们全面比较了两种数据中心网络解决方案:传统数据中心架构和叶脊架构。
数据中心的核心
数十年来,数据中心架构一直是计算机网络生态系统的一部分。数据中心网络涵盖计算服务、数据库、IP 语音 (VoIP) 解决方案、内容交付网络 (CDN) 等多种连接解决方案,是企业和服务提供商网络的核心部分。 数据中心网络必须提供几个关键功能:
网络带宽- 特别是满足东西向流量的要求(数据中心中大部分流量是东西向的)。 注意:东西向流量表示数据中心内的服务器/应用之间的流量,而南北向流量表示出入数据中心的流量。
高可用性/弹性——数据中心的每个组件都必须具有高可用性和弹性。从本地链路弹性到冗余电源和流量处理器,每个组件的设计和部署都必须考虑到弹性。
可扩展性——网络本身必须能够快速扩展,尤其是水平扩展。添加新的架顶式 (TOR) 交换机等操作应该简单明了。
安全性——安全性是设计数据中心时必须考虑的因素。从物理安全到磁盘加密和协议身份验证,必须锁定对数据中心网络的访问,仅限于授权人员。
传统数据中心网络
传统数据中心网络基于第二层连接,大部分使用二层交换机和至少一对三层设备,通常是路由器或防火墙。
图 1:三层架构 上述架构通常称为三层架构(核心层-聚合层-访问层)。这是目前仍在广泛使用的首批标准架构之一,并且仍然提供一些基本功能。 该架构的另一种变体是折叠核心设计,其中核心层和分布(聚合)层合并为一个:
图2:折叠核心设计 由于网络连接需求的快速发展,基于虚拟局域网(VLAN)标签对网络进行分段成为难题(有限的VLAN数量、依赖STP进行环路保证等),此外,二层技术也给网络带来了新的挑战,例如二层环路、缺乏负载均衡、生成树协议 (STP) 融合、广播风暴等,这些问题很容易导致整个数据中心网络瘫痪。
下一代叶脊IP Fabric数据中心
基于叶脊架构的IP Fabric数据中心已经存在几年了,是一种成熟且稳定的技术。该架构背后的主要概念是基于第三层技术提供可预测的网络连接参数,从而能够避免传统数据中心中的许多问题。 *注:下文中的IP Fabric和Spine-Leaf架构这两个术语可以互换,这里主要指的是IP Fabric中的“叶”和“脊”拓扑。 叶脊拓扑基于 Clos 网络架构(由美国工程师 Charles Clos 于 1952 年首次形式化)。其中有两个主要层:
脊层(Spine layer) - 通常由至少两个三层高吞吐量交换机组成(两个用于冗余目的)
叶层(Leaf layer) - 通常由 N 个功能丰富的三层交换机组成,其中 N 可以是任意数字(通常是偶数,也是为了冗余)。
Clos 网络以及叶脊架构的主要特征是所有Leaf都连接到所有Spine,并且Leaf之间(通常)没有直接连接。
图3:叶脊架构 基于此架构,我们可以轻松计算所需链接的数量:
S = 脊数量
L = 叶数量
CB = 叶和脊之间的电缆数量
链接总数 = S x L x CB 例如:
S = 4,L = 8,CB = 1
链接总数 = 32 个链接
目前市场上有很多来自不同供应商的Spine-Leaf技术,有些是专有的(例如 Cisco ACI),有些是基于标准的,例如带有 VXLAN 封装的 BGP EVPN。 为了与行业标准保持一致,下文将使用带有 VXLAN 封装的 BGP EVPN 作为我们分析Spine-Leaf解决方案的依据。 首先简单介绍一下前面提到的技术:
BGP EVPN(边界网关协议以太网虚拟专用网络)是一种网络技术和协议套件,专为提供商和企业网络中的高效且可扩展的多点以太网服务而设计。BGP EVPN 利用边界网关协议 (BGP) 作为控制平面,对MAC (media access control)地址和IP地址信息进行分发和管理,满足虚拟化和云化基础设施的需求。BGP EVPN 的一些主要特性:
二层和三层多租户支持 - BGP EVPN 旨在支持共享网络基础设施中的多个租户或客户,适合服务提供商和有不同组网需求的大型企业。
EVPN 多宿主是一种基于标准的专有 MC-LAG 技术变体。允许不同供应商的设备之间的互操作性,从而形成更加多样化和灵活的网络环境。
支持二层和三层服务 - BGP EVPN 能够通告 MAC-IP NLRI(也称为 EVPN 路由类型 2)和全子网 NLRI(也称为 EVPN 路由类型 5);这两种路由类型是 EVPN 使用案例中最常见的。
使用路由目标 (RT) 和路由标识符 (RD) 的概念识别、分类和路由过滤 BGP EVPN 结构,这与 MPLS (多协议标签交换) L3 VPN 和 L2 VPN (使用 BGP 信令)网络中的概念完全相同。此特定功能允许可扩展的单Leaf-Spine BGP (MP-BGP) 会话部署,如果想实现设备之间的连接,则无需配置back to back VRF(虚拟路由和转发)BGP 会话。
基于标准的互操作性 - BGP EVPN 是基于标准的,可以实现不同网络厂商之间的互操作性。
VXLAN 封装:BGP EVPN 通常与 VXLAN 封装协议结合使用,在三层基础设施上创建虚拟二层网络。VXLAN 克服了传统 VLAN 的限制,使网络设计更具可扩展性和灵活性。VXLAN 功能包括:
Overlay网络 - 将原始数据包封装在新的 MAC-in-IP 标头中,完全“隐藏”原始信息让数据包能够跨越公共数据中心网络。
提高可扩展性 - 与传统 VLAN 中的 12 位 VLAN ID 限制 (4096) 相比,VXLAN 使用24 位的 VXLAN 网络标识符 (VNI) 来扩展 VLAN,并提供更大的地址空间(1600 万)。这可以在大型动态环境中实现更大的可扩展性。
支持 MAC-IP 迁移 - VXLAN(与 BGP EVPN)支持数据中心内的实时虚拟机迁移(例如 VMWare vMotion),也可以进行跨数据中心迁移。
基于标准的互操作性 - VXLAN(如 BGP EVPN)是基于标准的,可以实现不同网络厂商之间的互操作性。
下图是 VLAN 到 VNI(VXLAN 网络标识符)映射时的VXLAN 标头,仅供参考:
图4:VXLAN网络标识映射时的VXLAN标头 下表展示了传统数据中心和 Spine-Leaf 架构的比较:
表 1. 传统 DC 和 Spine-Leaf 比较 下面我们来看看两种架构分别适合哪些场景。
传统数据中心vs Spine-Leaf IP Fabric
我们将从以下方面分别分析每种架构的特征: 可扩展性 传统的二层数据中心架构在一定程度上是可扩展的。如果是最多 100 台服务器的情况下,它可以很好地完成它的工作。但如果超过这个数字,传统数据中心就开始力不从心,这主要是因为 MAC 地址在整个数据中心传播。在传统二层网络中,如果交换机在本地配置了 VLAN,它将自动学习该广播域内的所有 MAC 地址并将它们存储在本地 CAM(内容可寻址存储器)表中。CAM 成本高昂,MAC 地址数量越多,需要的资源越多,成本也越高。
图 5:存储所有信息的交换机 CAM 表 除此之外,网络内的一些 STP 事件可能会完全刷新 CAM 表,这将触发整个信息集的完全重新学习,这是一个非常消耗资源的过程。 另一方面,在BGP EVPN IP Fabric中,MAC 学习是在控制平面完成的,MAC-IP NLRI 的传播由 BGP 处理,准确地说是通过 EVPN 地址族处理的。BGP 本身使用 RAM(随机存取存储器),这比 CAM 便宜得多。 此外,BGP 传播的 MAC 信息由本地交换机过滤,只将所需的 MAC 地址下载到本地交换机 CAM 表中(CAM 表仍然用于 IP Fabric 设备以及本地 MAC交换)。“所需的 MAC 地址”是指本地交换机上的主机想要与之通信的 MAC 地址。
图 6:MAC 地址过滤 - 优化 CAM 表大小 事实上,Spine-Leaf IP Fabric 在其核心使用三层协议可以实现更高的水平扩展。二层拓扑只能在 STP 域允许的范围内扩展。相比之下,用作 IP Fabric 构建块的三层协议(OSPF/IS-IS 作为底层路由,BGP 作为 Overlay层,PIM 用于 BUM 流量处理)的可扩展性要好得多。 收敛时间 传统数据中心网络的收敛时间主要由 STP 决定。但是存在 STP“欺骗”现象,例如链路聚合和 MC-LAG/VPC,通过欺骗STP,使其认为链路不受影响,不应该发送TCN(拓扑变化通知)数据包或重新计算,从而绕过STP重新收敛。 Spine-Leaf网络的收敛时间完全不同。在Spine-Leaf层,一切都基于三层协议工作,通过使用 BFD(双向转发检测)协议可以将收敛时间降至 100 毫秒以下。
图7:Spine-Leaf层 Spine-Leaf的另一个巨大优势是可以将特定的Spine或Leaf与 Fabric 的其余部分完全隔离,以便在不影响流量的情况下完成一些操作任务(如升级、硬件更换等)。由于Spine-Leaf 使用 BGP 和 OSPF/IS-IS(或者在无 IGP 的场景中使用 BGP 代替 OSPF/ISIS),因此你可以简单地操纵 BGP 绕过Leaf节点,也可以使用 IS-IS overload-bit/OSPF max -metric LSA 功能来实现相同的结果,并在计划工作期间将Leaf从转发路径中移除。 多租户 BGP EVPN VXLAN IP Fabric 能够提供三层租户,而传统数据中心纯粹基于二层,并且只能提供 VLAN 分段。
图 8:传统 DC - L2 中的多租户支持,仅基于 VLAN 第三层多租户的工作原理与 MPLS 第三层 VPN 相同,即通过为给定租户构建和传播专用路由表信息,从而形成新的 VPNv4/v6 唯一前缀,并通过使用其配置的扩展社区路由目标来控制传播。
图 9:Spine-Leaf 中的多租户支持 * 注意:BGP 会话位于Spine和Leaf之间,该图表示从一个 VTEP 到另一个 VTEP 的 BGP 路由 NLRI 传播,但这是通过在 BGP EVPN VXLAN Fabric内具有路由反射器功能的Spine完成的。 Spine-Leaf设计在这里提供了明显的优势,因为现在三层多租户基本是必须的,而Spine-Leaf不必携带额外的路由器来处理它,它们可以在 Fabric 本身内进行处理。 ECMP 路由 对于传统数据中心,不存在真正不同的链路多路径,因为 STP 会自动阻止两个交换机之间的独立冗余端口。这里所说的独立冗余端口是指不属于链路绑定的端口。如果想实现冗余和弹性,可以利用链路绑定,但这通常不是理想的多路径场景。 为什么说不行呢?因为它依赖的是bond的哈希算法,在许多情况下,它没有考虑到第4层报头信息(源/目的TCP/UDP端口)。这会导致该特定键中可用的X的单个链接的快速极化(过度利用)。 对于 BGP EVPN VXLAN IP Fabric,使用内部报文头信息对冗余链路上的流量进行哈希处理,通常使用以下信息:源IP、目的IP、源端口、目的端口和协议号,并且由于没有附加协议来更改链路,因此可以实现真正的 ECMP。 配置复杂度 在前面几个方面都是IP Fabric占优势,但在配置复杂度方面,情况有所不同。以Cisco Nexus NX-OS为例,让我们看一下一个简单的 VLAN 二层服务配置在传统二层交换机(左侧)与 Spine-Leaf交换机(右侧)上的情况:
图 10:传统二层与 Spine-Leaf服务配置 差异是显而易见的。 传统二层:
STP,
链接绑定,
VLAN。
Spine-Leaf覆盖了以上的所有内容并且还包括:
BGP(IPv4 和 L2VPN EVPN)、
VRF,
VXLAN,
组播,
BFD。
也就是说,如果你的拓扑结构简单且非常小(例如只有一两个交换机),那么使用传统二层架构就够了。但你的拓扑非常复杂时,还是选择Spine-Leaf架构更合适。而且自动化可以帮助我们摆脱 BGP EVPN VXLAN 带来的复杂配置。
可编程性和自动化 自动化既可以用于传统数据中心技术,也可以用于Spine-Leaf,它可以给两者都带来优势。然而,由于配置数量巨大且存在错误风险(跨多个设备的配置项之间存在大量链接 VNI 编号,很容易输入错误),因此将其用于Spine-Leaf部署更有意义。对于传统数据中心,自动化有助于处理 VLAN 管理(添加、删除、交换等),与Spine-Leaf运营开销相比,其复杂性要低得多。 Spine-Leaf架构的自动化有一个小优势,用于构建此类拓扑的设备默认比传统数据中心中使用的设备更新。这意味着它们更具可编程性,并且其中许多提供某种类型的 API 系统(REST、XML、NETCONF 等),这使得配置、读取和解析设备比处理 SSH 会话和解析其未格式化输出快得多。
硬件成本 功能越多,可以用它们做的事情就越多,但成本就越高。与传统数据中心相比,部署Spine-Leaf数据中心的成本本质上会更高。
结论 总之,如果你正在部署的新基础设施需要一台或两台以上交换机且至少采用两层设计,那么Spine-Leaf是最佳选择。传统数据中心架构至少还会存在 5 到 10 年,因为过渡到Spine-Leaf等现代架构还需要付出很多的时间和精力。
审核编辑:黄飞
评论
查看更多