OCP大会 | 腾讯云Open DCN Networking(附PDF)

2019-01-29 14:49:07 浏览数 (1)

导读:1月15日,首届OCP中国技术研讨会在深圳召开,本次会议是由腾讯云和OCP国际社区合办。在大会现场,腾讯专家工程师瞿孝荣在OCP技术研讨会上发表名为《腾讯云Open DCN Networking 》的演讲,以下为演讲全文。瞿孝荣,长期从事网络系统及软件架构设计工作。早期在思科参与研发多款路由器,核心交换机的工作。其后在华为,博科,擎发等公司负责SDN策略,数据中心系统研发,及超大型数据中心商业交换芯片开发工作。

今天很高兴来跟大家分享见证开放和开源生态环境对腾讯云数据中心网络系统研发帮助。

这里我列出了有关开发性网络所具备的多个关键特性,本意不是来定义什么是OpenNetworking,而是想把观察到的开放式网络里面的关键模块列在这里来讨论。说明一下, 紫色所代表的几个模块是开放性网络重要特征及能力,但不在我这次讨论的范围里,我今天要交流的是Intertion based Proceses, Open Source Software, SDN, Automation,和Open Network Device这几个关键部分,想从这几个部分来说明我们是如何得益于开放和开源的生态环境。

2004年我还在思科工作的时候,陆续有几位同事去了谷歌,后来听说2004年谷歌已经开始做自己的网络交换机的研发项目。那时候我是抱着怀疑的态度,因为那是2004年,谷歌必须自己开发所有网络系统关键部分软件,从一个传统系统研发角度,我以为最后系统稳定性及完整性都会输给系统厂商产品。事实上, 谷歌的确聘请来大量的开发人员, 也确实独立开发了大部分软件平台, 比方说, 其中一个开源IP路由协议软件quagga,谷歌是贡献最多的。但同时,自研系统高度定制化同时大大减少了系统特性, 及复杂性, 谷歌DCN自研系统已经成功部署使用多年了。 超大型数据中心自研系统的必要性不是今天讨论重点, 这里只是想比较14年前后开源开发社区的发展。

大家请看现在我列在这里的开放式生态环境所有的模块,14年后的今天, 几乎每个领域都有非常稳定开源软件。14年来,北美多个OTT公司在自研网络系统上的工作已经向业界证明自研设备系统软件的可行性,并充分体现了自研模式在质量可控性、成本控制力,支持业务所需的灵活性、对业务需求的响应速度各方面为云业务提供竞争所产生的优势。我也是满有信心的在去年加入腾讯,来负责数据中心自研系统开发项目。

来到腾讯后, 我们大家一致同意需要加大力度开发一套数据中心网络系统,包括硬件,操作系统和网络管理平台。 而且要求充分利用开源、开放的生态环境来加速产品落地。这页胶片里面我列出的我们需要在网络系统研发中,需要研究、跟踪的开源模块,在后面还有一些照片会展示这些模块每个功能的使用方式。或直接使用、或共同开发。第一个部分,这些都是网络协议的开源(图),SDN方面也有很多。我这里列了一个Co-development,这指的是不仅享受已有的成熟开源平台,我们也在尝试着和研究所、大学共同开发一些跟SDN相关的网络协议和网络功能。再来看第三块,大家注意到,我把两个模块叠到一块,因为它们是相关的:基于意图的能力和自动化。

最后这个方块是open device, 在这方面,腾讯在硬件方面也开始尝试着和设备厂商直接设计开发,先是开始跟有能力的OEM盒子保证设备稳定性。对我们来说,我们需要的白盒子,生产白盒子的就是我们的ODM。和我们一起合作、一起设计的厂家都是ODM,大家看到我们将来的合作厂商不仅是传统上的ODM,对我们来说就是业务关系,即我们共同开发。

现在,我们来到了有关SONiC的部分,这个基本模块就是网络操作系统,SONIC是在OCP社区力提供的一个开源网络操作系统。左边(图)有四个紫色模块,我不是从技术上说一个小模块是单独的模块,只是想说明到今天为止我们借助于SONIC的开源平台上做了一些再开发。比如 “Tencent NOC”并不是一个单独的模块,意思就是说为了在腾讯内部、网络设备上线部署的时候和网络过程自动化、网络监控、网络配置自动下发要做一些适配工作,这个工作我们已经完成了。其实,这个工作是在多个模块里面,这里为了方便表示, 就用一个柱子来表示。因此, 大家一定又看到我们也在这个网络中开了一些可视化能力,包括INT等。这是我们基于开源的SONIC平台第一个上线的操作系统。腾讯之所以能在短时间里开发出一套灰度上线的DCN网络操作系统,很大程度上得益于SONiC这个非常活跃的开源社区的工作。

