一文读懂胖树(Fat-Tree)拓扑结构
共 2146字,需浏览 5分钟
·
2021-09-14 06:52
在 2008 年由美国加利福尼亚计算机科学与工程的几位教授发表的一篇论文《A scalable, commodity data center network architecture》中,明确的提出了一种三级的,被称之为胖树(Fat-Tree)的 CLOS 网络架构,标志着 CLOS 正式进入数据中心网络架构领域,这是 CLOS 网络模型的第三次应用。
Fat-Tree 是无带宽收敛的:传统的树形网络拓扑中,带宽是逐层收敛的,树根处的网络带宽要远小于各个叶子处所有带宽的总和。而 Fat-Tree 则更像是真实的树,越到树根,枝干越粗,即:从叶子到树根,网络带宽不收敛。这是 Fat-Tree 能够支撑无阻塞网络的基础。
如上图所示,为了实现网络带宽的无收敛,Fat-Tree 中的每个节点(根节点除外)都需要保证上行带宽和下行带宽相等,并且每个节点都要提供对接入带宽的线速转发的能力。
但是,传统单根/多根拓扑结构有以下缺点:成本高,根部交换机必须要有足够大的带宽来满足下层服务器之间的通信;性能瓶颈,无法满足数据中心内部大规模的MapReduce和数据拷贝。
为了解决树形结构根节点的瓶颈问题,研究者提出了许多可用的拓扑结构。分为以交换机为中心和以服务器为中心的架构。其中,Fat-Tree在近年来的科研中应用较为广泛。SIGCOMM会议论文:Al-Fares M, Loukissas A, Vahdat A. A scalable, commodity data center network architecture。
当前,Fat-Tree 是业界普遍认可的实现无阻塞网络的技术。其基本理念是:使用大量低性能的交换机,构建出大规模的无阻塞网络,对于任意的通信模式,总有路径让他们的通信带宽达到网卡带宽。Fat-Tree 的另一个好处是,它用到的所有交换机都是相同的,这让我们能够在整个数据中心网络架构中采用廉价的交换机。
Fat-Tree是以交换机为中心的拓扑。支持在横向拓展的同时拓展路径数目;且所有交换机均为相同端口数量的普通设备,降低了网络建设成本。
具体来说,Fat-Tree结构共分为三层:核心层、汇聚层、接入层。一个k元的Fat-Tree可以归纳为5个特征:
每台交换机都有k个端口;
核心层为顶层,一共有(k/2)^2个交换机;
一共有k个pod,每个pod有k台交换机组成。其中汇聚层和接入层各占k/2台交换机;
接入层每个交换机可以容纳k/2台服务器,因此,k元Fat-Tree一共有k个pod,每个pod容纳k*k/4个服务器,所有pod共能容纳k*k*k/4台服务器;
任意两个pod之间存在k条路径。
常见的有2元、4元、6元等结构。
上图为最简单的 k=4 时的 Fat-Tree 拓扑,连在同一个接入交换机下的服务器处于同一个子网,他们之间的通信走二层报文交换。不同接入交换机下的服务器通信,需要走路由。下面是一个6元胖树结构。
Fat-Tree 的扩展规模在理论上受限于核心层交换机的端口数目,不利于数据中心的长期发展要求;
对于 POD 内部,Fat-Tree 容错性能差,对底层交换设备故障非常敏感,当底层交换设备故障时,难以保证服务质量;
Fat-Tree 拓扑结构的特点决定了网络不能很好的支持 One-to-All及 All-to-All 网络通信模式,不利于部署 MapReduce、Dryad 等高性能分布式应用;
Fat-Tree 网络中交换机与服务器的比值较大,在一定程度上使得网络设备成本依然很高,不利于企业的经济发展。
因为要防止出现 TCP 报文乱序的问题,难以达到 1:1 的超分比。
参考资料:
1、范桂飓,“数据中心网络架构的问题与演进 — CLOS 网络与 Fat-Tree、Spine-Leaf 架构”;
2、金色牛神,“Fat-Tree Topo Architecture(胖树拓扑结构)”。
转载申明:转载本号文章请注明作者和来源,本号发布文章若存在版权等问题,请留言联系处理,谢谢。
推荐阅读
更多架构相关技术知识总结请参考“架构师全店铺技术资料打包”相关电子书(37本技术资料打包汇总详情可通过“阅读原文”获取)。
全店内容持续更新,现下单“全店铺技术资料打包(全)”,后续可享全店内容更新“免费”赠阅,价格仅收198元(原总价350元)。
温馨提示:
扫描二维码关注公众号,点击阅读原文链接获取“架构师技术全店资料打包汇总(全)”电子书资料详情。