今天这个故事,要从67年前开始说起。

1953年,贝尔实验室有一位名叫Charles Clos的研究员,发表了一篇名为《A Study of Non-blocking Switching Networks》的文章,介绍了一种“用多级设备来实现无阻塞电话交换”的方法。

自从1876年电话被发明之后,电话交换网络历经了人工交换机、步进制交换机、纵横制交换机等多个阶段。20世纪50年代,纵横制交换机处于鼎盛时期。

纵横交换机的核心,是纵横连接器。如下图所示:

纵横制接线器

纵横连接器交叉点示意图

这种交换架构,是一种开关矩阵,每个交点(Crosspoint)都是一个开关。交换机通过控制开关,来完成从输入到输出的转发。

开关矩阵(交点数量=N2)

可以看出,开关矩阵很像一块布的纤维。所以,交换机的内部架构,被称为Switch Fabric。Fabric,就是“纤维、布料”的意思。

Fabric这个词,我相信所有核心网工程师和数通工程师都非常熟悉。“Fabric平面”、“Fabric总线”等概念,经常出现在工作中。

随着电话用户数量急剧增加,网络规模快速扩大,基于crossbar模型的交换机在能力和成本上都无法满足要求。于是,才有了文章开头Charles Clos的那篇研究文章。

Charles Clos(右一)

Charles Clos提出的网络模型,核心思想是:用多个小规模、低成本的单元,构建复杂、大规模的网络。例如下图:

图中的矩形,都是低成本的转发单元。当输入和输出增加时,中间的交叉点并不需要增加很多。

这种模型,就是后来产生深远影响的CLOS网络模型

到了80年代,随着计算机网络的兴起,开始出现了各种网络拓扑结构,例如星型、链型、环型、树型。

树型网络逐渐成为主流,大家也非常熟悉。

树型网络

传统的树型网络,带宽是逐级收敛的。什么是收敛呢?物理端口带宽一致,二进一出,不就1:2的收敛了嘛。

2000年之后,互联网从经济危机中复苏,以谷歌和亚马逊为代表的互联网巨头开始崛起。他们开始推行云计算技术,建设大量的数据中心(IDC),甚至超级数据中心。

面对日益庞大的计算规模,传统树型网络肯定是不行的了。于是,一种改进型树型网络开始出现,它就是胖树(Fat-Tree)架构

胖树(Fat-Tree)就是一种CLOS网络架构。

相比于传统树型,胖树(Fat-Tree)更像是真实的树,越到树根,枝干越粗。从叶子到树根,网络带宽不收敛。

胖树架构的基本理念是:使用大量的低性能交换机,构建出大规模的无阻塞网络。对于任意的通信模式,总有路径让他们的通信带宽达到网卡带宽。

胖树架构被引入到数据中心之后,数据中心变成了传统的三层结构:

接入层:用于连接所有的计算节点。通常以机柜交换机(TOR,Top of Rack,柜顶交换机)的形式存在。

汇聚层:用于接入层的互联,并作为该汇聚区域二三层的边界。各种防火墙、负载均衡等业务也部署于此。

核心层:用于汇聚层的的互联,并实现整个数据中心与外部网络的三层通信。

在很长的一段时间里,三层网络结构在数据中心十分盛行。在这种架构中,铜缆布线是主要的布线方式,使用率达到了80%。而光缆,只占了20%。

用着用着,人们发现,传统三层架构有很多的缺点。

首先,是资源的浪费。

传统三层结构中,一台下层交换机会通过两条链路与两台上层交换机互连。

由于采用的是STP协议( Spanning Tree Protocol,生成树协议),实际承载流量的只有一条。其它上行链路,是被阻塞的(只用于备份)。这就造成了带宽的浪费。

其次,是故障域比较大。

STP协议由于其本身的算法,在网络拓扑发生变更时需要重新收敛,容易发生故障,从而影响整个VLAN的网络。

第三点,也是最重要的一点——随着时间推移,数据中心的流量走向发生了巨大变化。

2010年之后,为了提高计算和存储资源的利用率,所有的数据中心都开始采用虚拟化技术。网络中开始出现了大量的虚拟机(VM,Virtual Machine)。

与此同时,微服务架构开始流行,很多软件开始推行功能解耦,单个服务变成了多个服务,部署在不同的虚拟机上。虚拟机之间的流量,大幅增加。

这种平级设备之间的数据流动,我们称之为“东西向流量”

相对应的,那种上上下下的垂直数据流动,称为“南北向流量”。这个很容易理解,“上北下南,左西右东”嘛。

东西向流量,其实也就是一种“内部流量”。这种数据流量的大幅增加,给传统三层架构带来了很大的麻烦——因为服务器和服务器之间的通信,需要经过接入交换机、汇聚交换机和核心交换机。

数据流向举例

