叶脊(leaf-spine)拓扑网络介绍

4260阅读 0评论2021-03-26 hiyachen
分类:网络与安全

一、传统三层网络的弊端


如上图是传统三成网络架构的典型拓扑结构:(接入层-客户端连接网络;汇聚层-交换机接入;核心层-交换机和路由汇聚并连接内外网络
1. 接入层:接入交换机通常位于机架顶部,所以它们也被称为ToR(Top of Rack)交换机,它们物理连接服务器。
2. 汇聚层:汇聚交换机连接同一个二层网络(VLAN)下的接入交换机,同时提供其他的服务,例如防火墙,SSL offload,入侵检测,网络分析等, 它可以是二层交换机也可以是三层交换机。
3. 核心层: 核心交换机为进出数据中心的包提供高速的转发,为多个二层局域网(VLAN)提供连接性,核心交换机为通常为整个网络提供一个弹性的三层网络。
在这种网络架构下,存在如下的一些弊端:
1.带宽的浪费:为了防止环路,汇聚层和接入层之间通常会运行STP协议,使得接入交换机的上联链路中实际承载流量的只有一条,而其他上行链路将被阻塞(如图中虚线所示),造成了带宽的浪费;
2.故障域较大:STP协议由于其本身的算法,在网络拓扑发生变更时需要重新收敛,容易发生故障,从而影响整个VLAN的网络;
3.难以适应超大规模网络:在云计算领域,网络规模扩大,数据中心也分布在不同的地理位置,虚拟机要求能在任意地点创建,迁移,而保持其网络属性(IP, 网关等)保持不变,需要支持大二层网络,在上图的拓扑中,无法在VLAN10和VLAN20之间作上述迁移;
对于上述带宽浪费的问题,思科提出的解决方案是vPC(virtual Port Channel)协议,可以将接入交换机的两条上行链路做成一个vPC,同时承载流量,从而避免了带宽的浪费,提升了带宽的利用率,然而,一方面,这种方案仍然无法做到水平扩展,因为vPC只支持最多两个上行链路,上行链路增多时,无法线性增加带宽;另一方面,vPC是思科的私有协议,对于厂商的依赖性强,成本上不具有优势,下图为vPC的架构图:


  上图的方案提高了带宽利用率,但仍没有解决大二层的问题,解决方案是将核心层以下的部分全部放在同一个二层网络中,但是,同一个二层网络中容纳如此多的设备,二层网络中的广播风暴将随着设备的增加而越来越严重,最终给交换机带来沉重的负载,从而影响流量,下图为传统网络大二层的解决方案示意图:

 
在过去的业务模式中,分布式还没有兴起,一个服务通常需要访问的资源在同一个服务器上,因此东西向流量较少,主要需要关注的是南北向流量,以一个web服务为例,后端服务也许只位于一个服务器上,这个服务处理请求时不需要向别的服务器发起请求,在本机上就可以完成处理,处理完成后将结果返回给浏览器,如果访问请求增多,则南北向流量增大,对单个服务器的运算能力也要求较大,然而东西向流量并不会变多。
然而由于技术的发展,如今的数据中心对网络的需求早已发生了变化:
1.虚拟化的兴起:为了提高计算和存储资源的利用率,如今的数据中心几乎都会采用虚拟化技术,而虚机资源的迁移会大大增加网络中的东西向流量;
2.软件架构的解耦:当今的一个服务可能会拆分成多个服务部署在不通的虚拟机上,可能位于不通的位置,这些服务之间会频繁的通信,会大大增加东西向流量;
3.分布式应用的兴起:数据和应用如今会分布在成千上万个服务器上,任务需要在这些服务起上进行分发,计算,汇总,返回,会大大增加东西向流量;
传统架构下,当存在大量东西向流量时,汇聚交换机和核心交换机的压力会大大增加,网络规模和性能也就限制在了汇聚层和核心层。要支持大规模的网络,就必须有性能最好,端口密度最大的汇聚层核心层设备,这样的设备成本高,不是所有企业都买得起,且必须在建设网络时就预先规划好网络规模,在网络规模小时,会造成资源的浪费,在网络规模继续扩大时,扩容也比较困难,因而让企业陷入了成本和可扩展性的两难选择之中。
我们先来看看标准的网络数据中心传统的三层的网络拓扑结构

图1. 传统三层网络结构图

这个模型的设计为数据中心的网络拓扑设计提供了可行性依据。这个模型设计图可以扩大为整个网络的拓扑图。重要的是三层模型,这里面包括网络端口的密度和交换机的数量要匹配。结构化布线的要求也可以清晰的看出来,层与层之间的连接是和数据中心的网络拓扑相同的。因此,虽然现实的三层网络增加更多的设备,但原理上和模型图是一致的。
为什么三层网络结构存在短板?

基于性能瓶颈和网络利用率等等的原因,资深的网络设计师都在探索新的数据中心的拓扑结构。
数据中心网络传输模式是不断地改变的。大多数网络都是纵向(north-south)的传输模式---主机与网络中的其它非相同网段的主机通信都是设备-
交换机-路由到达目的地。同时,在同一个网段的主机通常连接到同一个交换机,可以直接相互通讯。


图2:n-s网络,纵向网络结构


图3:n-s网络简化图。数据传输模式

然而,现代数据中心的计算和存储基础设施,主要网络流量模式从已经不止是单纯的不同网段之间通讯。内外网的通讯、网络段分布在多个接入交换机,要求主机通过网络互连等这些环境。这些网络环境的变化催生了两种技术趋势:网络收敛和虚拟化。
1:网络收敛:网络结构中,储存网络和通信网络在同一个物理网络中。主机和阵列之间的数据传输通过储存网络来传输,在逻辑拓扑上就像是直接连接的一样。如ISCSI等。
2:虚拟化:将物理客户端向虚拟客户端转化。虚拟化服务器是未来发展的主流和趋势,它将使网络节点的移动变得非常简单。
         横向网络(east-west)在纵向设计的网络拓扑中传输数据会带有传输的瓶颈,因为数据经过了许多不必要的节点(如路由和
交换机等设备)。如果网络上主机需要通过高速带宽相互访问,但通过层层的uplink口,会导致潜在的、而且非常明显的性能衰减。三层网络的原始设计更会加剧这种性能衰减,由于生成树协议会防止冗余链路存在环路,双上行链路接入交换机只能使用一个指定的网络接口链接。


图4:e-w网络

虽然增大内部交换层的带宽有助于改善三层结构网络的传输阻塞,但这样受益的只是一个节点。E-W模式中主机之间的的数据传输并非同一时间只是存在两个节点之间。相反,数据中心中的主机之间在任何时间都有数据传输的。因此,增加带宽这种高层本低效率的投资只是治标不治本。
新兴的网络拓扑结构

那么要如何从根本上解决三层网络结构的这种瓶颈? 一种可行的解决方案就是在访问层之下增加交换层,两个节点之间的数据传输直接在这一层完成,从而分流了主干网络的传输。这种结构就是leaf-
spine叶脊拓扑结构,叶脊拓扑结构通过增加一层平行于主干纵向网络结构的横向网络结构,在这层横向结构上增加相应的交换网络,这种生成树模式是三层网络结构无法做到的。这是类似于传统的三层设计,只是在脊层多个交换设备。在叶脊拓扑结构,所有的链接都是用来转发流量, 也是使用通用的生成树协议,如多连接透明互联协议(TRILL)或者最短路径桥接(SPB)。TRILL和SPB协议转发所有的连接流量,但同样能保持保持一个无环路的网络拓扑结构,类似于路由网络。

图5: 叶脊拓扑结构简化图
叶脊(leaf-spine)拓扑网络的优势

叶脊网络拓扑结构现在事实上是一个标准——供应商的各种以太网产品设计基本都可以应用在这种结构。因为叶脊网络拓扑结构有几个理想的特性,能充分发挥网络的优势。
所有横向的主机在网络位置上是平行的。叶脊网络扩大接入和汇聚层。一个主机可以通过叶支
交换机(leaf)和另一个叶支交换机上的主机进行通信,而且是独立的通道。这种网络可以大大提高网络的效率,特别是高性能计算集群或高频流量通信设备,叶脊网络里使用所有的互连链路,是传统的三层设计采用生成树一预防环路协议。如前所述,生成树检测回路,然后在回路的位置进行标记和隔离,以防止形成回路。这意味着,双路接入交换机只能使用两个上行链路其中的一个。而新的代替协议,如SPB和TRILL允许接入设备之间的所有链接都接入网络,使网络规模随着流量增长。叶脊网络同样支持固化配置的交换机(也就是非管理型交换机)。和传统有可以管理端口数量的模块化插槽的交换机相比,这种交换机只有固定的端口,不过这种交换机的特点是价格便宜。但大量交换机连接着多层结构的三层拓扑结构中,传统交换机还是不可代替的。 叶脊网络允许多个脊交换机(spine)交叉互连,这样能避免叶脊网络所需的大量管理交换机。大部分企业也都抱着少钱多办事的原则,在不必要用管理型交换机的地方,就使用普通非管理型交换机来节省成本。叶脊网络拓扑结构提供了解决横向网络连接的传输瓶颈,而且提供了高度的扩展性,它几乎能适应所有大中小型数据中心。可以预见,所有企业的IT建设都是走向收敛型和高层次的虚拟化型叶脊网络结构。
叶脊拓扑网络结构的缺点
           叶脊拓扑网络结构不可能是完美的。其中一个缺点就是,
交换机的增多使得网络规模变大。叶脊拓扑网络结构的数据中心需要按客户端的数量,相应比例的增加交换机和网络设备。随着主机的增加,需要大量的叶交换机(leaf)上行连接到脊交换机(spine)。

图6. 叶脊网络完整图

交换机和叶交换机直接的互联需要匹配,一般情况下,叶脊交换机之间的合理带宽比例不能超过3:1。例如,有48个10Gbps速率的客户端在叶交换机上,预计所需的带宽是480Gbps。如果叶层交换机使用4个40Gbps的uplink端口连接脊层交换机,它的带宽就是160Gbps,这样的比例就是3:1,不会超负荷。在设计叶脊网络的时候特别要注意这个带宽的比例关系。叶脊网络也有明确的布线的要求。叶脊层之间的电缆数量增加是数据中心管理人员面临的挑战,甚至需要用光纤来连接。因为光模块有传输距离远,衰减小的特点,在大型的网络部署中有不可代替的优势。部署数据中心叶脊网络的时候必须考虑这些因素,如客户端数量,带宽需求的大小,距离的远近等等,以便选择是否需要光纤模块。

参考资料:
https://blog.51cto.com/dannyswallow/1754832
https://blog.csdn.net/m0_37904728/article/details/97940745
上一篇:高并发的性能指标QPS、TPS、RT、吞吐量
下一篇:IRF虚拟化技术介绍