基于SDN的无线组网融合技术研究综述*
2019-09-04姜雨卿米志超
姜雨卿,米志超,王 海
(中国人民解放军陆军工程大学 通信工程学院,江苏 南京 210007)
0 引 言
早期的网络拓扑相对简单和固定,所以传统的网络架构足以保证良好的网络性能。但随着通讯行业和人工智能技术的不断研究创新,网络的组网形式也更加多元化,比如通信网络从基于基础设施的中心网络发展到无中心节点的Ad Hoc网络,通信设备的移动区域从地面发展到天空和海洋,网络中的设备数量也从小规模发展到大规模级别。此时传统的网络架构会产生以下问题:
(1)数据经过多层(接入层、汇聚层、核心层)转发,增加了网络时延。
(2)架构内功能模块分布零散,反复调用造成了不必要的资源浪费。
(3)路由表容量有限,控制不灵活。
在无线自组织网络中,节点可以通过中间节点的转发中继来彼此通信,而无需任何基础设施的帮助。这些节点可以自由地组织和配置网络,分配节点对网络的管理权[1]。因此,传统的网络架构很难应对现有的挑战,如节点移动性、动态拓扑变化和能量约束等。软件定义网络(Software Defined Network,SDN)是一种很有前景的解决方案,它的核心特点是分离了控制平面和数据平面[2]。SDN控制器可以纵观网络全局并借助应用程序,执行网络链路发现、流量管理、拓扑信息维护、流表生成与下发等基本操作,而SDN交换机仅仅负责数据的转发,二者分工,从而更快地适应网络环境的变化,充分改进交换处理的能力。同时,流表的多样设计可以扩展所需业务,增加网络资源的利用率,提高网络性能[3]。本文阐述了SDN的研究背景及现状,特别对SDN的体系架构及SDN的组网技术进行了研究。
1 SDN体系架构
当网络变得更加复杂多变时,网络性能将显著下降。SDN架构凭借其(转发和控制)平面分离、设备简化、集中控制、网络自动化、虚拟化以及开放性的优点,更能适应大规模的复杂网络[4]。文献[5]的实验数据给出传统网络架构的传输速度只有SDN架构的60%,原因是SDN拥有特别的结构设计。SDN 分为应用层,控制层和基础设备层,结构如图1所示。从最初的提出到如今的实践应用,SDN已经形成了相对稳定的设计结构,分为应用层、控制层和基础设备层[6]。表1和表2总结了当前开源的SDN控制器和OpenFlow交换机。
表1 开源SDN控制器
表2 开源OpenFlow交换机
OpenFlow交换机是基础设备层中最重要的设备,它没有逻辑控制能力,仅仅负责数据转发。交换机通常使用开源的Open-vSwitch(OVS),当它接收到其他节点发送的数据包时,根据数据包的MAC或IP地址等特征来判断如何转发分组[7]。如果流表中已经存在此数据包的记录,交换机直接转发;否则交换机将未知消息通过标准的API和OpenFlow协议传递给控制器,然后接收控制器返回的控制消息进行转发。交换机中的流表是转发表,由流表项组成,每个流表项对应网络中的数据流[8]。流表项通常包含cookie(附属属性),duration (时延),table(路由消息的优先级),priority(流表项的优先级),nw_dst(路由消息的目的IP),output(报文发出的端口号)等消息。流表可以采用多级结构,以加快交换机的执行速度,使转发更加灵活。
图1 SDN体系架构图
SDN控制层主要完成终端设备的发现、网络设备(无线接入点等)的发现、拓扑结构和流的管理等功能。北向API是为应用层的SDN APP提供相应的程序调用接口。南向API是为基础设备层的SDN设备提供协议接口。OpenFlow控制器通过标准化语言(即OpenFlow协议)对消息进行解析以及对网络进行配置[9]。例如RYU是带有API的控制器,它既使用OpenFlow协议,也使用NETCONF[10](基于XML的网络配置协议)和OF-Config[11](规定控制器的IP地址,交换机端口的enable/disable等)之类的方法来管理网络设备。RYU不仅仅是一个控制器,它还可以被视为一个网络操作系统。路由模块、设备管理模块和QoS模块等功能模块集中分布在SDN控制层中。例如,路由模块执行与网络设备之间的协调工作,主要负责查看信道配置的响应,增加和删除通告路由的消息,查询和配置网关,查看网络设备消息等。
总之,控制部分决定了路由选择、重定向、负载平衡等策略的实施,转发部分采用标准的OpenFlow交换处理数据,两者分离,弥补了传统网络构架的不足:
(1)数据仅在单层转发,与控制层严格分离,减小网络时延。
(2)架构内功能模块集中分布,减少资源浪费。
(3)用流表代替路由表,给流表划分等级,加快交换机的执行速度。
2 SDN组网融合研究现状
目前,无线节点组网的方式包括无线局域网、无线传感器网、无人机网络。传统网络架构的弊端使这些网络需要和SDN架构进行合理地融合。根据无线组网方式的不同,SDN架构可以进行不同的融合方式。SDN组网融合技术可以分为软件定义无线局域网、软件定义无线传感器网以及软件定义无人机网络。
2.1 软件定义无线局域网
现阶段的无线局域网一般用于大型公司或校园,其中包含大规模接入点,每个节点的接入协议不统一,业务也会不定时更新。传统的无线局域网组网方式为Fat AP分布式组网方式和AC+Fit AP集中式组网方式。前者组网中接入点(Access Point,AP)身兼数职,既要逻辑控制也要转发数据,浪费网络资源,影响网络性能,无法满足现阶段的发展;而后者虽然添加了AC寻求帮助,但无论是数据本地转发还是集中转发,AP或AC都需要负责处理两个平面的工作,前者的问题依旧无法得以解决。
软件定义无线(局域)网(Soft Defined Wireless(Local Area) Network,SDWN)引用SDN架构,使矛盾最突出的控制面和转发面合理地分离,减缓了局域网内各个设备的资源压力,也方便管理者全局控制网络。目前,SDWN的实现主要依赖特定固件,例如OpenWRT,运行在商用WiFi芯片的嵌入式应用处理器上,并且操作权限限制在较低的MAC层之上[12]。文献[13]提出SDN控制器可以通过预先切换路由和流量模式管理AP及其行为方式,文献还证明了基于SDN的WLAN可以将切换时间从2.934秒减少到0.85秒。SDWN架构如图2所示。
图2 SDWN架构图
(1)AP
在SDWN架构中,AP的功能被简化为只对802.11和802.3数据帧进行转发,其余传统架构下的功能模块,如无线接入控制、QoS保障以及网络安全等都转移到SDN控制器中去实现[14]。文献[15]介绍了在SDN架构中实现802.11框架的FlowIdentity,它拥有OpenFlow协议的虚拟网络访问控制功能。
(2)OpenFlow交换机
OpenFlow交换机是重要的中心枢纽,它只负责对流表进行转发,不进行命令控制。
(3)SDN控制器
SDN控制器对OpenFlow交换机和AP进程统筹管理和控制,它利用内部的业务模块和北向API,以调用新的网络资源。由于工作在WLAN内,因此控制器需要对802.11帧进行控制管理。
AP通过OpenFlow交换机与SDN控制器通信。首先AP向OpenFlow交换机发送控制查询信息,交换机通过OpenFlow协议的Packet-In[16]消息将查询信息送给控制器。控制器通过功能模块解析消息,然后通过Packet-Out消息将配置内容送回给交换机。最后交换机将数据转发给AP,完成AP的基础配置。控制器为AP配置数据流表,AP根据流表中的MAC地址决定是转发还是丢弃。
SDWN将WLAN使用的数据帧与其它帧区分开来。企业级的WLAN在控制和转发分离的架构下,可以极大提高数据转发的能力,节约更多的网络资源,更灵活地规划全局的路由。
2.2 软件定义无线传感器网
传感器可以敏锐感应多种物理因素的变化,在区域内大范围部署它可以实时监测自然环境并采集相应的信息。在无线传感器网络(Wireless Sensor Networks,WSN)中,节点分为:传感器节点、聚合节点和管理节点。传感器节点分散在网络中,负责监测网络变化和路由组网,并将收集到的数据传输到汇聚节点;汇聚节点周期性将数据传给管理节点进行解析控制[17]。因此,WSN是一种异构网络且它的大部分工作是数据处理[18],但恶劣的环境和复杂的网络会影响无线信道传输,增加了网络管理的成本和难度[19],造成WSN不能完全发挥自身的优势。
软件定义无线传感器网(Soft Defined Wireless Sensor Networks,SDSN)使节点的控制平面和转发平面分离,转发平面使用流表进行转发,提高了异构网络的连通性。由于WSN的分布式特性,设计SDSN架构的关键是控制平面的部署方式。目前,控制器部署方法分为三类:单控制器、水平多控制器以及分层多控制器。
(1)单控制器
在单控制器部署模式中,节点分为控制节点和它们控制的多个传感器节点。文献[20]中Zeng等人结合云计算,研究出SDSN单控制器部署模式下的 “传感即服务”[21]的概念。在该模式中,控制器基于不同的感测任务执行动态解析控制。无线重编程技术[22]和Elon系统[23]可以对传感器节点的控制代码进行灵活地修改。单控制器可以动态重定义[24]传感器节点,节省部分节点的能源,相对延长整个网络的存活寿命。除此之外,文献[25]中Lynch提出使用单控制器模式可以减缓异构网络中跨层干扰和负载不平衡的问题。文献[26]中Jayashree和Princy认为SDSN使用单控制器部署模式时将管理节点的交换机定义为簇头可以节省传感器节点的能源。
(2)水平多控制器
水平多控制器部署模式是多个单控制器节点进行通信。文献[27]提出TinySDN架构中的控制节点可以不止一个,它们同时控制多个关联的传感器节点,并彼此保持互连,从而减少网络中的控制时延。文献[28]提出SDN-WISE架构采用有限状态机描述流表,架构源码公开,可同时支持仿真实验与实物实验。文献[29]提出SDIoT架构采用水平多控制器,可以轻松集成到基础设施(SDN,网络功能虚拟化(Network Function Virtualization,NFV),云,物联网)中,并且保留传感器的简单性和经济性。
(3)分层多控制器
分层多控制器是在水平多控制器的基础上,添加一个主控制节点控制多个水平控制节点。主控制器可以全局控制转发节点[30],根据不同的需求去控制不同的节点。文献[31]提出了支持分层结构的DiSC,一种用于在大型SDN中计算路径的分布式高性能控制平面。主控制器允许在次控制器之间分配不同计算路径的负载,从而减少传输开销。文献[32]中Hua等人使用层次化多控制器控制多个SDN,每个SDN由本地控制器管理,本地控制器又由根控制器管理。文献[33]提出了一个软件定义的关键任务无线传感器网络(Software Defined Mission-Critical Wireless Sensor Network,MC-SDWSN),该架构基于SDN架构的理念,结合了分层云和边缘计算技术。
无论是哪种控制器部署方式,SDSN都要比传统的WSN传输数据的速度更快,处理业务的效率更高,节约的网络资源更多。未来,新一代的SDSN是研究的重点,它将提高传统WSN应用领域的整体水平。
2.3 软件定义无人机网络
近年来,随着无人机(Unmanned Aerial Vehicle,UAV)、人工智能、自主系统、大数据等前沿技术的发展与应用,无人机网络(UAV network,UANET)在民用和军事领域火速成为热点[34]。多无人机系统可以比单个无人机系统更有效地完成任务。UANET具有移动自组织网络(Mobile Ad-hoc network,MANET)和车载自组织网络(Vehicular Ad-hoc network,VANET)[35]无法达到的高移动性、广泛分布性和扩展性,因此,UANET需要应对快速移动和动态拓扑、链路带来的网络不稳定以及能耗限制等问题。无人机在传统Ad Hoc网络下很难使用控制器监控全局网络的有效信息并计算出合理的路由[36]。
瑞典卡尔斯塔德大学的研究人员已经证明了将OpenFlow与无线网状网络集成在小规模KAUMesh测试平台上的可行性[37],为软件定义无人机网络奠定基础。文献[38]中软件定义无人机网络使用两种Ad Hoc路由协议(即AODV和OLSR)分别传输不同优先级的数据包,比较SDN与传统网络架构下的网络性能。仿真结果表明,SDN可将无人机网络的吞吐量提高300%以上,优先级较低的数据包的网络时延减少了近25%,数据包传输率增加了26倍。其主要原因是SDN控制器作为控制消息的中心来源,最大化分配无人机网络的吞吐量,均匀分配路由的流量。如果交换机中的流表已有到达目的节点的路由,就可以在空中直接转发数据,减少网络时延并有效使用网络资源[39]。
软件定义无人机网络可以分为三种模式:SDN集中控制、SDN分布式控制以及SDN混合控制[40]。
(1)SDN集中控制
在SDN集中控制模式中,地面控制器控制空中所有UAVs的OpenFlow交换机,控制消息通过无线传播送达到无人机上。转发平面不再使用IP路由器而使用OpenFlow交换机,控制消息可以通过特定端口以及报头重写进行过滤。
(2)SDN分布式控制
在SDN分布式控制模式中,控制平面和转发平面分布在所有UAV上,但通过OpenFlow协议分离。每个无人机控制其自身。全网信息由一台无人机传送回地面控制器上,地面控制器可以监测全局信息但不必进行集中管理。
(3)SDN混合控制
在SDN混合模式中,无人机上的控制器对路由流量进行重点控制,其余控制任务委托给地面控制器。混合模式是集中模式和分布模式的结合,更加合理地提高网络性能和通信质量,最大化地利用网络资源。
以上三种模式只能在合适的情况下使用才能获得最大的优势。无人机和SDN都是热门研究课题,二者的融合一定会在未来的军事战争、航天通信等特殊领域产生巨大影响[41]。
3 结 语
SDN是一种新兴概念,是未来无线组网的重要组成部分。针对不同的组网,SDN有不同的融合方式。在大型企业级别的无线中心网络中,SDN可以简化AP的功能,使AP只对特定的数据帧进行转发,不进行额外的控制。SDN控制器负责整体的控制,OpenFlow交换机负责在AP和控制器之间转发数据流表。在节点分散但仍有管理节点的网络中,SDN可以在管理节点中部署一个控制器控制多个节点,使管理集中、简单高效;部署多个水平控制器以减少网络延迟;部署多个分层控制器以减少传输开销。在节点完全分散、自由移动的网络中,SDN可以在地面站中,集中控制所有节点的交换机;SDN可以分布在所有节点中,节点自我控制;SDN还可以既在节点中也在地面站中,使节点重点控制路由流量,地面站控制其余任务。
尽管SDN能够提高传输速度,改进网络性能并提倡不断创新,但它仍处于起步阶段,许多问题仍未完全解决。针对基于SDN的组网融合技术的研究,下面根据当前SDN技术方面的不足,总结得出以下值得继续讨论和探究的方向。
(1)SDN与无人机网络的进一步融合
虽然已有文献表明可以实现SDN与无人机网络的融合,但仍有一些问题需要得到改进。譬如支持多节点的高移动性、灵活切换路由策略、处理不可靠的无线链路、网络节能以及减少干扰。设计基于SDN的无人机网络时可以考虑以下方面:
1)通过对节点合理排序,重新配置节点;
2)制定出基于数据报头或有效负载的协议规则;
3)规划合理的路径和信道;
4)支持设备在不使用时自动关机以及支持网络中数据的及时汇总记录。
如果不考虑这几类问题,不做出相应的改进,SDN的潜力将无法在无人机网络得到充分地施展,同时也会影响无人机网络的发展。
(2)SDN内模块的优化
当前SDN大部分工作都集中在部署控制器和交换机的方面,但控制器内部的功能模块因为SDN的可编程性也是可以进一步发展的。功能模块可以实现路由策略、QoS策略[42]、安全策略和容错策略等。针对不同网络的需求,SDN内部模块可以发展出多种应用功能。
本文总结了SDN的体系架构、工作原理以及与三大类组网进行融合的不同设计。SDN架构特有的转发和控制分离结构,有助于路由和信道的选择,减少干扰。SDN在与无线组网融合后,可以增加无线资源的利用率,并且可以提高网络数据的转发速度。SDN发展至今,应用的范围逐渐扩大,但与军事领域的合作还不够成熟。大力发展SDN组网融合的技术,与军事科技相结合,这是非常有战略意义的。