这意味着,核心交换机和汇聚交换机的工作压力不断增加。要支持大规模的网络,就必须有性能最好、端口密度最大的汇聚层核心层设备。这样的设备成本高,价格非常昂贵。

于是乎,网络工程师们提出了“Spine-Leaf网络架构”,也就是我们今天的主角——叶脊网络(有时候也被称为脊叶网络)。Spine的中文意思是脊柱,Leaf是叶子。

叶脊网络架构,和胖树结构一样,同属于CLOS网络模型。

相比于传统网络的三层架构,叶脊网络进行了扁平化,变成了两层架构。如下图所示:

叶交换机,相当于传统三层架构中的接入交换机,作为 TOR(Top Of Rack)直接连接物理服务器。叶交换机之上是三层网络,之下都是个独立的 L2 广播域。如果说两个叶交换机下的服务器需要通信,需要经由脊交换机进行转发。

脊交换机,相当于核心交换机。叶和脊交换机之间通过ECMP(Equal Cost Multi Path)动态选择多条路径。

脊交换机下行端口数量,决定了叶交换机的数量。而叶交换机上行端口数量,决定了脊交换机的数量。它们共同决定了叶脊网络的规模。

叶脊网络的优势非常明显:

1、带宽利用率高

每个叶交换机的上行链路,以负载均衡方式工作,充分的利用了带宽。

2、网络延迟可预测

在以上模型中,叶交换机之间的连通路径的条数可确定,均只需经过一个脊交换机,东西向网络延时可预测。

3、扩展性好

当带宽不足时,增加脊交换机数量,可水平扩展带宽。当服务器数量增加时,增加脊交换机数量,也可以扩大数据中心规模。总之,规划和扩容非常方便。

4、降低对交换机的要求

南北向流量,可以从叶节点出去,也可从脊节点出去。东西向流量,分布在多条路径上。这样一来,不需要昂贵的高性能高带宽交换机。

5、安全性和可用性高

传统网络采用STP协议,当一台设备故障时就会重新收敛,影响网络性能甚至发生故障。叶脊架构中,一台设备故障时,不需重新收敛,流量继续在其他正常路径上通过,网络连通性不受影响,带宽也只减少一条路径的带宽,性能影响微乎其微。

思科的Nexus 9396PX,适合作为叶交换机

我们来结合一个案例模型,分析一下叶脊网络的支持能力。

假设一个这样的资源条件:

脊交换机数量:16台

每个脊交换机的上联端口:8个 × 100G

每个脊交换机的下联端口:48个 × 25G

叶交换机数量:48台

每个叶交换机的上联端口:16个 × 25G

每个叶交换机的下联端口:64个 × 10G

在理想情况下,这样的叶脊网络总共可支持的服务器数量为:48×64=3072台。(注意,叶脊交换机北向总带宽一般不会和南向总带宽一致,通常大于1:3即可。上例为400:640,有点奢侈了。)

从这个例子也可以看出,叶脊网络带来了一个趋势,那就是对光模块的数量需求大幅增加。

下图就是传统三层架构和叶脊架构所使用光模块数量的对比案例,差别可能达到15-30倍之多。

(来自国泰君安证券研究)

正因为如此,资本市场对叶脊网络非常关注,希望借此带动光模块市场的增长,尤其是100G、400G这样的高速率光模块。

光模块出货量及生命周期预测(2018)

叶脊拓扑网络从2013年左右开始出现,发展速度惊人,很快就取代了大量的传统三层网络架构,成为现代数据中心的新宠。

最具有代表性的,是Facebook在2014年公开的数据中心架构。Facebook使用了一个五级CLOS架构,甚至是一个立体的架构。大家有兴趣可以研究一下。

Facebook数据中心架构

除了Facebook之外,谷歌公司的第五代数据中心架构Jupiter也大规模采用了叶脊网络,其可以支持的网络带宽已经达到Pbps级。谷歌数据中心中10万台服务器的每一个,都可以用任意模式以每秒10千兆比特的速度互相通信。

谷歌数据中心

好啦,关于叶脊网络的介绍,今天就到这里。

感谢大家的耐心观看,我们下期再见!

参考文献:

1、叶脊网络拓扑下全三层网络设计与实践,eponia,CSDN

2、光通信的再思考:5G流量爆发下的数据密度革命,国盛证券

3、数据中心网络架构浅谈,肖宏辉,知乎

4、叶脊架构如何满足新型数据中心流量需求,Paul Korzeniowski

5、是时候考虑叶脊网络架构,Andrew Froehlich

6、IDC叶脊架构如何推动高端光模块爆发,国君通信

7、数据中心spine leaf网络架构,云宏大讲坛

