李文艷,邵世祥
(南京郵電大學(xué),江蘇 南京 210000)
WSN中流量自適應(yīng)的超低功耗MAC協(xié)議
李文艷,邵世祥
(南京郵電大學(xué),江蘇 南京 210000)
為了減少無線傳感網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)的功耗,當(dāng)有數(shù)據(jù)收發(fā)時(shí),傳感器節(jié)點(diǎn)就開啟無線通信模塊進(jìn)行發(fā)送或偵聽,如果沒有數(shù)據(jù)收發(fā)時(shí),傳感器節(jié)點(diǎn)控制無線通信模塊進(jìn)入休眠狀態(tài)。采用休眠方式最大的問題在于,節(jié)點(diǎn)休眠時(shí)無法接收數(shù)據(jù)。如果沒有較好的協(xié)議設(shè)計(jì),節(jié)點(diǎn)就會(huì)因休眠而無法及時(shí)喚醒進(jìn)行數(shù)據(jù)接收,進(jìn)而降低了整個(gè)網(wǎng)絡(luò)的性能。針對此問題,提出了一種新的基于流量自適應(yīng)的超低功耗MAC協(xié)議。該協(xié)議根據(jù)網(wǎng)絡(luò)中的通信量來對節(jié)點(diǎn)休眠和喚醒的時(shí)間進(jìn)行實(shí)時(shí)調(diào)度:當(dāng)網(wǎng)絡(luò)通信量低時(shí),網(wǎng)絡(luò)進(jìn)入非調(diào)度階段;當(dāng)網(wǎng)絡(luò)通信量高時(shí),網(wǎng)絡(luò)進(jìn)入調(diào)度階段。設(shè)計(jì)的MAC通信協(xié)議在保留了同步網(wǎng)絡(luò)和異步網(wǎng)絡(luò)的優(yōu)點(diǎn)的基礎(chǔ)上,對算法做了進(jìn)一步改進(jìn),相對現(xiàn)有傳統(tǒng)的MAC協(xié)議,大大地降低了傳感器網(wǎng)絡(luò)功耗和網(wǎng)絡(luò)時(shí)延。
MAC協(xié)議;無線通信模塊;休眠狀態(tài);流量自適應(yīng);超低功耗
無線傳感器網(wǎng)絡(luò)被認(rèn)為是21世紀(jì)最重要的技術(shù)之一,它將會(huì)對人類未來的生活方式產(chǎn)生巨大影響[1-2]。無線傳感器節(jié)點(diǎn)依靠自身配備的電池供電,然而由于節(jié)點(diǎn)數(shù)量較多、部署分散等原因難以經(jīng)常更換電池。如在軍事監(jiān)視應(yīng)用中,由于戰(zhàn)場需要,沒有機(jī)會(huì)更換傳感器節(jié)點(diǎn)電池。而在環(huán)境監(jiān)測應(yīng)用中,多數(shù)情況部署地點(diǎn)偏僻且無人值守,節(jié)點(diǎn)數(shù)目較多,更換電池代價(jià)較大。因此,降低節(jié)點(diǎn)能耗,延長網(wǎng)絡(luò)使用壽命對于無線傳感器網(wǎng)絡(luò)而言意義重大[3]。
通過實(shí)驗(yàn)發(fā)現(xiàn),在無線傳感器網(wǎng)絡(luò)中絕大部分的能量消耗集中在通訊模塊上,大約占整個(gè)傳感器節(jié)點(diǎn)能量消耗的80%[4]。因此,目前學(xué)術(shù)界提出的傳感器節(jié)點(diǎn)通訊協(xié)議主要是根據(jù)減少節(jié)點(diǎn)能量消耗和延長網(wǎng)絡(luò)生命周期來進(jìn)行設(shè)計(jì)的。在基于MAC層的主要協(xié)議中,采取的最主要手段就是通過設(shè)定節(jié)點(diǎn)的“服務(wù)周期”來定時(shí)地控制節(jié)點(diǎn)的休眠和喚醒周期[5],從而達(dá)到傳感器節(jié)點(diǎn)節(jié)能的目的。
對節(jié)點(diǎn)休眠和喚醒的時(shí)間進(jìn)行優(yōu)質(zhì)地調(diào)度,以保證目標(biāo)節(jié)點(diǎn)不會(huì)因休眠而錯(cuò)過數(shù)據(jù)接收。在傳感器網(wǎng)絡(luò)中,SMAC[2]是第一個(gè)同步MAC協(xié)議。SMAC協(xié)議利用周期性的睡眠/偵聽減少了空閑監(jiān)聽所造成的能量浪費(fèi),通過與相鄰節(jié)點(diǎn)同步減少了控制消耗,利用RTS/CTS機(jī)制減少了數(shù)據(jù)沖突的幾率。由于時(shí)間同步所帶來的功耗是不可忽略的,所以很多異步MAC協(xié)議應(yīng)運(yùn)而生。
BMAC[6]協(xié)議是傳感器網(wǎng)絡(luò)中第一個(gè)異步的低功耗MAC協(xié)議,所有節(jié)點(diǎn)均按照預(yù)設(shè)的休眠間隔周期性喚醒。當(dāng)節(jié)點(diǎn)有數(shù)據(jù)發(fā)送時(shí),節(jié)點(diǎn)在發(fā)送數(shù)據(jù)之前首先發(fā)送一個(gè)固定長度(長度大于休眠喚醒間隔)的前導(dǎo)碼。文中提出一種基于網(wǎng)絡(luò)中通信量的自適應(yīng)MAC協(xié)議。該協(xié)議根據(jù)網(wǎng)絡(luò)中的通信量對節(jié)點(diǎn)休眠和喚醒的時(shí)間進(jìn)行實(shí)時(shí)調(diào)度:當(dāng)網(wǎng)絡(luò)通信量低時(shí),節(jié)點(diǎn)進(jìn)入非調(diào)度階段;當(dāng)網(wǎng)絡(luò)通信量高時(shí),節(jié)點(diǎn)進(jìn)入調(diào)度階段。
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)系統(tǒng)通常由傳感器節(jié)點(diǎn)(sensor node)、匯聚節(jié)點(diǎn)(sink node)和管理節(jié)點(diǎn)(task manager node)組成[7]。結(jié)構(gòu)如圖1所示。
圖1 無線傳感器網(wǎng)絡(luò)體系結(jié)構(gòu)
在網(wǎng)絡(luò)實(shí)際運(yùn)行過程中,能耗主要來源于處理(Processing)、傳感(Sensing)和無線傳輸(Radio)三個(gè)操作[8]。而在無線傳感器網(wǎng)絡(luò)中,無線通信模塊又是其中能耗較大的組件,對傳感器節(jié)點(diǎn)的通信能耗進(jìn)行優(yōu)化是傳感器網(wǎng)絡(luò)節(jié)能研究的重點(diǎn)。
傳感器節(jié)點(diǎn)的無線通信模塊包括發(fā)送狀態(tài)、接收狀態(tài)、偵聽狀態(tài)和休眠狀態(tài)[9]。單位時(shí)間內(nèi)消耗的能量按照上述順序依次減少:無線通信模塊在發(fā)送狀態(tài)消耗能量最多,在休眠狀態(tài)消耗能量最少,接收狀態(tài)和偵聽狀態(tài)下的能量消耗相似但稍小于發(fā)送狀態(tài)[10]。所以,為了減少節(jié)點(diǎn)功耗,當(dāng)有數(shù)據(jù)收發(fā)時(shí),節(jié)點(diǎn)就開啟無線通信模塊進(jìn)行發(fā)送或偵聽,當(dāng)沒有數(shù)據(jù)收發(fā)時(shí),節(jié)點(diǎn)控制無線通信模塊進(jìn)入休眠狀態(tài)[11-12]。無線通信模塊的狀態(tài)受MAC層的控制[13],所以從軟件入手,設(shè)計(jì)高效節(jié)能的MAC通信協(xié)議是目前最為可行的解決方案。
基于上述原因,針對無線傳感器網(wǎng)絡(luò)業(yè)務(wù)量小的特點(diǎn),無線傳感器網(wǎng)絡(luò)協(xié)議為了減少能量的消耗,在MAC層可采用“休眠喚醒”交替的無線信道使用策略。
針對上述問題,提出一種基于網(wǎng)絡(luò)中通信量的自適應(yīng)MAC協(xié)議。該協(xié)議根據(jù)網(wǎng)絡(luò)中通信量對節(jié)點(diǎn)休眠和喚醒的時(shí)間進(jìn)行調(diào)度。
在該MAC通信協(xié)議方案中,節(jié)點(diǎn)在無線通信模塊中增加一個(gè)流量狀態(tài)寄存器(TSR)和一個(gè)網(wǎng)絡(luò)分配矢量定時(shí)器(NAV)(TSR和NAV功耗可忽略不計(jì))。其中,TSR是用于記錄節(jié)點(diǎn)重發(fā)數(shù)據(jù)的次數(shù)n,NAV是用于設(shè)定需要的休眠時(shí)間t??芍?,TSR只有在無線通信模塊處于發(fā)送狀態(tài)時(shí)啟用,而NAV只在無線通信模塊處于休眠狀態(tài)時(shí)啟用。該MAC通信協(xié)議分為非調(diào)度和調(diào)度兩個(gè)階段進(jìn)行。
當(dāng)無線傳感器網(wǎng)絡(luò)開啟后,各節(jié)點(diǎn)完成網(wǎng)絡(luò)初始化設(shè)置(其中TSR=0,NAV=0,設(shè)定判斷網(wǎng)絡(luò)流量高低的數(shù)據(jù)重傳閾值N)。當(dāng)節(jié)點(diǎn)要發(fā)送數(shù)據(jù)時(shí)啟動(dòng)TSR,在一個(gè)休眠喚醒周期內(nèi),每重發(fā)一次數(shù)據(jù),TSR中的次數(shù)n就增加一次。
當(dāng)發(fā)送節(jié)點(diǎn)有數(shù)據(jù)發(fā)送給接收節(jié)點(diǎn)時(shí),首先檢查TSR中n的值,如果n 上述階段的算法描述過程如圖2所示。 圖2 “異步”階段數(shù)據(jù)發(fā)送過程 Tp可由式(1)計(jì)算得出: Tp=Tw+αmTe (1) 其中,Tw是接收節(jié)點(diǎn)的喚醒間隔;m是本地?cái)?shù)據(jù)分組的個(gè)數(shù);Te是發(fā)送一個(gè)編碼分組的時(shí)間;α是一個(gè)大于1的常數(shù)。 發(fā)送節(jié)點(diǎn)的發(fā)送時(shí)間Tp比接收節(jié)點(diǎn)的喚醒間隔Tw大是為了確保接收節(jié)點(diǎn)能接收到編碼分組。接收節(jié)點(diǎn)接收m編碼分組的時(shí)間是mTe,如果接收節(jié)點(diǎn)喚醒的時(shí)間比發(fā)送節(jié)點(diǎn)開始發(fā)送編碼分組的時(shí)間晚,那么Tp至少持續(xù)Tw+mTe。 考慮到編碼分組在傳輸過程中丟失的情況,用常數(shù)α來提高協(xié)議的魯棒性。明顯可以看出,增大α雖然可以增大接收節(jié)點(diǎn)成功接收足夠多編碼分組的可能性,但是同時(shí)也增加了傳感器節(jié)點(diǎn)功耗。發(fā)送節(jié)點(diǎn)對本地?cái)?shù)據(jù)進(jìn)行分組時(shí),要選擇合適的分組長度:分組長度過大,非目的接收節(jié)點(diǎn)接收一個(gè)編碼分組就會(huì)消耗過多的不必要的功耗,即增加了網(wǎng)絡(luò)的串音功耗;分組長度過短,不僅對于編碼技術(shù)是一項(xiàng)挑戰(zhàn),同時(shí)由于發(fā)送節(jié)點(diǎn)發(fā)送編碼分組時(shí)需要在每個(gè)編碼分組的頭部加上目的地址,會(huì)極大地降低網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)挠行浴?/p> 如果n>N,則無線傳感器網(wǎng)絡(luò)進(jìn)入調(diào)度階段。當(dāng)數(shù)據(jù)重傳次數(shù)n大于系統(tǒng)設(shè)置的閾值N時(shí),設(shè)計(jì)的MAC協(xié)議認(rèn)為數(shù)據(jù)重發(fā)是由網(wǎng)絡(luò)中通信量過大而引起的數(shù)據(jù)丟失,發(fā)送節(jié)點(diǎn)首先發(fā)送一個(gè)長RTS(請求發(fā)送)幀作為前導(dǎo)碼。其中,RTS幀中包含目的接收節(jié)點(diǎn)地址和數(shù)據(jù)發(fā)送結(jié)束時(shí)間T,由于RTS幀長度Tr(Tr≥Tw,Tw是傳感器節(jié)點(diǎn)的喚醒間隔)足夠大,所有與發(fā)送節(jié)點(diǎn)相鄰的節(jié)點(diǎn)都能接收到這個(gè)RTS幀。當(dāng)節(jié)點(diǎn)接收到RTS幀后,首先根據(jù)此幀中的目的地址判斷是否有數(shù)據(jù)發(fā)送給本節(jié)點(diǎn),如果沒有數(shù)據(jù)需要接收,節(jié)點(diǎn)根據(jù)幀中數(shù)據(jù)發(fā)送結(jié)束時(shí)間T,將幀丟棄后開啟NAV并預(yù)設(shè)NAV的值,然后進(jìn)入休眠狀態(tài)。如果有數(shù)據(jù)需要接收,接收節(jié)點(diǎn)給發(fā)送節(jié)點(diǎn)回復(fù)一個(gè)CTS(允許發(fā)送)幀,然后做好接收數(shù)據(jù)的準(zhǔn)備。 上述階段的算法描述過程(由低通信量轉(zhuǎn)向高通信量)如圖3所示。 圖3 調(diào)度階段數(shù)據(jù)發(fā)送過程 3.1 仿真環(huán)境 采用無線傳感器網(wǎng)絡(luò)仿真平臺(tái)對SMAC和BMAC以及文中設(shè)計(jì)的MAC通信協(xié)議進(jìn)行仿真。仿真中搭建的網(wǎng)絡(luò)模型是一個(gè)10*10的點(diǎn)陣模型,節(jié)點(diǎn)間隔為200 m,節(jié)點(diǎn)通信半徑設(shè)置為500 m,每個(gè)節(jié)點(diǎn)最遠(yuǎn)可以與相鄰一個(gè)節(jié)點(diǎn)外的節(jié)點(diǎn)進(jìn)行通信,節(jié)點(diǎn)的鄰居最多有12個(gè)。對于每種通信協(xié)議,仿真節(jié)點(diǎn)的參數(shù)設(shè)置如下:信道帶寬為20 kbps,接收、發(fā)送和空閑監(jiān)聽的功率均為1 W,休眠功率為1 mW,狀態(tài)轉(zhuǎn)換功率為200 mW,休眠周期為1 443 ms。SMAC和BMAC協(xié)議的占空比為10%,而文中設(shè)計(jì)的MAC通信協(xié)議的平均占空比為2.1%。仿真的時(shí)長設(shè)為60 s。為了表現(xiàn)各種流量下的性能對比,將節(jié)點(diǎn)的信息的到來間隔逐漸減少,以模擬網(wǎng)絡(luò)中低通信量到高通信量的變化:信息的到來間隔為2~14 s。每個(gè)信息的大小為10 byte。 3.2 性能評估 無線傳感器網(wǎng)絡(luò)的平均功耗和時(shí)延對比如圖4所示。 圖4 功耗和時(shí)延對比 由圖4可知,當(dāng)網(wǎng)絡(luò)通信量較低時(shí),在功耗和延遲方面BMAC協(xié)議比SMAC協(xié)議性能更好。而當(dāng)無線傳感器網(wǎng)絡(luò)中的通信量高時(shí),則情況相反。這是由于當(dāng)無線傳感器網(wǎng)絡(luò)中的通信量低時(shí),數(shù)據(jù)出現(xiàn)碰撞的幾率相對較小,消耗在數(shù)據(jù)碰撞上的功耗可以忽略不計(jì);當(dāng)無線傳感器網(wǎng)絡(luò)中的通信量高時(shí),隨著無線傳感器網(wǎng)絡(luò)中的通信量逐漸增高,數(shù)據(jù)出現(xiàn)碰撞的幾率越來越大,如果不采取減少碰撞的措施,整個(gè)網(wǎng)絡(luò)因碰撞產(chǎn)生的功耗和時(shí)延將會(huì)很大。 文中設(shè)計(jì)的MAC通信協(xié)議的功耗和延時(shí)比BMAC和SMAC協(xié)議小得多,這是因?yàn)樵诜钦{(diào)度階段,非目的接收節(jié)點(diǎn)接收到一個(gè)編碼分組后,即可根據(jù)目的地址將編碼分組丟棄后按照自己的休眠機(jī)制進(jìn)入休眠狀態(tài),極大減少了串音所帶來的功耗。此外目的接收節(jié)點(diǎn)只要正確接收足夠的編碼分組,就可根據(jù)接收到的編碼分組解碼出原始數(shù)據(jù),并且在編碼分組發(fā)送過程對于那些丟失的分組不用做任何處理(例如超時(shí)重傳等)。不僅充分利用了前導(dǎo)碼傳輸數(shù)據(jù)的潛能,減少了因不必要數(shù)據(jù)發(fā)送而帶來的額外開銷,而且避免了因超時(shí)重傳等機(jī)制帶來的開銷。除此之外,發(fā)送節(jié)點(diǎn)在收到目的節(jié)點(diǎn)的ACK確認(rèn)包之后,就可以立即停止編碼分組的發(fā)送,減少了發(fā)送節(jié)點(diǎn)的功耗和網(wǎng)絡(luò)資源的占用。 在調(diào)度階段,所有節(jié)點(diǎn)可以根據(jù)RTS幀來設(shè)定自己的休眠時(shí)間,并在數(shù)據(jù)傳輸完成以后自動(dòng)喚醒。這種方法無需進(jìn)行網(wǎng)絡(luò)同步,不僅減少了網(wǎng)絡(luò)中資源的占用,而且降低了節(jié)點(diǎn)因維護(hù)同步信息表而帶來的功耗。此外,由于所有非目的節(jié)點(diǎn)根據(jù)發(fā)送節(jié)點(diǎn)發(fā)送的數(shù)據(jù)結(jié)束時(shí)間來設(shè)定自己的休眠時(shí)間,降低了網(wǎng)絡(luò)的時(shí)延。 傳感器網(wǎng)絡(luò)的通信節(jié)能技術(shù)主要集中在MAC層和路由層。文中從MAC層出發(fā),通過設(shè)計(jì)一種基于網(wǎng)絡(luò)中通信量的超低功耗的MAC協(xié)議來降低傳感器網(wǎng)絡(luò)功耗。下一步,將從路由層著手,研究設(shè)計(jì)出優(yōu)質(zhì)的路由協(xié)議,配合文中提出的MAC協(xié)議進(jìn)一步降低傳感器網(wǎng)絡(luò)功耗,延長整個(gè)網(wǎng)絡(luò)的生命周期。 [1] 周傲英,楊 彬,金澈清,等.基于位置的服務(wù):架構(gòu)與進(jìn)展[J].計(jì)算機(jī)學(xué)報(bào),2011,34(7):1155-1171. [2] Ye W,Heidemann J,Estrin D.An energy-efficient MAC protocol for wireless sensor networks[C]//Proceedings of the international conference on computer and communications societies.[s.l.]:IEEE,2002:1567-1576. [3] Popovici E,Magno M,Marinkovic S.Power management techniques for wireless sensor networks:a review[C]//5th IEEE international workshop on advances in sensors and interfaces.[s.l.]:IEEE,2013:194-198. [4] 許金清,蔣念平.無線傳感網(wǎng)中SMACS協(xié)議的節(jié)能改進(jìn)算法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011,20(2):207-210. [5] Zhu C,Yang L,Shu L,et al.Sleep scheduling for geographic routing in duty-cycled mobile sensor networks[J].IEEE Transactions on Industrial Electronics,2014,61(11):6346-6355. [6] Polastre J,Hill J,Culler D.Versatile low power media access for wireless sensor networks[C]//Proceedings of ACM SenSys.[s.l.]:ACM,2004. [7] 孫利民.無線傳感網(wǎng)絡(luò)[M].北京:清華大學(xué)出版社,2006. [8] 趙 明,徐科軍,倪 偉,等.一種無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)和通信協(xié)議研究[J].儀器儀表學(xué)報(bào),2005,26:630-632. [9] 朱 凡.無線傳感網(wǎng)絡(luò)技術(shù)及其在礦山安全監(jiān)測中的應(yīng)用研究[D].長沙:湖南大學(xué),2010. [10] 崔 莉,鞠海玲,苗 勇,等.無線傳感器網(wǎng)絡(luò)研究進(jìn)展[J].計(jì)算機(jī)研究與發(fā)展,2005,42(1):163-174. [11] 張大蹤,楊 濤,魏東梅.無線傳感器網(wǎng)絡(luò)低功耗設(shè)計(jì)綜述[J].傳感器與微系統(tǒng),2006,25(5):10-14. [12] Wang J,Dong W,Cao Z,et al.On the delay performance in a large-scale wireless sensor network:measurement,analysis,and implications[J].IEEE/ACM Transactions on Networking,2015,23(1):186-197. [13] Kim T,Kim I,Sun Y,et al.Physical layer and medium access control design in energy efficient sensor networks:an overview[J].IEEE Transactions on Industrial Informatics,2015,11(1):2-15. Traffic-aware Adaptive MAC Protocol with Ultra-low Power for WSN LI Wen-yan,SHAO Shi-xiang (Nanjing University of Posts and Telecommunications,Nanjing 210000,China) In order to reduce the power consumption of the sensor nodes in WSN,when data is being transmitted or received,the wireless communication module of the nodes are supposed to start operation to send the data or listen to the channel,otherwise it enters a sleep mode.However,the biggest problem is that the sensor nodes are unable to receive data when being in the sleep mode.Without a better protocol designed,data will be failed to be received since the nodes are in sleep mode,and thus the entire network performance is reduced.For this problem,a new traffic-aware adaptive MAC protocols with ultra-low power for WSN is proposed.In the designed MAC protocol,the sleeping time and wake-up time in real time of the nodes are scheduled based on the network traffic.If network traffic is low,it enters the phase of non-scheduling or else the phase of scheduling.In addition to the advantages of synchronous network and asynchronous network,the algorithm is further improved in this designed MAC protocol.Compared with the existing traditional MAC protocols,the power consumption and the delay of the sensor network is reduced greatly with the designed MAC protocol. Media Access Control (MAC) protocol;wireless communication module;sleep mode;traffic-aware;ultra-low power 2016-04-26 2016-08-11 時(shí)間:2017-02-17 國家自然科學(xué)基金資助項(xiàng)目(61171093) 李文艷(1988-),女,碩士研究生,研究方向?yàn)闊o線傳感網(wǎng)絡(luò)的低功耗研究、移動(dòng)通信與無線技術(shù);邵世祥,教授,研究方向?yàn)橐苿?dòng)通信與無線技術(shù)。 http://www.cnki.net/kcms/detail/61.1450.TP.20170217.1632.062.html TN915 A 1673-629X(2017)03-0113-04 10.3969/j.issn.1673-629X.2017.03.0233 仿真與分析
4 結(jié)束語