2.1.3 网络拓扑
图2-4为传统的数据中心网络拓扑,思科过去一直提倡这样的拓扑,分为三层,最下面是接入层(Edge),中间是汇聚层(Aggregation),上面是核心层(Core)。典型的接入层交换机包含48个1Gb端口以及4个10Gb上行端口,汇聚层以及核心层的交换机包含128个10Gb的端口。传统三层结构的问题在于可能有很多接入层的交换机接到汇聚层,很多的汇聚层交换机接到核心层。同一个接入层下的服务器之间带宽为1Gb,不同接入层交换机下的服务器之间的带宽小于1Gb。由于同一个接入层的服务器往往部署在一个机架内,因此,设计系统的时候需要考虑服务器是否在一个机架内,减少跨机架拷贝大量数据。例如,Hadoop HDFS默认存储三个副本,其中两个副本放在同一个机架,就是这个原因。
图 2-4 数据中心网络拓扑(三层结构)
为了减少系统对网络拓扑结构的依赖,Google在2008年的时候将网络改造为扁平化拓扑结构,即三级CLOS网络,同一个集群内最多支持20480台服务器,且任何两台都有1Gb带宽。CLOS网络需要额外投入更多的交换机,带来的好处也是明显的,设计系统时不需要考虑底层网络拓扑,从而很方便地将整个集群做成一个计算资源池。
同一个数据中心内部的传输延时是比较小的,网络一次来回的时间在1毫秒之内。数据中心之间的传输延迟是很大的,取决于光在光纤中的传输时间。例如,北京与杭州之间的直线距离大约为1300公里,光在信息传输中走折线,假设折线距离为直线距离的1.5倍,那么光传输一次网络来回延时的理论值为1300×1.5×2/300000=13毫秒,实际测试值大约为40毫秒。
