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