腾讯SDN/ODL的探索、创新与开源实践

业务带来的挑战

互联网创建之初,以IP技术为核心,网络架构简洁高效,网络设备功能简单,在提供高效的计算机间信息交互的同时,也提供了很好的扩展能力,使得计算机网络迅速从实验室走向了世界。

计算工业迅猛发展,推进了互联网业务的创新繁荣。互联网已经从计算机间信息交互,发展为连接人与信息、人与商品、人与人、人与服务的纽带,已经溶于到我们日常工作、生活与生产中。

腾讯作为一家大型互联网公司,提供众多的互联网业务服务(微信、QQ、QQ空间、游戏、QZone、音乐、视频、新闻、互联网金融、公有云等),并且有着庞大的用户群体(QQ月活跃帐户数8.6亿、微信&Wechat月活跃用户数6.5亿、QQ空间月活跃用户数6.53亿,等)。数据引自《腾讯公布 2015 年第三季度业绩》。

腾讯快速的业务创新与日益庞大的用户群,对网络也提出了越来越来多的诉求,对底层基础网络设施带来巨大的挑战:

挑战一:资源调度

网络设备对网络所承载的应用层业务缺乏感知,网络设备处理数据包时依据链路负载均衡、流量控制等机制自主调控,颗粒度大,同时也缺乏全局的信息,无法依据业务以及网络的实时情况,从整网的视角进行更细粒度的调控。造成了网络设备利用率低、网络资源没有得到最大化的利用。

挑战二:网络运营

传统运营模式下,运营人员不仅需要关心路由转发,还需要关心负载均衡、安全、NAT、QOS、流量工程等越来越多的复杂功能,需要依据具体协议在网络节点上进行命令配置,在海量网络设备场景下,网络变更工作量巨大、业务响应时间过长,同时对运营人员的技能也有非常高的要求。

挑战三:云业务服务

以虚拟化技术为核心的云计算,提供主机出租、私有云服务,在传统的数据中心的基础上,提供多租户自定义数据中心的服务,传统的为单一用户设计的网络架构(传统网络以IP为核心,IP地址同时包含了标识和位置信息的双重身份)非常难以支撑多租户高动态的网络服务发放需求。

传统网络的限制

互联网以IP技术为核心的理念,简单、灵活、易于扩展,促进了网络的推广普及。但在发展过程中也不断暴露出问题。IP尽力而为的转发设计,无法避免网络的丢包,作为弥补,设计了TCP协议,通过在主机侧的可靠性传输来确保信息的完整性。随着网络规模与流量的增加,网络的拥塞问题变得更加凸显了,于是参考ATM的理念,设计了MPLS,通过规划流量传输路径,优化网络资源。MPLS依然无法满足基于IP级别流量调度力度以及流量感知,于是各种路由策略出现了,期待以此来约束路由选路,但是却都无法很好的解决实时、细粒度的流量调度能力,而引入的大量的协议和路由策略,却大幅提升了网络的复杂程度。新的业务的需求,也催生了大量的复杂的功能与协议,如为了满足云业务需求,一大堆的功能特性被开发出来,如QBR、VXLAN、EVPN等。

越来越多功能像补丁一样被集成到网络设备中,网络设备越来越臃肿,网络更新的速度严重滞后于互联网业务发展的速度。

另一方面,传统网络设备面向人的网络运维理念,基于CLI等人机交互的手段对网络设备进行管控,无法适应海量网络规模、云网络业务快速发放的需求。基于CLI、SNMP的管理层级的开放,也难以基于业务感知的全局精细化流量调度优化。

SDN带来的革新

基于此背景,一批计算领域的专家,包括我们所熟知的Nick McKeown、Martin Casado等大牛,尝试从计算机的视角,来解决网络的问题。SDN的理念基于此:底层转发平面支持精简通用转发行为,通过精简的指令(OpenFlow)与上层网络操作系统交互(控制器),网络操作系统标准化北向接口(套接字)与上层网络应用交互。SDN通过转发、控制与应用的分层解耦的架构,给网络设计规划与管理提供了极大的灵活性,方便网络开发者的创新,也便于用户通过简单的编程,实现对网络的灵活的控制和基于DEVOPS的自动化运维方法。

SDN技术给沉寂已久的网络领域带来了巨大的活力,包括众多高校等科研机构在内,几乎所有的网络芯片公司、网络设备公司、IT公司、运营商、互联网公司都积极投入的大量的资源进行SDN研究和探索,越来越多的成功案例被部署在生产网络上,给运营、业务、成本带来巨大的价值。

