注:本文参考《CLOS架构是啥》、《数据中心网络架构浅谈(二)》等相关文章。此文章仅作者学习所用,如有侵权请联系删除。

此文仅描述了Clos网络架构的设计思路和原理,如需深究敬请期待。

Clos架构,1953年,贝尔实验室研究员Charles Clos发表了一个文章《a study of Non-blocking Switching Network》(实际的文章收录时间是1952年10月)。虽然名字里有switching network,但实际上这是一个针对电话交换网络,采用多级设备实现无阻塞电话交换的方法。所以它并不是一个新的概念。

大约在1990年代,Clos架构被应用到Switch Fabric。应用Clos架构的交换机的开关密度,Clos模型能降低交换机内部的开关密度。这是Clos架构的第二次应用。

Clos网络架构,在2008年一篇文章A scalable, commodity data center network architecture,提出将Clos架构应用在网络架构中。2014年,在Juniper的白皮书中,也提到了Clos架构。这一回,Clos架构应用到了数据中心网络架构中来。这是Clos架构的第三次应用。

Clos网络架构突出的三点优势,第一解决核心交换机的瓶颈;第二实现无阻塞架构,使用输入输出都能找到没有在同时使用的线路;第三采用中高端交换机提供大型数据中心组网的解决方案,降低成本。

通常我们涉及到局域网络包含核心、汇聚、接入三层,以及各种STP生成树协议。近年来针对数据中心内部东西向流量占比达到80%且需要极高的可用通信带宽等情况,STP生成树始终不能很好解决,因此CLOS多级交换架构再次焕发活力,随着CLOS集群架构的普及,标准的x86服务器集群以低成本和高扩展性逐渐取代大型机和小型机而成为数据中心的主流。

  • 传统数据中心网络架构

在传统的大型数据中心,网络通常是三层结构。Cisco称之为:分级的互连网络模型(hierarchical inter-networking model)。这个模型包含了以下三层:

Access Layer(接入层):有时也称为Edge Layer。接入交换机通常位于机架顶部,所以它们也被称为ToR(Top of Rack)交换机,它们物理连接服务器。

Aggregation Layer(汇聚层):有时候也称为Distribution Layer。汇聚交换机连接Access交换机,同时提供其他的服务,例如防火墙,SSL offload,入侵检测,网络分析等。

Core Layer(核心层):核心交换机为进出数据中心的包提供高速的转发,为多个汇聚层提供连接性,核心交换机为通常为整个网络提供一个弹性的L3路由网络。

一个三层网络架构示意图如下所示:

京东IT资源服务部负责人吕科说:"如何降低网络对于应用性能的影响是一个非常复杂的问题,也是所有的数据中心管理者一直在力求解决的问题。最好的方式就是我们的网络人员和应用人员一起来讨论应用对于网络的需求,我们专业的技术团队会针对需求,测试和选择最合适的网络产品和网络方案。"京东IT资源服务部硬件系统部门技术负责人王中平给出了以下五种解决方案:

  1. 采用高性能的交换机;
  2. 采用性能高而且稳定的交换机;
  3. 避免出现多对一通讯时的不公平现象;
  4. 建立快速的网络拥塞控制机制;
  5. 降速慢传数据策略优于丢包重传数据。
  • Clos架构

简单的Clos架构是一个三级互连架构,包含了输入级,中间级,输出级,如下图所示:

图中的矩形是规模小得多的转发单元,相应的成本小得多。Clos架构的核心思想是:用多个小规模、低成本的单元构建复杂,大规模的架构。上图中,m是每个子模块的输入端口数,n是每个子模块的输出端口数,r是每一级的子模块数,经过合理的重排,只要满足r2≥max(m1,n3),那么,对于任意的输入到输出,总是能找到一条无阻塞的通路。

  • Clos网络架构

现在流行的Clos网络架构是一个二层的spine/leaf架构,如下图所示。spine交换机之间或者leaf交换机之间不需要链接同步数据(不像三层网络架构中的汇聚层交换机之间需要同步数据)。每个leaf交换机的上行链路数等于spine交换机数量,同样的每个spine交换机的下行链路数等于leaf交换机的数量。可以这样说,spine交换机和leaf交换机之间是以full-mesh方式连接。

可前面不是说Clos架构是三级设备架构吗?为什么这里只有两层网络设备?这是因为前面讨论Clos架构的时候,都是讨论输入到输出的单向流量。网络架构中的设备基本都是双向流量,输入设备同时也是输出设备。因此三级Clos架构沿着中间层对折,就得到了二层spine/leaf网络架构。由于这种网络架构来源于交换机内部的Switch Fabric,因此这种网络架构也被称为Fabric网络架构。

