唐震洲,施曉秋,金可仲
(溫州大學(xué)物理與電子信息工程學(xué)院,浙江溫州325035)
無線傳感器網(wǎng)絡(luò)(Wireless Sensor Networks,WSNs)是由許多傳感器節(jié)點(diǎn)通過共享無線介質(zhì)構(gòu)成的一種特殊的無線自組網(wǎng)絡(luò)。WSNs具有快速展開、抗毀性強(qiáng)等特點(diǎn),可廣泛應(yīng)用于軍事、工業(yè)、交通、環(huán)保等領(lǐng)域。由于應(yīng)用前景廣泛,無線傳感器網(wǎng)絡(luò)引起了人們的廣泛關(guān)注。正如其他共享媒體的網(wǎng)絡(luò),無線傳感器網(wǎng)絡(luò)的媒體訪問控制協(xié)議(Media Access Control Protocol,MAC Protocol)決定無線信道的使用方式,并在節(jié)點(diǎn)之間分配有限的無線通信資源。MAC協(xié)議對(duì)無線傳感器網(wǎng)絡(luò)的性能有著非常大的影響[1-2]。
WSNs中的傳感器節(jié)點(diǎn)往往由電池供電,因而能量供應(yīng)有限。能量有效性是衡量一個(gè)MAC協(xié)議性能優(yōu)劣的最重要的標(biāo)準(zhǔn)之一??臻e偵聽是無線傳感器節(jié)點(diǎn)最主要的能耗源之一。為了減少空閑偵聽而造成的無謂能耗,研究人員提出了很多基于占空比機(jī)制的解決方案。所謂占空比機(jī)制,就是讓傳感器節(jié)點(diǎn)在工作與睡眠兩種狀態(tài)之間進(jìn)行周期性的切換,以減少空閑偵聽,達(dá)到節(jié)能的目的。節(jié)點(diǎn)只能在工作狀態(tài)才能與其他節(jié)點(diǎn)進(jìn)行通信,而處于睡眠狀態(tài)時(shí),節(jié)點(diǎn)將關(guān)閉無線收發(fā)機(jī),處于低能耗狀態(tài)。我們將工作時(shí)間與睡眠時(shí)間之和稱為周期時(shí)間。
這些基于占空比機(jī)制的協(xié)議可以分為兩大類:同步的協(xié)議[3-7]與異步的協(xié)議[8-13]。為了能順利地進(jìn)行數(shù)據(jù)傳輸,同步的協(xié)議要求通信雙方節(jié)點(diǎn)的睡眠和工作周期保持嚴(yán)格的一致,對(duì)各個(gè)節(jié)點(diǎn)間時(shí)鐘同步的要求非常高。這些協(xié)議需要大量的控制幀來建立與維持這種節(jié)點(diǎn)之間精確的同步關(guān)系,占用了大量資源。特別是對(duì)于大規(guī)模的無線傳感器網(wǎng)絡(luò),實(shí)現(xiàn)精確的同步是非常困難的。而異步的協(xié)議,則允許節(jié)點(diǎn)獨(dú)立地制定自己工作與休眠的時(shí)序。這些異步協(xié)議通常采用低功耗偵聽技術(shù)(Low Power Listening,LPL),即在發(fā)送數(shù)據(jù)之前,發(fā)送方需要持續(xù)的發(fā)送一段前導(dǎo)。當(dāng)接收方從休眠狀態(tài)醒來并檢測到這個(gè)前導(dǎo)之后,就保持工作狀態(tài)并開始接收數(shù)據(jù)。基于LPL的異步MAC協(xié)議具有很高的能量有效性,并避免了因?yàn)橥蕉a(chǎn)生的大量控制開銷。但是由于發(fā)送前導(dǎo)需要長時(shí)間占用信道,當(dāng)網(wǎng)絡(luò)負(fù)載較大時(shí),這些協(xié)議的性能就會(huì)大幅降低。
為了消除基于LPL技術(shù)的異步MAC協(xié)議的這些缺陷,Sun Yanjun等學(xué)者提出了一種新的異步MAC 協(xié)議——RI-MAC[8](Receiver-Initiated MAC)。RI-MAC以空閑偵聽與接收方發(fā)送信標(biāo)幀相結(jié)合的方式取代了LPL中長時(shí)間發(fā)送前導(dǎo)的方式,釋放了大量被占用的信道時(shí)間,因此能夠提供更高的網(wǎng)絡(luò)吞吐量與更高的數(shù)據(jù)交付率,并達(dá)到更好的能量有效性。但是,在RI-MAC中,從封裝了協(xié)議棧上層數(shù)據(jù)的邏輯鏈路控制幀(Logic Link Control Frame,LLC Frame)到達(dá)MAC層開始,直到收到接收節(jié)點(diǎn)信標(biāo)幀,發(fā)送節(jié)點(diǎn)始終工作在空閑偵聽狀態(tài),這無疑造成大量無謂的能耗。當(dāng)網(wǎng)絡(luò)負(fù)載增加,而節(jié)點(diǎn)的睡眠時(shí)間很長的情況下,由空閑偵聽引入的能耗將非常嚴(yán)重。
本文在 RI-MAC的基礎(chǔ)上,提出了 PA-MAC(Passive-Asynchronous MAC)。與 RI-MAC相同,PA-MAC中的數(shù)據(jù)傳輸是由接收方發(fā)起的。同時(shí),PA-MAC包含了接收節(jié)點(diǎn)喚醒時(shí)間估計(jì)算法。利用該算法,發(fā)送節(jié)點(diǎn)能夠在通信雙方存在時(shí)鐘偏差的情況下,估計(jì)接收節(jié)點(diǎn)下一次被喚醒的時(shí)間,使得發(fā)送節(jié)點(diǎn)僅僅在接收節(jié)點(diǎn)喚醒之前才從休眠狀態(tài)醒來,從而提高了PA-MAC的能量有效性。本文在NS2[14]網(wǎng)絡(luò)仿真平臺(tái)上對(duì) PA-MAC的性能進(jìn)行了仿真評(píng)估,并與RI-MAC協(xié)議進(jìn)行了性能對(duì)比。結(jié)果表明,與RI-MAC相比,PA-MAC在保持相當(dāng)?shù)耐掏铝?、包交付率以及端到端延遲的基礎(chǔ)上,進(jìn)一步降低了節(jié)點(diǎn)的占空比,并節(jié)省了大量的能量。
本文余下的章節(jié)安排如下:第1章,我們討論各種現(xiàn)有的基于占空比機(jī)制的異步MAC協(xié)議;我們將在第2章對(duì)PA-MAC做詳細(xì)深入的介紹;第3章,我們在NS2網(wǎng)絡(luò)仿真平臺(tái)上對(duì)PA-MAC的性能進(jìn)行了仿真;第4章是對(duì)本文的總結(jié);最后是致謝。
在應(yīng)用于無線傳感器網(wǎng)絡(luò)的異步MAC協(xié)議中,B-MAC和X-MAC是最具代表性的兩個(gè)協(xié)議。BMAC[11](Berkeley-MAC)協(xié)議使用擴(kuò)展前導(dǎo)和 LPL技術(shù)實(shí)現(xiàn)低功耗通信。發(fā)送方在發(fā)送數(shù)據(jù)幀之前先要發(fā)送一段持續(xù)時(shí)間不少于接收方睡眠周期的前導(dǎo)。當(dāng)接收方按照自己的調(diào)度信息從休眠狀態(tài)進(jìn)入工作狀態(tài)之后,就會(huì)對(duì)無線信道進(jìn)行探測,以確定是否存在前導(dǎo)。由于前導(dǎo)的持續(xù)時(shí)間不少于接收方睡眠周期,因此能保證接收方在前導(dǎo)持續(xù)時(shí)間內(nèi)至少能夠醒來一次。接收方在探測到信道中存在前導(dǎo)后,將保持活動(dòng)狀態(tài)直到數(shù)據(jù)幀接收完畢,并重新進(jìn)入休眠狀態(tài)。在網(wǎng)絡(luò)負(fù)載較輕的情況下,由于節(jié)點(diǎn)工作狀態(tài)持續(xù)的時(shí)間僅僅是極短的探測信道中是否存在前導(dǎo)的時(shí)間,因此B-MAC是非常節(jié)能的。然而,B-MAC中的節(jié)點(diǎn)在探測到信道中的前導(dǎo)之后,無論其是否是發(fā)送方的目的地,都會(huì)保持工作狀態(tài)直到數(shù)據(jù)傳輸完畢。對(duì)除接收方之外的其他節(jié)點(diǎn)而言,無謂的消耗了能量。
X-MAC[12]對(duì)前導(dǎo)進(jìn)行了改造。X-MAC的前導(dǎo)由若干較小的頻閃前導(dǎo)(Strobed Preamble)組成,并在其中加入了目的節(jié)點(diǎn)的地址。目的節(jié)點(diǎn)探測到前導(dǎo),并確認(rèn)了其中的目的地址之后,就會(huì)在兩個(gè)頻閃前導(dǎo)之間反饋一個(gè)確認(rèn)信息。發(fā)送方收到確認(rèn)信息之后停止發(fā)送前導(dǎo),而開始發(fā)送數(shù)據(jù)幀。而非目的節(jié)點(diǎn)則在接收一個(gè)頻閃前導(dǎo)之后就會(huì)忽略隨后的信號(hào)而轉(zhuǎn)入休眠狀態(tài)。X-MAC通過在頻閃前導(dǎo)中加入目的地址,以及接收方提早確認(rèn)機(jī)制,避免了發(fā)送節(jié)點(diǎn)過度前導(dǎo)和接收節(jié)點(diǎn)過度偵聽的現(xiàn)象。XMAC還設(shè)計(jì)了一種根據(jù)網(wǎng)絡(luò)流量變化動(dòng)態(tài)調(diào)整節(jié)點(diǎn)的占空比的自適應(yīng)算法,減少了單跳延時(shí),即:每個(gè)節(jié)點(diǎn)通過統(tǒng)計(jì)一定時(shí)間內(nèi)接收到的報(bào)文數(shù)量,動(dòng)態(tài)調(diào)整占空比。
Wise-MAC[13](Wireless Sensor MAC)也是一種采用前導(dǎo)喚醒技術(shù)的協(xié)議。Wise-MAC在非堅(jiān)持CSMA的基礎(chǔ)上,采用前導(dǎo)碼采樣技術(shù)控制節(jié)點(diǎn)處于空閑偵聽狀態(tài)時(shí)的能量消耗。WiseMAC協(xié)議的ACK幀捎帶了接收方下次喚醒時(shí)間,用于通知其他鄰居節(jié)點(diǎn)到下一次采樣的剩余時(shí)間。通過這種方式,每個(gè)節(jié)點(diǎn)不斷更新相鄰節(jié)點(diǎn)的采樣時(shí)間偏移表。利用這些信息,每個(gè)節(jié)點(diǎn)可以選擇恰當(dāng)?shù)臅r(shí)間,使用最小長度的喚醒前導(dǎo)碼向目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)。Wise-MAC協(xié)議可以很好地適應(yīng)網(wǎng)絡(luò)流量變化。但是,Wise-MAC協(xié)議的采樣同步機(jī)制會(huì)帶來數(shù)據(jù)包沖突的問題。
B-MAC和X-MAC協(xié)議能夠在網(wǎng)絡(luò)負(fù)載較低的情況下,能夠達(dá)到較高的能量有效性。但是在前導(dǎo)的傳輸過程中需要長時(shí)間的占用信道,因此,當(dāng)網(wǎng)絡(luò)負(fù)載增加時(shí),效率就會(huì)大幅下降。事實(shí)上,采用LPL技術(shù)時(shí),完成一次數(shù)據(jù)幀的傳輸所需要占用的信道時(shí)間遠(yuǎn)遠(yuǎn)大于實(shí)際的數(shù)據(jù)傳輸時(shí)間,這將造成一些負(fù)面影響。首先,某個(gè)發(fā)送節(jié)點(diǎn)長時(shí)間占用信道,會(huì)迫使其鄰居節(jié)點(diǎn)推遲數(shù)據(jù)的發(fā)送,從而造成較大的延遲;其次,某個(gè)發(fā)送節(jié)點(diǎn)長時(shí)間占用信道也會(huì)增加其鄰居節(jié)點(diǎn)沖突的概率,網(wǎng)絡(luò)負(fù)載較大時(shí)這種現(xiàn)象將更加嚴(yán)重。
為了解決這個(gè)問題,Sun Yanjun等學(xué)者提出了由接收方發(fā)起數(shù)據(jù)傳輸?shù)腞I-MAC[8]協(xié)議(Receiver Initiated MAC)。RI-MAC與基于LPL技術(shù)的異步MAC之間最顯著的不同之處在于發(fā)送方與接收方如何統(tǒng)一數(shù)據(jù)傳輸時(shí)間。在RI-MAC中,數(shù)據(jù)傳輸是由接收方發(fā)起的。RI-MAC的工作過程如圖1所示。每個(gè)節(jié)點(diǎn)從睡眠狀態(tài)醒來之后就會(huì)廣播一個(gè)信標(biāo)幀來宣告工作狀態(tài)的開始。當(dāng)LLC幀到達(dá)發(fā)送方的MAC層時(shí),發(fā)送節(jié)點(diǎn)就會(huì)被喚醒,并以空閑偵聽的方式等待接收方信標(biāo)幀的到來。在接收到接收方發(fā)送的信標(biāo)幀之后,發(fā)送方就開始數(shù)據(jù)傳輸。RI-MAC還提出了一種簡單的自適應(yīng)退避算法,以盡量減少多個(gè)發(fā)送節(jié)點(diǎn)在收到信標(biāo)幀之后同時(shí)向同一個(gè)目的節(jié)點(diǎn)發(fā)送數(shù)據(jù)幀而發(fā)生的沖突。RI-MAC的信標(biāo)幀包含了BW字段,用于指定發(fā)送方的最大退避窗口。當(dāng)接收節(jié)點(diǎn)醒來后,就會(huì)發(fā)送一個(gè)BW字段為0的信標(biāo)幀,即發(fā)送方在收到這個(gè)信標(biāo)幀之后應(yīng)立即發(fā)送數(shù)據(jù)幀。此時(shí),如果有多個(gè)節(jié)點(diǎn)都在等待發(fā)送數(shù)據(jù)幀,則必定會(huì)產(chǎn)生沖突。于是,在檢測到?jīng)_突之后,接收方就會(huì)通過二進(jìn)制指數(shù)退避算法,增加BW的值,使得發(fā)送方在下一次重傳時(shí)進(jìn)行必要的隨機(jī)退避。如圖2所示。與X-MAC相比,RI-MAC能夠提供更高的網(wǎng)絡(luò)吞吐量與更高的數(shù)據(jù)交付率,并達(dá)到更好的能量有效性。但是,在RI-MAC中,發(fā)送節(jié)點(diǎn)以空閑偵聽的方式等待信標(biāo)幀的到來,這將造成大量無謂的能耗。
圖1 RI-MAC的工作示意圖
圖2 RI-MAC中的自適應(yīng)退避算法
PA-MAC協(xié)議是在RI-MAC的基礎(chǔ)上提出的。PA-MAC同樣采用了RI-MAC中接收方發(fā)起數(shù)據(jù)傳輸?shù)姆绞剑⒔梃b了RI-MAC的動(dòng)態(tài)自適應(yīng)退避算法。與RI-MAC不同的是,PA-MAC通過在信標(biāo)幀中攜帶節(jié)點(diǎn)自身下一喚醒時(shí)刻信息,使得發(fā)送節(jié)點(diǎn)能夠僅在接收節(jié)點(diǎn)喚醒之前才從休眠狀態(tài)醒來,進(jìn)一步降低了能耗。
PA-MAC中,數(shù)據(jù)的接收方是通過信標(biāo)幀來控制數(shù)據(jù)幀的傳輸?shù)?。PA-MAC信標(biāo)幀的格式如圖3所示。其中,Src字段為發(fā)送該信標(biāo)幀的節(jié)點(diǎn)地址;Dst字段為信標(biāo)幀的目的節(jié)點(diǎn)地址;BW字段為信標(biāo)幀規(guī)定的退避窗口;而Nxt字段為從信標(biāo)幀源節(jié)點(diǎn)發(fā)送前導(dǎo)碼第一個(gè)比特的時(shí)刻開始到該節(jié)點(diǎn)下一次醒來時(shí)的時(shí)間間隔TNxt。
圖3 PA-MAC幀結(jié)構(gòu)
當(dāng)一個(gè)節(jié)點(diǎn)R根據(jù)自己的狀態(tài)調(diào)度周期醒來以后,首先需要確定下一次醒來的時(shí)刻tw:
式中,Tduty是常數(shù),是一個(gè)原始周期的持續(xù)時(shí)間;Tnow表示當(dāng)前時(shí)刻。式中取隨機(jī)數(shù),是為了避免出現(xiàn)信標(biāo)幀重復(fù)沖突的情況。因?yàn)槿绻芷陂L度都相等的話,兩個(gè)同時(shí)醒來的相鄰節(jié)點(diǎn)所發(fā)送的信標(biāo)幀將必然性的發(fā)送沖突,而且每個(gè)周期都會(huì)發(fā)生沖突。
然后,如果信道空閑,R就會(huì)廣播一個(gè)Dst字段為-1的信標(biāo)幀,表示是廣播幀。值得注意的是,為了盡量減少誤差,信標(biāo)幀中Nxt字段的值應(yīng)該在R發(fā)送信標(biāo)幀前導(dǎo)的第一個(gè)比特之前設(shè)置。而若信道繁忙,則R在退避一個(gè)隨機(jī)的時(shí)間之后再試圖廣播信標(biāo)幀。此時(shí),信標(biāo)幀中的Nxt字段也需要在重發(fā)時(shí)相應(yīng)的更新。發(fā)送完信標(biāo)幀之后,R會(huì)持續(xù)監(jiān)聽信道一段時(shí)間Tbt,如果有數(shù)據(jù)幀過來,則接收數(shù)據(jù)幀,否則,轉(zhuǎn)入睡眠狀態(tài)。Tbt可以表示為:
其中,TMax_tr為R最大傳輸范圍之內(nèi)的最大傳輸延遲;TSIFS為短幀間間隔的持續(xù)時(shí)間。
任何節(jié)點(diǎn)收到節(jié)點(diǎn)R的信標(biāo)幀之后,就會(huì)根據(jù)信標(biāo)幀中的Nxt字段來估算R下一次被喚醒的時(shí)間t'w,并在自己的鄰居列表里搜索R的匹配項(xiàng)。有關(guān)t'w的估算,將在下一小節(jié)詳細(xì)描述。如果相應(yīng)的記錄已經(jīng)存在,則需要更新相應(yīng)的t'w;否則,就在鄰居列表中相應(yīng)的增加R的記錄。
現(xiàn)假設(shè)節(jié)點(diǎn)S要給鄰居節(jié)點(diǎn)R發(fā)送數(shù)據(jù)。S首先在自己的鄰居列表中查找R的匹配項(xiàng)。如果存在R的匹配項(xiàng),則從對(duì)應(yīng)的鄰居節(jié)點(diǎn)記錄中獲得R下一次喚醒的時(shí)間t'w。若t'w大于當(dāng)前時(shí)間,即R下一次被喚醒的時(shí)間還沒到,則S保持睡眠狀態(tài),并在t'w時(shí)刻醒來進(jìn)入空閑偵聽狀態(tài),等待R的信標(biāo)幀;而當(dāng)當(dāng)前時(shí)間超過了t'w,則表明R對(duì)應(yīng)的記錄已經(jīng)過時(shí),則S必須馬上醒來并進(jìn)入空閑偵聽狀態(tài)以等待R的下一個(gè)信標(biāo)幀。如果S在鄰居列表中找不到R的匹配項(xiàng),說明S目前沒有任何有關(guān)R的信息,因此,S也必須馬上醒來并進(jìn)入空閑偵聽狀態(tài)以等待R的信標(biāo)幀。
R在收到S的數(shù)據(jù)幀之后,會(huì)響應(yīng)一個(gè)Dst字段為S的信標(biāo)幀。該信標(biāo)幀具有兩個(gè)作用:首先是對(duì)剛剛接收到的數(shù)據(jù)幀的確認(rèn),其次是對(duì)下一次數(shù)據(jù)傳輸?shù)恼埱?。信?biāo)幀的Dst字段僅對(duì)于S是有意義的,是對(duì)剛才S發(fā)送的數(shù)據(jù)幀的確認(rèn);而R的其余鄰居節(jié)點(diǎn)都會(huì)忽略Dst字段,而將該確認(rèn)信標(biāo)幀視為普通的數(shù)據(jù)請求信標(biāo)幀。如圖4所示。
圖4 捎帶確認(rèn)的信標(biāo)幀
傳感器網(wǎng)絡(luò)中每個(gè)節(jié)點(diǎn)的時(shí)間信息都是由節(jié)點(diǎn)自身的晶體振蕩器產(chǎn)生的本地時(shí)鐘維護(hù)的。由于不同的晶體振蕩器之間或多或少會(huì)存在著頻率偏差,因此,傳感器網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)的時(shí)鐘之間都存在著漂移。接收到信標(biāo)幀的節(jié)點(diǎn)必須根據(jù)信標(biāo)幀的Nxt字段,來估算在自己的時(shí)鐘頻率下,信標(biāo)幀源節(jié)點(diǎn)下一次被喚醒的時(shí)間t'w。
假設(shè)節(jié)點(diǎn)S收到了來自節(jié)點(diǎn)R的信標(biāo)幀。令ttr為R發(fā)送前導(dǎo)碼第一個(gè)比特時(shí)的時(shí)間戳。為了盡量縮短關(guān)鍵路徑的長度,ttr已經(jīng)去除了信標(biāo)幀在節(jié)點(diǎn)R的處理延遲和MAC層的訪問延遲,如圖5所示。而tr是S接收完整個(gè)信標(biāo)幀后的時(shí)間戳。在忽略信標(biāo)幀傳播延遲Tt的情況下(假設(shè)兩個(gè)節(jié)點(diǎn)相距200 m,由此而產(chǎn)生的傳播延遲僅為0.67 μs。若每個(gè)節(jié)點(diǎn)的最大頻率偏差θ為0.03‰,則兩個(gè)節(jié)點(diǎn)每秒鐘產(chǎn)生的最大時(shí)鐘漂移為60 μs,遠(yuǎn)大于傳播延遲。所以,忽略傳播延遲是可行的。),節(jié)點(diǎn)S與節(jié)點(diǎn)R之間的時(shí)間偏差TΔ為:
圖5 喚醒時(shí)間的估算
其中,n為整個(gè)信標(biāo)幀的長度;Tb為無線接口發(fā)送一個(gè)比特所需的時(shí)間。由此,節(jié)點(diǎn)S就可以估算出節(jié)點(diǎn)R下一次被喚醒的時(shí)間t'w:
式中,我們已經(jīng)考慮了由于頻偏而引入的R相對(duì)于S的最大時(shí)間提前量2θTNxt。之所以考慮提前量,而不考慮滯后,是為了確保S能夠在R被喚醒之前已經(jīng)進(jìn)入空閑偵聽狀態(tài)。
為了驗(yàn)證PA-MAC的性能,我們通過網(wǎng)絡(luò)仿真對(duì)PA-MAC以及RI-MAC進(jìn)行了比較。仿真平臺(tái)采用了2.29版的NS2,仿真參數(shù)見表1。無線信道傳播模型則結(jié)合了自由空間傳播模型與雙線地面反射模型。仿真的網(wǎng)絡(luò)場景如圖6所示。這是一個(gè)包含了25個(gè)節(jié)點(diǎn)的二維網(wǎng)絡(luò),其中的節(jié)點(diǎn)表示為Ni(i=0,1,2,…,24)。節(jié)點(diǎn)被規(guī)則地布放成一個(gè) 5×5的方陣,同行或同列相鄰的節(jié)點(diǎn)之間間距設(shè)置為150 m。所有節(jié)點(diǎn)的調(diào)度信息都是隨機(jī)產(chǎn)生的,并在網(wǎng)絡(luò)運(yùn)行期間動(dòng)態(tài)的進(jìn)行維護(hù)。網(wǎng)絡(luò)從第10 s開始產(chǎn)生3個(gè)CBR業(yè)務(wù):從N0到N24,從N2到N15,以及從N4到N20。網(wǎng)絡(luò)持續(xù)運(yùn)行1 000 s。由于仿真的目的在于驗(yàn)證PA-MAC的性能,因此,為了減少其他因素的干擾,我們采用了NOAH[15]作為路由協(xié)議,并人為規(guī)定了相應(yīng)的路由。
圖6 5×5的二維網(wǎng)絡(luò);箭頭線表示數(shù)據(jù)報(bào)的傳輸路徑
表1 仿真參數(shù)
第一組實(shí)驗(yàn)中,每個(gè)節(jié)點(diǎn)的原始周期持續(xù)時(shí)間Tduty都為10 s,而CBR業(yè)務(wù)的包到達(dá)間隔從1 s開始以1 s的幅度遞增,直到10 s為止。對(duì)于每種包到達(dá)間隔,分別使用10個(gè)不同的種子運(yùn)行仿真,取其平均值作為觀察數(shù)據(jù)。圖7則給出了在不同包到達(dá)間隔下,整個(gè)網(wǎng)絡(luò)的平均能耗、CBR數(shù)據(jù)報(bào)平均端到端延遲、成功接收的CBR數(shù)據(jù)包數(shù)量以及網(wǎng)絡(luò)平均占空比。從圖7(a)中可以看到,當(dāng)包到達(dá)間隔越大,即網(wǎng)絡(luò)越空閑,節(jié)點(diǎn)的能耗與網(wǎng)絡(luò)的平均能耗越小。這是因?yàn)橐l(fā)送的數(shù)據(jù)越少,則處于休眠狀態(tài)的時(shí)間也越長,即節(jié)點(diǎn)的占空比越低,如圖7(d)所示。實(shí)驗(yàn)結(jié)果表明,采用PA-MAC,整個(gè)網(wǎng)絡(luò)的平均能耗能節(jié)省10%以上,占空比降低18%左右,而CBR數(shù)據(jù)報(bào)的端到端延遲與成功接收的CBR數(shù)據(jù)包數(shù)量則基本保持不變。另外,實(shí)驗(yàn)結(jié)果也反映出了PA-MAC的低占空比特性。對(duì)于參與數(shù)據(jù)傳輸次數(shù)少,或者幾乎不參與數(shù)據(jù)傳輸?shù)墓?jié)點(diǎn),由于其工作狀態(tài)持續(xù)的時(shí)間僅僅是極短的發(fā)送一個(gè)信標(biāo)幀,等待Tbt并轉(zhuǎn)入睡眠的時(shí)間,因此它們的占空比僅為大約0.1%甚至更小。圖8所示的是當(dāng)包到達(dá)間隔為10 s,節(jié)點(diǎn)周期持續(xù)時(shí)間為10 s時(shí),25個(gè)節(jié)點(diǎn)的占空比。
圖7 不同包到達(dá)間隔下,PA-MAC與RI-MAC的性能比較
圖8 包到達(dá)間隔為10 s,節(jié)點(diǎn)周期持續(xù)時(shí)間為10 s時(shí),25個(gè)節(jié)點(diǎn)的占空比
第二組實(shí)驗(yàn),我們將CBR業(yè)務(wù)的包到達(dá)間隔設(shè)置為常數(shù),即10 s。而每個(gè)節(jié)點(diǎn)的原始周期持續(xù)時(shí)間Tduty從1 s開始以1 s的幅度遞增,直到10 s為止。其余設(shè)置與第一組實(shí)驗(yàn)相同。圖9給出了在不同的原始周期長度下,整個(gè)網(wǎng)絡(luò)的平均能耗、CBR數(shù)據(jù)報(bào)平均端到端延遲、成功接收的CBR數(shù)據(jù)包數(shù)量以及網(wǎng)絡(luò)平均占空比。從圖9可以看到,節(jié)點(diǎn)的周期長度越大,則節(jié)點(diǎn)被喚醒的頻率越低,因此占空比也越小,能耗越小;但代價(jià)是數(shù)據(jù)報(bào)的端到端延遲越大。實(shí)驗(yàn)結(jié)果表明,采用PA-MAC,當(dāng)周期長度大于2 s時(shí),整個(gè)網(wǎng)絡(luò)的平均能耗也能節(jié)省10%以上,占空比降低18%左右,而CBR數(shù)據(jù)報(bào)的端到端延遲與成功接收的CBR數(shù)據(jù)包數(shù)量則基本保持不變。
圖9 不同周期長度下,PA-MAC與RI-MAC的性能比較
本文在 RI-MAC的基礎(chǔ)上,提出了 PA-MAC。PA-MAC通過在信標(biāo)幀中攜帶節(jié)點(diǎn)下一喚醒時(shí)刻信息,使得數(shù)據(jù)幀的發(fā)送節(jié)點(diǎn)能夠在接收節(jié)點(diǎn)被喚醒時(shí)及時(shí)地從休眠狀態(tài)醒來,等待信標(biāo)幀的到來。仿真結(jié)果表明,在保持網(wǎng)絡(luò)性能的前提下,PA-MAC能夠降低節(jié)點(diǎn)工作的占空比,進(jìn)而減少節(jié)點(diǎn)的能耗。在下一步工作中,我們將在 TinyOS上實(shí)現(xiàn) PAMAC,并用于實(shí)際網(wǎng)絡(luò)的測試。PA-MAC的廣播性能也使我們下一階段工作的關(guān)注重點(diǎn)。
致謝
本文得到了國家自然科學(xué)基金面上項(xiàng)目(項(xiàng)目號(hào):60971008)的資助。同時(shí),非常感謝Sun Yanjun博士及其科研團(tuán)隊(duì)為我們提供了非常有價(jià)值的論文!
[1]蹇強(qiáng),龔正虎,朱培棟,等.無線傳感器網(wǎng)絡(luò)MAC協(xié)議研究進(jìn)展[J],軟件學(xué)報(bào),2008,19(2):389 -403.
[2]Demirkol I,Ersoy C,Alagoz F.MAC Protocols for Wireless Sensor Networks:a Survey[J].IEEE Communications Magazine,2006,44(4):115-121.
[3]Wei Ye,John Heidemann,Deborah Estrin.An Energy-Efficient MAC Protocol for Wireless Sensor Networks[C]//Proceedings of the 21th Annual IEEE Conference on Computer Communications(Infocom 2002),New York,USA,June,2002,23(27):1567 -1576.
[4]Wei Ye,John Heidemann,Deborah Estrin.Medium Access Control With Coordinated Adaptive Sleeping for Wireless Sensor Networks[J],IEEE/Acm Transactions on Networking,2004,12,(3):493-506.
[5]van Dam Tijs,Koen Langendoen.An Adaptive Energy-Efficient MAC Protocol for Wireless Sensor Networks[C]//Proceedings of Conference On Embedded Networked Sensor Systems(Sensys 2003),Los Angeles,California,USA,2003,5(7):171 -180.
[6]Du Shu,Amit Kumar Saha,David B Johnson.RMAC:A Routing-Enhanced Duty-Cycle MAC Protocol for Wireless Sensor Networks[C]//Proceedings of the 26th Annual IEEE Conference on Computer Communications(INFOCOM 2007),Anchorage,Alaska,USA,May,2007,6(12):1478 -1486.
[7]Sun Yanjun,Du Shu,Omer Gurewitz,et al.DW-MAC:A Low Latency,Energy Efficient Demand-Wakeup MAC Protocol for Wireless Sensor Networks[C]//Proceedings of the Ninth ACM International Symposium on Mobile Ad Hoc Networking and Computing(MobiHoc 2008),Hong Kong,SAR,China,May,2008,27(30):53 -62.
[8]Sun Yanjun,Omer Gurewitz,David B Johnson.RI-MAC:A Receiver Initiated Asynchronous Duty Cycle MAC Protocol for Dynamic Traffic Loads in Wireless Sensor Networks[C]//Proceedings of the 6th International Conference on Embedded Networked Sensor Systems(SenSys 2008),Raleigh,NC,USA,2008,5 -7.
[9]胡四泉,王俊峰.無線傳感器網(wǎng)絡(luò)的智能低功耗偵聽協(xié)議[J].通信學(xué)報(bào),2009,30(9):95 -101.
[10]Pak Wooguil,Cho Kyong-Tak,Lee Jeongjoon,et al.W-MAC:Supporting Ultra Low Duty Cycle in Wireless Sensor Networks[C]//Proceeding of Global Telecommunications Conference(GLOBECOM 2008),New Orleans,LA,USA,2008,30(4):1 -5.
[11]Joseph Polastre,Jason Hill,and David Culler.Versatile Low Power Media Access for Wireless Sensor Networks[C]//Proceedings of the Second International Conference on Embedded Networked Sensor Systems(SenSys 2004),Baltimore,Maryland,USA,2004,3(5):95-107.
[12]Michael Buettner,Gary V Yee,Eric Anderson,et al.X-MAC:A Short Preamble MAC Protocol for Duty-Cycled Wireless Sensor Networks[C]//Proceedings of the 4th International Conference on Embedded Networked Sensor Systems(SenSys 2006),Boulder,Colorado,USA,2006,31(3):307 -320.
[13]Amre El-Hoiydi,Jean-Dominique Decotignie.WiseMAC:An Ultra Low Power MAC Protocol for Multi-hop Wireless Sensor Networks[J].Lecture Notes in Computer Science,2004,3121:18 -31.
[14]The ns Manual[EB/OL],http://www.isi.edu/nsnam/ns/doc/index.html,2010,8.
[15]NO Ad-Hoc Routing Agent(NOAH)[EB/OL],http://icapeople.epfl.ch/widmer/uwb/ns-2/noah/,2010,8.