云计算时代,数据中心架构三层到大二层的演变

本文受权转载自公众号蛋蛋团。

01 数据中心是什么

数据中心,指用于安置计算机系统及相关部件的设施,例如电信和储存系统。编程

为了知足自身的业务需求,保证数据的稳定和可靠。不管是互联网仍是传统行业,都会有本身或大或小的数据中心,甚至如阿里云和亚马逊这种专门以出租计算资源的云计算公司,更是在全世界各地创建了不等的数据中心。 安全

尽管到到现在的云计算时代,将数据中心自身的资源虚拟化以达到更高的利用率,有一点确定,物理资源决定了虚拟资源的天花板。服务器

物理网络的特性,例如带宽,MTU,延时等,最终直接或者间接决定了虚拟虚拟网络的特性。对网络性能进行优化时,有些物理网络特性能够经过升级设备或线路来提高,可是有些与网络架构有关。升级或者改动网络架构带来的风险和成本是巨大的,所以在架设数据中心初始,网络架构的选择和设计尤为须要谨慎。 网络

那么,从过去的传统数据中心,到现在的云计算时代数据中心,中间经历了怎样的变迁呢?架构

02 传统数据中心网络架构

在传统的大型数据中心,网络一般是三层结构。Cisco称之为:分级的互连网络模型(hierarchical inter-networking model)。 负载均衡

三层网络结构是采用层次化架构的三层网络,有三个层次:核心层(网络的高速交换主干)、汇聚层(提供基于策略的链接)、接入层(将工做站接入网络),这个模型以下:工具

  • 接入层(Access Layer) :接入交换机一般位于机架顶部,因此它们也被称为ToR(Top of Rack)交换机,它们物理链接服务器。
  • 汇聚层(Aggregation Layer) :汇聚交换机链接Access交换机,同时提供其余的服务,例如防火墙,SSL offload,入侵检测,网络分析等。
  • 核心层(Core Layer) :核心交换机为进出数据中心的包提供高速的转发,为多个汇聚层提供链接性,核心交换机为一般为整个网络提供一个弹性的L3路由网络。 一个三层网络架构示意图以下所示:

一般状况下,汇聚交换机是L2和L3网络的分界点,汇聚交换机如下的是L2网络,以上是L3网络。每组汇聚交换机管理一个POD(Point Of Delivery),每一个POD内都是独立的VLAN网络。性能

服务器在POD内迁移没必要修改IP地址和默认网关,由于一个POD对应一个L2广播域。优化

汇聚交换机和接入交换机之间一般使用STP(Spanning Tree Protocol,生成树协议)。STP使得对于一个VLAN网络只有一个汇聚层交换机可用,其余的汇聚层交换机在出现故障时才被使用(上图中的虚线)。阿里云

也就是说汇聚层是一个active-passive的HA模式。这样在汇聚层,作不到水平扩展,由于就算加入多个汇聚层交换机,仍然只有一个在工做。

一些私有的协议,例如Cisco的vPC(Virtual Port Channel)能够提高汇聚层交换机的利用率,可是一方面,这是私有协议,另外一方面,vPC也不能真正作到彻底的水平扩展。

下图是一个汇聚层做为L2/L3分界线,且采用vPC的网络架构。

传统的数据中心网络技术,STP 是二层网络中很是重要的一种协议。在二层有一个至关矛盾的点,那就是可靠性和安全性的矛盾。

可靠性是指构建二层网络时,通常会采用会采用设备冗余和链路冗余的方式。

安全性是指二层交换机同处于一个广播域,广播报文在环路中会反复持续传送,可能会造成广播风暴,因此必须防止造成环路。

要想两种同时达到,能够采用STP(生成树协议)自动控制,即冗余设备和冗余链路成备份,在正常状况下被阻塞掉,当出现链路故障时冗余的设备端口和链路才会被打开。

因为 STP 的收敛性能等缘由, 通常状况下 STP 的网络规模不会超过 100台交换机。STP的这种机制致使了二层链路利用率不足,尤为是在网络设备具备全链接拓扑关系时,这种缺陷尤其突出。

如上图所示,当采用全网STP二层设计时,STP将阻塞大多数链路,使接入到汇聚间带宽降至1/4,汇聚至核心间带宽降至1/8。这种缺陷形成越接近树根的交换机,端口拥塞越严重,形成的带宽资源浪费就越可观。

03 云计算的发展对数据中心的影响

随着互联网的发展带来的数据大爆发以及虚拟化技术的发展,计算资源被池化,对数据中心也提出了新的挑战:动态迁移和高性能。