在spine/leaf架构中,每一层的作用分别是:

  1. leaf switch:相当于传统三层架构中的接入交换机,作为TOR(Top Of Rack)直接连接物理服务器。与接入交换机的区别在于,L2/L3网络的分界点现在在leaf交换机上了。leaf交换机之上是三层网络。
  2. spine switch:相当于核心交换机。spine和leaf交换机之间通过ECMP(Equal Cost Multi Path)动态选择多条路径。区别在于,spine交换机现在只是为leaf交换机提供一个弹性的L3路由网络,数据中心的南北流量可以不用直接从spine交换机发出,一般来说,南北流量可以从与leaf交换机并行的交换机(edge switch)再接到WAN router出去。

对比spine/leaf网络架构和传统三层网络架构

可以看出传统的三层网络架构是垂直的结构,而spine/leaf网络架构是扁平的结构,从结构上看,spine/leaf架构更易于水平扩展。

  • Clos网络架构应用

Fabric网络架构最具有代表性的就是Facebook在2014年公开的其数据中心架构:Introducing data center fabric, the next-generation Facebook data center network。Facebook使用了一个五级Clos架构,前面说过实际的网络设备即是输入又是输出,因此五级Clos架构对折之后是一个三层网络架构,虽然这里也是三层,但是跟传统的三层网络架构完全是两回事。

对应于上面介绍的架构,Facebook将leaf交换机叫做TOR,中间添加了一层交换机称为fabric交换机。fabric交换机和TOR构成了一个三级Clos结构,如下图所示,这与前面介绍的spine/leaf架构是一样的。Facebook将一组fabric交换机,TOR和对应的服务器组成的集群称为一个POD(Point Of Delivery)。POD是Facebook数据中心的最小组成单位,每个POD由48个TOR和4个fabric交换机组成,下图就是一个POD的示意图。

在Facebook的Fabric架构中,spine交换机与多个fabric交换机连接,为多个POD提供连通性。其整体网络架构如下图所示。下图中用三种方式表示了同一种网络架构。最上层是spine交换机,中间是fabric交换机,最下面是TOR。

在Fabric架构中,存在着两个切面,左右切面是一个个POD,前后切面被称为Spine Plane。总共有4个Spine Plane,每个Spine Plane也是一个三级Clos架构。在Spine Plane中,leaf是Fabric交换机,Spine就是Spine交换机。每个Spine Plane中,由48个spine交换机和N个fabric交换机相连组成,N等于当前数据中心接入的POD数。Spine Plane的三级Clos架构和POD的三级Clos架构,共同构成了数据中心的五级Clos架构。因为在POD内,fabric交换机通过48个口与TOR连接,所以在Spine Plane的Clos架构中,fabric交换机的输入输出端口数都是48,对应上面的公式,m1=n3=48。根据Clos架构的特性,在Spine plane中,Spine交换机只要大于等于48个,不论N(POD数)等于多少,都可以保证网络架构无阻塞。当然实际中N还受限于spine交换机的端口密度。

由于每个POD有4个fabric交换机,所以总共有4个Spine Plane。完整的架构如下图所示:

除了前面描述的POD和Spine Plane,上图中还有黄色的Edge Plane,这是为数据中心提供南北向流量的模块。它们与Spine交换机的连接方式,与二层的spine/leaf架构一样。并且它们也是可以水平扩展的。

  • Clos网络架构在数据中心网络中的优势

弹性可扩展。数据中心可以以POD为单位构建,随着规模的增加,增加相应的POD即可。在Spine交换机端口数可承受的范围内,增删POD并不需要修改网络架构。模块化设计。不论是POD,Spine Plane还是Edge Plane,都是一个个相同的模块,在水平扩展的时候,不需要新的设计,只是将原有的结构复制一份即可。灵活。当对网络带宽要求不高的时候,Spine交换机和Edge交换机可以适当减少。

例如Facebook表示,在数据中心的初期,只提供4:1的东西向流量超占比,这样每个Spine Plane只需要12个Spine交换机。当需要更多带宽时,再增加相应的Spine交换机即可。同样的模式也适用于Edge交换机。这符合“小规模启动,最终适用大规模”的思想。硬件依赖性小。传统三层网络架构中,大的网络规模意味着高端的核心汇聚交换机。但是在Fabric架构中,交换机都是中等交换机,例如所有的fabric交换机只需要96个端口,中等规模的交换机简单,稳定,成本低,并且大多数网络厂商都能制造。高度高可用。

传统三层网络架构中,尽管汇聚层和核心层都做了高可用,但是汇聚层的高可用由于是基于STP(Spanning Tree Protocol),并不能充分利用多个交换机的性能,并且,如果所有的汇聚层交换机(一般是两个)都出现故障,那么整个汇聚层POD网络就瘫痪。但是在Fabric架构中,跨POD的两个服务器之间有多条通道(4*48=192),除非192条通道都出现故障,否则网络能一直保持连通,下图是一个跨POD服务器之间多通道示意图。

需要指出的是,这种网络架构并非Facebook独有,例如Cisco的Massively Scalable Data Center (MSDC),Brocade的Optimized 5-Stage L3 Clos Topology都是类似的5级Clos架构。其中一些组成元素,各家叫法不一样,不过原理都是类似的。

