董發志 熊成彪 丁洪偉 張穎婕 楊俊東



摘 ?要: 針對當前MAC協議的研究大多停留在軟件仿真階段的問題,設計一種適用于兩層無線傳感器網絡的混合型MAC協議,并利用節點實現硬件仿真。簇內采用門限服務方式,各節點接到喚醒通知后,依據簇頭發布的輪詢列表,按照順序發送數據,實現無沖突通信。簇間采用隨機多址接入,各簇頭隨機爭用信道,向匯聚節點發送數據。基于Z?Stack進行協議設計,最后利用CC2530節點搭建無線傳感器網絡,實現該協議。實驗結果表明,使用該協議的系統能夠正確運行,吞吐量和平均時延、平均排隊隊長的實驗值與理論值一致。
關鍵詞: 無線傳感器網絡; MAC協議設計; 隨機多址接入; 門限服務; 輪詢服務; 硬件仿真
中圖分類號: TN915.04?34; TP393 ? ? ? ? ? ? ? ? ?文獻標識碼: A ? ? ? ? ? ? ? ? ? 文章編號: 1004?373X(2020)01?0001?04
Implementation of hybrid clustering MAC protocol in wireless sensor networks
DONG Fazhi, XIONG Chengbiao, DING Hongwei, ZHANG Yingjie, YANG Jundong
Abstract: In order to solve the problem that the MAC protocol research still mostly remains in the stage of software simulation, a hybrid MAC protocol suitable for two?layer wireless sensor networks was designed, and hardware simulation was realized by means of nodes. The threshold service mode is adopted within the cluster. After receiving the wake?up notification, each node sends data in sequence according to the polling list issued by the cluster head in order to realize collision?free communication. Random multiple accesses are adopted among clusters, and each cluster head randomly contends for a channel to send data to the sink node. The protocol is designed based on Z?Stack, and the wireless sensor network is built by CC2530 node to realize the protocol finally. The experimental results show that the system using this protocol can operate correctly, and the experimental values of throughput, average delay and average queue length are in line with the theoretical values.
Keywords: WSN; MAC protocol design; random multi?access; threshold service; polling service; hardware simulation
0 ?引 ?言
隨著無線傳感器網絡(WSN)被廣泛應用于工業、農業、國防、生活等各個領域,適用于各類場景的MAC協議的應用研究成為熱點。MAC協議的設計首先考慮如何有效地利用能量來延長節點的壽命[1]。許多研究者提出了很多適用于不同無線傳感器網絡應用的MAC協議?;诟偁幍腗AC協議有S?MAC[2],T?MAC[3],B?MAC[4]等?;谡{度的MAC協議時分多址接入(TDMA),周期性地給每一個節點分配一個時隙用于數據的接收和發送,其他節點可以在此時進入休眠,從而節省了能量。Z?MAC[5]協議是一種TDMA和載波檢測多路接入(CSMA)結合的混合協議,按照優先級訪問時槽。它給兩跳鄰居內的每個節點預先分配一個不同的時槽,并根據不同爭用條件按不同的傳輸控制策略控制節點對時槽的訪問[6]。該領域的學者還進行了許多的協議優化研究,但多數都是利用仿真軟件進行驗證,較少實際應用于無線傳感器網絡中。本文針對層次型網絡結構提出一種混合型的MAC協議,簇內采用輪詢控制,簇間采用隨機多址接入,簇頭隨機爭用信道向匯聚節點發送數據,并在CC2530節點搭建的無線傳感器網中實現了該協議。
1 ?網絡拓撲結構
本文提出的混合型MAC協議適用于分簇層次機構的無線傳感器網絡,如圖1所示。每個節點之下均包含相同的節點個數,本文模型為五個簇。匯聚節點是整個網絡的發起者和維護者,負責接收和處理簇頭消息。簇頭具有路由和數據融合的功能,對其子節點進行輪詢服務,接收其發送的數據,并轉發至匯聚節點。普通節點負責數據的采集,在簇頭的控制下,在睡眠、發送等工作狀態下交替。
2 ?混合型MAC協議的實現
本文所述的協議結合了隨機多址和輪詢機制,簇內利用門限服務機制,由簇頭發送輪詢列表和喚醒通知,節點接到通知后,使用門限服務方式向簇頭發送數據。簇間采用隨機多址,各簇頭隨機搶占信道,向匯聚節點發送數據。
2.1 ?隨機多址
隨機多址接入協議系統如圖2所示。系統每個節點在每個時隙開始時隨機向匯聚節點發送數據包,節點存在發送和不發送兩種狀態,若兩個節點在同一個時隙內同時發送數據包,則這兩個數據包就會發生碰撞,匯聚節點將不能接收到信息。當這個時隙中只有一個節點發送數據,匯聚節點才能正確接收到數據包。若當前時隙沒有任何一個節點發送數據包,則該時隙空閑。
時隙式隨機多址的吞吐量理論表達式可以表示為:
[S=Ge-G] (1)
對等式兩邊同時求導數,得:
[S=e-G-Ge-G=(1-G)e-G] (2)
平均時延為:
[T=1S] (3)
式中:[S]表示吞吐量;[G]表示信息分組的到達率。當[G=1]時,得到吞吐量的最大值為[1e],即0.368。
終端節點數為5和20的吞吐量如圖3所示。
從圖3中可以看出,隨機多址接入協議的理論最大吞吐量為0.368,終端節點數為5時,仿真吞吐量曲線和理論曲線有一定誤差,造成誤差的原因是節點數較少。終端節點數為20時,二項分布基本符合泊松分布,仿真值和理論值一致。
2.2 ?輪詢服務
輪詢系統按照其服務方式的不同,可以分為完全服務、門限服務、限定服務[6?8]三種。完全服務的過程是:服務器不僅要將當前站點中存在的信息分組服務完,在服務過程中進入站點的信息分組也要服務完,直到當前站點中不存在信息分組。門限服務只服務當前站點中所存在的信息分組,對于服務過程中到達的信息分組,則緩存在站點中,等待下一次的服務。限定服務一般指限定([K=1])服務,即每一次輪詢到的站點只發送一個信息分組。
對于分簇網絡,將門限服務方式運用于普通節點和簇頭的通信。輪詢系統采用馬爾科夫鏈和概率母函數的方法構建數學模型[9],以此來分析其性能。門限服務的平均時延如下[10]:
[E(WG)=12γ-1+11-NλβN-1+γ+λβρ+]
[ ? ? ? ? ? ? ? ? ?Nλβ[2γ+(β-1)]+λβ1-N+1] (4)
平均排隊隊長為:
[gii=Nγλ1-Nλβ] (5)
式中:[N]為終端節點數目;[λ]表示信息分組的到達率;[β] 表示服務信息分組的服務率;[γ]表示兩個站點之間的轉換時間。
3 ?實驗的實施
3.1 ?傳感器節點的選擇
本文傳感器節點選擇德州儀器制造的CC2530,其芯片為TI公司的CC2530。CC2530基于51內核,是一個兼容IEEE 802.15.4的真正的片上系統。相比于CC2430,其閃存達到256 KB,可以滿足大應用的需求,擁有強大的地址識別和數據包處理能力。CC2530提供了101 dB的鏈路質量,接收靈敏度高,抗干擾性強,完全能夠滿足本實驗的需求。
3.2 ?簇結構的劃分
分簇算法是無線傳感器網中實施分層控制的重要方法。分簇算法主要對網絡中的節點進行層次的劃分,若干相鄰的節點組成一個簇,每個簇有一個簇頭,各個簇頭構成了上層的骨干網,所有的簇間通信都通過骨干網轉發[11]。本實驗的層次結構通過修改協議棧實現,Z?Stack協議棧支持多種網絡拓撲結構,典型的分為三種類型:星型、樹型、網狀型[12]。為了實現本實驗的網絡拓撲結構,采用樹型結構。通過修改協議棧的最大路由深度和各層最多能夠連接的子節點數,即可形成比較穩定、均勻的兩層結構。
3.3 ?軟件設計
基于Z?Stack進行軟件設計。分別對終端節點、路由器和協調器進行程序設計,實現流程如圖5所示。按下匯聚節點的按鍵后,整個系統開始工作,普通節點初始化完成,等待簇頭的命令幀,同時以一定的到達率產生數據,將數據放入信息緩沖區中。簇頭發布輪詢列表按列表發送喚醒通知,向某個節點發送喚醒通知后,產生一個合適的等待時間。在等待時間內未收到該節點的數據,則觸發跳轉程序,按照列表順序繼續發送通知。收到數據則隨機將其轉發到匯聚節點。普通節點偵聽到發送命令后將緩沖區中的信息分組復制到待發送緩沖區,并發送出去,直到發送緩沖區中沒有數據。5個簇頭用A,B,C,D,E編號。門限服務中參數的設計為[β=1],[γ=1]。
4 ?性能分析
本文實驗分析的方法是利用python程序觀察簇頭和匯聚節點串口的輸出,可以看到匯聚節點的輸出為:[A→B→C→D→E],如此反復。同時將數據分別讀取,存儲為兩個文本文件。在進行相應的處理之后,可以得到相關數據。主要評估的參數是簇頭及其子節點組成的輪詢系統的平均時延、平均排隊隊長,以及整個系統的吞吐量。
輪詢系統的平均時延的實驗值計算如下[10]:
[輪詢平均時延實驗值= ? ? ? ? 服務完所有節點中信息分組所需的時間各節點信息分組的總數]
輪詢的平均排隊隊長的實驗值由下式計算:
[平均排隊隊長實驗值=各節點信息分組的總數節點數×循環次數]
系統吞吐量的實驗值可以由下式計算:
[吞吐量實驗值=匯聚節點成功接收的信息分組數發送的信息分組的總數]
實驗中選取各個到達率的前1 000個信息分組來計算相關指標,計算輪詢的時延需要知道簇頭節點服務完1 000個信息分組所需的時間長度。這個時間利用串口的時間戳來記錄。計算平均排隊隊長所需參數,各節點信息的總數為1 000,節點數為5,循環次數則需要利用程序記錄下服務完1 000個信息分組所需的循環次數。通過理論公式計算的理論值和實測實驗值對比如表1所示。
從表1中可以看出,實驗值與理論值存在一定誤差,但是都在理論值附近波動。要降低誤差可以通過增加節點數和信息分組的數量來實現,但是所需的實驗數據的收集需要花費更長的時間。
系統的實際吞吐量如圖6所示。從圖6中可以看出,當到達率為1時,系統的吞吐量達到最大。與理論值相比,存在誤差,考慮到實際傳輸過程中的干擾和其他硬件原因,這個誤差是可以接受的。
5 ?結 ?語
針對目前對于無線傳感器網絡MAC協議的研究大多停留在軟件仿真階段,本文選取隨機多址接入,并結合門限服務機制設計一種混合型的MAC協議,將其應用于真實的傳感器網絡中。簇內的輪詢通信方式將多跳通信轉化為單跳,避免了碰撞產生的能量損耗。所搭建的無線傳感器網絡能夠正確實現協議,并且平均時延、平均排隊隊長、吞吐量與理論值一致,邁出了MAC協議硬件仿真的重要一步,為今后更加復雜的協議的硬件實現奠定了基礎。
參考文獻
[1] 王翠霞.無線傳感器網絡能耗自適應機制研究[D].北京:北京工業大學,2014.
[2] PORTILLO C, MARTINEZ?BAUSET J, PLA V. Modelling of S?MAC for heterogeneous WSN [C]// IFIP International Conference on New Technologies, Mobility and Security. [S.l.]: IEEE, 2018: 1?6.
[3] ZHANG D, CHEN L, XUE F, et al. T?MAC: protecting mandatory access control system integrity from malicious execution environment on ARM?based mobile devices [C]// International Conference on Information Security. [S.l.]: Springer International Publishing AG, 2017: 348?365.
[4] KAMAL A, WARIP M N M, OMAR N, et al. Power consumption optimization based on B?MAC protocol for multi?scenario WSN by Taguchi method [C]// Recent Trends in Information and Communication Technology. [S.l.]: Springer International Publishing AG, 2017: 210?217.
[5] IWATA T, MINEMATSU K, PEYRIN T, et al. ZMAC: a fast tweakable block cipher mode for highly secure message authentication [C]// Advances in Cryptology?CRYPTO 2017. [S.l.]: International Association for Cryptologic Research, 2017: 34?65.
[6] 金喜龍,章國安,葉翔,等.認知車載網中基于TDMA/CSMA的混合多信道MAC協議研究[J].計算機應用研究,2018,35(3):874?878.
[7] 楊志軍,丁洪偉,陳傳龍.完全服務和門限服務兩級輪詢系統[E(x)]特性分析[J].電子學報,2014,42(4):774?778.
[8] YANG Z J, DING H W. Characteristics of a two?class polling system model [J]. Tsinghua science and technology, 2014, 19(5): 516?520.
[9] 蘇楊,丁陽洋.非對稱門限服務與完全服務的性能解析[J].計算機系統應用,2018,27(4):145?150.
[10] 蘇楊,楊志軍,丁陽洋,等.無線傳感器網絡中輪詢系統控制的實現[J].電子測量技術,2018,41(4):66?70.
[11] 馮咲,張慧檔.無線傳感器網絡分簇路由中基于自適應的簇頭輪換算法[J].傳感技術學報,2018,31(6):949?956.
[12] 董道領,張峰.基于區域優先的樹型ZigBee網絡的性能分析[J].信息技術,2017(9):130?133.
作者簡介:董發志(1993—),男,云南楚雄人,碩士研究生,主要研究方向為無線傳感器網絡、隨機多址通信系統。
熊成彪(1995—),男,云南楚雄人,碩士研究生,主要研究方向為無線傳感器網絡、物聯網。
丁洪偉(1964—),男,江西于都人,博士,教授,博士生導師,主要研究方向為輪詢多址系統、隨機多址系統。