臧景才
(青海廣播電視大學(xué)繼續(xù)教育學(xué)院,青海 西寧 810000)
基于無線傳感網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)[1-2]的工業(yè)物聯(lián)網(wǎng)(Internet of Things,IoT)已成為工業(yè)自動化、工業(yè)監(jiān)測和控制應(yīng)用[3-4]的關(guān)鍵技術(shù)。而能效、數(shù)據(jù)包傳遞率是這些應(yīng)用的關(guān)鍵[5]。由于IoT設(shè)備的電池所存儲的能量是固定的,一旦設(shè)備能量消耗殆盡,節(jié)點(diǎn)就無法繼續(xù)工作。因此,提高設(shè)備能量利用率成為基于WSNs工業(yè)應(yīng)用的關(guān)鍵。
WSNs采用由應(yīng)用層、傳輸層、網(wǎng)絡(luò)層、數(shù)據(jù)鏈路層和物理層組成的五層協(xié)議體系結(jié)構(gòu)。應(yīng)用層是面向用戶終端;傳輸層對流量和差錯進(jìn)行控制,其旨在提高數(shù)據(jù)傳輸?shù)目煽啃裕痪W(wǎng)絡(luò)層對鏈路狀態(tài)進(jìn)行管理,包括構(gòu)建鏈路,維護(hù)鏈路;數(shù)據(jù)鏈路層實(shí)現(xiàn)數(shù)據(jù)塊的傳輸,其數(shù)據(jù)單位為數(shù)據(jù)包(數(shù)據(jù)塊);物理層實(shí)現(xiàn)比特流在物理介質(zhì)上的傳輸。其中數(shù)據(jù)鏈路層又可分為邏輯控制層和接入控制層(Medium Access Control,MAC)。邏輯控制層為節(jié)點(diǎn)構(gòu)建鏈路,而MAC旨在協(xié)調(diào)多節(jié)點(diǎn)間共享資源,在最小化競爭概率前提下提高信道利用率。因此,有效地設(shè)計(jì)MAC協(xié)議可緩解節(jié)點(diǎn)間對信道的競爭,提高能量的利用率。
從信道的使用角度考慮,現(xiàn)有的MAC協(xié)議可劃分為基于競爭類的MAC、基于調(diào)度類的MAC以及混合類的MAC。多載波監(jiān)聽接入/無碰撞(Carrier-Sense Multiple Access with Collision Avoidance,CSMA/CA)技術(shù)屬于基于競爭類協(xié)議。作為最廣泛的一類協(xié)議,CSMA/CA中的每個用戶通過硬件裝置偵聽信道狀態(tài),只有當(dāng)信道在空閑狀態(tài)時,節(jié)點(diǎn)才能發(fā)送數(shù)據(jù)包。通過偵聽信道,CSMA/CA協(xié)議提高了信道利用率,降低了傳輸數(shù)據(jù)包時發(fā)生碰撞的概率。在CSMA/CA協(xié)議中,僅活動節(jié)點(diǎn)參與競爭,而其他非活動節(jié)點(diǎn)不參與接入競爭[6]。盡管CSMA/CA協(xié)議提高了資源的利用率,但是增加了數(shù)據(jù)包傳輸時延。此外,CSMA/CA協(xié)議也不能完全消除競爭沖突。有學(xué)者針對碰撞檢測的CSMA/CA協(xié)議進(jìn)行了性能分析[7],并提出了提升吞吐量的改進(jìn)策略。相比于基于競爭類的MAC,基于調(diào)度類的MAC可以使節(jié)點(diǎn)有序地使用信道資源?;跁r分多址(Time-division Multiple Access,TDMA)的MAC[8-9]廣泛應(yīng)用于工業(yè)領(lǐng)域。文獻(xiàn)[10]提出了基于網(wǎng)絡(luò)編碼的TDMA移動自組網(wǎng)的MAC協(xié)議設(shè)計(jì);文獻(xiàn)[11]將博弈論應(yīng)用于TDMA-MAC協(xié)議,通過博弈論使各節(jié)點(diǎn)有序地作用信道資源;文獻(xiàn)[12]采用自適應(yīng)幀結(jié)構(gòu)的MAC協(xié)議,將控制信道分為廣播周期和協(xié)調(diào)周期,不同節(jié)點(diǎn)通過協(xié)調(diào)周期協(xié)商信道資源的使用;文獻(xiàn)[13]引用共享概念,允許符合條件的車輛共享同一時隙,提高時隙利用率?;赥DMA-MAC協(xié)議是從信道資源利用角度設(shè)計(jì)MAC協(xié)議,并沒有考慮到節(jié)點(diǎn)能量消耗問題。為此,本文將競爭類MAC和TDMA-MAC協(xié)議相結(jié)合,提出一種面向喚醒無線電WSNs的接入控制協(xié)議,對喚醒無線電(Wake-up Radio,WuR)的無線傳感網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)中的接入控制協(xié)議的能量消耗及時延問題進(jìn)行研究。
在基于WuR的WSNs中,節(jié)點(diǎn)具有兩類無線電模式:主無線電(Main Radio,MR)和喚醒無線電WuR。MR主要負(fù)責(zé)數(shù)據(jù)傳輸,WuR用于喚醒MR。MR在多數(shù)時間內(nèi)處于休眠狀態(tài),只有收到喚醒呼叫(Wake-up Calls,WuC)時,才進(jìn)入活動狀態(tài)。通常,既可用發(fā)射節(jié)點(diǎn)傳輸WuC消息,也可由接收節(jié)點(diǎn)傳輸WuC消息。前者稱為發(fā)射器初始化(Transmitter-Initiated,TI),后者稱為接收器初始化(Receiver-Initiated,RI)。對于IR-WuR,由接收器向發(fā)送節(jié)點(diǎn)傳輸WuC消息,進(jìn)而激活發(fā)送節(jié)點(diǎn)的MRs。
傳統(tǒng)的IR-WuR協(xié)議中,接收節(jié)點(diǎn)負(fù)責(zé)啟動數(shù)據(jù)傳輸階段。當(dāng)接收節(jié)點(diǎn)準(zhǔn)備收集數(shù)據(jù)時,它就通過MR向鄰居節(jié)點(diǎn)傳輸WuC消息,一旦收到WuC消息,節(jié)點(diǎn)采用退避機(jī)制進(jìn)行信道競爭,只有競爭成功的節(jié)點(diǎn)才可以傳輸數(shù)據(jù)包。完成數(shù)據(jù)包傳輸后,再由接收節(jié)點(diǎn)廣播beacon消息啟動新一輪的數(shù)據(jù)包傳輸。如果發(fā)送節(jié)點(diǎn)沒有數(shù)據(jù)包需要傳輸,它就立即關(guān)閉MRs。圖1為IR-WuR數(shù)據(jù)傳輸過程。
圖1 IR-WuR數(shù)據(jù)傳輸過程示意Fig.1 Data transmission of IR-WuR
由圖1可知,將每個周期劃分為活動狀態(tài)和休眠狀態(tài),其中活動狀態(tài)又分多個時隙,每個時隙傳輸一個數(shù)據(jù)包。假定節(jié)點(diǎn)RN在第1時隙成為競爭成功者,一旦接入成功,RN就向信宿(接收節(jié)點(diǎn))傳輸一個數(shù)據(jù)包。然后,第2個時隙再開始傳輸數(shù)據(jù)包。節(jié)點(diǎn)1和節(jié)點(diǎn)2在時隙2發(fā)生碰撞,數(shù)據(jù)包傳輸失敗。一旦完成數(shù)據(jù)包的傳輸,就進(jìn)入休眠狀態(tài)。信宿每完成一次數(shù)據(jù)包傳輸,就發(fā)送beacon消息(B)。節(jié)點(diǎn)1和節(jié)點(diǎn)2在第2個時隙發(fā)生碰撞,無法進(jìn)行數(shù)據(jù)傳輸。假定節(jié)點(diǎn)1在第3個時隙內(nèi)成功接入信道,就可以在時隙3內(nèi)完成數(shù)據(jù)包傳輸。
從上述操作過程可知,只有一個競爭成功節(jié)點(diǎn)能接入信道。同時,其他未競爭成功節(jié)點(diǎn)需要監(jiān)聽數(shù)據(jù)包的交互。這種策略存在兩點(diǎn)不足:由于未競爭成功節(jié)點(diǎn)也需要監(jiān)聽,它們與競爭成功節(jié)點(diǎn)一樣都需要消耗能量;每成功接入一次信道,就只能傳輸一個數(shù)據(jù)包,增加了接入信道的頻率。為此,本研究提出改進(jìn)協(xié)議。
2.1系統(tǒng)模型考慮典型的IoT數(shù)據(jù)報(bào)告、數(shù)據(jù)收集場景,信宿從多個傳感節(jié)點(diǎn)收集感測數(shù)據(jù)(圖2)。假定一個簇有N個傳感節(jié)點(diǎn),這些傳感節(jié)點(diǎn)也稱為數(shù)據(jù)發(fā)送節(jié)點(diǎn),信宿稱為數(shù)據(jù)接收節(jié)點(diǎn),當(dāng)接收節(jié)點(diǎn)需要收集數(shù)據(jù)時,它就向發(fā)送節(jié)點(diǎn)廣播WuC消息。一旦接收了WuC消息,發(fā)送節(jié)點(diǎn)就以CSMA/CA機(jī)制競爭接入信道。競爭成功的節(jié)點(diǎn),稱為贏者,然后,由贏者傳輸數(shù)據(jù)包。
圖2信宿收信數(shù)據(jù)的系統(tǒng)模型Fig.2System model of receiving data of sink圖3CPT-MAC協(xié)議的周期結(jié)構(gòu)Fig.3Periodic structure of CPT-MAC圖4CPT-MAC數(shù)據(jù)傳輸示意Fig.4Data transmission of CPT-MAC
2.2CPT-MAC策略CPT-MAC(Consecutive Packet Transmissions MAC,CPT-MAC)策略允許贏者在每次成功接入信道后可連續(xù)傳輸多個數(shù)據(jù)包。假定一個周期Tcycle被劃分為活動時期和休眠時期,將每個活動時期劃分為m個時隙,如圖3所示。
當(dāng)信宿(接收節(jié)點(diǎn))需要收集數(shù)據(jù)時,它就向簇內(nèi)的N個傳感節(jié)點(diǎn)(發(fā)送節(jié)點(diǎn))廣播WuC消息,即啟動數(shù)據(jù)收集階段。一旦接收了WuC消息,發(fā)送節(jié)點(diǎn)就打開MRs,并以CSMA/CA機(jī)制競爭接入信道,贏者就向信宿傳輸數(shù)據(jù)包{Data+q},并且在數(shù)據(jù)包內(nèi)攜帶贏者緩存隊(duì)列里的數(shù)據(jù)包數(shù)[14]。緩存隊(duì)列里的數(shù)據(jù)包數(shù)表示贏者需要傳輸?shù)臄?shù)據(jù)包數(shù),假定贏者緩存隊(duì)列里有q個數(shù)據(jù)包,同時,假定緩存隊(duì)列里能存儲的數(shù)據(jù)包數(shù)最大值為Q,即q≤Q。當(dāng)信宿收到數(shù)據(jù)包后,信宿就回復(fù)確認(rèn)包{ACK+q-1},其他發(fā)送節(jié)點(diǎn)(非贏者)就在接下來的q-1個時隙內(nèi)休眠。贏者可在q-1個時隙內(nèi)連續(xù)傳輸q-1個數(shù)據(jù)包。
通過此策略,一方面可以使得贏者連續(xù)傳輸數(shù)據(jù)包,無需每傳輸一個數(shù)據(jù)包就需要競爭接入一次,減少了競爭接入信道的次數(shù);另一方面,非贏者在贏者傳輸數(shù)據(jù)時隙內(nèi)休眠,降低了能耗。此外,每接收一個數(shù)據(jù)包,信宿就傳輸一次beacon消息。
圖4顯示了CPT-MAC協(xié)議中節(jié)點(diǎn)接入信道的過程,其中N=3,q=3。假定節(jié)點(diǎn)在第1時隙競爭信道為贏者,它連續(xù)傳輸3個數(shù)據(jù)包,當(dāng)完成第一個數(shù)據(jù)包后,其他節(jié)點(diǎn)在接下來的2個時隙內(nèi)休眠。因此,在第4個時隙時,就進(jìn)行一次新一輪競爭。
2.3能量分析為了計(jì)算每個時隙內(nèi)平均能量消耗,考慮以下幾個能耗因子:
與k個節(jié)點(diǎn)競爭,成功傳輸數(shù)據(jù)時所消耗的能量:
(1)
傳輸失敗時所消耗的能量Ef:
(2)
監(jiān)聽時期所消耗的能量Eoh:
(3)
休眠時期所消耗的能量Eina:
(4)
需要注意的是傳輸失敗時所消耗的能量Ef與傳輸成功時所消耗的能量Es相等。在1個時隙內(nèi),當(dāng)贏者處于活動狀態(tài)時,假定成功傳輸?shù)母怕蕿镻s,而傳輸失敗(發(fā)生碰撞)的概率為Pf,若贏者處于非活動狀態(tài)時,它就進(jìn)行休眠狀態(tài)。
(5)
(6)
而兩個協(xié)議在休眠時期內(nèi)所消耗的能量Esleep:
(7)
因此,節(jié)點(diǎn)在一個周期內(nèi)所消耗的能量E:
E=Esleep+Eactive
(8)
因此,傳感節(jié)點(diǎn)的網(wǎng)絡(luò)壽命LT可表示為Einitial/E,其單位為周期。
3.1仿真平臺為了更好地分析CPT-MAC協(xié)議的性能,利用MATLAB軟件建立仿真平臺。采用M/G/1/K排隊(duì)理論分析傳輸數(shù)據(jù)包的過程,并獲取隊(duì)列長度和傳輸數(shù)據(jù)包的丟失率等相關(guān)數(shù)據(jù)。在競爭接入信道階段,利用二維馬爾可夫鏈建模理論,計(jì)算數(shù)據(jù)包的傳輸時延,馬爾可夫鏈常用于分析離散事件的隨機(jī)過程。系統(tǒng)依據(jù)概率分布可以從一個狀態(tài)變到另一個狀態(tài)。
在仿真分析中,節(jié)點(diǎn)數(shù)從1至10變化,每個隊(duì)列的存儲空間為5,具體仿真參數(shù)如表1所示,這些參數(shù)是依據(jù)文獻(xiàn)[14]設(shè)置的。同時選用IR-WuR作為參照,并對比分析能量消耗和網(wǎng)絡(luò)壽命、時延和傳輸數(shù)據(jù)可靠率。其中能量消耗和網(wǎng)絡(luò)壽命反映了能量利用率,而時延和傳輸數(shù)據(jù)可靠率反映了數(shù)據(jù)傳輸性能,并對節(jié)點(diǎn)能耗性能和數(shù)據(jù)傳輸性能進(jìn)行分析。
表1 仿真參數(shù)
3.2能耗性能分析本研究對能耗性能分析時,設(shè)置Q=5,節(jié)點(diǎn)數(shù)N從1至10變化,實(shí)驗(yàn)結(jié)果如圖5和圖6所示。
圖5 平均每個周期內(nèi)的能量消耗Fig.5 Average energy consumption per cycle
圖6 網(wǎng)絡(luò)壽命Fig.6 Network lifetime
從圖5可知,提出的CPT-MAC協(xié)議的能量消耗低于IR-WuR協(xié)議。其原因是IR-WuR協(xié)議中非贏節(jié)點(diǎn)需要在所有時隙內(nèi)監(jiān)聽贏者,即使發(fā)生碰撞,所有節(jié)點(diǎn)都需要監(jiān)聽。因此,IR-WuR協(xié)議的能耗與節(jié)點(diǎn)數(shù)呈線性關(guān)系。而CPT-MAC協(xié)議中非贏者只需要在第1個時隙內(nèi)監(jiān)聽,在其他時隙內(nèi)可進(jìn)入休眠狀態(tài),從而降低了能耗。
圖6顯示了IR-WuR和CPT-MAC協(xié)議的網(wǎng)絡(luò)壽命。由于CPT-MAC協(xié)議的能耗低于IR-WuR協(xié)議,其網(wǎng)絡(luò)壽命高于IR-WuR協(xié)議。此外,隨著節(jié)點(diǎn)數(shù)N的增加,網(wǎng)絡(luò)壽命也隨之下降。其原因是節(jié)點(diǎn)數(shù)N越多,分配的時隙數(shù)越多,越多的節(jié)點(diǎn)數(shù)據(jù)參以信道競爭,這必然增加了能量消耗,最終降低了網(wǎng)絡(luò)壽命。
圖7 傳輸時延Fig.7 Transmission delay
圖8 數(shù)據(jù)傳輸可靠率Fig.8 Reliability of data transmission
從圖7可知,CPT-MAC協(xié)議的傳輸時延低于IR-WuR協(xié)議,其原因是CPT-MAC協(xié)議允許贏者可連續(xù)傳輸多個數(shù)據(jù)包,減少競爭接入的次數(shù),降低碰撞的概率,提高了數(shù)據(jù)包傳輸?shù)某晒β?,這有利于降低傳輸時延。
圖8顯示數(shù)據(jù)傳輸可靠率隨節(jié)點(diǎn)數(shù)N的變化曲線。從圖可知,節(jié)點(diǎn)數(shù)N的增加降低了數(shù)據(jù)傳輸可靠率,其原因在于節(jié)點(diǎn)數(shù)越多,網(wǎng)絡(luò)內(nèi)要傳輸?shù)臄?shù)據(jù)包數(shù)越多,這必然影響傳輸碰撞的概率。從而降低了數(shù)據(jù)傳輸可靠率。與IR-WuR協(xié)議相比,CPT-MAC協(xié)議的數(shù)據(jù)傳輸可靠率可以得到有效的提升。
基于競爭類的CSMA/CA協(xié)議,僅活動節(jié)點(diǎn)參與競爭,而其他非活動節(jié)點(diǎn)不參與接入競爭[6],而且CSMA/CA協(xié)議也不能完全消除競爭沖突,增加了數(shù)據(jù)包傳輸時延?;赥DMA-MAC協(xié)議是從信道資源利用角度設(shè)計(jì)MAC協(xié)議,并沒有考慮到節(jié)點(diǎn)能量消耗問題[10-13]。CPT-MAC協(xié)議避免了傳統(tǒng)的IR-WuR協(xié)議存在的問題。CPT-MAC協(xié)議允許節(jié)點(diǎn)在成功接入信道一次,可以傳輸多個數(shù)據(jù)包,而不是一個數(shù)據(jù)包。同時,當(dāng)節(jié)點(diǎn)未能成功接入信道,節(jié)點(diǎn)就進(jìn)入休眠狀態(tài),降低節(jié)點(diǎn)能耗。仿真結(jié)果表明,CPT-MAC協(xié)議能夠有效地保存節(jié)點(diǎn)能量,降低數(shù)據(jù)傳輸時延,提升數(shù)據(jù)傳輸?shù)目煽柯?。本研究的仿真場景比較簡單,只考慮了小型無線網(wǎng)絡(luò)。后期將擴(kuò)大網(wǎng)絡(luò)規(guī)模,增加節(jié)點(diǎn)數(shù)。此外,本研究未能分析將競爭類MAC和TDMA-MAC相結(jié)合所帶來復(fù)雜性能,后期,將研究算法本身的復(fù)雜度,提升算法的綜合性能。