王峰:谢谢彭总。大家好,特别高兴今天能给大家汇报一下我们中国电信在开源上做的一些工作。其实电信在开源各个方面,包括我们的业务平台,包括我们IT整个的平台,还有我们对外提供的天翼云等等,有很多开源实践。今天因为我们这个论坛实际上是云服务商和通信行业,跟大家讲一下中国电信在电信运营商这个特定的领域里到底做了哪些开源的研究,包括选型还有相应的实践。
大概四部分,先是有开源概述,然后给大家分几个层面介绍NFVI,就是网络功能虚拟化的基础设施,还有VNF网络功能的开源方面,还有MANO,管理和编排相关的开源技术的体系,最后是开源小结。
NFV我相信大家可能在IT领域做得比较多,在网络这一侧可能知道一些,但不一定很关注。对运营商来讲,现在NFV全称就是网络功能虚拟化,这一块是非常关注的一个要点。原来我们的网络设备,网络设备的价值比传统IT设备,比起来网络的盒子价格就贵很多,而且网络的盒子是一个封闭的私有的,国外有思科,国内有华为、中兴、华三这些巨头们,他们实际上在传统的网络盒子里都有很多自己独门的技术在这个里面。同时这个网络盒子是个封闭的,可能能通过一些基本的通信协议,能够达到读网的要求。网络功能虚拟化的标准就是想借助一种软件的方式,把原来硬的拆开,做软件化,拿虚拟化来承载是为了方便管理,而虚拟化下面的基础设施是什么,比如X86架构,来承担上面经过软件化的,用虚机的方式来承载它。NFV可能很多项目包括一些标准都会不同行业提出,NFV的原生就是由欧洲的运营商们提出来的,他是为了满足运营商对网络设备演进的需求提出的相关的方案。
刚刚提到NFV的重要性,在现在过程当中,开源是整个产业里必然的一个发展方式。国内外的运营商现在都做网络的重构。需要对传统的网络进行重构,使得它能够满足现在大智移动运动这些新型业务的支撑,能够更好的满足敏捷性,按需提供网络资源的交付。大家都在考虑我们怎么能够改造这张网,这过程当中的三大法波,NFV、SDN加上云计算。在推进过程当中我们会发现一个趋势,原来我们通信网络CT都在向IT化的方向发展,包括刚才说NFV的方式,原来是占们硬件的黑盒子,现在是一个IT化的趋势。IT里面大量的能看到网站也好、能看到的常用应用软件也好,开源是主流。CT在向IT转变当中,开源也会是这个过程当中的主流。这个图实际上我们CTNet2025的演进路径。第二步我们做CO向DC的改造,大家看到小区里面可能楼里面莫名其妙会打一个门,打开以后里面插着机架插着各种线,那个就叫一个端局。现在电信面临的技术演进,使得原来好多设备要下线,而且设备集约化,那个端局那边空出很多空间,我们要给它DC化掉,往里面放X86服务器,跑我们虚拟化的vCDN的组件,让X86服务器来承载虚拟的网元。中圆期可以看到,现在尤其国内三大运营商,路数差不多。再有一块是网元的DC化,以后有可能我们有个核心网的网元,压力很大的网元,也在DC化部署。其中很重要的一块是NFV,我们网元要做成虚拟化部署、软件化实现。这个上面我们会用很多开源的技术在里面,开源的大好处,能够让我们站在巨人的肩膀上,能够减少我们进入的门槛,虽然后期你想做出真正满足现有的需求的能够可运营的会有难度,但是开源会是一个非常好的切入方式。
另外我们在推开源还强调一点,所谓的解耦。解耦的概念是什么,我们原来运营商很多时候是被厂家给绑死了的,比如我们第一年建设的时候会把某厂家的设备,第二年在升级的时候我们想再换另外一家可以不可以,就说对不起,不兼容,实际上是被绑死的方式。如果现在我们做NFV的,如果换成虚化方式的网元,有没有可能实现解耦,如果能够实现解耦,以为着我们运营商会在部署这个网络的时候有更充足的溢价能力。解耦的过程当中依赖的NFV开源是一个很重要的方式,它能够帮助首先从标准制定、接口规范,甚至我们上现网络,原来的设备厂商变成了一种更密切的合作伙伴的关系,我来提供,一起来金融的网元的运行当中来。我自主的掌控能力会更加提升。现在不管是商业化的VMware也好,包括开源的KVM也好,是对底层的X86架构的这个架构,应该说已经能够实现解耦了。另外一块,运营商本身运营支撑平台OSS这块跟他解耦,原来是有标准结构的,所以这块也是一种解耦的,这是一步已经做到的。第二步这两个地方是有希望揭开的,比如说SDO这个编排器和业务相关的,运营商会根据业务的发展方向和规划提出规范,希望厂商去适配我们。第三个最难的体现在这个地方,刚才提到设备对性能的追求是无止境的,尤其是网络IO也是对传统的IT要求负责高的。现在看怎么在同样的X86虚拟机上,怎么样我的网元跑得更快。这跟传统的我们做硬件黑盒的时候也是一样。虚拟化这侧风险也是存在为了提升整个网元的性能,我会对整个虚拟化和网元之间的接口部分做专门的设计,使得你如果想买我的网元,你下面买我的虚拟化,这过程实际上是我们运营商不愿意看到的。现在我们强调的是在NFV里面强调三层解耦,硬件、虚拟化加上网元的解耦。现在中国电信针对移动网络里IT多媒体的系统,现在做解耦测试,目标就是希望能让整个产业联合起来,告诉我们说这东西是不是能解开,解开之后怎么再整合到一起,这过程当中我们事先做了大量的开源软件做了处室验证。
后面重点讲的是,先针对这边讲一讲,然后针对MANO讲一讲,到底哪些开源技术在应用。
先讲NFVI,承载虚拟化的方式。这个很多种方式的,我大概总结了几个,比如第一种首先我把这个功能部署到一个虚机里,这个活其实现在很多的原来的硬件网元的设备厂商都这么做的,原来拿硬件实现这个功能,现在软件化,软件化之后移入到X86虚机,X86虚机现在跟物理机性能上的差别也差不多了,这个迁移是很容易的。因此现在做到A这个方式的非常多,除了压力比较大,对带宽要求比较高的核心设备不能搞定,其他的大的时候都可以做到这一点。第二个方式是操作系统虚拟化部署,这里面可以理解为容器,容器化的东西可以以容器方式部署VNF虚拟的网络功能。我原来实现这网元,把它撞倒一个虚机里,好像把这个网元单起一个,不做修正。但是我们预期的是,如果你要想做容器化的对这个网元承载,我们希望突出一点,容器面向应该是有微服务的架构。第三个是分布式的,三个节点要求不一定很高。目前也是在发展当中有一些进展,但是还不是能适合现有的部署。最后这个方式是高性能内核做,原来没有虚拟网机的时候需要导到外面来,现在做到内核这一层的时候,就是有虚拟网元,这可以实现。但是在这看的时候,有新的趋势,把高端的4到7层的一些功能做到内核里来做,这里面有相应的开源项目的支持,我们也在考察。但是总体来讲,现在这个东西成熟,后面这三个东西都还在摸索当中。
说到成熟虚拟化,开源无外乎就是KVM和Xen,的虚拟化需求与传统IT云存在差异,KVM具有架构优势,当前更受关注。跑IT类型云的时候,Xen没有问题,更加成熟,但是Xen的技术架构,这个也是老生常谈了,我们看到KVM能模仿整体的IO,包括计算和内存资源。在Xen里面,计算内存这些东西都还好办,Xen是两种,一种是半虚拟化,一种是全虚拟化,不管是哪种方式,处理IO的时候,把它的请求放到整个体系里,放到Domain 0来做。我们看到一些主流厂商,他们在面向VNF这一块,他们都会用KVM的架构来做这个事情。包括我们在内部的测试,下面都是以KVM为主。
再说到操作系统虚拟化,最典型的现在在说的是Docker,在这要强调一个事,Docker不等同于虚拟机。我们希望看到容器面向的应该是微服务,首先你要能先把你的这个网元给他的功能变得微服务化之后,你把每一个微服务做成容器化的承载。把网元整体功能从物理机变成虚拟机再变成一个容器,从我的角度来讲是不认可的。具体的例子是什么,我们处理一个网络的包,第一步应该是解包,最后一步是封包。中间对网元处理,比如看DPI,看更高层的信息,还是转发还是抛弃这件事情,这个当中可以分成三个微服务,这种方式拆开,绝对不要一体化的方式。如果提到容器,强调的还是要拿微服务的方式改造完之后再做。拿这个容器本身还有一些问题,比如说网元拿容器来做了,微服务前面是松耦合,这个东西在通信来讲,也一个同步的事,适不适合他,我们也需要研究和探讨。特别是Docker网络,目前在运营商这种场景还是有很大的差距,同时Docker本身还有兼容性方面,我们自己做了一了一些测试,都认为这个容器是一个方向,但在当前这个阶段还比较远。
下面说的是虚拟化,如果针对每一个虚拟的网元,这上面主要讲几个,现在主流的还是X86和他的虚拟化,但X86本身并不是为网络运行的应用准备的,我拿它来承载网络密集型就不够用了。这里面列举两个比较典型的,一个DPDK,一个IO Visor。DPDK是在用户空间里进行,DPDK现在有一个FD io,里面推出一个APP的服务,它实际上就是基于DPDK高性能的虚拟交换机和虚拟路由器。在内核空间里,有IO Visor,这个项目从Linux内核角度讲,从内核态到用户态之间切换,实际上是一个很耗性能的事情,如果每个IO进来都要切一次,那你这个网元就不行。现在整体来讲DPDK会更成熟一些,IO Visor现在业界关注的人也很多。
下一个,MANO,主要三块,一块是NFVO,下面是VNFM,虚拟网元管理,还有VIM虚拟基础设施管理。每个虚拟网元来自于网元的设备厂商,每个网元的设备厂商对应的管理系统其实都是我这个网元厂商自己独立的,这块现在开源比较少,大家还是喜欢封闭系统,我的网元我来管,这个系统我来开发。后面的方式很有可能是运营商提接口的方式,让厂商来适配。在VIM这,现在看有实施标准,好的标准就是OpenStack。NFVO,因为它直接和我们上层业务资源的利用有关系,NFVO是现在整个业界的一个重点。
MANO上开源技术几个类型,一个是标准化组织主导,项目服务于标准制定,通过开源代码验证标准的合理性和可行性,并为文档工作的完善提供依据,如ETSI OSM。运营商主导,以电信网络重构为目标,基于标准架构结合自身需求增减能力,并通过社区凝聚产业生态,加速落地,如Open-O、ECOMP。第三个是厂商主导,核心组件为主,发挥自身在相关领域的特长,为前两类开源项目的能力完善和资源整合提供支持,如Cloudify、Juju。现在Open-O和ECOMP整合,Open-O拥有众多运营商支持。ECOMP已经在AT&T现网规模部署。本身他们的架构和需求,运营商干的事都差不多,本身就可以整合这么一个方向。ECOMP有落地实践经验,再加上整个Open-O里面众多运营商参与伙伴的推动,现在加上MANO这块,已经到了必须要大力推动的时间了。我觉得这是一个标志性事件,证明NFV已经到了规模商用的阶段。
下面讲讲VIM,主要标准是OpenStack。另外一块是SDN,SDN干吗用的,SDN/NFV当初这两个概念出来的时候业界一直还在争论,到底这两个之间什么关系,他们俩互补。其实在这个里面你的NFV灵活,网络功能灵活,你需要给它连接成具体的业务的时候,之间的连接也是动态的,怎么建立动态链接,需要SDN来帮助。SDN最关注的是SDN控制器,最主流的两个,一个是ONOS,一个是ODL,OpenStack不多说了,OpenStack在计算、存储、网络里很出色,同时基于它在VIM上的突出表现,现在有一个Tacker的项目,OpenStack也希望涉足到MANO的架构,全堆栈的方式进来。ONOS和ODL现在都是主流的SDN控制器项目,满足VNF部署的网络连接需求。ONOS和ODL代表不同开源阵营。容器是NFVI的重要发展趋势,容器集群管理是当前VIM领域的热点。容器集群管理不仅是VIM问题,可以扩展到NFVO、VNFM等多个层面,这里面有kubernetes、Mesos、Swarm、Rarcher。
最后是小结。大家都在谈开源,开源对于运营商来讲,特别对运营商来讲,真的是一个双刃剑,好处可能在于降低门槛,坏处在于开源是相对松散的社区在组织推进的。真正的NFV开源大概几个方面,第一技术瓶颈,运营商首先可靠性上要求五个9,传统的IT设备能不能做到,如果你X86架构做不到,怎么拿弥补。第二是性能,怎么在X86上,是增强网卡的能力,是做应用层的DPDK加速还是怎样。第二,解耦障碍,怎么来推动解耦,一方面是看我们的合作伙伴、厂商支不支持,第二是在整个NFV本身接口也存在差异。最后一块,运营难题,比如在我们时间来讲,这么多的开源项目我做哪个选型,是从运营来讲我们面临的第一个问题。今天大家很多人在讲我上来为什么要选这个事,像我们提到OpenStack也好,有很多互联网厂商走在我们前面,运营商跟着走,NFV只有运营商关注,运营商怎么来做这个事。
最后是一个小结,中国电信已经走在开源的路上,后面会继续开源,加大投入,谢谢大家!