浅谈数据中心架构的发展

一、传统数据中心网络架构

数据中心前端计算网络主要由大量的二层接入设备及少量的三层设备组成,传统上是标准的三层结构(如图1所示):

浅谈数据中心网络架构的发展  

 图1 传统数据中心网络三层架构

传统的网络模型在很长一段时间内,支撑了各种类型的数据中心,但随着互联网的发展以及企业IT信息化水平的提高,新的应用类型及数量急剧增长。随着数据中心规模的不断膨胀,以及虚拟化、云计算等新技术的不断发展,仅仅使用传统的网络技术越来越无法适应业务发展的需要。在互联网领域,这一点表现的尤为明显。

二、数据中心网络的新变化

截至2013年12月,中国网民规模达6.18亿,全年共计新增网民5358万人,互联网普及率为45.8%。大量网民的涌入必然带来网络流量的急剧膨胀。对于互联网企业,承载具体应用的数据中心的计算资源及网络节点常常满负荷运转;而对于传统企业,随着自身业务量的增加,以及各类业务互联网化的需求,对数据中心的整体的吞吐量也提出了新的要求。

服务器万兆网络接入渐成主流

受成本、以及技术成熟度制约,传统数据中心以千兆接入为主。随着CPU计算能力的不断提高,目前主流的服务器处理性能,已经超出了千兆网卡的输出能力。同时,FC存储网络与IP网络的融合,也要求IP网络的接入速率达到FC的性能要求。当仅仅通过链路聚合、增加等价路径等技术手段已经无法满足业务对网络性能的需求时,提高网络端口速率成为必然之选。

万兆以太网从起步到目前逐渐成为应用主流,延续了以太网技术发展的主基调,凭借其技术优势,替代其他网络接入技术,成为高性能网络的不二选择。目前新的数据中心,万兆网络接入已成为事实上的标准。

  数据中心流量模型发生显著变化

传统的数据中心内,服务器主要用于对外提供业务访问,不同的业务通过安全分区及VLAN隔离。一个分区通常集中了该业务所需的计算、网络及存储资源,不同的分区之间或者禁止互访,或者经由核心交换通过三层网络交互,数据中心的网络流量大部分集中于南北向。

在这种设计下,不同分区间计算资源无法共享,资源利用率低下的问题越来越突出。通过虚拟化技术、云计算管理技术等,将各个分区间的资源进行池化,实现数据中心内资源的有效利用。而随着这些新技术的兴起和应用,新的业务需求如虚拟机迁移、数据同步、数据备份、协同计算等在数据中心内开始实现部署,数据中心内部东西向流量开始大幅度增加。

  物理二层向逻辑二层转变

在虚拟化初期,虚拟机管理及迁移主要依靠物理的网络,由于迁移本身要求二层网络,因此数据中心内部东西向流量主要是二层流量。为增加二层物理网络的规模,并提高链路利用率,出现了TRILL、SPB等大二层网络技术。

随着虚拟化数据中心规模的扩大,以及云化管理的深入,物理网络的种种限制越来越不适应虚拟化的要求,由此提出了VXLAN、NVGRE等网络Overlay方案,在这一方案下,物理网络中的东西向流量类型也逐渐由二层向三层转变,通过增加封装,将网络拓扑由物理二层变为逻辑二层,同时提供逻辑二层的划分管理,更好的满足了多租户的需求。

VXLAN、NVGRE等Overlay技术都是通过将MAC封装在IP之上,实现对物理网络的屏蔽,解决了物理网络VLAN数量限制、接入交换机MAC表项有限等问题。同时通过提供统一的逻辑网络管理工具,方便的实现了虚拟机HA迁移时网络策略跟随的问题,大大降低了虚拟化对网络的依赖,成为了目前网络虚拟化的主要发展方向。

 越来越多的网络扁平化需求

