前言

好好学习研究一下Clos网络的念头由来已久,本来计划在三月上旬把文章写完。但最近针对云的理解和认识,在内部写了一个长篇大论,占了很大的精力,所以就拖到了现在。


一、为什么会出现Clos网络?

Clos网络架构,出现之初只是为了解决电话交换网络的需求。在那个年代,电信联盟圈子里,遇到问题的解法之一就是:电路怎么办、结构怎么办。
计算机网络圈,在面对类似以太网aloha冲突时,往往会通过设计CSMA/CD、CSMA/CA这种载波侦听多路访问的冲突控制或避免机制予以应对。我们当年学习计算机网络时,涉及到局域网络,也通常只会看到核心、汇聚、接入三层,以及各种STP生成树协议,甚至根本就不知道还有Clos这个人。
但从什么时候开始,Clos网络架构被计算机网络积极引入并得到大面积应用?通常的说法是,针对数据中心内部东西向流量占比达到80%且需要极高的可用通信带宽等情况,STP生成树始终不能很好解决,因此Clos网络架构被引入进来,并在计算机网络圈里形成了一个新的名词:叶脊网络(spine-leaf)。在实际工作中,相信很多人都做过相关的实现。
但是,Clos网络架构由何而来,重点解决的究竟是什么问题,感觉有的人并不是非常清楚,因此在这里把自己的学习理解记录下来,希望能够有所帮助。

二、什么是Clos网络?

1953年,贝尔实验室研究员Charles Clos发表了一个文章《a study of Non-blocking Switching Network》(实际的文章收录时间是1952年10月)。虽然名字里有switching network,但实际上这是一个针对电话交换网络,采用多级设备实现无阻塞电话交换的方法。
个人看完之后的一个感受就是:我刚刚学习了一篇数学文章。这个文章的原文,有兴趣的朋友可以留言索取。
当时的背景是,电话交换网络设备已经由人工交换机发展为步进制交换机,再进化为纵横式交换机。而纵横式交换机基于开关矩阵原理设计而成。下面贴一张手画的矩阵示意图。


假设一个矩阵有3个输入、3个输出,为了实现任意的输入和输出之间随时可以通信,矩阵交叉点(crosspoint)就需要有至少3*3=9个点。如果有N个用户,那么就会意味着交叉点将达到N^2。如果将这种要求放到一台交换机之上,相当于是既要极大提升能力,同时还要控制好成本。既要我美艳又要我杀人不眨眼,显然是很困难的。
那么Clos的思想是什么呢?就是如何通过多个小规模、低成本的单元,来构建复杂、大规模的网络。也就是,通过增加低成本设备的数量,在不依赖单体设备的高性能、高可靠前提下,通过略显复杂的网络架构设计,来实现无阻塞的通信诉求。
当我们将矩阵由一个平面拓展到三个平面的立体结构时,交叉点数量C(3)=6N^(3/2)-3N。与前面的N2相比,数量极大减少,也就意味着显著降低了对于单台设备的性能要求。有兴趣的可以通过学习原文来了解为什么会是这个结论。这里只贴一张手画的示意图。


简要总结一下Clos网络的特点:
1.无阻塞
2.设备数量多
3.可有效降低对单体设备性能的要求

