2015-2016年《宽带通信网络》课程综述报告题目:软件定义网络(SDN)的国内外研究与发展现状一、背景SoftwareDefinedNetworking是KateGreene创造的一个词,在大约2009年提出的。它是指网络的控制平面与实际的物理上的拓扑结构互相分离。这种分离可以使控制平面用一种不同的方式实现,比如分布式的实现方式;另外,它还可以改变控制平面的运行环境,比如不再运行在传统交换机上的那种低功耗CPU上。所以SDN的关键所在就是控制层与网络数据层是分离的,并不是传统的嵌入关系。并且这种关系在物理实现上也是分离的,这意味着控制层与网络数据在不同的服务器与路由器上操作。而连接两者的“协议”就是OpenFlow,OpenFlow的要点就是相当于给路由器安装一个小软件OpenFlow(后文详细论述),然后研究人员就可以很容易的改变路由器的路由规则等等,从而改善网络质量。而且这是看似没有新意的主意最大的新意就是大大开放了接口权限,所以面向众很广,门槛也比较低。近年来,伴随着云计算、大数据的迅速兴起,人们对数据业务的流量要求越来越大。而相比于互联网日新月异,不断创新多变的应用层,网络层的发展却越来越跟不上步伐,显得愈发死板不够兼容灵活。而网络层日益落伍的根源则是控制网络运行的软件都是内嵌入路由器或是交换机中,并且交换器或是路由的软件操作标准又是不太一致的,所以就造成了路由器/交换机的复杂度大大提高,造成了很大的流量阻塞和资源浪费。所以SDN的作用不是由嵌入到路由器和交换机内部的软件来控制网络流量,而是来自设备外部的软件接手了这部分的工作。网络布局,或者说网络的形态分布,不再是植入在物理端。它将对实时的系统需求非常灵活且可调节。如果SDN实行得当的话,这意味着一个运行在云端自身内部的应用程序可以接管引导网络流量的任务。或者说一个第三方云端管理应用程序将能够完成这项任务。这样可以简化许多工作,诸如跨服务器装载平衡设备,以及自动地调节网络构造来适时给出最快最高效的数据路径。二、文献引述文献[1]主要重在介绍讨论了SDN在数据层、控制层以及应用层的一些关键技术,并从SDN的诞生背景引入,详细说明了SDN的发展历程。在文献[1]中在SDN的层次结构中,文章重点针对了其中的一致性、可用性以及容错性进行分析,并结合SDN的一些热门特性探讨未来的发展之路和新的潜力点。文献[2]是一篇研究综述,主要阐述了SDN中的关键技术OpenFlow。并详细介绍了2015-2016年《宽带通信网络》课程综述报告基于OpenFlow平台的SDN网络结构中的一些关键实现点和热门方向。并探究了SDN技术在网络管理自动化、光网络传输与IP承载的统一控制、无线网络的平滑切换、网络虚拟化和QoS保证等方向的应用。并在SDN应用的一些领域指出了尚待解决的问题和技术难点。文献[3]全面的介绍了基于OpenFlow平台的SDN技术,并且大致讲解了其发展的现状。SDN技术的核心思想就是简化网络运行流程,降低网络路由交换各方面的复杂度从而达到减少网络运行负担的目标。而简化网络运行复杂度的最主要思路就是将控制层与数据层分离操作,由第三方软件根据网络状况、用户需求进行实时调整规划,大大减少了运行时效和成本。该文就从数据层与控制层分离的技术背景入手。总结了逻辑控制和数据转发分离架构的研究背景并介绍了其关键组件和研究进展包括OpenFlow交换机、控制器和SDN技术然后从4个方面分析了基于OpenFlow的SDN技术目前所面临的问题和解决思路结合近年来的发展现状归纳了在校园网、数据中心以及面向网络管理和网络安全方面的应用最后探讨了未来的研究趋势。三、文献分析SDN作为简化网络规则流程的新热门技术,它的成熟与否与数据层和控制层能否有效完美的分离息息相关。文献[1]中就主要介绍了数据层与控制层分离之后所展现的关键热门技术。在SDN中交换机将繁重的控制规则和策略都统统交给物理控制层,所以交换机主要负责将控制器下达的命令实现。所以这就大大化简了繁重冗杂的转发流程。所以数据层将任务分离之后就显得相对轻松,而其主要的技术问题就集中在路由器设计和转发规则算法优化这两个方面。交换机处于数据层当中,主要负责数据包的转发传送,在交换机的设计当中,主要有硬件和软件转发两种方式。这两种方式各有利弊,硬件支撑的方式具有速度快、成本低和功耗小等优点。并且交换机CPU的的处理速度比CPU处理速度快两个数量级,比网络处理器(networkprocessor,简称NP)快一个数量级。但是硬件转发虽然效率高,但是相比于软件转发方式则显得不够灵活机动。所以如何设计出极具有转发效率又具备转发规则灵活机动的交换机是现在的主要热门点。针对这两个方针,Bosshart等人针对数据平面转发提出了RMT模型(如图1所示)该模型实现了一个可重新配置的匹配表,它允许在流水线(pipeline)阶段支持任意宽度和深度的流表,重新配置的数据层涉及4个方面:①允许随意替换或增加域定义;②允许指定流表的数量、拓扑、宽度和深度,仅仅受限于芯片的整体资源(如芯片内存大小等);③允许创建新动作;④可以随意将数据包放到不同的队列中,并指定发送端口。2015-2016年《宽带通信网络》课程综述报告图1RMT模型除了提出的RMT模型,还有另外一种能让使硬件相对实现灵活转发能力的技术:FlowAdapter。它主要运用了互联网分层处理问题的思想,将路由器的功能面也进行了分层处理。该技术将交换机分为三层上层是可以实时匹配更新的软件层面,底层则是相对固定的硬件处理中心,所以很容易就能猜到中层是连接两个业务层的纽带。中层将上层软件层下达的转发规则和命令传输给底层硬件层执行,所以就兼顾了硬件转发效率高和软件操作转发灵活的优势。在控制层主要的依赖器件就是控制器,控制器在整个网络中面向用户和开发人员,可以使用户能便捷迅速的管理网络和进行数据转发收集,保证了系统的安全性和性能的提升。文献[1]主要介绍了两种改进控制器的方法:一种是采用多线程的控制模式,另一种是通过增加分布式控制器数量,实现扁平式和层次式控制模式。然后介绍了主流接口语言的研究发展,实现控制语言抽象。最后,深入分析了控制器的一致性、可用性和容错性等特性。文献[2]和文献[3]的主要着重点是论述介绍了实现SDN该技术所要具备的主体技术构成。谈到SDN就一定会提起OpenFlow技术,这个概念最早是由斯坦福大学CleanSlate研究组关于网络安全与管理的Ethane项目。OpenFlow协议现在已经发展成最主要的SDN数据控制层协议。基于OpenFlow的交换机主要是有三部分组成:流表、安全信道以及OpenFlow协议。涉及SDN南向接口的OpenFlow技术协议仍在不断完善中。因为基于OpenFlow的网络具有可编程的特性,所以人们将SDN于OpenFlow相结合。在SDN的框架中OpenFlow协议的主要作用是连接数据层与控制层。在SDN框架图(图2所示)中,基础设施层、控制层与应用层的分工很明确,OpenFlow的南向接口作用也很清晰。中间的控制层集中维护网络状态,并通过南向接口(控制和数据平面接口,如OpenFlow)获取底层基础设施信息,同时为应用层提供可扩展的北向接口。目前,ONF仍在制定和完善南向接口OpenFlow协议,面向应用的可编程北向接口仍处在需求讨论阶段。应用层根据网络不同的应用需求,调用控制层的北向接口,实现不同功能的应用程序。通过这种软件模式,网络管理者能够通过动态的SDN应用程序来配置、管理和优化底层的网络资源,2015-2016年《宽带通信网络》课程综述报告从而实现灵活、可控的网络,这也是SDN开放性和可编程性最重要的体现。图2SDN框架同时文献[2-3]在预测SDN热门发展方向的同时也指出了一些尚未解决的技术或是市场问题。文献[3]提出了几点基于OpenFlow协议的SDN技术问题,比如SDN转发平面的设计问题、控制平面的可扩展问题等等。这都是SDN技术需要完善和改进的技术难点。四、文献评述文献[1-3]各有着重的介绍和论述一些与SDN相关的技术和问题。文献[1]从总的视角介绍了SDN技术的大致结构框图,从SDN的概念诞生的背景入手,再详细介绍了SDN的体系结构,从数据层、控制层和应用层一次展开综述介绍,并结合关键的结构层分析其主要特性和性能指标。最后在原有基础上对SDN技术进行评价和预测。所以该文献的结构很清晰,有条不紊的向读者介绍SDN技术从诞生到兴起的原因,并且在总的理论框架上总结分类了SDN技术的特点和结构。文献[2-3]的内容有不同程度的叠加,主要都是对SDN技术中最为热门的OpenFlow协议进行介绍论述。将OpenFlow协议的发展现状、与SDN的结合构架、以及存在的技术难关都依次详细论述。同时在文献[3]中作者结合了大量的结构理论图,细化了OpenFlow协议小到与交换机大到结构层之间的联系与其发挥的作用,并且将SDN技术与当今现实热门科技需求相结合介绍。五、结论从SDN概念被提出到成为当今最具热门的网络技术之一的这几年中,SDN技术得到了很多制造商和运营商的认可和推崇,SDN让网络运作简化的思想是当今庞杂的网络平台所要共同认可的,SDN将数据层与控制层相分离并在最上层铺设应用,方便开发者和用户自主实时的控制网络的转发规则。这将大大减少网络系统的复杂度和交换转发的负2015-2016年《宽带通信网络》课程综述报告担,使各个接口相兼容统一极大地方便了用户和管理者。不过SDN技术也面临了很多棘手的问题,需要社会各方的协调和努力。比如SDN在发展过程中的厂商锁定问题、网络投资占比过低、功能齐备性能堪忧等等一系列社会投入以及技术问题。所以我们应当理性对待SDN技术,在协调科研投入与开发的大局下不断推进SDN技术的全面发展。参考文献:[1]张朝昆,崔勇,唐翯翯,吴建平.软件定义网络(SDN)研究进展[J].软件学报,2015(1);1-15[2]张顺淼,邹复民.软件定义网络研究综述[J].计算机应用研究,2018(8);1-5[3]左青云,陈鸣.基于OpenFlow的SDN技术研究[J].软件学报,2013(5);1-17