数据中心五级Clos网络架构相关推荐

  1. 每日一学|数据中心spine leaf网络架构

    注:本文来源公众号:云宏WinHong,Vol. 042云宏大讲坛 | 数据中心spine leaf网络架构 . 随着业务形态的变化,数据中心网络的交换架构也在不断的发展.传统的三层网络结构应用广泛而 ...

  2. 服务器虚拟化架构设计,服务器虚拟化与数据中心I/O网络架构设计

    这是关于网络架构设计两部分系列中的第一篇.想了解关于在网络架构中整合I/O虚拟化方面的知识,请点击第二篇:如何将I/O虚拟化整合到网络体系架构中. 服务器虚拟化对于数据中心I/O网络架构的需求非常强烈 ...

  3. BGP in the datacenter, 数据中心的BGP,数据中心网络架构,Clos网络架构

    数据中心的BGP 说明: 这是最近在学习<BGP in the datacenter>.由于原文是全英文.所以在学习过程中,利用谷歌翻译和网易翻译,再把翻译不通的地方,加上自己理解稍微改了 ...

  4. [转]漫谈数据中心CLOS网络架构

    http://djt.qq.com/article/view/238 1.数据中心网络架构挑战 随着技术的发展,数据中心的规模越来越大,一个数据中心的服务器容量从几年前的几千台服务器发展到今天的几万甚 ...

  5. 漫谈数据中心CLOS网络架构

     1.数据中心网络架构挑战 随着技术的发展,数据中心的规模越来越大,一个数据中心的服务器容量从几年前的几千台服务器发展到今天的几万甚至几十万台.为了降低网络建设和运维成本,数据中心网络的设计者们也 ...

  6. 《云数据中心网络架构与技术》读书笔记 | 第5章 构建数据中心的物理网络(Underlay网络)

    第5章 构建数据中心的物理网络(Underlay网络) 5.1 物理组网和基础网络 包含Fabric.Spine.Leaf.Service Leaf.Server Leaf.Border Leaf角色 ...

  7. 新一代数据中心标准化统一交换架构

    目前的数据中心已经很难承担起海量数据所带来的压力.发展下一代数据中心已经成为了当下迫在眉睫的事情.而制定什么样的标准化才能满足我们对于数据的需求呢? 传统数据中心的异构网络 数据中心经过多年的发展和变 ...

  8. adg oracle 架构_技术栈数据中心有了ADG架构就高枕无忧了?你还需要做这一步!...

    技术栈 数据中心有了ADG架构, 就高枕无忧了? 你还需要做这一步! 如果把数据中心建设比喻成西天取经,那旅途上的九九八十一难就是我们不得不躲闪.跨越.攻坚的堡垒.即日起,希嘉推出"技术栈& ...

  9. 一文带你了解数据中心大二层网络演进之路

    摘要:传统的三层数据中心,置身虚拟机化的浪潮中,其中变革创新,就在此篇文章中一窥究竟吧. 传统数据中心三层组网架构 政府部门或者金融机构等大型企业的数据中心中服务器的规模可能会达到2000台以上.一般 ...

最新文章

  1. JavaScriptjQuery.返回多个值的函数
  2. 矩阵论:线性空间与线性变换
  3. 线段树-HDU5737-这题有点神
  4. 【RS码2】RS码的BM迭代译码原理详解及MATLAB实现(不使用MATLAB库函数-代码见CSDN同名资源)
  5. 作者:孙宗哲(1991-),男,东北大学软件学院硕士生
  6. 老百姓需要这样的智慧城市
  7. 苹果该怎么办?特朗普誓言将会严厉惩罚外迁公司
  8. GIF Movie Gear逆向实战+注册代码+补丁
  9. Shadow Map阴影贴图技术之探
  10. java复数类求模_java中实现复数求模
  11. java中intern_Java中的intern()方法是什么?
  12. 【Java】:基础入门知识
  13. 考研数学常用基础知识默写版
  14. 绕过AppLocker系列之MSIEXEC的利用
  15. 数字化转型转的是什么
  16. java多线程厨师做饼,Java多线程之厨师与食客问题
  17. 一元函数积分学之1__不定积分
  18. html保留数据库文本格式,以html格式显示数据库中的格式化文本(FLASK应用程序)...
  19. 【例16 Java从键盘读入学生成绩,找出最高分,并输出学生成绩等级】
  20. sql 凭证明细表 科目余额表_金碟财务软件手册——明细账 凭证汇总表 科目余额表...

热门文章

  1. excel查找函数:如何用Vlookup进行多条件查找
  2. 男士英文名的寓意 (M~W)
  3. 解决Windows服务无法访问网络映射盘的问题
  4. 学习HTML5的一些总结
  5. 3. 【gRPC系列学习】 客户端Dial(DialContext)执行流程
  6. 2019最新黑马传智Python人工智能大数据视频教程分享给大家
  7. 物联网工程实训 第 2天
  8. 明星直播带货的平台都有哪些功能?
  9. 自动间隔截图 matlab,自动间隔截图 MultiScreenshots
  10. VBoxManage