??? 摘? 要: 結(jié)合GPS技術(shù)提供的定位特點(diǎn),,采用跨層設(shè)計(jì)思想,,提出了一種單信道多跳WSN 網(wǎng)絡(luò)的媒體訪問控制協(xié)議。在協(xié)議的控制幀中攜帶路由信息和狀態(tài)信息,,根據(jù)這些信息,,判斷存在的暴露終端和隱藏終端,,同時利用上游節(jié)點(diǎn)的ACK應(yīng)答作為與下游節(jié)點(diǎn)的RTS握手,建立CTS/DATA/ACK的三次交互機(jī)制,。仿真表明,,與已有的IEEE802.11和MACA-BI等同類協(xié)議相比,該協(xié)議可有效解決隱藏終端和暴露終端問題,,提高網(wǎng)絡(luò)的吞吐量和端到端的延時,,并降低網(wǎng)絡(luò)的握手開銷和控制幀的沖突概率,。?
??? 關(guān)鍵詞: 無線傳感器網(wǎng)絡(luò); 隱藏終端,; 暴露終端,; 全球定位系統(tǒng)
?
??? 無線傳感器網(wǎng)絡(luò)的出現(xiàn)改變了人與自然的交互方式,是21世紀(jì)最具影響的IT技術(shù)之一,,在軍事,、環(huán)境、醫(yī)療,、家庭和其他的商用領(lǐng)域有很高的應(yīng)用價值和廣闊的應(yīng)用前景,。由于WSN網(wǎng)絡(luò)的特殊性,基于固定或有中心控制的網(wǎng)絡(luò)協(xié)議不能滿足其要求,?;诠蚕韽V播信道的傳統(tǒng)接入技術(shù)ALOHA、CSMA等只能在一跳共享的情況下使用,,而WSN網(wǎng)絡(luò)是多跳共享的,,存在隱藏終端和暴露終端問題,所以不能直接使用,,因此出現(xiàn)了很多改進(jìn)的協(xié)議,如MACA,、MACAW、MACA-BI等,,最終形成了802.11的DCF機(jī)制,。它們通過握手機(jī)制來避免沖突,以適應(yīng)WSN網(wǎng)絡(luò)的特殊環(huán)境,??墒窃趩涡诺拉h(huán)境下,并不能完全解決隱藏終端和暴露終端問題,。隱藏終端和暴露終端問題帶來的沖突使得通信節(jié)點(diǎn)需要重發(fā)已發(fā)送的信息,,如果重發(fā)后繼續(xù)有沖突發(fā)生,,網(wǎng)絡(luò)的通信就會陷入一種惡性循環(huán),,同時也增加了不必要的重發(fā),導(dǎo)致網(wǎng)絡(luò)吞吐量降低和延遲的增加,,因此在MAC協(xié)議中設(shè)計(jì)克服多跳帶來的隱藏終端和暴露終端的影響是必須解決的關(guān)鍵問題,。本文結(jié)合GPS定位技術(shù)和跨層設(shè)計(jì)的思想,提出了一種基于IEEE802.11的跨層協(xié)作MAC協(xié)議——GPSMAC,。?
1 相關(guān)的研究工作和存在的問題?
??? 隱藏終端和暴露終端的存在實(shí)質(zhì)上是由于采用了載波偵聽技術(shù)而帶來的問題,。對于隱藏終端和暴露終端,通常的解決方法是在每次發(fā)送數(shù)據(jù)之前,,通信雙方先使用短控制報(bào)文進(jìn)行握手,,但是簡單地采用握手機(jī)制在單信道無線網(wǎng)絡(luò)系統(tǒng)中并不能解決完全隱接收終端問題,、暴露發(fā)送終端和暴露接收終端的問題[1]。目前有人提出將信道劃分為控制信道和數(shù)據(jù)信道的方法,,這樣永遠(yuǎn)不會發(fā)生數(shù)據(jù)分組與控制分組,,以及數(shù)據(jù)分組之間的沖突,但缺點(diǎn)是增加了新的硬件資源和成本,。因此如何降低其帶來的影響是解決問題的另一種途徑,。MACA-BI等協(xié)議就是從該角度出發(fā)提出的新的握手控制協(xié)議,此類協(xié)議由接收節(jié)點(diǎn)發(fā)起握手,,而發(fā)送節(jié)點(diǎn)在收到握手之后直接發(fā)送數(shù)據(jù),,有效減少了握手開銷。另一類是由發(fā)送端發(fā)起的握手,,如RIMA,、IEEE802.11。理論上,,由接收端發(fā)起的握手協(xié)議比由發(fā)送端發(fā)起的握手協(xié)議有更好的網(wǎng)絡(luò)性能,,但這類協(xié)議[2,3]在很大程度上依賴于接收節(jié)點(diǎn)對來自上游節(jié)點(diǎn)的預(yù)測結(jié)果。然而在實(shí)際的應(yīng)用中,,對于實(shí)時性業(yè)務(wù)和突發(fā)性業(yè)務(wù)來說是極不確定的,,很難根據(jù)一種預(yù)測算法來準(zhǔn)確地觸發(fā)握手信號的發(fā)送,即由接收端發(fā)起的握手協(xié)議的有效性是難以界定的,。?
2 采用跨層設(shè)計(jì)思想的GPSMAC協(xié)議?
2.1 GPSMAC協(xié)議設(shè)計(jì)思想?
??? 本文基于IEEE802.11提出了一種新的單信道MAC層協(xié)議,,與其他協(xié)議不同的是本協(xié)議采用跨層設(shè)計(jì)[4]的思想,通過物理層,、MAC層和網(wǎng)絡(luò)層的跨層協(xié)作,,有效降低單信道下隱藏終端和暴露終端的影響,提高網(wǎng)絡(luò)的性能,??鐚釉O(shè)計(jì)的主要目標(biāo)是實(shí)現(xiàn)邏輯上并不毗鄰的各協(xié)議層間的信息共享和互動操作。在原有的分層體系結(jié)構(gòu)中,,每一層分別設(shè)計(jì)并相互獨(dú)立,,層間接口是靜態(tài)并且獨(dú)立于個別的網(wǎng)絡(luò)約束和應(yīng)用,這種體系結(jié)構(gòu)模型在互聯(lián)網(wǎng)中極大地簡化了網(wǎng)絡(luò)設(shè)計(jì)并且可以得到具有良好魯棒性和擴(kuò)展性的協(xié)議,,但在WSN網(wǎng)絡(luò)中,,該模型的剛性和局部優(yōu)化性將嚴(yán)重限制網(wǎng)絡(luò)的性能。本文引入跨層設(shè)計(jì)的思想,,物理層的主要任務(wù)是向MAC層,、網(wǎng)絡(luò)層提供本層的GPS定位信息,MAC層將網(wǎng)絡(luò)層傳來的網(wǎng)絡(luò)拓?fù)渥兓畔鬟f給物理層,,網(wǎng)絡(luò)層則提供路由信息和狀態(tài)信息給MAC層和物理層,,即三層的信息作為其他協(xié)議層優(yōu)化設(shè)計(jì)的依據(jù),,來解決隱藏和暴露終端問題造成的不利影響??鐚釉O(shè)計(jì)方案如圖1所示,。?
?
?
2.2 GPSMAC協(xié)議設(shè)計(jì)?
??? GPS技術(shù)具有提供節(jié)點(diǎn)位置信息的能力,本文假設(shè)利用已有的定位算法[4]可以得到準(zhǔn)確的節(jié)點(diǎn)位置信息,。因此節(jié)點(diǎn)之間可以根據(jù)此信息和路由信息建立相互的位置信息列表List,。Lid表示鄰居節(jié)點(diǎn)的位置信息,在多跳業(yè)務(wù)的控制幀中包含此Lid,。下游節(jié)點(diǎn)同時監(jiān)聽上游節(jié)點(diǎn)的CTS,、ACK并獲取Lid和狀態(tài)信息Sid。狀態(tài)信息Sid用于標(biāo)識節(jié)點(diǎn)發(fā)布的隱藏終端或暴露終端信息,。在無信息傳輸時,,通過節(jié)點(diǎn)定位幀周期性地輪詢,及時對網(wǎng)絡(luò)拓?fù)浒l(fā)生的變化做出響應(yīng),,以便對節(jié)點(diǎn)之間的相互位置信息進(jìn)行更新,。?
??? 如圖2所示,設(shè)數(shù)據(jù)從節(jié)點(diǎn)A經(jīng)B,、C發(fā)送到節(jié)點(diǎn)D,,并且節(jié)點(diǎn)之間沒有傳輸錯誤發(fā)生。
?
?
??? 節(jié)點(diǎn)A向B發(fā)送RTS的同時,,包含B的位置信息Lid和狀態(tài)信息Sid,,若狀態(tài)信息Sid表示該節(jié)點(diǎn)不是隱藏終端或暴露終端,并且A具有滿足發(fā)射的能力,,則節(jié)點(diǎn)B提取RTS中的Lid,,同時標(biāo)識自身的Sid,將Lid和Sid包含在CTS中返回節(jié)點(diǎn)A,,此時節(jié)點(diǎn)C監(jiān)聽到來自于B的CTS,,提取CTS中的Lid和Sid,在List中查詢,,若本地List中存在此Lid,,則表明C是節(jié)點(diǎn)B的下一跳節(jié)點(diǎn),同時監(jiān)聽節(jié)點(diǎn)B的Ack信號,。節(jié)點(diǎn)A收到來自于節(jié)點(diǎn)B的CTS,,開始發(fā)送Data,節(jié)點(diǎn)B收到Data并返回Ack應(yīng)答,,這時Ack相當(dāng)于802.11協(xié)議中的RTS,將觸發(fā)節(jié)點(diǎn)C的CTS直接發(fā)送,。節(jié)點(diǎn)C監(jiān)聽到來自節(jié)點(diǎn)B的Ack信號后,,根據(jù)提取的Sid做出的判斷,,向B發(fā)送包含了Lid和Sid的CTS。向B發(fā)送CTS的同時被節(jié)點(diǎn)D所監(jiān)聽,,節(jié)點(diǎn)D將重復(fù)節(jié)點(diǎn)C的操作,。當(dāng)A與D之間的數(shù)據(jù)傳輸結(jié)束,要將Lid和Sid的信息置空,,表示傳輸結(jié)束,。?
??? 圖3是GPSMAC協(xié)議設(shè)計(jì)的沖突處理機(jī)制。?
?
?
2.3 隱藏終端和暴露終端問題的解決?
??? 隱藏終端是指在接收節(jié)點(diǎn)的通信范圍內(nèi)而在發(fā)送節(jié)點(diǎn)的通信范圍外的節(jié)點(diǎn),。如圖4(a)所示,,節(jié)點(diǎn)B既在節(jié)點(diǎn)A的通信范圍內(nèi),也在節(jié)點(diǎn)C的通信范圍內(nèi),,節(jié)點(diǎn)A和節(jié)點(diǎn)C卻不在相互的通信范圍內(nèi),。當(dāng)節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送數(shù)據(jù)時,由于隱藏終端C聽不到A發(fā)送信息,,也可能向節(jié)點(diǎn)B發(fā)送信息,,這樣就造成報(bào)文在接收終端B處的碰撞,可能導(dǎo)致節(jié)點(diǎn)B不能解釋任何信息,,從而降低了信道的利用率,,增加了系統(tǒng)時延。同樣C向B發(fā)送信息時,,A也是C的隱藏終端,。暴露終端是指在發(fā)送節(jié)點(diǎn)的通信范圍之內(nèi)而在接收節(jié)點(diǎn)的通信范圍之外的節(jié)點(diǎn),如圖4(b)所示,,當(dāng)節(jié)點(diǎn)B向節(jié)點(diǎn)A發(fā)送信息時,,節(jié)點(diǎn)C因聽到節(jié)點(diǎn)B的發(fā)送而延遲發(fā)送,但節(jié)點(diǎn)C在接收節(jié)點(diǎn)A的通信范圍之外,,只要節(jié)點(diǎn)C不準(zhǔn)備與節(jié)點(diǎn)B通信,,它的發(fā)送就不會影響節(jié)點(diǎn)B的發(fā)送,更不會在節(jié)點(diǎn)A處造成沖突,,節(jié)點(diǎn)C是暴露終端,。隱藏終端和暴露終端可以分為隱藏發(fā)送終端和隱藏接收終端、暴露發(fā)送終端和暴露接收終端四種情況,。其中隱藏接收終端(隱藏終端C作為接收者),、暴露發(fā)送終端(暴露終端C作為發(fā)送者)和暴露接收終端(暴露終端C作為接收者)問題,使用RTS-CTS的握手機(jī)制是無法解決的,,其根本原因是控制報(bào)文和數(shù)據(jù)報(bào)文同在一個信道上傳送會發(fā)生沖突,。?
?
?
??? 本文采用跨層設(shè)計(jì)思想,利用來自網(wǎng)絡(luò)層和物理層的路由信息和定位信息建立的位置信息列表List和狀態(tài)信息Sid來解決上述問題,。圖4(a)中節(jié)點(diǎn)的位置信息列表如表1所示,。?
?
?
??? 下面以圖4為例說明隱藏終端和暴露終端問題的解決,。在圖4(a)中,A向B發(fā)送RTS+Lid+Sid,,B向A返回CTS+Lid+Sid,,此時Sid的狀態(tài)為“忙”,節(jié)點(diǎn)C監(jiān)聽到來自于B的CTS,,提取CTS中的Lid和Sid,,在List中查詢,若本地List中存在B但不存在A,,則表明C是節(jié)點(diǎn)A的隱藏終端,,B正在與A通信,于是C向鄰居節(jié)點(diǎn)D發(fā)送狀態(tài)信息Sid,,通知D它是隱藏終端,,暫時不要向其發(fā)送數(shù)據(jù),D可以處理其他事務(wù),,直至節(jié)點(diǎn)C監(jiān)聽到來自節(jié)點(diǎn)B的ACK信號,。對于暴露終端問題,處理方法與隱藏終端的處理相似,。在圖4(b)中,,當(dāng)B準(zhǔn)備向A發(fā)送數(shù)據(jù)時,首先向A發(fā)送RTS+Lid+Sid,,A收到后將返回一個CTS+Lid+Sid,,C監(jiān)聽到來自B的RTS+Lid+Sid,提取RTS中的Lid和Sid,,在List中查詢,,發(fā)現(xiàn)本地List中存在B,但不存在A,,同時C沒有收到來自A的CTS,,則表明C是暴露終端,C停止向B發(fā)送數(shù)據(jù),,并且通知鄰居節(jié)點(diǎn)D,,先處理其他事務(wù),目前不能通信,,直至C監(jiān)聽到來自B的Sid“非忙”狀態(tài)信息,,C才會恢復(fù)與B或C的通信。圖4(b)中節(jié)點(diǎn)的位置信息列表如表2所示,。?
?
?
2.4 沖突處理機(jī)制?
??? 在本文提出的GPSMAC協(xié)議中,,一跳以外的節(jié)點(diǎn)間的通信是由對上游節(jié)點(diǎn)的ACK幀的監(jiān)聽來實(shí)現(xiàn)的,若ACK幀發(fā)生沖突,則下游節(jié)點(diǎn)無法證實(shí)上游節(jié)點(diǎn)的數(shù)據(jù)是否已經(jīng)完成數(shù)據(jù)的成功接收,,同理CTS幀的沖突也會造成通信的延遲,,甚至失敗,。因此通過設(shè)置定時器來解決這一問題,。?
??? 在圖3中,當(dāng)D 同時接收到C發(fā)出的Ack幀與網(wǎng)絡(luò)中的某個移動節(jié)點(diǎn)發(fā)送的數(shù)據(jù)幀或Ack幀,,則它們會發(fā)生沖突,;或者來自另一條路由上的RTS與D向C發(fā)送的CTS發(fā)生沖突,使C無法接收到D發(fā)出的CTS,。為了解決這一問題,,當(dāng)C向B發(fā)送Ack時,啟動定時器Timer,,當(dāng)時間超時,,C仍未收到CTS,表明Ack或CTS丟失或沖突,,則C將向D主動發(fā)出握手信息RTS,,重新建立C與D之間的聯(lián)系,從沖突中恢復(fù),。此外,,通過Lid和Sid的傳遞及層間協(xié)作機(jī)制,可以避免協(xié)議中存在的無效CTS和CTS沖突現(xiàn)象,,當(dāng)節(jié)點(diǎn)完成數(shù)據(jù)的接收并向上一跳節(jié)點(diǎn)發(fā)送Ack信號時,,需將Ack信號中的Sid置空,表明數(shù)據(jù)包的傳輸完成,,避免了協(xié)議中無效的CTS發(fā)送,,同時可以根據(jù)Lid來判斷其相鄰的多個節(jié)點(diǎn)中,由哪個節(jié)點(diǎn)發(fā)送CTS,,來避免CTS的沖突,。?
3 協(xié)議性能分析 ?
??? 本文提出的GPSMAC協(xié)議利用GPS的技術(shù)優(yōu)勢增加位置信息Lid和狀態(tài)信息Sid來有效降低節(jié)點(diǎn)發(fā)射失敗和隱藏、暴露終端問題造成的影響,,提高WSN網(wǎng)絡(luò)的性能,。該協(xié)議一方面可以解決隱藏終端和暴露終端問題對網(wǎng)絡(luò)性能造成的影響,另一方面節(jié)約了控制幀RTS,、CTS,、ACK傳輸開銷,即在一跳之后RTS-CTS握手變?yōu)橹挥蠧TS握手,。使用仿真工具實(shí)現(xiàn)提出的GPSMAC協(xié)議,,并與IEEE802.11和MACA-BI協(xié)議進(jìn)行了比較。針對圖4建立網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu),主要的仿真參數(shù)的設(shè)定和仿真結(jié)果如表3,、圖5~圖7所示,。仿真結(jié)果表明,隨著網(wǎng)絡(luò)負(fù)載的增加,,新提出的GPSMAC協(xié)議和MACM-BI,、IEEE802.11相比,在吞吐量,、延遲性和控制報(bào)文的開銷上均有較大改善,,說明了協(xié)議對隱藏終端和暴露終端問題的處理的有效性。無線傳感器網(wǎng)絡(luò)是當(dāng)前國際上備受關(guān)注的,,涉及多學(xué)科高度交叉,、知識高度集成的前沿?zé)狳c(diǎn)研究領(lǐng)域。傳感器網(wǎng)絡(luò)廣闊的應(yīng)用前景和潛在的實(shí)用價值已經(jīng)引起了許多國家學(xué)術(shù)界和工業(yè)界的高度重視,,被認(rèn)為是將對21世紀(jì)產(chǎn)生巨大影響力的技術(shù)之一,。本文提出了一種利用GPS的技術(shù)特點(diǎn)和跨層設(shè)計(jì)思想設(shè)計(jì)的MAC層協(xié)議,目的在于解決無線WSN網(wǎng)絡(luò)的隱藏終端和暴露終端問題帶來的影響,,以提高網(wǎng)絡(luò)的性能,,并定義了沖突避免機(jī)制。下一步的工作是在實(shí)際的物理平臺上實(shí)現(xiàn)本文的協(xié)議設(shè)計(jì),,通過物理實(shí)驗(yàn)進(jìn)一步驗(yàn)證本文設(shè)計(jì)方案的有效性,。?
?
?
?
?
?
參考文獻(xiàn)?
[1] 孫利民, 李建中.無線傳感器網(wǎng)絡(luò).北京:清華大學(xué)出版社, 2005.?
[2] IEEE 802.11,Wireless LAN Medium Access Control(MAC)?and Physical Layer(PHY) specification[S].?
[3] MORRAES R M D, Garcia-Luna-Aceves J J. Receiverinitiated collision avoidance in multi-hop ad hoc networks[A]. ProcCIC’04[C]. Las Vegas: IEEE Press, 2004.124-126.?
[4]? MONTILLET J P, BRAYSY T, OPPERMANN I. Algorithm ??? for nodes localization in wireless ad-hoc networks based?on cost function[A]. Proceedings of the International?Workshop on Wireless Ad-hoc Networks(IWWAN2005)[C].http://www.cs.berkeley.edu.?
[5] WALROD J. Sensor network technology for joint undersea?warfare[A]. Proc. Of the NDIA Joint Undersea Warfare?Technology Conference[C]. San Diego, 2002.?