技术
首页  >  大数据  >  大数据专题

腾讯科技高级系统架构师何权:SDN控制器需进行优化和完善

2015-11-06  来源:中国信息产业网  作者:

CNII网讯11月5日,2015开放数据中心峰会在北京国家会议中心举行。本届峰会由开放数据中心委员会(ODCC)主办,阿里巴巴、百度、腾讯、中国电信、中国移动、中国信息通信研究院、英特尔等单位承办,是国内在数据中心领域的一大行业盛会。会议由上午的主论坛和下午的五个分论坛构成,分论坛的主题分别为天蝎整机柜、新型服务器、模块数据中心、数据中心网络、行业数据中心技术发展与运维。

腾讯科技高级系统架构师何权在下午的数据中心网络分论坛上发表了题为《腾讯在SDN控制器的探索与应用》的演讲。

腾讯科技高级系统架构师何权

以下是演讲内容实录:

大家下午好,我是腾讯系统架构师何权。今天下午我跟大家分享的是腾讯在SDN控制器的探索与应用。

我个人认为SDN的控制器应该算是一个比较新的话题,其中一些应用场景我不会重复的去说,讲一下我现在所面临的问题。

我们的数据中心在天津、上海、深圳,还有一些小的数据中心。基于分布式的复用计算进行路由,建了一条隧道,在这样的一种模式下面缺乏一个全局的视野,缺乏一个统一的调度能力。它会导致我们在网络带宽的利用方面低一点。

第二是数据中心云化的问题。阿里已经做了很多云方面的工作,我们也在跟一些设备厂商合作,做数据中心的云化,用Overlay的方案实现虚拟化租户的应用。我们已经接入了很多的用户,有一些个人用户,一些小的企业,还有一些比较大的企业,在这些企业里面他们有各种各样的需求。这些需求在现有的系统上面是没法满足的。像普通用户可能仅仅租用一台虚拟机就可以了,一些大型的租户需要计算性能强化,可能需要一大批物理机器。在这个网络里面,我们发现VM跟物理网络是混在一起的,在部署上面,在现有的系统上面进行部署是弹性很差的。另外租户之间的安全隔离也是一个很重要的问题。

我们在传统的网络里利用VXLAN这种技术做用户的可视化是受到很大的限制的,因为VXLAN的资源本身就很少,所以我们用Overlay的方式去做。

大规模数据中心的建设,从IDC模块建设来看,数量从原来的五千台到现在的两万,以及为的五万、几十万台规模。基于原来的方式去管理就会存在很大的缺陷,比如我们在里面调度的云都是基于网端去调用的话,传统的路由网络里面我们有一个比较好的业务LOL,曾经出现过网络的堵塞情况。利用传统的手段,你很难发现到底哪个地方出现了堵塞,我们就在考虑如何快速的解决这样的问题。我们考虑是想利用一些比较新的网络硬件,利用它的一些特性,从openflow的角度去看,基于流量的方式去监控,来实现自动化的故障诊断。

腾讯已经在很多方面正在尝试应用SDN的解决方案,在SDN的解决方案里,我们希望为的SDN解放都是基于一个统一的控制器平台。对于现在的SDN控制器来说,它需要承载各种各样的应用。我们总结了一下SDN控制器方面的特性,从下面几个角度去看。比如说它必须具备高可靠性,必须具备强大的双备份能力。另外它应该具有很好的扩展性。对于控制器来说未来支持的网络规模可能是从2万台到10万台,同时在控制器上面开发应用,在于不同时期、不同场景下都会有不同的应用。第三是动态的负载均衡的能力,在大规模的网络下面,控制器需要接入很多设备,这样就需要控制器能够从一个动态的角度将所有的连接负载均衡到设备上面去。第四,南向协议。SDN其实是从很多方面利用起来的,在我们的应用场景里,我们可能需要像openflow、VDP等这些接口都要应用起来。另外就是高安全性,控制器其实已经跟网络设备是一样的,面临的一个问题是会受到一些攻击,网络设备的连接其实也是需要可靠的连接。

