摘" 要: 在智能制造背景下,为了提高无线网络的灵活性和能量使用效率,提出基于软件定义网络(SDN)的工业无线网络能量高效路由算法(SDERA)。基于SDN数据平面和控制平面分离的思想,构建了新型的工业无线网络模型,控制器根据应用需求、节点的剩余能量和负载等因素,计算全局最优路由策略并分发给交换节点,交换节点按照控制器的决策在不同的逻辑子网中转发数据包。当节点和链路质量信息以及应用需求发生变化时,控制器可以动态地调整路由策略,提高能量使用效率和网络性能。仿真实验结果表明,该路由算法有效地延长了网络的生存时间,提高了网络的能量使用效率。
关键词: SDERA; 软件定义网络; 工业无线网络; 路由算法; 智能制造; 数据包转发
中图分类号: TN915.02⁃34; TP393" " " " " " " " "文献标识码: A" " " " " " " " " " 文章编号: 1004⁃373X(2019)21⁃0023⁃05
Abstract: In order to improve the flexibility and energy⁃efficiency of industrial wireless network in the context of intelligent manufacturing, the software defined energy⁃efficient routing algorithm (SDERA) for industrial wireless network is devised in this paper. On the basis of the idea of software defined networking (SDN) which makes data plane and control plane separated, a novel industrial wireless network architecture is built. The global optimal routing strategy is calculated by the controller and distributed to the switching nodes according to the application requirements, residual energy and load of the nodes. The switching nodes retransmit packets in different logical subnets according to the decision of the controller. When quality information of the nodes and links, and application requirements change, the controller can dynamically adjust routing strategies to improve energy application efficiency optimize network performance. The simulation results show that SDERA meets the requirements of industrial data transmission and can effectively prolong the life cycle of the network.
Keywords: SDERA; software defined networking; industrial wireless network; routing algorithm; intelligent manufacturing; data package forwarding
0" 引" 言
第四次工业革命的核心技术是智能制造[1],通过对机器状态和生产环境的监控,能有效地预测机器故障并优化生产过程。在智能制造背景下,工业无线网络的规模不断扩大、新型应用不断涌现,这就导致网络中的能耗激增。降低网络的能量消耗,提高网络的能量使用效率成为工业无线网络实用化发展的关键。此外,目前大多数联网的工业设备资源有限,一旦部署就要使用很长时间,难以根据工业应用需求动态调整网络资源和路由策略,网络的灵活性较差,因此现有的网络架构不再适用于智能制造环境,迫切需要新的体系结构和新的路由算法来支持工业无线网络的发展。
软件定义网络(Software Defined Network,SDN)是一种新型的网络体系结构,它分离了控制平面和数据平面,控制平面集中式的管理使得网络可以基于全网视图进行路由决策,并且提高了新功能部署和实施的灵活性;网络的可编程性使得控制平面与数据平面之间的双向通信成为可能[2⁃3],达到简化网络管理与调度的目的。因此,将SDN思想引入工业无线网络的架构设计中,由控制平面基于全网视图进行决策,可以降低工业现场联网设备的复杂度和硬件成本,有效提高网络的灵活性和能量使用效率。目前,国内外将二者结合的研究还在初期阶段,尚未有较为成熟的理论成果,因此对基于 SDN 思想的工业无线网络路由算法进行研究具有必要性和迫切性。
为此,本文基于SDN思想提出软件定义的工业无线网络能量高效路由算法(Software Defined Energy⁃efficient Routing Algorithm,SDERA),控制器根据全局的网络状态信息和应用需求动态地调整路由决策,均衡网络中节点的能量消耗,提高网络的能量使用效率和灵活性。
1" 相关工作
学术界开展了大量关于工业无线网络的研究。文献[4]分析了基于IEEE 802.11,IEEE 802.15.1和IEEE 802.15.4标准的工业无线网络的性能问题;文献[5]研究了WirelessHART标准中的汇聚传输问题,并提出了一种优化时延的传输调度策略;文献[6]提出一种基于ISA100.11a的工业认知无线传感器网络路由算法,有效地增加了网络吞吐量并降低端到端延迟;文献[7]从信道争用、传输冲突等角度分析了基于WirelessHART标准网络的端到端通信延迟,并且通过计算得出了延迟的时间范围。上述研究内容虽然从某一个方面或某一个指标满足了工业无线网络的通信需求,但很难根据全局的实时网络状态信息及时调整路由策略,难以满足智能制造背景下用户个性化定制产品等应用场景对工业无线网络的需求。
SDN是近年来国内外学术界和工业界的研究热点。文献[8]提出的OpenFlow是SDN最初的原型实现,它主要应用在大学校园和互联网的骨干网中,由OpenFlow交换机和控制器两部分组成。文献[9]分析了互联网域间路由的主要问题,提出了基于SDN的域间路由机制。文献[10]将流量分类技术应用于SDN中,网络能够区分不同的应用,并根据数据流在带宽和延时方面的需求智能优化网络资源的配置。此外,文献[11⁃12]分别把SDN应用到了移动接入网和无线传感器网络。总体来看,目前关于SDN的研究主要是面向数据中心网络和互联网的主干网领域,研究的内容主要集中在SDN的可扩展性、SDN的规模部署与跨域通信、传统网络与SDN共存等方面,基于SDN的思想设计工业无线网络路由算法目前仍十分罕见。
2" SDERA路由算法
2.1" 网络模型
用有向图[G=(V,E)]表示工业无线网络,其中,[V]表示网络中节点的集合,[E]表示网络中无线链路的集合,如图1所示。
网络中的节点包括控制器C、感知节点[fi]、交换节点[sj]和接入节点[ak]。控制器C位于监测区域的中心,拥有网络的全局状态视图和无限的能量供给,能够智能分配网络资源和优化路由选择;感知节点[fi]能够感知现场设备及环境信息,并将其发送给交换节点;交换节点[sj]能够感知工业现场设备的状态信息,还能依据控制器C下发的规则转发数据包;接入节点[ak]能够将[sj]发来的数据包进行数据融合,然后将其发送给云/雾计算中心。
网络中的链路包含控制器与交换节点间的链路、交换节点间的链路以及感知节点与交换节点间的链路等。由于无线链路具有不对称性,将交换节点[si]到[sj]的无线链路记为[eij∈E],反向链路记为[eji],将交换节点[si]到感知节点[fj]的无线链路记为[eij∈E],[RSSIij]表示无线链路[eij]的RSSI值。
2.2" 路由算法设计
SDERA路由算法由“网络状态信息收集”“路由计算”“路由规则下发”“数据传输”和“节点信息更新”五部分组成。控制器周期性地收集节点和链路状态信息,建立全局的网络拓扑结构,并分别为紧急数据包和普通数据包动态地计算转发路径,将其分配在不同的逻辑子网中传输,均衡网络中节点的能量消耗。当应用需求或者节点的状态信息发生变化时,控制器能够动态调整路由决策,从而提高能量使用效率。
2.2.1" 网络状态信息收集
控制器C向网络中所有的节点广播初始化消息HELLO⁃EO (hello⁃everyone) 数据包,交换节点[si]在收到HELLO⁃EO数据包后向控制器C发送BACK⁃HELLO数据包,同时[si]向周边节点广播Query数据包,获取邻近的感知节点[fj]和交换节点[sj]的信息。
感知节点[fj]接收到来自控制器C的HELLO⁃EO数据包后进入等待状态,当它收到交换节点[si]发送的Query数据包后,向[si]发送BACK_Query消息。如果[fj]接收到来自不同交换节点的多个Query数据包,则比较接收数据包的RSSI值,选择信号最强的交换节点[si]发送BACK_ Query消息。[si]收到[fj]的反馈信息后,将其加入到自己的管辖节点集合[Vic]中,即:
当[sj]接收到邻居交换节点[si]的Query数据包以后,向其发送Back_S_Query数据包,[si]收到反馈信息后,将[sj]加入邻居节点集合[Vin]中,即:
[si]将自己的管辖节点集合[Vic]、邻居节点集合[Vin]以及剩余能量和CPU负载等信息发送给控制器C。控制器C接收到所有交换节点的信息后,掌握了全局的网络状态信息。
2.2.2" 路由计算
控制器C完成网络状态信息收集后,掌握了网络中所有节点的状态信息,建立网络拓扑结构,接下来进行路由计算。根据工业数据传输需求,将网络中传输的数据包分为紧急数据包和普通数据包两种,控制器C将其分配在不同的虚拟子网中传输,以便最小化普通数据包对紧急数据包的影响。
针对紧急数据包,控制器以交换节点[si]与[sj]间的一跳传输延时[di,j]为度量,采用Dijkstra算法计算每一个交换节点[si]到任意接入节点[ak]的最短路径:
[pi,k=arg minpi,j∈pdi,j] (3)
如果一个交换节点[si]存在到达不同接入节点(如[ak,ak+1,…])的多条路径[p(i,k),p(i,k+1)],[…],满足数据传输的时延需求,则根据式(4)选取中继节点剩余能量较多,且到达队列占用率较低的接入节点的路径[p(i,l)]为转发路径,从而均衡网络负载和能量消耗。
式中:[α∈(0,1)]是一个常数,表示接入节点[ak]的队列占用率所占权重;[Lak]为接入节点[ak]的队列占用率,其值为百分数;[j=1Ekj]为路径[p(i,k)]上所有节点的剩余能量的和;[Ekall]为路径上全部节点的初始能量的和。
针对普通数据包,控制器C根据式(5)计算交换节点的负载因子:
式中:[Ei]为节点[si]的剩余能量;[Eaver]为网络中所有交换节点剩余能量的平均值;[Lsk]表示[si]的队列占用率,其值为百分数。控制器C以节点的负载因子为度量,采用Dijkstra算法计算交换节点[si]到处理器负载最轻的接入节点[ak]的最短路径:
由此将普通数据包分配在剩余能量高、负载较轻的交换节点中传输,均衡网络的能量消耗。
路由计算过程伪码描述如下:
2.2.3" 路由规则下发
控制器完成路由计算以后,为每个交换节点中的紧急数据包和普通数据包分别计算了到达最优接入节点的路径,接下来要将路由规则分发给交换节点,由交换节点按照路由规则转发数据包。路由规则报文中包含了紧急数据包和普通数据包到达目的节点的下一跳节点地址等内容,路由规则报文格式如表1所示。
2.2.4" 数据传输
当感知节点有数据要发送时,先将数据包发给管辖自己的交换节点,交换节点为接收到的数据包匹配报文类型,然后根据控制器下发的路由规则找到下一跳节点地址,将数据包发往下一跳交换节点。
们到达接入节点以后,接入节点要统计数据包的跳数、转发节点、发送时间和接收时间等信息,并将统计信息以及自己的处理器负载信息发送给控制器。控制器根据接收到的统计信息估算网络中交换节点的剩余能量。
2.2.5" 节点信息更新
网络运行一段时间以后,网络中节点和链路状态会发生变化,此外节点的新增和失效都会导致网络拓扑结构的改变,因此交换节点要周期地发送Query数据包来更新邻居节点和管辖节点信息。交换节点要将新的邻居节点列表、管辖节点列表以及自身状态信息(剩余能量和队列占用率等)发送给控制器,控制器将新收到的每一个交换节点的剩余能量信息和估算的剩余能量进行比较,当它们的差值大于[γ]时,控制器则根据更新的全网信息重新计算转发路径并下发新的路由规则,从而及时优化网络的能量消耗。
3" 仿真实验
本文采用OMNET++仿真平台对SDERA算法的性能进行仿真实验,并与图路由算法进行比较,主要从3个方面评估SDERA算法的性能:端到端的平均传输延时;网络的扩展性;网络的有效生存周期。实验参数设置如表2所示。
在平均传输延时比较实验中,设定紧急数据包(HR⁃ SDERA)的延时约束[THR=0.1]s;普通数据包(LR⁃ SDERA)的延时约束[TLR=]1 s。从实验结果可以看出,在SDERA算法中,随着网络中数据流数量的增加,紧急数据包的传输延时在端到端的时延约束下平缓上升,当数据流的数量达到22个时,时延约束仍小于0.1 s,始终低于图路由算法的延时;普通数据包在剩余能量高、负载较低的链路中传输,其端到端延时曲线会根据网络状态变化出现轻微波动,其延时略高于图路由算法,如图2所示。
本文通过增加节点密度产生的控制包数量来反映网络的可扩展性。在SDERA算法中,感知节点要将在工业现场采集的信息发送给交换节点,由交换节点转发信息,无需维护路由消息,虽然控制器和交换节点间的通信会增加额外的数据包,但数据量不大,总体来讲感知节点的增加并没有大幅度增加网络中控制包的数量;在图路由中,所有节点都要参与数据包的转发,新增节点带来了较大的网络开销。因此,SDERA算法较图路由算法具有较好的网络扩展性,当网络中节点达到400个时,SDERA算法在网络扩展性方面的优势更加明显,如图3所示。
此外,SDERA算法能够根据节点的剩余能量动态调整路由策略,并且根据数据的类型匹配相应的策略,从而均衡网络中节点的能量消耗。SDERA算法针对紧急数据包,在满足时延需求的路径中选取中继节点剩余能量多,到达队列占用率低的接入节点的路径为转发路径;针对普通数据包,根据节点的剩余能量和负载因子,选取剩余能量高、负载较轻的节点为下一跳节点,当仿真时间达到2 000 min时,网络中的节点仍能够较好的存活。与图路由算法相比,SDERA算法有效延长了网络的生存周期,如图4所示。
4" 结" 语
本文基于SDN的思想设计了能量高效的工业无线网络路由算法SDERA。控制器拥有全局的网络视图,根据工业数据传输需求将数据包分配在不同的逻辑子网中传输,达到提高网络能量使用效率的目的;当网络中节点和链路状态发生变化时,控制器能及时调整路由策略,在满足工业数据传输需求的同时,提高了网络的灵活性和能量使用效率。仿真实验表明,该路由算法在提高网络能量使用效率方面表现出较好的性能。
参考文献
[1] 周济.智能制造:“中国制造2025”的主攻方向[J].中国机械工程,2015,26(17):2273⁃2284.
ZHOU Ji. Intelligent manufacturing—main direction of “Made in China 2025”[J]. China mechanical engineering, 2015, 26(17): 2273⁃2284.
[2] LI D, ZHOU M T, ZENG P, et al. Green and reliable software⁃defined industrial networks [J]. IEEE communications magazine, 2016, 54(10): 30⁃37.
[3] KIM H, FEAMSTER N. Improving network management with software defined networking [J]. IEEE communications magazine, 2013, 51(2): 114⁃119.
[4] STEFANO V, FEDERICO T, LUCIA S. Industrial wireless networks: the significance of timeliness in communication systems [J]. IEEE industrial electronics magazine, 2013, 7(2): 40⁃51.
[5] ZHANG H B, PABLO S, MIKAEL J. Performance bounds and latency⁃optimal scheduling for converge cast in Wireless HART Networks [J]. IEEE transactions on wireless communications, 2013, 12(6): 2688⁃2696.
[6] PHAM T A Q, DONG S K. Throughput⁃aware routing for industrial sensor networks: application to ISA100.11a [J]. IEEE transactions on industrial informatics, 2014, 10(1): 351⁃363.
[7] ABUSAYEED S, YOU X, LU C Y, et al. End⁃to⁃end communication delay analysis in industrial wireless networks [J]. IEEE transactions on computers, 2015, 64(5): 1361⁃1374.
[8] MCKEOWN N, ANDERSON T, BALAKRISHNAN H, et al. OpenFlow: enabling innovation in campus networks [J]. ACM SIGCOMM computer communication review, 2008, 38(2): 69⁃74.
[9] BENNESBY R, MOTA E, FONSECA P, et al. Innovating on interdomain routing with an inter⁃SDN component [C] // 2014 IEEE 28th International Conference on Advanced Information Networking and Applications (AINA). [S. l.]: IEEE Computer Society, 2014: 131⁃138.
[10] CUI H, ZHU Y, YAO Y, et al. Design of intelligent capabilities in SDN [C]// International Conference on Wireless Communications, Vehicular Technology, Information Theory and Aerospace amp; Electronic Systems. [S. l.]: IEEE, 2014: 1⁃5.
[11] GUDIPATI A, PERRY D, LI E L, et al. SoftRAN: software defined radio access network [C]// ACM SIGCOMM Workshop on Hot Topics in Software Defined Networking. [S. l.]: ACM, 2013: 25⁃30.
[12] GALLUCCIO L, MILARDO S, MORABITO G, et al. SDN⁃WISE: design, prototyping and experimentation of a stateful SDN solution for wireless sensor networks [C]// 2015 IEEE Conference on Computer Communications (INFOCOM). [S. l.]: IEEE, 2015: 513⁃521.