一、传统三层网络的弊端
如上图是传统三成网络架构的典型拓扑结构:(
接入层-客户端连接网络;汇聚层-交换机接入;核心层-交换机和路由汇聚并连接内外网络)
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.分布式应用的兴起:数据和应用如今会分布在成千上万个服务器上,任务需要在这些服务起上进行分发,计算,汇总,返回,会大大增加东西向流量;
传统架构下,当存在大量东西向流量时,汇聚交换机和核心交换机的压力会大大增加,网络规模和性能也就限制在了汇聚层和核心层。要支持大规模的网络,就必须有性能最好,端口密度最大的汇聚层核心层设备,这样的设备成本高,不是所有企业都买得起,且必须在建设网络时就预先规划好网络规模,在网络规模小时,会造成资源的浪费,在网络规模继续扩大时,扩容也比较困难,因而让企业陷入了成本和可扩展性的两难选择之中。
我们先来看看标准的网络数据中心传统的三层的网络拓扑结构: