莊旭菲 高睿鵬 劉志強



摘 ? 要:針對軟件定義的無線傳感器網絡的節能問題,文章提出一種將元胞自動機用于分布式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]?;贑A的流表結構如表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