一種多信道混合方式的無線傳感器網(wǎng)絡(luò)MAC協(xié)議
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引言
隨著人們對(duì)周圍信息的需求不斷增大,無線傳感器網(wǎng)絡(luò)會(huì)被應(yīng)用到各種環(huán)境之中。無線傳感器網(wǎng)絡(luò)所承載的信息也會(huì)也來越多,對(duì)網(wǎng)絡(luò)的實(shí)時(shí)性及帶寬會(huì)要求更高。由于無線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)是由電池供電,能量有限,為了維持節(jié)點(diǎn)較長的生命周期,很多MAC協(xié)議忽視了網(wǎng)絡(luò)對(duì)實(shí)時(shí)性及帶寬的需求。事實(shí)上,必須重新考慮協(xié)議的設(shè)計(jì),使網(wǎng)絡(luò)既能保持較長的生命周期,又能減少延遲,兼顧實(shí)時(shí)性和吞吐量。
1相關(guān)工作
目前的無線傳感器網(wǎng)絡(luò)MAC協(xié)議按信道類型分為單信道與多信道。單信道類型的MAC協(xié)議的所有節(jié)點(diǎn)都在一個(gè)信道上,節(jié)點(diǎn)要監(jiān)聽信道的狀態(tài),在信道空閑時(shí)傳輸數(shù)據(jù)。而多信道則將一個(gè)頻段分為多個(gè)小的信道,節(jié)點(diǎn)可以有選擇地選擇其中的一個(gè)或多個(gè)進(jìn)行數(shù)據(jù)接收與傳送。這樣就可以在一個(gè)時(shí)間片槽內(nèi)傳輸多路信息,提高了網(wǎng)絡(luò)的帶寬與吞吐率。顯然,多信道的協(xié)議設(shè)計(jì)更能滿足網(wǎng)絡(luò)對(duì)數(shù)據(jù)傳輸量的需要。
無線傳感器網(wǎng)絡(luò)的MAC協(xié)議的信道訪問策略主要有基于競爭的方式、基于調(diào)度的方式以及混合的方式。競爭方式的協(xié)議簡單,利于實(shí)現(xiàn),不需要全局網(wǎng)絡(luò)信息,拓展性良好,但節(jié)點(diǎn)需要監(jiān)聽信道的狀態(tài),長時(shí)間的無用的監(jiān)聽浪費(fèi)了節(jié)點(diǎn)的能量。基于調(diào)度的方式可以分時(shí)槽地進(jìn)行數(shù)據(jù)傳輸,減少了無用的監(jiān)聽及數(shù)據(jù)的沖突,節(jié)省了能量,但基于調(diào)度式的方法實(shí)現(xiàn)復(fù)雜,需要時(shí)間同步,拓展性不好。而混合了兩種方式的混合協(xié)議可以吸取它們雙方的優(yōu)點(diǎn),再通過適當(dāng)?shù)慕M合方式盡量減小它們的弱點(diǎn)對(duì)網(wǎng)絡(luò)性能的影響。
在無線傳感器網(wǎng)絡(luò)領(lǐng)域,S-MAC協(xié)議是最為經(jīng)典的基于競爭方式的MAC協(xié)議。S-MAC協(xié)議采用了睡眠周期的方式來節(jié)省能量,極大地提高了網(wǎng)絡(luò)節(jié)點(diǎn)的生存周期。之后的T-MAC協(xié)議在S-MAC協(xié)議的基礎(chǔ)上調(diào)整了睡眠周期的時(shí)間長度,使睡眠周期隨著網(wǎng)絡(luò)狀態(tài)可變,提高了節(jié)點(diǎn)的能量利用^adjustE0E1E2E3Sleep效率。EM-MAC是一種多信道的基于調(diào)度方式的MAC協(xié)議,它采用接收端初始化與提前喚醒的調(diào)度方式,節(jié)省了能量。ZMAC是一種結(jié)合CSMA與TDMA方式的混合協(xié)議。在網(wǎng)絡(luò)低負(fù)載時(shí),采用CSMA的方式,提高信道利用率,減少時(shí)延。在高負(fù)載時(shí),采用TDMA的方式,減少對(duì)信道的過度競爭產(chǎn)生的沖突與擁塞。IEEE802.15.4定義的MAC協(xié)議也是一種典型的混合方式的MAC協(xié)議,它在超幀的狀態(tài)下將工作周期分為兩個(gè)階段,即信道競爭接入階段(ContentionAccessPeriod)和信道非競爭階段(ContentionFreePeriod)。這種幀格式的方法較為靈活。
2協(xié)議設(shè)計(jì)
2.1幀結(jié)構(gòu)
本協(xié)議借鑒IEEE802.15.4的超幀格式,將超幀分為三個(gè)階段,分別為信標(biāo)階段(Beacon)、活躍階段(Active)和睡眠階段(Sleep)。在信標(biāo)階段,匯聚節(jié)點(diǎn)廣播信標(biāo)數(shù)據(jù)包。在活躍階段里,又分為兩個(gè)周期,為競爭訪問周期(ContentionAccessPeriod,CAP)和調(diào)度訪問周期(ScheduledAccessPeriod,SAP)。在競爭訪問周期,采用帶沖突避免的載波監(jiān)聽多路訪問(CSMA/CA)的方式接入信道。在調(diào)度訪問周期,采用時(shí)分多路訪問(TDMA)的方式接入。超幀結(jié)構(gòu)示意圖如圖1所示。
圖1超幀結(jié)構(gòu)示意圖
信標(biāo)幀在超幀的最前端,標(biāo)志著超幀的起始界限。本協(xié)議的信標(biāo)幀除了包括自身的基本信息,如地址(Add)、類型(Type)、長度(Len)和校驗(yàn)信息(CRC)外,還攜帶了多樣的控制信息(ControlMessages),減少了節(jié)點(diǎn)發(fā)送數(shù)據(jù)包的數(shù)量,降低了數(shù)據(jù)沖突的概率,節(jié)省了能量。信標(biāo)幀包含了競爭訪問周期分配長度(CAPAssignList)和調(diào)度訪問周期分配長度(SAPAssignList)及上次傳輸給匯聚節(jié)點(diǎn)的幀的確認(rèn)信息(ACKMessages)。另外,信標(biāo)幀還包含對(duì)活躍階段和睡眠階段的時(shí)間長度的動(dòng)態(tài)調(diào)整信息列表(AdjustMessagesList)。信標(biāo)幀的結(jié)構(gòu)示意圖如圖2所示。
2.2節(jié)點(diǎn)活躍與睡眠階段的動(dòng)態(tài)調(diào)整
無線傳感器網(wǎng)絡(luò)中的節(jié)點(diǎn)能量有限,所以采用工作與睡眠交替進(jìn)行的方式來節(jié)省能量。在活躍階段,節(jié)點(diǎn)感應(yīng)實(shí)時(shí)信息,并將感應(yīng)信息發(fā)送給匯聚節(jié)點(diǎn),同時(shí)節(jié)點(diǎn)也可以接收匯聚節(jié)點(diǎn)或其他節(jié)點(diǎn)發(fā)來的信息并進(jìn)行轉(zhuǎn)發(fā)。而在睡眠階段,節(jié)點(diǎn)則進(jìn)入到低功耗狀態(tài),不接收和發(fā)送信息。但是,在很多情況下固定地分配這兩種狀態(tài)的時(shí)長會(huì)影響節(jié)點(diǎn)發(fā)送數(shù)據(jù)的實(shí)時(shí)性,導(dǎo)致一些重要信息的延遲,因而需要進(jìn)行動(dòng)態(tài)的調(diào)整。
圖2信標(biāo)幀的結(jié)構(gòu)示意圖
在本協(xié)議中,用Tmm代表活躍階段的時(shí)長,T;ct,ve代表下一個(gè)工作周期活躍階段的時(shí)長,E。、E1、E,、E3分別代表感知事件。設(shè)置兩個(gè)參數(shù)Adjust和TPlan,分別代表兩個(gè)時(shí)間變量。初始時(shí),設(shè)定Tplan=0.3Tactive?Tadjust=0.2Tplan°對(duì)活躍和睡眠階段的動(dòng)態(tài)調(diào)整如圖3所示,在7Pian之外有感知事件E。、E1發(fā)生,但在TPlan之內(nèi)沒有感知事件發(fā)生。說明感知事件發(fā)送得較早,那么應(yīng)當(dāng)可以減小激活周期,節(jié)省能量,則在下一次的工作周期中T,active=Tactive-Tadjust°在^plan之內(nèi)有感知事件E2發(fā)生并且在Adjust之內(nèi)沒有感知事件發(fā)生,則說明感知事件正好在活躍周期內(nèi),下一次工作周期不做調(diào)整。在Adjust之內(nèi)有感知事件E3發(fā)生,說明活躍周期過短,有可能會(huì)錯(cuò)過一些感知事件,則Tactive=Tlctive+Tadjust,T,active=Tactive+Tldjust°同時(shí)也要對(duì)下一周期的Adjust進(jìn)行調(diào)整,保證感知事件的信息及時(shí)感應(yīng)并發(fā)送出去,所以,下一周期要滿足如下條件:
ust_^active—Tplan
^plan^active
按照這個(gè)比例調(diào)整,下一周期就會(huì)適當(dāng)調(diào)大Tadjust,不會(huì)錯(cuò)過在活躍階段邊緣的感知事件,保證網(wǎng)絡(luò)的實(shí)時(shí)性。
2.3信道狀態(tài)估計(jì)算法
本協(xié)議中,在發(fā)送數(shù)據(jù)前要對(duì)信道狀態(tài)有基本的估計(jì)。節(jié)點(diǎn)應(yīng)盡量在信道狀態(tài)較好的信道上進(jìn)行收發(fā)數(shù)據(jù),保證信息的及時(shí)到達(dá),減少重傳,達(dá)到節(jié)省能量與降低網(wǎng)絡(luò)時(shí)延的目的。在節(jié)點(diǎn)內(nèi)存中,通??梢酝ㄟ^維護(hù)一個(gè)信道狀態(tài)表來確定信道狀態(tài)。信道狀態(tài)分為兩類:好與壞。設(shè)置變量checknumber初始值為1,最大值為3。如果節(jié)點(diǎn)經(jīng)一個(gè)信道連續(xù)發(fā)送兩次信息都丟失,則checknumber減1:若連續(xù)發(fā)送成功5次,則加1。checknumber大于等于2,則信道狀態(tài)為好。checknumber小于等于0,則信道狀態(tài)為不好。如果checknumber為1,則采用馬爾科夫鏈的方式預(yù)測下一個(gè)信道狀態(tài)的好壞。
馬爾科夫鏈?zhǔn)菙?shù)學(xué)中具有馬爾科夫性質(zhì)的隨機(jī)過程。在給定當(dāng)前信息的情況下,過去(即當(dāng)期以前的歷史狀態(tài))對(duì)于預(yù)測將來(即當(dāng)期以后的未來狀態(tài))是無關(guān)的。這里設(shè)定信道狀態(tài)轉(zhuǎn)換概率為Pv,i表示當(dāng)前狀態(tài),j表示下一周期的信道狀態(tài)。x(t)表示在t時(shí)刻的信道狀態(tài),那么信道狀態(tài)概率可以記為:pi]=p{x(t)=i\x(t+\)=j}
這樣,根據(jù)信道的狀態(tài)空間E={0,1}(0代表信道狀態(tài)好,1代表信道狀態(tài)壞),就可以得到馬氏鏈的一步轉(zhuǎn)移矩陣:
PPooPoiP=IP10P111
前一周期信道狀態(tài)好,下一周期的信道狀態(tài)轉(zhuǎn)移概率為P0j=P{x(t)=0|x(t+1)=]}。前一周期信道狀態(tài)壞,下一周期的信道狀態(tài)轉(zhuǎn)移概率為P1j=P{x(t)=1|x(t+1)=]}。這樣就可以選擇較大的信道狀態(tài)轉(zhuǎn)移概率來對(duì)信道狀態(tài)進(jìn)行判斷,并更新矩陣的概率。
2.4多信道調(diào)度
在調(diào)度訪問周期,由于每個(gè)節(jié)點(diǎn)有多個(gè)信道,所以要讓兩個(gè)想要相互通信的節(jié)點(diǎn)在同一時(shí)刻的同一個(gè)信道上相遇,為此可以采用調(diào)度表的方式。首先在協(xié)議的初始化時(shí)期,所有節(jié)點(diǎn)在第一個(gè)信道采用競爭訪問的方式進(jìn)行收發(fā)信息。節(jié)點(diǎn)會(huì)采用將注冊(cè)信息發(fā)送給鄰居節(jié)點(diǎn),然后再轉(zhuǎn)發(fā)給匯聚節(jié)點(diǎn)。當(dāng)鄰居節(jié)點(diǎn)收到要轉(zhuǎn)發(fā)的注冊(cè)信息時(shí),會(huì)發(fā)送收到信息的確認(rèn)信息,那么節(jié)點(diǎn)就記住給它發(fā)送確認(rèn)信息的節(jié)點(diǎn)的標(biāo)示,找出自己的鄰居節(jié)點(diǎn)。然后此節(jié)點(diǎn)向所有的鄰居節(jié)點(diǎn)廣播自己的信道調(diào)度表。信道調(diào)度表有五項(xiàng)元素組成,分別是信道序號(hào)(Chan)、時(shí)槽序號(hào)(Time)、信道狀態(tài)(Status)、節(jié)點(diǎn)標(biāo)識(shí)號(hào)(NodelD)和表標(biāo)識(shí)號(hào)(TablelD)。在每一時(shí)刻的信道上,只允許兩個(gè)節(jié)點(diǎn)正在通信,所以在信道序號(hào)與時(shí)槽序號(hào)交叉的單元中最多可以存放兩個(gè)節(jié)點(diǎn)標(biāo)識(shí)號(hào)。信道調(diào)度表如表1所列,在Time1時(shí)槽,Chan1信道上,節(jié)點(diǎn)1和節(jié)點(diǎn)2進(jìn)行通信。
鄰居節(jié)點(diǎn)根據(jù)自己的調(diào)度表在空閑的時(shí)槽隨機(jī)選擇時(shí)槽及信道,并更新自己的調(diào)度表,然后將信道調(diào)度表發(fā)回源節(jié)點(diǎn)。如果在這一時(shí)槽及這一時(shí)槽的信道都為空閑,則節(jié)點(diǎn)返回成功信息,然后就可以按調(diào)度表通信。若在這一過程中有其他節(jié)點(diǎn)先搶占了信道或時(shí)槽,則節(jié)點(diǎn)再次發(fā)送更新的調(diào)度表,直至完成,則可以進(jìn)入調(diào)度訪問周期進(jìn)行通信。
表1信道調(diào)度表
TableID |
Chan1 |
Chan2 |
Chan3 , |
Chan16 |
Time1 |
1/2 |
Null |
Null |
Null |
Time2 |
Null |
2/6 |
Null |
Null |
Time20 |
Null |
Null |
Null |
1/3 |
status |
0 |
0 |
1 |
0 |
3仿真與實(shí)現(xiàn)
本文在NS-2平臺(tái)下,進(jìn)行了對(duì)本協(xié)議的仿真實(shí)驗(yàn)。同時(shí)在實(shí)現(xiàn)MCHMAC協(xié)議之后,還對(duì)ZMAC和單信道IEEE802.15.4MAC協(xié)議,從吞吐量和傳輸時(shí)延這兩方面進(jìn)行了比較分析。
3.1仿真參數(shù)設(shè)置
本實(shí)驗(yàn)在300mX300m的實(shí)驗(yàn)場景進(jìn)行,選取節(jié)點(diǎn)數(shù)50,節(jié)點(diǎn)間最大通信半徑15m。通信頻段在2.4GHz,包大小在100~300b。路由協(xié)議均采用AODV協(xié)議,數(shù)據(jù)流生成工具選擇生成CBR流。
3.2性能分析
網(wǎng)絡(luò)吞吐量是網(wǎng)絡(luò)性能的一個(gè)重要參數(shù),是指在不丟包的情況下單位時(shí)間內(nèi)節(jié)點(diǎn)可以接收的數(shù)據(jù)量,單位是b/s。一方面,由于MCHMAC采用多信道,做到了數(shù)據(jù)的并發(fā),提高了網(wǎng)絡(luò)的吞吐量。另一方面,信道調(diào)度算法降低了數(shù)據(jù)包的沖突率,減少了重傳等事件發(fā)生的概率,所以相對(duì)來說提高了網(wǎng)絡(luò)的吞吐量。另外,本協(xié)議在信標(biāo)幀中攜帶收到確認(rèn)信息,減少發(fā)送確認(rèn)幀的時(shí)間,進(jìn)而提高了網(wǎng)絡(luò)中有效信息的吞吐量。為了計(jì)算網(wǎng)絡(luò)的吞吐量,本文在NS-2當(dāng)中分析Trace文件時(shí),使用以下方式計(jì)算吞吐量:
TB(n)-TB(m)RT(n)-RT(m)
RT(n)是指第i個(gè)包的接收時(shí)間,TB(n)代表第n個(gè)分組被目的節(jié)點(diǎn)接收時(shí)已經(jīng)傳輸?shù)臄?shù)據(jù)總量。公式表示計(jì)算從第m個(gè)分組到第n個(gè)分組的吞吐量,若m=1,則代表從第一個(gè)包開始計(jì)算,即計(jì)算網(wǎng)絡(luò)的平均吞吐量。本文中通過增加發(fā)包速率來分析網(wǎng)絡(luò)的吞吐量。在低發(fā)包速率下,網(wǎng)絡(luò)的吞吐量差距不大,但隨著發(fā)包率的增加,MCHMAC協(xié)議的吞吐量明顯優(yōu)于其他協(xié)議。具體仿真結(jié)果如圖4所示。
網(wǎng)絡(luò)傳輸時(shí)延也可以叫做端到端時(shí)延,它是網(wǎng)絡(luò)性能的重要指標(biāo)之一。本文中以分組發(fā)送和到達(dá)之間的時(shí)間間隔來計(jì)算傳輸時(shí)延,計(jì)算公式為:
D(i)=RT(i)-ST(i)
式中,D(i)表示第i個(gè)分組的傳輸時(shí)延,RT(i)表示第i個(gè)分組的接收時(shí)間,ST(i)表示第i個(gè)分組的發(fā)送時(shí)間。在文中,要分析網(wǎng)絡(luò)的平均傳輸時(shí)延,平均傳輸時(shí)延D的計(jì)算公式為:
幀發(fā)送速率越大,網(wǎng)絡(luò)的平均時(shí)延越大。MCHMAC協(xié)議的時(shí)延起伏較小,具體仿真結(jié)果如圖5所示。
4結(jié)語
本文提出了一種多信道混合方式的MAC協(xié)議一一MCHMAC,釆用了動(dòng)態(tài)調(diào)整活躍和睡眠周期,保證了網(wǎng)絡(luò)的實(shí)時(shí)性,節(jié)省了能量。協(xié)議釆用了基于競爭和調(diào)度相結(jié)合的方式,并結(jié)合信道狀態(tài)估計(jì)算法和信道調(diào)度表選擇最優(yōu)信道傳輸信息,增大了網(wǎng)絡(luò)的吞吐量,降低了平均傳輸時(shí)延。
20211022_6172db7f4447b__一種多信道混合方式的無線傳感器網(wǎng)絡(luò)MAC協(xié)議