我们的工作在2019年先部署在DCN TOR/SPINE的网络位置上, 这页胶片里有个Future SONiCenabled Fabric,这部分工作是我们规划的后一段阶段性工作部分。

刚才讨论的是最基本的网元能力,而下面这页胶片的题目是OpenDCN Network in making,是描述我们计划开发的一套闭环的智能化自运营系统。

这是一个非常复杂的系统平台, 从最右往左讲。第一,这是一个网络拓扑,一个网络能力,我想特意说明在DCNNetwork里面, 基于腾讯云网络架构,智能网卡能力,我们这里有很多可再开发优化与合作的空间、机会。比如说在SDM框架下,大架构一切从简,从芯片到驱动, 到协议软件都会因此而变得简单,稳定。 大家常说网络就是交换网 (network as a fabric),那我们在这个框架下,就可以再看看芯片是否需要特别复杂的特性?将来的网络里面只需要一个基于信元格式转发的概念,从这个概念角度出发,除去其他冗余部分,曾经和一位芯片架构师核实了一下,再fixed的流水线芯片架构基础上,的确能去掉很大一部分的冗余部分。在当今高性能芯片设计里面大家在挣扎的寻找更多空间去装各种特性逻辑的时候,我们特定需求其实可以释放那些压力。 但在芯片转发演进同时, 其相应管理, 控制也可以优化。实际上标准组织IETF已经注意到网络互联协议在特定拓扑的情况下可以优化,这个新draft叫RIFT,大家有兴趣的可以去看看。

腾讯也在跟大学合作,从设备拓扑固定的前提下, 尝试优化协议拓扑计算,取得快速收敛的效果,这也是有很多一起开发、合作的东西。再往左,网络本身在超大规模的情况下离不开自动化,只有自动化才能scale,但自动化是双刃剑,自动化搞得好有效率,但破坏性也很大。我们引进自动化的同时发现还需要抓更多一些辅助能力,我们又要做一些合作开发。我们获得了一些开源工具,包括网络配置解析工具。 胶片前面有这一个模块是在网络验证上的开源工具,当然还有需要产品化优化的空间,但它确实是一个很好的平台。

这张胶片里面还有多个自动化相关模块。 Workflow自动化,可以帮助网络建设高效准确的更加需要创立网络拓扑, 设备选型, 网络配置。

网络策略自动检测,网络互联仿真可以及时发现新配置下的软件bug,或配置逻辑问题。

这个系统从对网络描述语言/模板里获取网络意图, 做到网络拓扑自动生成到自动配置、到所有变更的验证、到最后网络的模拟,再到网络的策略部署,最后是网络运行中的反馈。

这一套工具和自运营系统都需要很多工程开发。我们作为后来者,得天独厚的享受开源和开放社区带来的好处。

今天我更多是作为见证,因为我们这个项目还很年轻,但是不影响我们有一个比较完整的野心。能为云带来价值的不是一套设备操作系统,而是一套能自我智能运行的一套系统,这是腾讯云网络研发项目后面几年想借助于开源开放社区给我们带来的能力,想自己开发、自研合作一套完整的系统,这张图片包括我们后面几年的一些野心和想法(图)。

现在的成果是,第一张照片有两款设备(图),这是TOR设备,48个25G、8个100G上行的,右边是效果图,因为我们的设备要在二月底才能来,这也是我们跟厂商合作设计研究的一款128个100G的设备,是4U的,将来放在Spine的位置。从我们的规格里面可以看见,我们的这款设备时间有明显的OCP影响,在OEM一般看不到BMC的配置,这是我们的设计,完全参考于OCP设计和我们特定的需求。

这页是将来的大致路标规划(图),2019年底希望能把软件和设备测试稳定后有一定规模的部署。大家一定注意到,我们以Broadcom芯片为主。也会迭代最新Broadcom芯片。但同时我们也有意去引进新供应商芯片,灰色的是规划中的,我们的执行风险是人力资源和新型芯片成熟度。

今天我分享到此为止,强调一下,作为一个后来者,腾讯网络研发、系统研发、光模块自采充分体现了现在的生态能力、环境、给我们提供开源开放的资源,非常感谢OCP提供这个平台。谢谢大家。

0 人点赞