Clos网络的初步分析(一)相关推荐

  1. Azure底层架构的初步分析

    之所以要写这样的一篇博文的目的是对于大多数搞IT的人来说,一般都会对这个topic很感兴趣,因为底层架构直接关乎到一个公有云平台的performance,其实最主要的原因是我们的客户对此也非常感兴趣, ...

  2. 【2017年第3期】大数据服务三农的初步分析与探索

    孙忠富, 褚金翔, 马浚诚, 杜克明, 郑飞翔 中国农业科学院农业环境与可持续发展研究所,北京 100081 摘要:三农问题是当前中国密切关注的社会问题,大数据技术的发展为三农带来了新的机遇.首先,对 ...

  3. 2017 Python 问卷调查结果初步分析

    Note:本文在我的个人站点同步发布:2017 Python 问卷调查结果初步分析 · Lee's Space Station,无广告,体验更好. 未经授权,禁止转载. 前言 2017 年末,PSF( ...

  4. 国内首个开源网络流量可视化分析平台 -- 流影

    流影:基于流量的网络行为高级分析平台 流影是一款基于全流量的高级网络行为分析平台,该系统是由深海鱼(北京)科技有限公司流影项目组研发设计,首发开源是1.0版本. 项目简介 深海鱼(北京)科技有限公司专 ...

  5. 企业网络营销信息源分析报告

    企业网络营销信息源分析报告 前言 选择来了家乡黄冈的以下的机构进行了调查,湖北省黄冈中学.李时珍中学.艾江山健康科技有限公司.黄冈市第二人民医院.广睿电子科技有限公司.沙隆达蕲春有限公司.本来想选择我 ...

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

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

  7. 关联规则挖掘_基于人工智能的网络告警关联分析处理的应用

    1 概述 随着通信网络近些年的快速发展,其规模已经相当庞大,在网络中每天都会产生告警信息,并且这些信息数据量庞大.突发故障多,当网络设备出现故障并引发告警时,与它关联的设备也会引发相应的故障,并在短时 ...

  8. 拉卡拉手机刷卡器音频通讯技术原理初步分析

    拉卡拉手机刷卡器音频通讯技术原理初步分析  kimmking@163.com http://blog.csdn.net/kimmking/article/details/8712161 1.      ...

  9. 网络数据包分析与抓取

    多年的网络数据包分析与抓取经验,闲话少说,上干货. 先列举数据包的种类:1.Http数据包:2.UDP数据包:3.TCP数据包:4.ARP数据包:其实数据包的概念是很泛的,在软件可逆领域,数据包抓取. ...

最新文章

  1. 微信程序跳转到页面底部 scroll-view
  2. python在windows下操作word的方法的代码
  3. Quill编辑器IOS下无法获取焦点的解决方法
  4. python counter函数定义_分享几个自己常用的Python高级函数
  5. QT 中 关键字讲解(emit,signal,slot)以及使用
  6. 2013-11-5 深圳尚游网络公司 - 服务器开发工程师
  7. mysql两者之间_Django和MySQL - 两者之间的数据是不同的
  8. mysql 日期间隔_mysql比较两个日期间隔
  9. Apple Mac OS X每日一技巧016:MacBook电源线如何缠绕
  10. Docker安装aria2+ariang
  11. linux消息分发机制,RabbitMQ消息分发轮询和Message Acknowledgment
  12. LOGO特训营 第三节 首字母创意手法
  13. Catagory用法
  14. 怎么给证件照换背景?教你一招快速更换证件照背景色
  15. 小米2s刷原生安卓_小米2/2S刷原生安卓Android4.4ROM刷機教程
  16. Python不借助中间值实现两个数之间的交换
  17. 根据内核Oops 定位代码工具使用— addr2line 、gdb、objdump
  18. BM开发出量子计算机,迄今错误率最低量子比特面世,有望推进量子计算机研发工作...
  19. 基于openharmony的智慧婴儿陪睡伴侣
  20. SQL Server、Oracle 如何清除指定SQL的执行计划

热门文章

  1. 免费 | 通知 ∣ 8月6-9日 ∣ 第十届分子生药学暑期研讨会线上会议日程和参会链接...
  2. 页面上下滚动,背景图不动
  3. iPhone为盲人自动识别并标记按钮和UI功能
  4. VBoxManage命令详解技术文章
  5. Hive学习之路(四):Hive内置函数介绍与实现WordCount
  6. 解析大数据时代的机器人文明
  7. JSDOM和BOM学习第五天(下)
  8. 三星出局 传台积电独家代工苹果未来两代A10、A11芯片
  9. 为什么要 “打工人” ?
  10. 计算机开始按钮的功能,Win8.1终于有了“开始按钮”