到底什么是叶脊网络?相关推荐

  1. 到底什么是叶脊网络(Spine-Leaf)?

    今天这个故事,要从67年前开始说起. 1953年,贝尔实验室有一位名叫Charles Clos的研究员,发表了一篇名为<A Study of Non-blocking Switching Net ...

  2. 【网络】叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(一) - 叶脊网络架构简介

    1.  叶脊网络架构简介 天地万物,应运而生.传统的三层网络架构,在发展了多年后,终于也命数将尽了,替代它的,将是叶脊网络架构.究其原因,是因为传统三层网络架构自身存在一些无法突破的限制与弊端,在当今 ...

  3. 叶脊网络架构是什么?如何设计?

    多年以来,数据中心一直采用三层网络架构进行网络部署,但随着数据中心的整合以及虚拟化.超融合的兴起,叶脊网络架构作为一种新兴的网络架构,逐渐成为了当今数据中心网络部署的主流,它克服了传统三层网络构架的局 ...

  4. 【网络】叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(三) - 交换设备互联

    3. 交换机互联 3.1 本节目标 了解Spine Leaf网络基本拓扑结构: 网络设备互联接口配置: 网络设备bgp配置: 3.2 拓扑结构: 如下图所示, 本节使用的Spine Leaf网络拓扑, ...

  5. 数据中心网络架构 — 云数据中心网络 — 新型叶脊二层网络架构

    目录 文章目录 目录 Spine Leaf 二层网络架构 Spine Switch Leaf Switch Spine Leaf 的组网规模 Spine Leaf 的特性 Spine Leaf 的不足 ...

  6. 服务器物理部署拓扑图,【网络】叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(五)-物理服务器路由方案及配置...

    5.1 本节目标 理解物理机的业务ip之间的通信过程: 了解如何在leaf交换机上配置业务ip的静态路由: 了解如何在物理机上配置业务ip及其他相关配置项: 5.2 拓扑结构 本节拓扑结构与上节相比没 ...

  7. 为什么要使用叶脊(leaf-spine)拓扑网络zz

    http://network.51cto.com/art/201412/460623.htm

  8. 到底什么是生成式对抗网络GAN?

    男:哎,你看我给你拍的好不好? 女:这是什么鬼,你不能学学XXX的构图吗? 男:哦 -- 男:这次你看我拍的行不行? 女:你看看你的后期,再看看YYY的后期吧,呵呵 男:哦 -- 男:这次好点了吧? ...

  9. 数学学习缺陷起源于儿童早期额顶叶脑网络的非典型发育

    数学学习缺陷,在国际疾病分类中,将其定义为神经发育障碍(计算障碍).然而,目前还不清楚这些缺陷是如何在早期大脑发育过程中出现的.在这里,我们对没有正式数学学习经验的3-6岁儿童进行了功能和结构性磁共振 ...

最新文章

  1. 开发人员应该对IIS理论层的知识了解的多一些~第四讲 HttpModule中的几大事件
  2. Java 慎用方法级别的synchronized关键字
  3. OpenCV Laplacian算子
  4. oracle怎么设置sql每隔一段时间执行一次_Oracle大规模数据快速导出文本文件
  5. 电脑边充电边用好吗_平板电脑充电推车厂家哪家好?
  6. dedecms模版php,好织梦-专业dedecms模板,dede模板,织梦模板下载平台
  7. SpringBoot 使用AOP功能
  8. 【codevs3732】【BZOJ3751】解方程,hash+秦九韶算法
  9. Selenium 自动测试软件的使用(自动化操作)
  10. God of War Ascension / 战神4, 再一次迎来新导演!
  11. 打java包需要对应服务器么_java打war包、部署服务器
  12. 一个计算机自动作图程序
  13. matlab脚本栏中间有条线,word中间有一根线 word中间有一条线如何去掉
  14. oracle裁员原因_如何评价甲骨文(ORACLE)中国区裁员?
  15. Kindle刷安卓双系统的方法_我是亲民_新浪博客
  16. 微信新功能曝光:定时发送消息
  17. QQ飞车手游飞越狸想怎么获得
  18. CCF 难题汇总(2013-2019 持续更新)
  19. 好不好用户说了算,看OPPO R11如何赢得一致好评?
  20. 微型计算机技术及应用期末试题,微机原理及应用期末试卷大全(有答案)

热门文章

  1. 南昌师范学院同学会05级计算机,返校感言|故事初始,是回归,回到南昌师范学院的TA们,说了这些……...
  2. 从多个Word文档中批量取值,整理到Excel表中的技能,整理简历者必备
  3. 网易企业电子邮箱的托管账号服务是什么?怎么用?
  4. 半导体2013风云榜 美光大跃进
  5. 项目管理之我见:甲方乙方
  6. Django项目之美多商城遇到的问题记录与解决(一)
  7. 曲线救国 —— 删除数组的指定元素
  8. 动物细胞无血清培养基的发展和应用
  9. UI设计存在什么意义?
  10. 传奇服务器需要满足什么条件