腾讯在SDN控制器的探索与应用
2015-12-18刘晶晶
刘晶晶
如今,SDN作为行业热词经常进入人们的视野,甚至被命名为当前产业的大趋势。SDN的出现,促使网络架构重新被定义,通过控制平面和转发平面的解耦,实现了网络资源的池化,这彻底改变了原来垂直封闭的产业形态,给了运营商更强的网络掌控能力。
近日,腾讯系统架构师何权在某公开场合向业界阐释了针对SDN控制器的探索和应用,腾讯都做了哪些方面的努力,并取得了怎样的突破。谈到SDN,何权说:“我们在天津、上海、深圳等地建立了数据中心,规模各异。同时,基于分布式的复用计算进行路由,建了一条隧道,在这样的运作模式下缺乏一种全局的视野和统一的调度能力,它会导致我们在网络带宽的利用方面效率降低。”言下之意,SDN是补充全局视野和提升统一调度能力的有效方法。
数据中心构建
针对数据中心云化的问题,腾讯也在跟一些设备厂商合作,构建数据中心的云化,用Overlay的方案实现虚拟化租户的应用。“我们已经接触了很多用户,有个人用户,还有一些大小不同的企业,这些企业会根据自身业务的不同提出各种各样的需求,但这些需求在现有的系统上是没法满足的。
例如,普通用户可能仅仅需要租用一台虚拟机,但是大型租户需要强化的计算性能,这就意味着可能会需要一大批物理机器;在这个网络中,我们发现VM跟物理网络是混在一起的,在部署方面,在现有的系统上进行部署弹性很差;另外租户之间的安全隔离也是一个很重要的问题,我们在传统的网络中利用VXLAN技术运作用户的可视化会受到很大限制,因为VXLAN的资源本身就很少,所以我们采用Overlay的方式去做。”何权阐释说。
大规模数据中心的建设,从IDC模块建设角度出发,数量从原来的五千台到现在的两万,甚至是五万、几十万台规模,基于原来的方式管理就会存在很大缺陷。例如通常调度的云都是基于网端调用,传统的路由网络中我们有一个比较好的业务LOL,但曾经出现过网络的堵塞情况。利用传统的手段,很难发现到底哪个地方出现了堵塞,所以如何快速地解决这样的问题是目前的关键。腾讯考虑的是想利用一些比较新的网络硬件,通过特性,从Openflow的角度分析,基于流量的方式去监控,来实现自动化的故障诊断。
统一控制器平台
腾讯已经在很多方面尝试应用SDN的解决方案,在解决方案中希望所有的SDN解放都是基于一个统一的控制器平台。对于现在的SDN控制器来说,它需要承载各种各样的应用。如果试图总结SDN控制器方面的特性,可以从以下几个角度去着手:例如必须具备较高的可靠性、强大的双备份能力以及很好的扩展性。
对于控制器来说,未来支持的网络规模跨度可能会从2万台到10万台,与此同时在控制器上进行应用开发,对于不同时期、不同场景的条件会生发不同应用。
动态的负载均衡的能力方面,在大规模的网络背景下,控制器需要接入很多设备,这样就需要控制器能够从一个动态的角度将所有的连接负载均衡到设备上。如果从南向协议的角度思考,SDN可以从很多方面加以利用,在应用场景中,我们可能需要像openflow、VDP等这些接口的应用;除此之外就是高安全性的要求,控制器其实已经跟网络设备的境遇类似,面临的关键问题都是会受到一些攻击,所以控制器的连接其实也需要安全可靠。
基于SDN基础特性的讨论,何权表示:“我们第一次做了一个自研的控制器,做自研控制器的想法是想把普通的网络设备的控制平面抽象出来,放在控制器上进行集成计算,而制作这个控制器的目标就是验证控制器的性能。我们将开源的组建集成,使用openflow去通信。下发流表时,发现openflow没有办法满足现实的需求,所以当时就在openflow1.0上进行了相关扩展。”
尽管腾讯着手制作的控制器不算复杂,但提升了多角度的功能,例如流表的管理、拓扑管理等,这些都是比较基本的网络服务。但是在控制器的关键性能上,腾讯使用的系Apollo开源组建,实现了控制器的集群能力;使用MQ开源组建成功构建了一个集群之间的消息通信总线,并在南向连接实现动态的负载均衡。
自研性控制器平台的反思与更新
第一代自研控制器后,腾讯也验证了控制技术需要的一些开源组建以及对网络的需求。在SDN发展方向上,何权认为十分需要厂商、开源组建一起参与。因为有大量的设备存在,如果从现有的网络走向开源的网络,就必然需要各个厂商的配合。
他说:“NOX架构基于C++进行开发,我们做了比较,这个框架上的扩展性不够理想。ODM控制器基于NOX架构开发可以加载更多的功能,相比之前的NOX实现的开源软件更丰富一些。NOX关键的特性,集群能力、北向接口标准化、分布式存储、南向负载均衡,对于NOX应用来说非常关键,但在NOX上并没有看到这些能力,我们希望更多的厂商能够参与进来,把控制器的基础框架进行完善和优化。”
从现实的角度看,自研的控制器已经不太满足实际需求。相比之下,CBN控制器可以从全局的角度达成端到端的优化流量路径;在获取网络信息方面,通过PCE的协议获取网络设备的链路信息以及带宽信息,再通过一个比较普通的方式,用SMP把所有的流量进行采集。通过现在的流量状况,还有网络的带宽去计算端到端之间的最优化的路径。DC控制器,位于控制器定位中比较高的层次,业界希望在未来的网络中,有一个控制器能够接入所有的网络设备,对现有的网络进行重新建模。建模之后能够提供给不同的人看,其中包括基础的运维人员、网络操作人员以及有网络设计人员等,分不同的角度诠释网络的架构状态。
最后,何权总结说:“SDN控制器还处在发展时期,需要进行优化与完善,我们希望能够与业界一起推动其发展,为产业大趋势的升级贡献力量。”