摘 要: 在無線傳感器網(wǎng)絡(luò)中,基于競爭的S-MAC協(xié)議存在無法使節(jié)點的活動時間根據(jù)通信負載動態(tài)變化以及節(jié)點休眠帶來的延遲問題。本文結(jié)合T-MAC協(xié)議和D-MAC協(xié)議,提出了自己針對這些問題的改進方法。仿真結(jié)果證明,提出的改進方法不僅能夠使節(jié)點的活動時間適應(yīng)通信負載的動態(tài)變化,還能夠極大地減少節(jié)點休眠帶來的延遲。
關(guān)鍵詞 : S-MAC ; 通信負載;延遲 ; NS-2
1 引言
隨著計算機、傳感器和無線通信的發(fā)展,出現(xiàn)了一種新興的計算機網(wǎng)絡(luò)——無線傳感器網(wǎng)絡(luò)[1] 。由于其廣泛的應(yīng)用前景,無線傳感器網(wǎng)絡(luò)受到越來越多研究人員的青睞。介質(zhì)訪問控制(MAC)協(xié)議決定了無線信道使用的方式,在傳感器結(jié)點之間分配有限的通信資源,用來構(gòu)建傳感器網(wǎng)絡(luò)系統(tǒng)的底層基礎(chǔ)結(jié)構(gòu)。MAC協(xié)議對傳感器網(wǎng)絡(luò)的性能有較大影響,是保證無線傳感器網(wǎng)絡(luò)高效通信的關(guān)鍵網(wǎng)絡(luò)協(xié)議之一。
S-MAC [2]協(xié)議是一種典型的基于競爭的隨機訪問MAC協(xié)議,它是建立在IEEE802.11MAC[3] 協(xié)議的基礎(chǔ)上,針對傳感器網(wǎng)絡(luò)的節(jié)省能量需求而提出來的傳感器網(wǎng)絡(luò)MAC協(xié)議。該協(xié)議具有良好的擴展性,不要求嚴(yán)格的時間同步,但是它也存在著節(jié)點活動時間無法根據(jù)通信負載動態(tài)變化以及節(jié)點休眠帶來的延遲問題。
本文首先解析了S-MAC協(xié)議采用的機制,指出其存在的問題,然后結(jié)合T-MAC協(xié)議和D-MAC協(xié)議,提出了改進方法。最后通過仿真分析,證明了改進后的方法能使節(jié)點活動時間靈活的適應(yīng)網(wǎng)絡(luò)通信負載的變化,進一步節(jié)省了能量,同時能在很大程度上減少節(jié)點休眠產(chǎn)生的延遲。
2 S-MAC協(xié)議采用機制解析
S-MAC協(xié)議是一種基于競爭的控制協(xié)議,它主要采用以下機制:
“虛擬簇”機制:每個節(jié)點在每個時隙開始的時候廣播含有自己調(diào)度信息的同步數(shù)據(jù)包,接受到同步數(shù)據(jù)包的節(jié)點按需要調(diào)整時鐘。這樣具有相同調(diào)度的節(jié)點形成一個“虛擬簇”。原則上整個網(wǎng)絡(luò)應(yīng)該工作在同一“時隙結(jié)構(gòu)”,但是由于移動性和時隙調(diào)度機制,在網(wǎng)絡(luò)中可包含許多“虛擬簇”。
周期性活動和休眠機制:S-MAC協(xié)議將時間劃分為多個幀,每個幀由兩部分構(gòu)成:活動狀態(tài)和休眠狀態(tài)。在活動狀態(tài)節(jié)點和相鄰節(jié)點進行通信,接收或發(fā)送數(shù)據(jù),活動狀態(tài)通常固定在300ms。在休眠狀態(tài)節(jié)點將其發(fā)射接收器關(guān)閉,以此減少能量的損耗,如果此時有數(shù)據(jù)要處理,就被緩存起來,等到節(jié)點處于活動狀態(tài)再處理,通過周期性的活動/休眠大大減少了空閑監(jiān)聽造成的能量損耗。
3 S-MAC協(xié)議存在問題
S-MAC協(xié)議采用周期性的活動/休眠調(diào)度機制,活動時間通常是固定不變的,而消息速率是變化的,協(xié)議處于活動狀態(tài)的時間長度不能根據(jù)網(wǎng)絡(luò)中業(yè)務(wù)量的變化動態(tài)調(diào)整,不能有效的節(jié)省能量。
通信模塊處于休眠狀態(tài)的節(jié)點,如果檢測到事件,就必須等到通信模塊轉(zhuǎn)換到活動周期才能發(fā)送數(shù)據(jù),中間節(jié)點要轉(zhuǎn)發(fā)數(shù)據(jù)時,下一跳節(jié)點可能處于休眠狀態(tài),此時也必須等到它轉(zhuǎn)換到活動周期,這種由于節(jié)點休眠帶來的延遲會隨著路徑上跳數(shù)的增加成比例增加。
4 S-MAC協(xié)議的改進
針對無線傳感器網(wǎng)絡(luò)S-MAC協(xié)議存在無法使節(jié)點的活動時間根據(jù)通信負載動態(tài)變化以及節(jié)點休眠帶來的延遲問題,我們首先分析一下T-MAC協(xié)議和D-MAC協(xié)議對它的改進,然后再提出自己的改進方法。
T-MAC協(xié)議主要是針對S-MAC協(xié)議活動時間固定、無法適應(yīng)通信負載變化的問題而提出來的。它在保持周期長度不變的基礎(chǔ)上,根據(jù)通信流量動態(tài)地調(diào)整活動時間。處在活動狀態(tài)的節(jié)點,如果在一個給定時間TA內(nèi)沒有發(fā)生周期時間定時器溢出或感知網(wǎng)絡(luò)發(fā)生沖突,就結(jié)束活動狀態(tài),進入休眠狀態(tài),但是引入了早睡問題。
D-MAC協(xié)議主要是針對節(jié)點休眠帶來的延遲問題而提出來得。它采用交錯調(diào)度機制,將節(jié)點周期劃分為接收時間、發(fā)送時間和休眠時間。其中接受時間和發(fā)送時間相等,均為發(fā)送一個數(shù)據(jù)分組的時間。每個節(jié)點的調(diào)度具有不同的偏移,下層節(jié)點的發(fā)送時間對應(yīng)上層節(jié)點的接收時間。這樣數(shù)據(jù)能夠連續(xù)地從數(shù)據(jù)源節(jié)點傳送到匯聚節(jié)點,減少了傳輸延遲,但是D-MAC協(xié)議需要嚴(yán)格的時間同步。
結(jié)合T-MAC協(xié)議和D-MAC協(xié)議各自的優(yōu)缺點,下面提出了自己對S-MAC協(xié)議的改進方法,改進后的S-MAC協(xié)議機制如圖1所示:
[align=center]
圖1 S-MAC改進[/align]
節(jié)點周期仍然劃分為活動時間和休眠時間兩部分,活動時間和休眠時間都不是固定的。在改進后的協(xié)議中節(jié)點周期性喚醒進行監(jiān)聽,如果在Δt時間內(nèi)沒有發(fā)生任何一個激活事件,則提前結(jié)束活動周期,減少能量的損耗。激活事件為:感知網(wǎng)絡(luò)上發(fā)生沖突;周期的幀定時器打開;傳送數(shù)據(jù)結(jié)束,等待對方發(fā)送確認(rèn)信息;監(jiān)聽網(wǎng)絡(luò)上的RTS和CTS數(shù)據(jù)包,與相鄰節(jié)點進行數(shù)據(jù)交換。每個節(jié)點的調(diào)度具有不同的偏移,下層節(jié)點的活動時間和上層節(jié)點的活動時間相對應(yīng),這樣當(dāng)下層節(jié)點有數(shù)據(jù)需要發(fā)送給目的節(jié)點或從目的節(jié)點接收數(shù)據(jù)時,它就能夠及時迅速的和上層鄰居節(jié)點進行數(shù)據(jù)傳遞,最終像爬樓梯或下樓一樣到達目的節(jié)點,這樣大大減少了節(jié)點休眠帶來的延遲問題。改進后的S-MAC協(xié)議采用ACK應(yīng)答機制,發(fā)送節(jié)點如果沒有收到ACK應(yīng)答,要在下一個發(fā)送時間重發(fā)。節(jié)點正確接收到數(shù)據(jù)后,立刻發(fā)送ACK消息給發(fā)送數(shù)據(jù)的節(jié)點。為了減少發(fā)送數(shù)據(jù)產(chǎn)生的沖突,節(jié)點在等待固定的后退時間后,在沖突窗口內(nèi)隨機選擇發(fā)送等待時間。
此外采用自適應(yīng)占空比機制,根據(jù)網(wǎng)絡(luò)流量變化動態(tài)調(diào)整整條路徑上節(jié)點的活動時間。當(dāng)傳輸?shù)臄?shù)據(jù)量比較大時,節(jié)點可能需要在一個發(fā)送周期內(nèi)發(fā)送多個分組,此時需要增加節(jié)點的占空比,并請求傳輸路徑上的節(jié)點也相應(yīng)的增加占空比。通過在傳輸路徑上進行逐跳預(yù)約,能夠大大提高網(wǎng)絡(luò)的數(shù)據(jù)傳輸率。
5 仿真分析
本文采用了由UC Berkeley 開發(fā)的、面向?qū)ο蟮?、離散事件驅(qū)動的網(wǎng)絡(luò)環(huán)境模擬器NS-2對改進的S-MAC協(xié)議進行了仿真,也可以用TOSSIM作為無線傳感器網(wǎng)絡(luò)仿真環(huán)境[4]。NS-2這種仿真軟件以腳本作為輸入,腳本描述了網(wǎng)絡(luò)拓撲結(jié)構(gòu)、網(wǎng)絡(luò)協(xié)議、網(wǎng)絡(luò)負載,以及一些控制參數(shù)。NS-2輸出的是一系列的數(shù)據(jù),如每個數(shù)據(jù)源所發(fā)送的數(shù)據(jù)包數(shù)量,每個網(wǎng)絡(luò)節(jié)點處的延遲等等。
在仿真實驗中我們對原S-MAC協(xié)議和改進的S-MAC協(xié)議分別收集以下性能評價參數(shù)來比較分析:能量開銷和延遲,根據(jù)消耗的能量多少來判斷活動時間是否改進。其定義分別為:
能量開銷(energy overhead):從源點到目的節(jié)點發(fā)送一定數(shù)量的包的總的花費。
延遲(latency):傳輸一個包端到端的時延。
仿真中有關(guān)參數(shù)設(shè)置如下:
無線設(shè)備帶寬100kbps,傳輸范圍250m,干擾范圍550m,包長度100字節(jié),傳輸功率0.66瓦,接收功率0.395瓦,空閑監(jiān)聽時耗電0.35瓦,休眠時耗電忽略不計設(shè)為0。根據(jù)無線參數(shù)和包的長度,S-MAC協(xié)議的活動時間設(shè)為20ms。改進后的S-MAC協(xié)議的活動時間不固定,受其周圍環(huán)境和鄰居節(jié)點收發(fā)數(shù)據(jù)的影響,其值應(yīng)小于20ms。
下面在簡單的多跳鏈?zhǔn)酵負浣Y(jié)構(gòu)和隨機分布的拓撲結(jié)構(gòu)中分別進行仿真。
為了在一個相對可靠的環(huán)境下研究驗證S-MAC協(xié)議改進后的性能,我們首先在一個簡單多跳的、11個節(jié)點組成的鏈?zhǔn)酵負溥壿嫿Y(jié)構(gòu)中進行測試。鄰居節(jié)點的距離被配置為100米。
模擬結(jié)果如圖2所示:
[align=center]
圖2.1 能量分析
圖2.2延遲分析[/align]
圖2.1描述了多跳鏈?zhǔn)酵負浣Y(jié)構(gòu)中S-MAC協(xié)議和改進后的S-MAC協(xié)議在能量開銷上的對比,兩種MAC協(xié)議的能量開銷都隨著跳數(shù)的增加而增加。從圖2.1看出當(dāng)跳數(shù)增大到5以后,改進后的S-MAC協(xié)議幾乎比原來的S-MAC節(jié)省了近一半的能量。因為改進后的S-MAC協(xié)議的活動時間根據(jù)通信量的多少變化,原S-MAC協(xié)議對一些不是下一跳的節(jié)點也發(fā)送數(shù)據(jù)包,占用了額外的活動時間,造成了能量的浪費。
為了驗證改進后的S-MAC協(xié)議在減少節(jié)點休眠延遲方面的能力,我們測量在輕負載的情況下數(shù)據(jù)包端到端的延遲。圖2.2顯示了在不同跳數(shù)情況下的模擬結(jié)果,改進后的S-MAC協(xié)議比原來的S-MAC 協(xié)議在延遲方面有明顯好轉(zhuǎn),特別是在4跳以后,改進后的S-MAC協(xié)議比原來減少了大約60%的延遲。因為采用交錯調(diào)度機制使數(shù)據(jù)能夠連續(xù)的從源節(jié)點傳送到目的節(jié)點,減少節(jié)點的休眠帶來的傳輸延遲。
議改進后的效果。50個節(jié)點隨機的配置在100*500m2的區(qū)域,我們通過在網(wǎng)絡(luò)邊緣的節(jié)點中隨機選擇來改變源節(jié)點的數(shù)目,所有的源節(jié)點每3秒產(chǎn)生一條消息。
[align=center]
圖3.1 能量分析
圖3.2 延遲分析[/align]
圖3.1和3.2分別在能量和延遲方面對S-MAC協(xié)議及其改進后的協(xié)議進行分析。這是在更為真實復(fù)雜的環(huán)境下對協(xié)議進行的仿真。從圖3.1可以看出原S-MAC協(xié)議隨著源節(jié)點數(shù)目的增加,消耗的能量線性上升,而改進后的S-MAC協(xié)議能量消耗的曲線近似平滑直線,大致在500焦耳左右。圖3.2反映了改進前后的S-MAC協(xié)議延遲的對比,隨著源節(jié)點數(shù)目的增加干擾增加,導(dǎo)致原S-MAC延遲的不斷增加,在36個源節(jié)點的時候延遲達到2.7s,而改進后的S-MAC協(xié)議因為使數(shù)據(jù)連續(xù)傳輸受干擾較小,最大延遲只有1.6s。
6 結(jié)束語
本文對無線傳感器網(wǎng)絡(luò)S-MAC協(xié)議進行了深入的分析,指出了S-MAC協(xié)議存在的問題,然后結(jié)合無線傳感器網(wǎng)絡(luò)T-MAC協(xié)議和D-MAC協(xié)議,提出了自己的改進方法。通過仿真分析,結(jié)果表明該方法有效地減少了節(jié)點空閑監(jiān)聽造成的能量損耗,緩解了節(jié)點休眠引起的傳輸延遲問題,改進效果明顯,具有實際意義。
參考文獻
[1] Akyildiz LF, Su WL, Sankarasubramaniam Y, Cayirci E. A survey on sensor networks[J]. IEEE Communications Magazine, 2002, 40(8):102~114.
[2] Ye W, Heidemann J , Estrin D.An energy-efficient MAC protocol for wireless sensor network[C] . In: Proc 21st Int’l Annual Joint Conf IEEE Computer and Communication Societics (INFOCOM 2002),New York ,NY, June 2002
[3] IEEE802.11 Wireless LAN Medium Access Control and Physical Layer Specifications[S],1997
[4] 袁紅林,徐晨,章國安. TOSSIM:無線傳感器網(wǎng)絡(luò)仿真環(huán)境[J].微計算機信息,2006,7-1:154-156