腾讯SDN的探索

腾讯在自身业务的驱动下,也积极的探索采用SDN的理念应对日益庞大的网络规模带来的运营挑战,寻求采用SDN的方法提升运维的效率,减少运维的工作量,提高网络资源的利用率,借助SDN柔性的网络架构模型来应对数据中心云化带来的复杂多变的网络需求。

基于腾讯网络的现状,腾讯的SDN创新是以服务业务、优化运营为主要目的,需要平滑兼容现网数量庞大的网络设备,在已有的基础上累积,在迭代式创新的前进路上,与伙伴们一起,不断地推进SDN生态的成熟,逐步迈向网络的开放与开源。

从2013年起,腾讯在数据中心云网络、数据中心间网络、广域网、波分以及安全等领域都积极开展SDN的研究,并有很多的项目在生产网部署上线,给业务和运营带来了价值,以下是选取的两个在腾讯实践中的例子:
2013年6月,腾讯数据中心间网络DCI的SDN项目启动,旨在通过SDN思路和技术解决广域网络利用率、差异化QoS网络质量保障、业务冗余调度等问题,采用兼容现网的渐进式南向协议,构建基于腾讯运营场景的控制器和业务编排系统。2015年初上线部署,全面提升带宽利用率、网络质量与调度能力。

2013年12月,数据中心网络虚拟化需求日趋明显,Overlay技术趋于成熟,腾讯开始启动代号为CODENET的网络解决方案项目。基于NFV、Overlay以及集中控制器的方案,提供灵活的网络资源调度与编排,支撑数据中心网络虚拟化场景。截至15年底,已经规模上线企业混合云解决方案。

基于ODL的开源实践

腾讯进行SDN的研究之初,就意识到控制器的重要性,开始对SDN控制器进行研究开发,2014年4月,腾讯自研控制器完成系统开发与测试,支持控制器集群,提供高性能并发的接入能力,南向集群负载、冗余接入,故障自切换,并支持Openflow、netconf等南向协议。但是团队面临新的挑战:不同的SDN解决方案纷纷启动,对控制器的需求繁多(不同的南向协议,不同的控制应用,不同的集群需求),独立开发的控制器系统需要持续不断的投入很大的人力资源。

而此时ODL开源社区成立,并发布了ODL的版本, ODL良好的生态,弹性可扩展的架构,日渐丰富的特性与协议,明晰的版本演进,动摇了我们自研的信心。经过多方的调研与分析,内部多次的讨论与分析,我们做了一个艰难的决定:全面切换SDN应用到ODL软件平台上。迄今为止,我们基于ODL平台进行SDN研发已1年多,我们推出了广域网SDN、Hyena项目,并成功上线部署运行,也正基于ODL开发包括DCI SDN 二期、波分在内的众多的SDN的解决方案。
腾讯认识到SDN的开源软件的生态对于SDN的推广的重要性。为了更好地提升我国开源SDN社区的技术水平,腾讯联手阿里、百度等国内企业开始倡导和参与开源SDN在中国的建设,发起并成立了中国开源SDN实践委员会(China Open SDN Committee, COS),在2015年4月组织了全球首届开源SDN/ODL实战集训营暨黑客马拉松,并计划于2016年1月19日-23日在深圳大学举办为期一周的第二届开源SDN/ODL实战集训营。并以此为契机,在2016年1月18日下午在深圳大学举办“中国SDN/ODL技术实践峰会”(欢迎各道同仁一同参会 https://jinshuju.net/f/Z4sJZr)。

结语

面对日益庞大的网络基础设施和复杂的运营需求,腾讯正以积极开放的态度,拥抱SDN,,也希望与行业伙伴们一起,营造一个良性循环的网络生态系统,推进SDN与开源实践,服务好互联网的业务快速发展与创新。

文章转载自:鹅厂网事


  • 本站原创文章仅代表作者观点,不代表SDNLAB立场。所有原创内容版权均属SDNLAB,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用,转载须注明来自 SDNLAB并附上本文链接。 本站中所有编译类文章仅用于学习和交流目的,编译工作遵照 CC 协议,如果有侵犯到您权益的地方,请及时联系我们。
  • 本文链接https://www.sdnlab.com/15578.html
分享到:
相关文章
条评论

登录后才可以评论

Jerry 发表于16-01-11
0