随着虚拟化技术的进步,每台物理服务器的虚拟机数量由8台提升至16台、32台甚至更多,这使得低延迟的服务器间通信和更高的双向带宽需求变得更加迫切。然而传统的网络核心、汇聚和接入的三层结构,服务器虚拟化后还有一个虚拟交换机层,而随着刀片服务器的广泛应用,刀片式交换机也给网络添加了一层交换。如此之多的网络层次,使得数据中心计算节点间通信延时大幅增加,这就需要网络化架构向扁平化方向发展,最终的目标是在任意两点之间尽量减少网络架构的数目。

伴随着业务访问量的增长,所需的服务器数量也需要持续增长。比如国内腾讯、百度、阿里三家互联网公司,为满足用户访问,平均每两周就有1000台以上服务器上线。这样的上线速度和数量,对整个数据中心的自动化运维提出了极高的要求,基础的网络同样需要适应这种需求。

网络扁平化后(如图2所示),减少了中间层次,对核心设备交换能力要求降低,对于数据中心而言,后续扩容只需要以标准的机柜(包含服务器及柜顶交换单元)为单位增加即可,这样既满足了数据中心收敛比的要求,又能满足服务器快速上线需要。扁平化成为互联网企业网络设计不断追求的目标。

浅谈数据中心网络架构的发展
 

 图2 腾讯数据中心网络采用的二层扁平结构

数据中心的这些变化,对网络提出了更高的要求。Fabric物理网络架构成为解决上述难题的一个重要手段。Fabric英文原意为”织物、布、结构、建筑物、构造”,”Fabric网络架构”则因其内部纵横互联类似纺织结构而得名。简单的说,就是通过骨干网络节点间分层互联(或全互联)的方式,提供所有接入网络的各类节点间的无差异互访。

在Fabric架构下(如图3所示),所有节点可以全互联,也可以分层互联。分层结构下,节点类型分为骨干节点和叶子节点,骨干节点与叶子节点间全连接,骨干节点仅用作转发,叶子节点作为二三层的边界。在这种架构下,网络全互联形成的大量等价路径既保证了链路的冗余可靠,又提高了整个Fabric网络的吞吐量;扁平的网络结构保证了任意节点间较高的连接速率,同时对任意类型流量均拥有极低的时延。

浅谈数据中心网络架构的发展  

 图3 Fabric网络拓扑结构

Fabric架构给数据中心网络部署带来以下好处:

可以大幅降低服务器万兆接入的建设成本。当前100GE设备及布线成本都十分高昂,服务器采用10GE接入后,传统结构下,汇聚及核心层设备必须具备100GE的转发能力才能保证尽量低的收敛比。在新的网络结构下,骨干节点只做交换,网关直接部署在叶子节点,Fabric内部采用40GE速率即可满足万兆接入需求,大幅降低了网络建设成本。

可以支持更大的数据中心。由于这种结构的扁平化特点,在较低的收敛比下,可以通过简单的增加接入设备,方便的接入几千个计算节点,通过Fabric间互联,可以很容易的增加至上万个计算节点,满足了现代大型数据中心规模建设的需求。

可以满足云计算的网络需要。云计算将计算资源做成了一个资源池,而Fabric结构将网络做成了一个大的资源池。这种结构不再区分南北流量和东西流量,使得计算节点与任意方向通信均无阻塞;对服务器的接入位置没有要求,无论采用VLAN、VXLAN、NVGRE等何种技术,任意节点间可以实现高速、低时延的互联,大幅提高了整网性能。

但是,Fabric架构并非完美。叶子节点网络设备无论是性能要求还是功能要求,均高于传统架构下的接入设备,其作为各种类型的网关(二三层间、VLAN/VXLAN间、VXLAN/NVGRE间、FC/IP间等等),芯片处理能力要求较高,目前尚无满足所有协议间互通的商用芯片;由于不存在相关的标准,为了实现各种类型网络的接入,其骨干节点与叶子节点间的转发各个厂商均采用了私有封装,这也为将来的互通设置了难题。

Fabric网络架构这一全新的数据中心网络架构,在规模、性能和简单性方面实现质的飞跃,同时还降低了建设成本,获得了更大的敏捷性和效率,虽然各个厂商在实现这一架构时存在一些自己私有的处理,但目前的确已成为未来数据中心网络架构的一个公认的发展方向。

