李洁
摘 要:软件定义网络(Software Deflned Networking,SDN)构建出一种网络框架,其将控制平面和数据平面分离,为研发新型网络协议及应用和未来网络技术提出了一种全新的解决方案。从SDN的起源入手,总结SDN控制其的发展过程及SDN相关标准的演进进程。对未来SDN在设备生产商和运营商发展路径进行了深入的展望。
关键词:软件定义网络;SDN控制器;云计算;ONF
中图分类号:TP391.41
文献标识码:A
DOI: 10.3969/j.issn.1003-6970.2015.07.015
0 引言
SDN在2012年得到了广泛的商用,代表性的事件有VMware收购NicirOrcale收购Xsigo,Google部署SDN网,Cisco宣布开发网络环境战略。据IDC预测,预计到2018年SDN市值将达35.2亿美元,SDN发展迅速,远超市场预期。
1 SDN相关技术现状
1.1 SDN起源
SDN起源于斯坦福大学,作为Clean Slate研究项目的一个副产品诞生。SDN主要分为狭义SDN与广义SDN两种:狭义的SDN主要指OpenFlow,OpenFlow由ONF(open networking foundation,开发网络基金会)定义的开发架构。广义的SDN是一个框架,一种网络设计的理念。SDN框架中的网络,控制面和转发面分离,在转发面这一角度,其是协议无关的。
网络规模越来越大,传统的网络不堪重负,管理员疲于奔命处理各种网络故障。传统网络设备是控制面和转发面整合在一起,设备是一台台单独管理,管理员对网络中的很多事情不能在第一时间获取信息。同时网络中有各种不同厂家不同版本的设备,难有一个统一的平台进行统一管理。当新的业务需求出现时,管理员需要对相关设备进行网络调整,当网络规模越来越大后,网络调整的工作量,及故障排除的工作量变的难以估计和判断。为了解决网络中的这些问题,SDN应运而生,SDN解决这些问题的核心是改变传统网络对数据流进行控制的方式,及传统设备中控制面和转发面是整合在一起的,这种控制是完全分布式的,SDN将控制面和转发面分离,控制面放到一个外部服务器中,由这台服务器通过统一的指令集中管理转发路径上的所有设备。通过集中管理,消除了大量手动配置过程,增加了灵活性,管理员对全网有了整体视图,提高了业务部署的效率。
1.2 0penFlow基本原理
Nick McKenown在2008年发表的论文< 流(Flow)是指在一段时间内,经过同一网络的一系列具有相同属性的顺序发送的报文集合,流表(FlowTable)是芯片中的转发表集合,每张流表由多条流表项(FlowEntry)组成,比如一张表有4K,就是说这张流表由4K条流表项。流表项(FlowEntry)是流表的最小单位,每条流表对应了网络中传输的一条流。根据OpenFlow标准,每条流表项由六部分组成。 Match Fields包含二层、三层、四层的大部分标识,随着OpenFlow的发展更多的标识被添加到其中,比如VLAN,MPLS,IPV6等也扩展到OpenFlow标准中。因OpenFlow交换机采用基于流的匹配和转发的数据传输模式,故在OpenFlow中没有交换机和路由器的区分,统一称为OpenFlow交换机。 OpenFlow Channel是指交换机与控制器之间的链接通道,其可以是TCP链接,也可以是加密的TLS链接。 OpenFlow南向接口,指Controller和交换机之间的标准消息接口,所有厂家的交换机,只要遵循OpenFlow标准,就可以互通。 Controller与交换机的消息分为三类,分别是Controller-to-Switch消息,Asynchronous消息(Switch-To-Controller消息),Symmetric消息。 1.3 SDN控制器 SDN控制器处于SDN框架的中枢部位,是SDN的重要组件,目前各大厂商在SDN市场的争夺,主要集中在Controller定义权及控制权的争夺,SDN控制器是SDN的核心,在控制器上有发言权,在SDN市场就有话语权。 Onix 很多SDN Controller是基于Onix模型搭建的,包括Nicira的NVP中所用的Controller和Google的基于OpenFlow的B4 WAN网所用的Controller。Onix是Nicira,Google,NEC,Berkerly大学参与设计,由Nicira主导。Onix是一个分布式架构的Controller模型,被用来控制大型网络,具有很强的可扩展性.Onix引入ControlLogic,Controller和物理设备三层架构,每个Controller只控制部分物理服务器,并且只发送汇聚过后的信息到逻辑控制服务器,逻辑控制服务器了解全网的拓扑情况,达到分布式控制的目的,从而使整个方案具有高度可扩展性。Onix不开源,知名度不高,但其思想已经被很多商业Controller借用。
FloodLight&Big Network Controller.
FloodLight是Big Switch公司的Big Network Controller的开源版本。Big Network Controller可以支持多达1000个网络设备,可用同时连接250000台主机。FloodLight的内核使用Java编写以便支持跨平台,提供北向REST API,北向API支持Java和Jython.FloodLight可以方便的集成到OpenStack中。
Ryu
Ryu是NTT实验室发起的开源Controller项目,其基于Python开发。Ryu不仅支持OpenFlow,还支持其他控制协议,如OF-Config,Netconf等。Ryu得到了OpenStack的支持,在OpenStack中可以直接通过Ryu Controller来配置OVS。 Ryu采用Apache License协议。
NOX/POX
NOX是Nicira公司开发的,NOX代表Network Operating System。2008年,Nicira把它贡献给了开源社区,它是第一个OpenFlow Controller,基于C++开发.C++语言高效,灵活,支持多线程,使NOX具有很高的性能。
POX是NOX的Python版本,除了用的编程语言不同,POX还比NOX多了不少别的功能,在功能上属于NOX的增强版本,但在性能上较C++版本有一定的劣势。
Trema
Trema是NEC开发的一个开源的Controller是用C和Ruby写的。Trema的目的是打造一个”OpenFlowProgramming Framework”.即基于OpenFlow的可编程框架。
Trema提供不少应用和服务,包括拓扑发现,Flow管理,路由交换,OpenStack插件。
Beacon
Beacon由斯坦福的Ericson等人开发,Beacon是一款基于Java开发的开源产品。Beacon具有较高的性能及较强的稳定性,已在几个项目中得到了验证。Beacon基于Java开发,其可跨平台,支持多线程,通过支持WebUI访问。Beacon提供OSGi用户界面,用户可用通过界面按需添加和删除组件,具有较高的灵活性。
1.4 SDN标准化
ONF(Open Networking Foundation)
目前在SDN中最具影响力的组织就是ONF,它也是最早开始SDN标准化和推广工作的组织。ONF由Google,Facebook,MS等公司发起,成立于2011年。
ONF主要的工作成果包括OpenFlowl.l,1.2,1.3,1.4标准,和OF-Config协议1.0,1.1.ONF目前已得到设备厂商HP,Dell,Juniper,Cisco等的支持。ONF分为9个工作组,协同进行标准定义及市场推广工作。
ODL(OpenDayLight)
在SDN推出的很长一段时间,ONF是SDN唯一的标准化组织。2013年4月,由18家著名的IT厂商(包括IBM,Citrix,Redhat,NEC,Intel等0发起OpenDayLight(简称ODL)组织正式成立,ODL的目标是实现开源的SDN Controller。
ODL的要打造一个开源的基于SDN的框架,这个框架从上到下包括网络应用和服务、北向接口、控制器平台、南向接口。框架搭建好后,开发人员可以在此基础上进行二次开发,换言之,ODL的主要目标是打造一个网络操作系统。这个系统的南向接口包括很多类型的协议,OpenFlow指是其中之一。
IETF(国际互联网工程任务组)
IETF成立了SDN BOF,专门从事SDN标准开发工作。IETF曾提出过两个与SDN相关的成果,分别是ALTO(application layer traffic optimization)和ForCES(forwarding and control element separation). ALTO提出了与SDN类似的思想,对控制面和转发面进行分离。
ITU(国际电信联盟)
ITU成立了WP5(Future Network)组对SDN框架进行研究,目前其下分立了Y.FNsdn-fm和Y.FNsdn两个项目,对SDN的需求和框架进行重点研究。
2 SDN变革影响力
2.1 网络设备商
在现有的网络设备市场中,由设备商和芯片商控制一切。对设备商而言,高端交换机、路由器的软件系统复杂性极高,大大提高了竞争门槛,几家设备商掌控大部分市场。在SDN诞生后,控制面和转发面分离,并且转发面可以提供开发的标准API接口。这带来两个直接影响,首先网络设备研发门槛降低,因其不在需要将复杂的软件系统置人交换机中,中小网络设备商可以相对容易的研发网络设备,有利于白牌市场的发展,其次为软件供应商甚至个人开发者提供了参与应用程序开发和Controller开发的机会,传统的大设备商很难再控制一切,用户有了更多的选择。
大设备商如Cisco,Juniper为保住市场份额,也积极参与SDN的研发之中.Juniper收购Contrail System,推出开源的SDN控制器。目前最大规模的SDN由Google部署,其全球有多个数据中心由SDN联通,使其联络使用率提升到近100%。
2.2 运营商
运营商作为SDN的用户,积极参与到SDN技术的推进进程中。目前各大运营商关注的下一代网络模型叫“智能管道”,SDN有助有优化目前运营商的网络,但无法完全取代现有网络模型。
NTT DoCoMo是运营商开发的第一个SDN模型,主要在多个数据中心提供统一服务和统一配置方面做了加强。NTT在日本、欧洲、北美的数据中心部署了DoCoMo。
3 SDN未来展望
SDN是”软件定义一切”在网络领域的体现,在网络领域的所有参与者包括用户、运营商、设备商都希望在SDN的技术革命中寻求到新的突破点,从目前业界的反馈来看,SDN必将兴起,但不会一统江湖,SDN在具体领域非常合适,特别是安全领域、无线控制、数据中心、企业网。未来南向接口会开发化,但在短期内难以标准化,其中主要牵扯到利益关系,南向接口若标准化了,大型设备商优势就会大打折扣;北向接口因用户场景的多样性,会呈现百花齐放的局面;大型设备商仍然具有优势,但影响力会弱化。SDN虽然处于起步阶段,受到技术成熟度及标准等各种因素的影响,但SDN在未来几年发展仍大具想象空间。endprint