网络通信 频道

从25G到100G-阿里数据中心网络架构设计分享

  【IT168 资讯】11月 29日消息,以 " 新技术 · 新架构 · 新网络 " 为主题的 "GNTC 全球网络技术大会 " 第二天,云和数据中心专场,阿里巴巴技术保障部高级网络专家曹捷发表了主题演讲。

从25G到100G-阿里数据中心网络架构设计分享

  ▲阿里巴巴技术保障部高级网络专家曹捷

  演讲实录如下:

  作为阿里巴巴网络架构团队目标是什么?Hyper scale、High performce、low latency、low cost我们认为越简单越好,简单才能快速普及和长期生存,如果做很复杂的网络,可能刚开始很有成就感,但慢慢就会被打败,经过多年数据积累我认为简单的才能活下去。所以下一个原则就是我们认为在数据中心的网络将来是智能化的大管道,网络就是管道,不会有过于复杂的功能和应用,管道就是快速的将水或者流量导出去,但是管道又不能够完全不可控,它的只能是体现在对于管道本身可靠性和可运营性的体现上。后面我会和大家分享一下怎么看待智能的管道。

  阿里网络从最开始千兆、万兆,到现在25G,以及到明年的100G,大概花了四年半近五年的时间,这个过程当中经历了很多次的技术迭代和很多次的试错,其中我们尝试过各种各样的数据中心解决方案,一个坑一个坑踩过来之后,现在决定把网络做到最简单,简单到什么呢?简单到一个网络里面只有一个路由协议,而且这个BCP路由协议没有任何扩展的协议组。我的网络在接入交换机就在最后的端口上,提供给服务器接入。

  13年和14年阿里第一次做网络架构的标准化,那时候实现了当时认为很厉害的事情,就是阿里所有网络将会是全自动的,交换机买过来装好插第一根网线就可以走了,13年底我们实现了整个阿里数据中心的标准化建设,任何一个地方,不管北京、上海、深圳,还是在云南、成都,我们机房里数据中心的网络hope图完全一样,设备型号完全一样,设备配置也完全一样。

  过了一年下一次迭代我们要做超大规模的网络部署,什么是超大规模?14年的时候阿里巴巴最大的数据新单体规模只有2000台服务器,最大2000台,我们有几十个甚至上百个小的集群组成的整个阿里网络,这样一个分散式的管理让整个网络运维团队天天救火,不停的改造,不停的重建,所以第二年我们做了新的,我们做了3.5万台千兆服务器,只要一个集群就可以搞定这个数据中心。那时候我们部署了40G的骨干电路,以及万兆服务器接入。

  再后来,到了16年的时候我们开始面对最大的挑战是什么?那时候可能大家都面对着挑战,整个云计算发展非常快,阿里云发展非常快,他们对于网络的依赖远远超过过去阿里的电商或者像蚂蚁金服电子金融类的业务,他们和云计算没法比,云计算对网络的依赖非常深,他们当时给我们提出了一个非常明确的事情,我需要一个大规模可以迁移的网络,这个市面上有很多解决方案,最后我们选择了自己做,我们要选择一个通用的解决方法,不管来自于思科、华为,最后我们没有决定用他们的,决定自己做。

  第一次尝试自己做管控流量、管控手段等等应该说我们成功了,但是我们也失败了。为什么呢?我们成功是因为15年、16年的时候部署了这样的网络,这张网络部署规模不算小,到今天为止还有不少于10万个端口在线运行,但为什么说我们失败了?因为很快到了16年底就觉得我们的网络部可能以这样的方式继续演进下去,因为它将整个业务链条和技术网络耦合的太近,当时我们发现一个非常大的问题。

  举个例子,阿里云有大量的云产品,比如有OSS、ESS等等,他们做版本升级或者业务变更的时候是完全不会知会网络运维团队或者网络开发团队,但是你发现你要管理所有底层资源,上层资源使用者做变更不告诉你,逻辑链条是天然断裂的,所以你每天面临着第二天早上有人打电话合说变更以后的产品不能运行了,然后你反驳他你又没告诉我,我下面还要调整。我发现除非你将整个网络作为产品的一部分,专门给阿里云量身订制,否则作为阿里通用的平台没有办法和业务解耦在一起。当时我们的策略是解耦、简单化,我们干脆提出来所有的东西都阿里云自己做,所以阿里云在组织架构上做了调整,有了专门的虚拟网络团队和物理网络团队,我们在虚拟网络之下成立了物理网络团队,我是物理网络团队的。上面也有专职构建虚拟网络。

  到了17年,也就是今年我们开始将我们的网络架构层,之前4.0V,17年设计成了5.0,5.0是作为25G引入了阿里,我们在服务器上大规模部署25G网卡,将所有叠加在网络上的复杂度全部去掉,在今天阿里网络当中是没有SDA。

  从之前四年时间的演进,规模和带宽会持续增长,阿里用了四年时间把1G提升到25G,骨干从10G链路提升到100G链路,用不了一年时间将会把25G提升到100G,将100G骨干链路提升到400G,单体规模从不到3000台提升到了5万台,下一步会提升到10万台。持续探索和优化。数据中心网络大幅简化,至少在我们角度将来一定会坚持下去。这四年时间我们删掉了所有的虚拟化,删除了所有所谓逻辑上的复杂功能等等,这些东西都不见了,不见了网络并没有不可用,并变得更加稳定,我们的故障率每年以50%的速度向下降。我们不仅仅做减法,因为做减法大家会觉得这个太简单了,就把它删掉就可以了,我们也做了加法,我们新增了BGP,把BGP从广域网带到了数据中心内部,我们认为BGP是稳定而且可以持续运行,同时我们加了大量的监控能力和数据采集能力,这些东西大家可能不一定特别熟悉,也有可能数据中心宣传的东西这些东西并没引起大家的重视或者并不作为重点,但是从我们的时间来说这些东西其实非常重要。

  这是我们架构设计原则,简单,简单才能稳定可靠,稳定可靠了才可以活下来。复杂的设想,简单的落地,什么意思呢?虽然我们明白了最终的结果一定要简单,简单才能够稳定可靠的活下来,但是不能真的把一个事情想得太简单,我们需要在做网络架构的时候把设计想得极度复杂,把它所有可能出现的问题都想到,但是一定要用简单的方法实现它,这是这么多年以来阿里不断的被各种坑,坑完之后就觉得要想周全,不要做的太复杂,做的太复杂就会死得很快。互联网公司基础设施团队最大的优势是什么呢?我有非常多的上下游同事可以帮我,因为整个业务循环都在自己手上,不需要面对所谓的客户,我其实没有客户,所有人多是我的兄弟和战友,比如我找到这个问题,我发现这个问题完全可以在应用层解决我就让应用层解决,或者是在下游或者设计中心建设上解决的也可以推动解决。我说这句话的目的是说网络设计架构当中一定会有很多缺陷或者很多遗憾,但是这些遗憾和缺陷不一定非常一要通过网络本身解决。作为一个网络架构设计者,上游和下游他们能帮你解决很多问题。不能为了技术而技术,网络设计的核心价值在于高效稳定和成本合理,这也是一个经验的总结。

  下一代呢?很简单。我认为2019年下半年正式商用部署400G,对于400G几个应用的趋势,我们判断:首先,QSFP-DD在100G接入上是非常大的分歧点,是50G-PAM4还是25G-NRZ,这个没有答案,如果50G技术上是非常好的方案,但是如果用25G就是4个25G-NRZ最后接服务器,这种网卡很便宜,落地非常快,马上就可以,但它注定是过渡性的方案,PAM4只要降价它就会被替代,这是困扰我们的。为什么2019年下半年部署呢?核心原因是PCIe4.0,商用部署到数据中心大概一年多时间,从阿里服务器研发基础上来说我们将会在2019年的下半年看到PCIe4.0的服务器开始规模应用,那个时候整个服务器IO将会极大的突破25G上限,目前看起来应该会有5-6倍的提升,到那个时候可能会跑到200G。最后一个传统的高密度大机框设备很可能在400G被替代掉。我相信在座的各位知道,全世界最高的转换器,那个东西好吗?不能说不好,但是它有一个新的形态。

  可能的风险和问题是什么呢?我们认为400G以太的风险,光器件、量产时间和成本不可控,QSNPD量产时间和成本是400G的最大风险,第二个风险网卡是什么?在座各位是做网络设计还是网络运维运营也好,觉得网卡是服务器的事情,其实不是,为什么?为什么会走到下一步400G或者200G,因为需要更大的带宽、更低的延时,这个在应用上的选择是通过RDMA来实现的,这一点我们今天自己正在踩这个坑,现在我们的时间点大量国内数据已经开始部署25GRDMA,但将来200G或者400G网卡它怎么做是很大的问题。还有就是带宽翻了多少倍之后带来的buffer和延时的问题,如果大家遇到过这样的坑看到这个会明白问题在哪儿,当数据中心的带宽从现在的25G接入上行变成100G上行之后贷款性质明显增加了四倍,但是你看到带宽并没有增加,甚至会减少,在这种情况下丢包的可能性会大大增加,丢包其实对整个数据中心网络来说是非常痛苦的事情,因为你不知道它将会影响到什么样的应用和什么样的业务,因为整个数据中心当中有太多的应用耦合度了,所以我非常担心在带宽提升了四倍之后buffer和时延并没有强化,我面对的是更多的问题和稳定性风险。

  我们讲完了对下一代400G的考虑和可能面对的问题,这就是可能下一代阿里400G网络架构,只是说可能,因为这些东西都不存在,所以这个东西可以拿出来给大家看,没关系。

  流量可视化解决三个问题:第一个问题解决看不见,比如延时、转发路径、buffer和drop;第二个问题解决找不到,通过随包的检测和拓扑的维护,快速定位问题所在的位置;第三个是抹不准,今天我们做网络的设计和交换机选型的时候,你抹得准是多少的交换机吗?是48+8、48+6还是48+10,这些都抹不准,很多情况下是猜的,或者供应商告诉你这已经是世界上最好的交换机就买了。我们今天想做的事情是解决掉它有数据证明是对的,我们通过可视化看网络真实的转发数据,把数据整合起来做分析,会找到整个网络设计架构的盲点,解决设计的通病,比如收敛比、规模。

  我们做可视化的时候,其实已经做了一个大概出来,这是我们可视化设计逻辑上的组成,会有一个数据采集、实时数据分析层、数据服务层,底层会去俩节在整个数据服务当中所丢物理设备,包括交换机,包括路由器。

  物理网络上我们会用erspan做数据平面的关键信息的捕获,然后在控制平面上会用gRPC,交换机当中今天很多存在但是看不到的信息拉出来,比如说buffer的使用情况,比如出现芯片级的异常或者出现SDK的异常,这些在交换本身是有认证或者是有维护的,但是通过传统监控手段看不到,今天我们通过一个更高效的手段,我为什么不选择让供应商做一个新的SSP的ODI呢?是因为传统网络的监控协议太重,gRPC是轻量的模式,可以定义非常好的数据结构,但是gRPC是非常轻的,量非常好。

  有了gRPC也有一个问题就是,这时候需要用INT,INT是芯片级别的能力支持,它和软件没有什么太大关系,在将来我们会看到下一代所有交换芯片商几乎都会支持INT,FaceBook也好、微软也好都在跟进,阿利耶在努力。其实世界上主要由两个交换芯片供应商,两大交换芯片供应商我们都和他们合作,定义阿里所需要的INT能力。

  这是我们对于整个可视化意义的判断。未来的数据中心必然是一个整体,DC as a computer,我们认为网络是computer的I/O,要达到这样的目的,现有的网络设计是封闭的,所以没有办法对外开放,它是阻碍前进的东西。可能的方法,说我可不可以自己做交换机,自己做交换机的OS,完全自研白盒交换机。可视化是利用现有网络技术最快速的能够将网络信息开放出来的方法,有了这种方法之后其实不一定非要去自研一台交换机或者自OS就完全可以去调配和管控物理网络资源。所以我们得出的结论,可视化将会在未来3-5年之内是阿里巴巴重点全力投入的数据中心网络技术,他会帮助我们在没有办法实现完全自研支持最大可能的掌握数据交配。

  我们今天的目标是通过新的下一代网络芯片的订制化以及高速的网络带宽部署,加上可视化能力的部署,让网络转发速率是可回溯的,让网络所有数量是可治愈的。我们希望三年之后阿里的网工不用担心网络出现的故障,让他事后看看结果就可以,这是我们目前做的关键事件。

0
相关文章