期刊鉴别 论文检测 免费论文 特惠期刊 学术答疑 发表流程

基于OpenFlow的SDN技术研究

时间:2015-12-25 15:45 文章来源:http://www.lunwenbuluo.com 作者:左青云,陈鸣,赵广松, 点击次数:

  摘要:软件定义网络(software-definednetworking,简称SDN)技术分离了网络的控制平面和数据平面,为研发网络新应用和未来互联网技术提供了一种新的解决方案.综述了基于OpenFlow的SDN技术发展现状,首先总结了逻辑控制和数据转发分离架构的研究背景,并介绍了其关键组件和研究进展,包括OpenFlow交换机、控制器和SDN技术,然后从4个方面分析了基于OpenFlow的SDN技术目前所面临的问题和解决思路.结合近年来的发展现状,归纳了在校园网、数据中心以及面向网络管理和网络安全方面的应用,最后探讨了未来的研究趋势.

  关键词:OpenFlow;未来互联网;控制器;虚拟化;软件定义网络

  随着网络规模的急剧膨胀和应用类型的不断丰富,因特网作为社会基础设施至关重要的一部分,结构和功能日趋复杂,管控能力日趋减弱.尤其作为网络核心的路由器,承载功能不断扩展,如分组过滤、区分服务、多播、服务质量(QoS)、流量工程等,路由器最初定义的“哑的、简单的”数据转发单元已经变得臃肿不堪.从路由器当前主要厂商的发展趋势来看,性能提升和功能扩展依然是其主要研发目标.而出于对自身技术和市场占有率的考虑,路由器只能通过命令行接口(command-lineinterface,简称CLI)等方式对外开放少量功能,研究人员难以在真实的网络中实验和部署新型网络体系结构和网络技术.当前网络中所大量部署的网络设备和网络协议也将在相当长一段时间内延续现有的网络体系结构.

  为了解决现有TCP/IP体系结构面临的诸多难题,世界各国已经大规模开展未来互联网的研究,如美国的GENI、欧盟的FIRE、日本的JGN2plus和我国的SOFIA等.研究未来互联网体系结构首先考虑的是网络核心设备路由器的重新设计和部署,允许用户自行定义路由器功能模块,实现适应未来互联网发展的新型协议功能.目前,可编程虚拟化路由器已经受到广泛关注,而设计的开放性和可控性将决定其设计思想是否可以得到长远的发展.OpenFlow技术概念最早由斯坦福大学的NickMcKeown教授提出,是斯坦福大学CleanSlate计划资助的一个开放式协议标准,后成为GENI计划的子项目.OpenFlow将控制功能从网络设备中分离出来,在网络设备上维护流表(flowtable)结构,数据分组按照流表进行转发,而流表的生成、维护、配置则由中央控制器来管理.OpenFlow的流表结构将网络处理层次扁平化,使得网络数据的处理满足细粒度的处理要求.在这种控制转发分离架构下,网络的逻辑控制功能和高层策略可以通过中央控制器灵活地进行动态管理和配置,可在不影响传统网络正常流量的情况下,在现有的网络中实现和部署新型网络架构.

  OpenFlow最初是为校园网络研究人员设计其创新网络架构提供真实的实验平台,随后,McKeown等研究者开始推广SDN概念,并引起学术界和产业界的广泛关注.SDN将网络配置平面从嵌入式结点中独立出来,以开放软件模式的控制平面替代了传统基于系统嵌入的控制平面,由软件驱动的中央控制结点来自动化控制整个网络.OpenFlow初步实现了SDN的原型设计思想,推动了SDN技术的快速发展,简化了网络的配置模式,增加了网络控制权的开放性,在某种程度上符合未来互联网的发展需求,也是目前SDN最通用的实现方式.基于OpenFlow的SDN技术通过软件平台来打造弹性化的可控互联网,在给网络的发展带来巨大冲击的同时,也为未来互联网的发展提供了一种新的解决思路.

  传统因特网把控制逻辑和数据转发紧耦合在网络设备上,导致网络控制平面管理的复杂化,也使得网络控制层面新技术的更新和发展很难直接部署在现有网络上,灵活性和扩展性很难适应网络的飞速发展.网络的控制转发分离架构提出由专有设备来部署高层策略,网络设备在高层策略指导下进行数据转发,减少了网络设备承载的诸多复杂功能,提高了网络新技术和新协议实现和部署的灵活性和可操作性.逻辑控制和数据转发分离的这种管控思想是SDN技术的研究基础,前期已经在学术界引起较大关注,典型工作包括ForCES、4D架构、RCP、SANE和Ethane.

  IETF的ForCES(forwardingandcontrolelementseparation)基于开放可编程思想的网络体系结构,将网络元素分为控制件(controlelement,简称CE)和转发件(forwardingelement,简称FE),用ForCES协议来实现各部件的协同和交互,以提高网络的可管可控功能,增强网络部署的灵活性和有效性.ForCES虽然已经提交了多项RFC标准草案,但主要研究工作在于理论创新和功能建模,并没有面向真实网络的部署和实践.

  针对当前网络的逻辑决策平面和分布式的硬件设备结合过紧的问题,Greenberg等人重新设计了互联网控制和管理结构,提出了所示的4D(decision,dissemination,discovery,data)的体系架构.在4D架构下,决策平面通过全局网络视图做出网络控制决策,并直接下发到数据平面;分发平面在决策平面和路由器之间Data建立可靠的通信通道;发现平面负责发现网络中的物理组件,并为决策平面提供构建网络视图的基本信息;数据平面则实现数据转发功能.这种架构有助于实现健壮、安全的网络,便于对异构网络进行有效管理.

  RCP(routingcontrolplatform)是Caesar等人提出的基于AS结构的逻辑中央平台.它针对内部边界网关协议(internalbordergatewayprotocol,简称iBGP)扩展性不强和容易造成协议不稳定、路由回路等缺点,部署路由控制服务器集中收集路由信息和AS内部拓扑结构信息,为AS范围内的路由器做出BGP路由决策.RCP通过实现的原型系统验证了控制转发分离架构的可行性,与4D架构的设计思想相比,RCP仅实现了BGP路由决策的集中管控.它在逻辑控制平面功能上还有很大的扩展空间.

  SANE和Ethane是Casado等主要来自斯坦福大学的研究人员分别于2006年和2007年提出的面向企业网的管理架构.SANE主要面向企业网的安全管理,它在链路层和IP层之间定义了一个可以管理所有连接的保护层,所有路由和接入控制决策都通过这个保护层由一台逻辑中央服务器控制.SANE以4D架构为设计原则,由于主要面向企业网,因此其重点在于安全控制,还没有实现复杂的路由决策,同时没有经过大规模测试,实际部署还比较困难.Ethane在SANE的基础上进行了功能扩展,将安全管理策略添加到网络管理当中,扩充了中央控制器的管理功能,实现了更细粒度的流表转发策略.在Ethane网络中,中央控制器和Ethane交换机是两个主要部件.中央控制器实现网络主机认证、IP分配和产生交换机流表等基本功能,是整个网络的控制决策层.Ethane交换机根据控制器部署的流表进行报文转发,是一个简单的、哑的数据转发单元.Ethane实现了OpenFlow交换机和中央控制器的大部分功能,奠定了OpenFlow的技术基础.

  针对目前日益增长的带宽需求,Casado重新总结了分组交换网络硬件的设计思想.现有路由器包含了报文转发决策的功能,复杂性过高,导致灵活性和有效性不够.因此,应当简化硬件转发功能,用软件来实现转发决策.硬件和软件之间应该相互独立,硬件只需缓存这些决策,而专注于报文的转发.由此引发的问题是,硬件和软件之间的交互和速度匹配需要考虑实际的硬件性能和网络流量的大小,报文处理在硬件中的匹配率将影响到软件的实际性能.这种软硬件功能分离的思想进一步明确了软件层做决策和硬件层控制分组转发的设计思路.

  从以上相关文献可以看出,逻辑控制和数据转发分离架构的设计思想简化了网络管理和配置操作,实现了高层控制逻辑的健壮性,有利于异构网络的融合和创新应用的部署.但同时我们也必须看出,这种架构目前还将面临一些新的挑战,如逻辑控制平面的功能集中化和可扩展性问题、逻辑决策的实时响应和一致性问题、逻辑控制单元的失效引发的容错和恢复机制问题,都需要进行大量深入研究.而在实际应用方面,这些控制转发分离架构的相关研究主要集中于理论上,或者通过小范围的实验部署进行测试,缺乏支持复杂网管功能以及较大规模网络的部署经验,因此也缺乏更准确的性能测试数据.

  在上述相关工作的基础上,斯坦福大学的研究者于2008年提出了OpenFlow技术,并逐渐推广SDN概念.

  OpenFlow作为SDN的原型实现方式,代表了SDN控制转发分离架构的技术实现.随着SDN技术得到认可,从严格定义上来讲,OpenFlow指的是SDN控制平面和数据平面之间多种通信协议之一,但实际上,OpenFlow以其良好的灵活性、规范性已被看作SDN通信协议事实上的标准,类似于TCP/IP协议作为互联网的通信标准.

  基于OpenFlow的SDN技术推出之后,2009年被MIT评为十大前沿技术.2011年,McKeown等研究者组织成立开放式网络基金会(OpenNetworkingFoundation,简称ONF),专门负责相关标准的制定和推广,包括OpenFlow标准、OpenFlow配置协议和SDN白皮书,极大地推进了OpenFlow和SDN的标准化工作,也使其成为全球开放网络架构和网络虚拟化领域的研究热点.在学术界,美国GENI、Internet2、欧洲OFELIA和日本的JGN2plus先后展开对SDN的研究和部署,IETF,ITU,ETSI等标准组织开始关注SDN,讨论SDN在各自领域可能的发展场景和架构应用.在产业界,以Nicira(创始人实际为McKeown和Casado等人,已被VMware收购)和BigSwitch为代表的SDN创业公司不断涌现.为了在新技术上抢占先机,出于对自身市场推广的考虑,Juniper,NEC,HP,IBM等厂商先后发布了支持OpenFlow的SDN硬件,目前也在SDN研究领域进行了相关部署.Google宣布其广域网数据中心已经大规模使用基于OpenFlow的SDN技术,以实现其数据中心的流量工程和实时管控功能,为OpenFlow的应用和推广起着示范作用.Cisco沉寂多时后,在CiscoLive2012上宣布了其开放网络环境(opennetworkenvironment,简称CiscoONE)计划,涵盖了从传输到管理和协调的整套解决方案,并补充了当前的软件定义方法.CiscoONE包括OnePlatformKit(onePK),为开发人员提供思科各种路由器和交换机操作系统的通用API,也发布了适用于SDN研发的概念验证控制器和OpenFlow代理,同时将其Nexus1000V虚拟交换机上作为虚拟覆盖网络的基础设备.Cisco为了维护目前的垄断地位,在推广SDN技术时主要面向自身的专利软件和技术规范,但同时也将OpenFlow看作面向学术研究市场的实现方式.

  可以看出,基于OpenFlow的SDN技术打破了传统网络的分布式架构,颠覆了传统网络的运行模式,在实现方式上与上述文献的要求不完全相同,在面临类似挑战时还需要满足新的技术和市场需求,目前,学术界和产业界已经展开大量研究来寻找解决方案.

  2、基于OpenFlow的SDN关键组件及架构

  OpenFlow最初作为SDN的原型提出时,主要由OpenFlow交换机、控制器两部分组成.OpenFlow交换机根据流表来转发数据包,代表着数据转发平面;控制器通过全网络视图来实现管控功能,其控制逻辑表示控制平面.随着SDN概念的不断推广,ONF也对SDN的定义和架构进行了详细介绍,进一步论述了OpenFlow和SDN的相互关系.下面首先介绍基于OpenFlow的SDN关键组件,包括OpenFlow交换机和控制器,然后对SDN的技术架构进行详细说明.

  2.1OpenFlow交换机

  OpenFlow交换机负责数据转发功能,主要技术细节由3部分组成:流表(flowtable)、安全信道(securechannel)和OpenFlow协议(OpenFlowprotocol),每个OpenFlow交换机的处理单元由流表构成,每个流表由许多流表项组成,流表项则代表转发规则.进入交换机的数据包通过查询流表来取得对应的操作.为了提升流量的查询效率,目前的流表查询通过多级流表和流水线模式来获得对应操作.流表项主要由匹配字段(matchfield)、计数器(counter)和操作(instruction)这3部分组成.匹配字段的结构包含很多匹配项,涵盖了链路层、网络层和传输层大部分标识.随着OpenFlow规约的不断更新,VLAN,MPLS和IPv6等协议也逐渐扩展到OpenFlow标准当中.由于OpenFlow交换机采取流的匹配和转发模式,因此在OpenFlow网络中将不再区分路由器和交换机,而是统称为OpenFlow交换机.另外,计数器用来对数据流的基本数据进行统计,操作则表明了与该流表项匹配的数据包应该执行的下一步操作.

  安全通道是连接OpenFlow交换机和控制器的接口,控制器通过这个接口,按照OpenFlow协议规定的格式来配置和管理OpenFlow交换机.目前,基于软件实现的OpenFlow交换机主要有两个版本,都部署于Linux系统:基于用户空间的软件OpenFlow交换机操作简单,便于修改,但性能较差;基于内核空间的软件OpenFlow交换机速度较快,同时提供了虚拟化功能,使得每个虚拟机能够通过多个虚拟网卡传输流量,但实际的修改和操作过程较复杂.另外,斯坦福大学基于NetFPGA实现了硬件加速的线速OpenFlow交换机,而网络硬件厂商如NEC,HP等公司也已相继推出了支持OpenFlow标准的硬件交换机.

  2.2控制器

  在控制器中,网络操作系统(networkoperatingsystem,简称NOS)实现控制逻辑功能.NOX最早引入这个概念,是OpenFlow网络中对网络实现可编程控制的中央执行单元.实际上,这里的NOS指的是SDN概念中的控制软件,通过在NOS上运行不同的应用程序能够实现不同的逻辑管控功能.

  在基于NOX的OpenFlow网络中,NOX是控制核心,OpenFlow交换机是操作实体,NOX通过维护网络视图(networkview)来维护整个网络的基本信息,如拓扑、网络单元和提供的服务,运行在NOX之上的应用程序通过调用网络视图中的全局数据,进而操作OpenFlow交换机来对整个网络进行管理和控制.从NOX控制器完成的功能来看,NOX实现了网络基本的管控功能,为OpenFlow网络提供了通用API的基础控制平台,但在性能上并没有太大的优势,未能提供充分的可靠性和灵活性来满足可扩展的需求.但是,NOX在控制器设计方面实现得最早,目前已经作为OpenFlow网络控制器平台实现的基础和模板.

  为使控制器能够直接部署在真实网络中,解决多控制器对OpenFlow交换机的控制共享问题,同时满足网络虚拟化的现实需求,FlowVisor在控制器和OpenFlow交换机之间实现了基于OpenFlow的网络虚拟层.它使得硬件转发平面能够被多个逻辑网络切片(slice)共享,每个网络切片拥有不同的转发逻辑策略.在这种切片模式下,多个控制器能够同时管理一台交换机,多个网络实验能够同时运行在同一个真实网络中,网络管理者能够并行地控制网络,因此网络正常流量可以运行在独立的切片模式下,从而保证正常流量不受干扰.

  目前,支持OpenFlow协议的多种控制软件已经得到了开发和推广.NOX已经发布了多个版本,如NOXDestiny,NOXZach,POX等.它们对NOX进行了性能上的优化,并逐渐支持更多的功能,如控制台操作、SNMP控制等.其余的控制软件也得到了广泛应用,如Maestro,Beacon,Floodlight,SNAC,Trema,RouteFlow和Onix等.

  2.3SDN

  因特网的高速发展可以归结于细腰的TCP/IP架构和开放的应用层软件设计,但从网络核心来讲,由于专有的硬件设备和操作系统,网络在很大程度上是封闭的.SDN将控制功能从传统的分布式网络设备中迁移到可控的计算设备中,使得底层的网络基础设施能够被上层的网络服务和应用程序所抽象,最终通过开放可编程的软件模式来实现网络的自动化控制功能.

  OpenFlow实现了SDN可编程网络的思想,代表了SDN技术的实现原型和部署实例.但从整个SDN架构来看,OpenFlow特指控制平面和数据平面的某一种通信协议.图5描述了SDN架构的逻辑视图,主要分为基础设施层、控制层和应用层.基础设施层表示网络的底层转发设备,包含了特定的转发面抽象(如OpenFlow交换机中流表的匹配字段设计).中间的控制层集中维护网络状态,并通过南向接口(控制和数据平面接口,如OpenFlow)获取底层基础设施信息,同时为应用层提供可扩展的北向接口.目前,ONF仍在制定和完善南向接口OpenFlow协议,面向应用的可编程北向接口仍处在需求讨论阶段.应用层根据网络不同的应用需求,调用控制层的北向接口,实现不同功能的应用程序.通过这种软件模式,网络管理者能够通过动态的SDN应用程序来配置、管理和优化底层的网络资源,从而实现灵活、可控的网络,这也是SDN开放性和可编程性最重要的体现.

  在SDN的这种3层架构下,网络的运行维护仅需通过软件的更新来实现网络功能的升级,网络配置将通过网络服务和应用程序的形式直接得到部署,网络管理者无须再针对每一个硬件设备进行配置或者等待网络设备厂商硬件的发布,从而加速网络部署周期.同时,SDN降低了网络复杂度,使得网络设备从封闭走向开放,底层的网络设备能够专注于数据转发而使得功能简化,有效降低网络构建成本.另一方面,传统网络中的结点只能通过局部状态和分布式算法来实现数据转发,因而很难达到最优性能.SDN通过软件来实现集中控制,使得网络具备集中协调点,因而能够通过软件形式达到最优性能,从而加速网络创新周期.

  3、基于OpenFlow的SDN面临的问题和解决思路

  虽然目前基于OpenFlow的SDN已经引起较大的关注,但无论是OpenFlow协议本身,还是SDN这种管控分离架构,不仅在技术上面临着许多还未解决的问题,在具体的运作模式和演进趋势上也和当前网络设备厂商的生产理念相违背,这使得其大规模应用还需要等待技术的成熟和市场的推广.目前来看,基于OpenFlow的SDN技术遇到的主要问题包括以下几点:

  (1)SDN转发平面的设计问题.OpenFlow交换机作为SDN转发平面抽象的实际载体,协议标准处在不断更新当中.随着OpenFlow规约的不断发布,OpenFlow交换机流表从最初的单表结构变为多表结构,流表项匹配字段从最初的十元组到支持IPv6,MPLS等,这些都表明SDN转发平面功能的逐渐扩展,意味着OpenFlow交换机结构设计的复杂化,因此必须认识到由此带来的新的问题和挑战.

  (2)控制平面的可扩展性.OpenFlow设计之初,仅需通过单控制器来实现网络的管控功能.显然,随着网络规模的增大和业务需求的增加,需要研究控制平面的可扩展性解决方案,即多控制器解决方案.而控制单元的数量和它们之间网络状态(包括拓扑、传输能力、路由限制等)的协同和交互应该如何实现,以保证网络状态的一致性和可扩展性,还需要进行大量深入的研究.

  (3)SDN控制逻辑的一致性.虽然控制平面能够将控制逻辑集中部署到整个网络,但数据平面转发设备仍然是一个分布式系统.控制逻辑的先后配置顺序以及控制平面和数据平面之间可能存在的时延将难以保证控制逻辑更新的一致性,有可能造成网络出现断路、丢包、环路等现象.


  •   论文部落提供核心期刊、国家级期刊、省级期刊、SCI期刊和EI期刊等咨询服务。
  •   论文部落拥有一支经验丰富、高端专业的编辑团队,可帮助您指导各领域学术文章,您只需提出详细的论文写作要求和相关资料。
  •  
  •   论文投稿客服QQ: 论文投稿2863358778 论文投稿2316118108
  •  
  •   论文投稿电话:15380085870
  •  
  •   论文投稿邮箱:lunwenbuluo@126.com

联系方式

  • 论文投稿客服QQ: 论文投稿2863358778
  • 论文投稿客服QQ: 论文投稿2316118108
  • 论文投稿电话:15380085870
  • 论文投稿邮箱:lunwenbuluo@126.com

热门排行

 
QQ在线咨询
咨询热线:
15380085870
微信号咨询:
lunwenbuluoli