基于前面讨论的问题,我们第一次做了一个自研的控制器,做自研控制器的想法是想把普通的网络设备的控制平面抽象出来,放在控制器上进行集成计算。当时做这个控制器的目标就是验证控制器的性能。我们将开源的组建集成进来,使用openflow去通信。下发流表的时候,发现openflow没有办法满足我们的需求,所以当时在openflow1.0上还做了扩展。openflow交换机到现在可商用的设备还没有看到,所以我们当时使用的是传统的交换机,在交换机上用open vSwitch,用于接收控制器下发的openflow流表,并将流表转换为L2、L3转发表。

我们做控制器做的也不算很复杂,提升了这样的功能,像流表的管理、拓扑管理,这些都是比较基本的网络服务,但是在控制器的关键性能上,我们使用的系Apollo开源组建实现了控制器的集群能力。另外使用MQ开源组建做了一个集群之间的消息通信总线。并在南向连接实现动态的负载均衡。

在做第一代自研控制器之后,我们也验证了控制技术需要的一些开源组建以及我们对网络的需求。在SDN发展方向上面我觉得更需要厂商、开源组建一起参与,因为有大量的设备存在,我们必然从现有的网络走向开源的网络,就必然需要各个厂商的参与。NOX架构是基于C++开发的,我们做了比较,这个框架上扩展性不是很好。ODM控制器基于NOX架构开发可以加载更多的功能上去,相比之前的NOX实现的开源软件更丰富一些。NOX关键的特性,集群能力、北向接口标准化、分布式存储、南向负载均衡,对于NOX的控制器应用来说是非常关键的,但是在NOX上都没有看到这些能力,我们希望更多的厂商能够参与进来,把控制器的基础框架进行完善、进行优化。

涉及到南向接口,当时NOX甚至都不是openflow1.3的成熟版本。从我们的角度来看,现在的网络设备,路由器、交换机,包括后面用的防火墙,会有各种各样的设备,我们使用这些设备会使用PCE等协议去访问它们。从我们的角度来看,自研的控制器已经不太满足我们了需求。

这是我们做出的控制器方面的选择,先从底层开始看,我们最需要的一个部分,就是南向接口部分。南向接口部分有非常丰富的协议,像openflow、PCE协议,产生的数据可以实现同步。

每天我们从ODM源码上面可以看到每天都有更新,有七、八十个项目在上面进行开发。对于未来我们要构建一个可运行的控制器,上面这些组建对我们来说是非常有用的。

介绍一下CBN控制器,它可以从全局的角度端到端的优化流量路径。控制器通过什么方式去获取网络信息,比如说通过PCE的协议获取网络设备的链路信息以及带宽信息,我们再通过一个比较普通的方式,用SMP的方式把所有的流量采集上来。通过现在的流量状况,还有网络的带宽去计算端到端之间的最优化的路径。

再讲一下DC控制器,我们对这个控制器的定位是比较高的层次,因为我们希望在未来的网络里面,我们希望一个控制器能够接入所有的网络设备,对现有的网络进行重新建模。建模之后能够提供给不同的人员去看,像基础的运维人员,还有网络操作人员,还有网络设计人员,分不同的角度去看现在这样一个网络。

同时我们希望在这样一个网络里面能够达到可视化的运维,在某一个时刻能够看到整个网络快照的情况。定位流量突发的时候,工作量就会减少很多,不会像现在需要一周、两周去定位这样一个问题。

我们希望基于这样的网络实现精细化运维的能力,因为现在传统的路由网络来看,流量调度是基于粗力度的方式去进行调度的。

这是我们现在做的一个原型,DC控制器的框架。最大的一个应用点是应用现在openflow TTP、OFDPA,用于适配openflow流表与传统转发表。我们希望未来能够跟更多的芯片厂商合作,能够将新的网络设备加入到SDN的解决方案里面去。

SDN控制器还处在发展时期,需要进行优化与完善,我们希望能够与业界一起推动SDN控制器的发展。

关键词:开放数据中心峰会 腾讯科技 SDN