采用大二层网络架构,能够实现整个数据网络都是L2广播域,这样便可实现动态迁移。大二层网络架构,L2/L3分界在核心交换机,核心交换机如下,也就是整个数据中心,是L2网络(固然,能够包含多个VLAN,VLAN之间经过核心交换机作路由进行连通)。大二层的网络架构以下图所示:

相对于以前的基础架构而言,具备以下特色:

  • ①资源池化——硬件服务器经过虚拟化技术进行部分硬件资源的整合,构造计算资源池化
  • ②统一管理——在虚拟化平台上创建虚拟机,在虚拟机里部署业务,实现平台上虚拟机的统一维护和管理
  • ③横向扩展——计算资源不够,能够直接补充硬件服务器达到资源扩展

然而,传统大二层的缺点也和明显,共享的L2广播域带来的BUM(二层数据链路层的报文)风暴随着网络规模的增长而明显增长,最终将影响正常的网络流量。

同时,虚拟机能够迁移,可是如何达到迁移过程当中用户无感知,IP地址等不改变呢?即实现动态迁移。

云计算技术的发展的不只仅依托于虚拟化,还有一个很是重要虚拟化管理软件平台,典型的如openstack。

经过x86服务器和二层交换机的链接,将网络功能、计算功能、存储功能和安全功能所有虚拟化,以虚拟机的形式实现咱们传统数据中心硬件堆积所完成的一切功能,所有组件融合在一套虚拟化管理软件平台中,对外提供虚拟存储、网络、计算等资源,这就是所谓的”超融合”平台。

04 数据中心流量丰富化带来的挑战

互联网这几年发展的特别快,然而,互联网公司本质上来说也是数据公司,数据承载着公司绝大部分的价值,因而数据安全性以及可靠性也变的愈加重要。 在早期,小规模数据中心主要是南北流量,而互联网爆发式的数据增加带来的数据中心虚拟化也要求更高的东西流量,甚至跨数据中心流量。

南北向流量:数据中心以外的客户端到数据中心服务器之间的流量,或者数据中心服务器访问互联网的流量。

东西向流量:数据中心内的服务器之间的流量。

跨数据中心流量:跨数据中心的流量,例如数据中心之间的灾备,私有云和公有云之间的通信。

在思科的分析报告中,预计2020年,东西流量能达到总带宽的77%,跨数据中心9%,南北流量仅占总带宽的14%。

而传统三层网络架构主要是为了南北流量设计,尽管也支持东西流量,可是不足十分明显。

东西流量分为L2和L3,若是是L2流量,若是源和目的主机都在同一个接入层交换机下,那么能够达到全速,由于接入交换机就能完成转发。若是须要跨机架,但仍然是在一个汇聚层POD内,则须要经过汇聚层交换机进行转发,带宽取决于汇聚层交换机的转发速率。 若是是L3流量,必须通过核心交换机完成转发,它不只浪费了宝贵的核心交换机资源,多层转发也增长了延时。

而到大二层网络架构,不管是L2仍是L3流量,都须要通过核心交换机,这也对核心交换机的性能提出了新的挑战。

05 总结

传统三层网络架构已经存在几十年,而且如今有些数据中心中仍然使用这种架构。最主要的缘由是成本。

一方面是由于早期L3路由设备比L2桥接设备贵得多。即便是如今,核心交换机也比汇聚接入层设备贵很多。

另外一方面,早期的数据中心,大部分流量是南北向流量。

例如,一个服务器上部署了WEB应用,供数据中心以外的客户端使用。使用这种架构能够在核心交换机统一控制数据的流入流出,添加负载均衡器,为数据流量作负载均衡等。

传统的三层网络架构必然不会在短时间内消失,可是因为技术和市场的发展,其短板也愈来愈明显。好比企业将面临成本和可扩展性的两难选择。

基于现有网络架构的改进显得很是有必要,新的网络架构最好是:由相对较小规模的交换机构成,能够方便的水平扩展,较好的支持HA(active-active模式),支持全速的东西向流量,不采购高性能的核心交换机也能去除超占比,支持SDN等等。


「Linux云计算网络」公众号后台回复“加群”,带你进入高手如云交流群

个人公众号 「Linux云计算网络」(id: cloud_dev) ,号内有 10T 书籍和视频资源,后台回复 「1024」 便可领取,分享的内容包括但不限于 Linux、网络、云计算虚拟化、容器Docker、OpenStack、Kubernetes、工具、SDN、OVS、DPDK、Go、Python、C/C++编程技术等内容,欢迎你们关注。

相关文章
相关标签/搜索