三、未来弹性、自适应的数据中心网络

我们同样看到,物理网络架构改变后一些问题仍然存在,仅仅依靠对传统技术的修修补补已经无法满足未来数据中心网络的需求。

数据中心规模越来越大,给运维管理带来压力。现代(特别是大型互联网企业)的数据中心,规模越来越大(如腾讯天津滨海数据中心,一期规模8万台服务器,规划规模达到20万台),所需要的网络设备数量相当惊人。除了各个层次大量的交换机外,可能还需要部署防火墙、防攻击设备、负载均衡、流量清洗等等网络安全设备,设备类型也会越来越丰富。同时,这些网络设备来自不同的厂家,拥有不一样的操作方式。这些对运维人员的能力提出了更高的要求。

版本更新、业务变更越来越困难。网络需要变更以适应用户业务发展的需要,同时设备厂家会根据需要不定期发布软件修正版本。但当数据中心发展到一定规模后,无论是业务变更还是版本更新,都变得非常困难,这既有设备规模过大带来的巨大工作量的问题,也有如何保证业务连续不中断的考虑。

精确的流量控制越来越难。当前流量控制主要是基于ACL及QoS,通过识别特定的流量、对其应用特定的策略,来实现对业务流量的管控。由于流量策略都是基于管理员对流量运行的假设,在各个设备预先配置来实现,且策略类型较少,而实际网络上业务流量瞬息万变,预先设置的策略往往不能很好的匹配,无法实现复杂的管理控制逻辑,使得QoS实施效果不佳。

归结以上问题,实际上是网络缺乏统一的”大脑”。一直以来,网络的工作方式是:网络节点之间通过各种交互机制,独立的学习整个网络拓扑,自行决定与其他节点的交互方式;当流量过来时,根据节点间交互做出的决策,独立的转发相应报文;当网络中节点发生变化时,其他节点感知变化重新计算路径。网络设备的这种分散决策的特点,在此前很长一段时间内满足了互联互通的需要,但由于这种分散决策机制缺少全局掌控,在需要流量精细化控制管理的今天,表现出越来越多的问题。

经过多年的发展,SDN为解决这些难题提供了可行的解决方案(如图4所示)。它通过集中的控制器来实现对整网设备的监控和管理,利用软件的灵活、动态可扩展,提供丰富的管理控制策略,通过开放相关API,可以集成第三方APP,实现更多的个性化的网络控制。

浅谈数据中心网络架构的发展  

 图4 ONF典型SDN控制器架构

SDN网络是一种全新的网络。在这样的网络中,控制器就是大脑,它掌控全局,学习整网的拓扑,管理网络中的各个节点。网络中的其他节点,只需要向”大脑”上报网络变化,并按照”大脑”的指挥,完成自己的工作即可。随着网络的规模的增加,网络中”大脑”的数量、功能也随之增加。比如,每台控制器所管理的节点数量有限,可以组成控制器集群管理整个网络;有的控制器控制流量转发,有的控制器控制安全策略,还有的控制器控制虚拟网络的管理等等。

SDN的发展也同样存在相当的不确定性。传统的南向接口OpenFlow会越来越复杂,现有网络设备无法简单升级支持;同时满足大流表的需求将大幅提高芯片成本;控制器发展不统一,各个厂家都在争夺自己在未来SDN网络的话语权,标准化进程缓慢,各种私有的协议加入将导致未来网络成为少数玩家的地盘。但我们同样相信,无论具体实现形式如何,SDN这种集中管控、灵活动态的网络部署必将成为未来的发展趋势。

四、结束语

我们很快就会看到,新的数据中心采用云计算技术对所有虚拟计算资源集中管理,Fabric架构的网络无缝实现了数据中心各个区域的互联,基于Overlay的二层网络实现了虚拟机的流畅迁移,集中化的SDN网络控制器提供对数据中心整网的监控,各种流量根据数据中心当前网络状况实时切换经由路径,偌大的数据中心内,寥寥数人便完成了全部的运维管理。我们相信,这就是将来的数据中心的工作情景。