基于元胞自动机的分布式软件定义无线传感器网络路由节能技术研究

2019-12-13 07:18庄旭菲高睿鹏刘志强
无线互联科技 2019年19期
关键词:软件定义网络无线传感器网络节能

庄旭菲 高睿鹏 刘志强

摘   要:针对软件定义的无线传感器网络的节能问题,文章提出一种将元胞自动机用于分布式SD-WSN路由设计的节能机制。该机制在分布式控制器中设置CA处理模块,节点自组织形成以分布式控制器为中心的二维元胞自动机区域。控制器采用节点的智能邻居列表计算节点的CA状态,节点根据控制器发布的CA指令匹配自身流表,切换工作状态进行休眠/唤醒以实现节能。仿真实验结果验证了该机制能降低网络能耗,延长网络生存周期。

关键词:无线传感器网络;软件定义网络;元胞自动机;节能

无线传感器网络(Wireless Sensor Network,WSN)节点能量有限,如何节约节点的能量消耗、延长WSN的网络生存周期是WSN研究的热点之一。软件定义的无线传感器网络(Software-Defined Wireless Sensor Network,SD-WSN)是将软件定义网络(Software-Defined Network,SDN)应用到WSN中形成的一种新兴网络[1],SD-WSN将数据转发与路由控制分离,由控制器控制全局网络路由,传感器节点不再承担路由计算任务,可以节约一些能量。

近年来,研究未能将元胞自动机技术应用于SD-WSN中,缺少将元胞自动机与SD-WSN网络协议相融合的实例。由于SD-WSN在单一的全局控制器中设置元胞自动机(Cellular Automata,CA)处理模块会增加网络通信开销,所以需要对SD-WSN中的元胞自动机处理机制及路由协议做进一步的研究。

1    WSN的元胞自动机模拟

一个基本的二维元胞自动机是一个规则的元胞网格,每个元胞都有有限的状态数,根据一个局部的、相同的交互规则更新,下一时间的元胞状态由其自身的当前状态和周围元胞的当前状态决定[2]。

2    基于多分区元胞自动机的SD-WSN路由设计

2.1  CA区域构建

本文将多个分区控制器应用到SD-WSN中,形成基于多分区元胞自动机的分布式SD-WSN。系统拓扑如图1所示,在数据平面根据节点的传感器特性(如采集温度)将节点划分为多个CA区域,每个元胞自动机区域由一个处于控制平面的分区控制器管理,负责本区域内的路由计算及CA处理。分区控制器上层是全局控制器,负责整个网络,具有全局网络视图,拥有控制器的SDN功能。

WSN启动后,CA区域内的节点周期性通过拓扑发现(Topology Discovery,TD)层向本分区控制器发送TD数据包,分区控制器在接收到TD数据包后生成智能邻居列表,此列表包含相邻节点的地址、RSSI及其节点能量。分区控制器在拓扑管理(Topology Management,TM)层构建网络的本地拓扑视图,然后再进行路由计算。本文需将CA处理模块设置在分区控制器中,分区控制器根据智能邻居列表生成节点CA信息,包括节点和邻居节点ID、剩余能量及当前CA状态,之后通过CA状态转移规则计算节点下一时刻CA状态,将节点CA休眠/唤醒指令下发到CA区域内的节点中,节点通过分区控制器指定的CA状态进行休眠或唤醒。

2.2  基于CA的流表设计

CA区域内的节点是通过分区控制器下发的CA状态动作指令和流表匹配进行休眠与唤醒操作的。本文对原有SD-WSN报文类型进行了扩展,报文类型“0x0c”表示此报文是CA状态动作指令。

SD-WSN的流表包括3部分:匹配规则、动作和统计[3]。基于CA的流表结构如表1所示,当节点接收到报文后,会和节点内的流表匹配,如果报文类型为“0x0c”,目的节点ID为自身ID,则查看报文的内容是否为0(节点休眠指令)或1(节点工作指令),按照报文内容修改当前的节点状态为0(休眠)或1(工作)。

3    仿真实验

采用Contiki Cooja平台进行仿真实验,实验中考虑了两种类型的网络:(1)未加入CA的SD-WSN。(2)采用CA处理机制的SD-WSN,按照上文在分区控制器中加入了CA处理模块,设计了能够识别CA指令的流表。仿真实验的网络规模分别为25个、49个节点。

图2为网络能量消耗,节点从第50 s开始启动,发送/接收数据,从中可以看出,随着时间推移,网络整体能量消耗越来越大,采用CA处理机制的网络比未加CA处理机制的网络能量消耗减少5%~15%。

图3是节点生存时间,随着节点能量消耗、节点的数量减少。采用CA处理机制的网络节点由于进行了休眠,能量消耗较少,比未加入CA处理机制的网络节点生存时间更长。

4    结语

本文以二维元胞自动机为模型建立了以分布式控制器为核心的元胞自动机节点区域,设计了SD-WSN的休眠/唤醒路由算法及流表结构。分区控制器的CA处理模块根据节点的当前状态及剩余能量,按照转换规则计算節点下一时刻的状态,下发CA指令到节点中,节点通过流表匹配规则来进行自身的休眠/唤醒。仿真实验表明,CA处理机制减少了网络的整体能耗,延长了SD-WSN的生存时间。本文的仿真实验未能考虑不规则的元胞自动机拓扑结构,下一步还需在SD-WSN的连通度和覆盖率上进行进一步的研究。

[参考文献]

[1]杜永文,王章闵,胡晓辉,等.软件定义无线传感器网络研究综述[J].计算机工程与应用,2019(1):7-14,69.

[2]WOLFRAM S,MALLINCKRODT,JOHN A.Cellular automata and complexity[J].Computers in Physics,1995(1):55.

[3]GALLUCCIO L,MILARDO S,MORABITO G,et al.SDN-WISE:design,prototyping and experimentation of a stateful SDN solution for WIreless SEnsor networks[J].Computer Communications,2015(5):44-45.

Abstract:To solve the energy-saving problem of software-defined wireless sensor networks , an energy-saving mechanism using cellular automata for distributed SD-WSN routing design is proposed in this paper. The CA processing module is set up in the distributed controller, and the nodes self-organize to form a two-dimensional cellular automata region centered on the distributed controller. The controller calculates the CA state of the node by using the intelligent neighbor list of the node. The node matches its own flow table according to the CA instruction issued by the controller, and switches the working state to sleep/wake up in order to save energy. The simulation results show that the mechanism can reduce the network energy consumption and prolong the network lifetime.

Key words:wireless sensor network; software definition network; cellular automata; energy saving

猜你喜欢
软件定义网络无线传感器网络节能
业务功能链技术及其应用探析
针对大规模软件定义网络的子域划分及控制器部署方法
一种新的SDN架构下端到端网络主动测量机制
无线传感器网络技术综述