無(wú)線自組織網(wǎng)絡(luò)由不需要任何基礎(chǔ)設(shè)施的一組具有動(dòng)態(tài)組網(wǎng)能力的節(jié)點(diǎn)組成,這種網(wǎng)絡(luò)適應(yīng)了軍事和商用中對(duì)網(wǎng)絡(luò)和設(shè)備移動(dòng)性的要求,而引起了人們的關(guān)注,并在20世紀(jì)90年代以后獲得了廣泛的研究和發(fā)展。
與其他通信網(wǎng)絡(luò)相比,無(wú)線自組織網(wǎng)絡(luò)具有帶寬有限、鏈路容易改變、節(jié)點(diǎn)的移動(dòng)性以及由此帶來(lái)的網(wǎng)絡(luò)拓?fù)涞膭?dòng)態(tài)性、物理安全有限、受設(shè)備限制等特點(diǎn)。正是由于這些區(qū)別,無(wú)線自組織網(wǎng)絡(luò)協(xié)議棧也產(chǎn)生了比傳統(tǒng)網(wǎng)絡(luò)協(xié)議棧更高的要求:適應(yīng)移動(dòng)分布節(jié)點(diǎn)隨機(jī)收發(fā)行為的媒體接入控制(MAC)協(xié)議,基于動(dòng)態(tài)拓?fù)浣Y(jié)果的高效、穩(wěn)健的路由算法,便利的異構(gòu)網(wǎng)絡(luò)互聯(lián)技術(shù),有效的功率控制,合理的跨層信息交互、多層協(xié)同設(shè)計(jì),可靠的安全機(jī)制等等。
1 MAC協(xié)議
MAC協(xié)議是無(wú)線自組織網(wǎng)絡(luò)協(xié)議的重要組成部分,是分組在無(wú)線信道上發(fā)送和接收的主要控制者。目前,在無(wú)線自組織網(wǎng)絡(luò)中MAC協(xié)議面臨著隱藏終端、暴露終端,信道分配,單向鏈路,廣播擴(kuò)散等問(wèn)題。
1.1隱藏終端、暴露終端問(wèn)題
如圖1所示,節(jié)點(diǎn)A、B、C都工作在同一個(gè)信道上,當(dāng)節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送分組時(shí),載波偵聽(tīng)機(jī)制無(wú)法阻止節(jié)點(diǎn)C發(fā)送數(shù)據(jù),造成信號(hào)在節(jié)點(diǎn)B處沖突。節(jié)點(diǎn)C是隱藏在節(jié)點(diǎn)A的覆蓋范圍之外的、卻又能對(duì)節(jié)點(diǎn)A的發(fā)送形成沖突的節(jié)點(diǎn),這種在發(fā)送節(jié)點(diǎn)覆蓋范圍以外的、存在著潛在沖突的節(jié)點(diǎn)問(wèn)題就是信道訪問(wèn)中的隱藏終端問(wèn)題。隱藏終端問(wèn)題會(huì)大大降低信道的通信能力。
另外還有一種情況也會(huì)降低信道的通信能力,即所謂的暴露終端問(wèn)題。如圖2所示,當(dāng)節(jié)點(diǎn)B向節(jié)點(diǎn)A發(fā)送分組時(shí),節(jié)點(diǎn)C偵聽(tīng)到節(jié)點(diǎn)B在發(fā)送分組,所以推遲發(fā)送分組。這種推遲是毫無(wú)必要的,因?yàn)楣?jié)點(diǎn)C向節(jié)點(diǎn)D發(fā)送分組和節(jié)點(diǎn)B向節(jié)點(diǎn)A發(fā)送分組并不沖突,此時(shí)節(jié)點(diǎn)C是節(jié)點(diǎn)B的暴露終端。這種因發(fā)送節(jié)點(diǎn)在其覆蓋范圍內(nèi),感知到有其他節(jié)點(diǎn)在傳輸,而進(jìn)行不必要的發(fā)送延遲就是暴露終端問(wèn)題。
IEEE 802.11中提出的請(qǐng)求發(fā)送/準(zhǔn)備接受/確認(rèn)(RTS/CTS/ACK)握手機(jī)制,以及目前在很多研究中提出的控制信道-數(shù)據(jù)信道協(xié)作的方式,可以在一定程度上解決隱藏終端問(wèn)題,但對(duì)于暴露終端問(wèn)題,目前還沒(méi)有充分有效的解決方式。
RTS/CTS/ACK機(jī)制的基本思想是在傳輸數(shù)據(jù)幀之前,A、B之間先用很短的握手幀RTS進(jìn)行溝通,而其他所有無(wú)關(guān)節(jié)點(diǎn)收到RTS或CTS后,抑制自己的發(fā)送動(dòng)作,避免沖突,從而為A、B間的數(shù)據(jù)幀傳輸提供一個(gè)短暫的“凈空”。正確收到的幀需要使用ACK來(lái)進(jìn)行確認(rèn)。
這種改進(jìn)只能解決單信道無(wú)線自組織網(wǎng)絡(luò)的部分問(wèn)題。假設(shè)一個(gè)網(wǎng)絡(luò)具有n個(gè)任意分布的節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)的傳輸容量是W,那么每個(gè)節(jié)點(diǎn)可以達(dá)到的吞吐量將會(huì)是,即使對(duì)這些節(jié)點(diǎn)的位置進(jìn)行優(yōu)化,也僅能使得每個(gè)節(jié)點(diǎn)的吞吐量達(dá)到的水平[1]。由此可以看出,無(wú)線自組織網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)量的增大,將會(huì)使節(jié)點(diǎn)的吞吐量快速降低,尤其是在節(jié)點(diǎn)任意分布的情況下。
1.2信道分配問(wèn)題
最初的無(wú)線自組織網(wǎng)絡(luò),由于技術(shù)和設(shè)備的限制,各節(jié)點(diǎn)都工作在一個(gè)信道上。隨著設(shè)備和相關(guān)協(xié)議的發(fā)展,多信道、甚至是多接口-多信道無(wú)線自組織網(wǎng)絡(luò)已經(jīng)在步入實(shí)用。
對(duì)于單信道無(wú)線自組織網(wǎng)絡(luò),其MAC協(xié)議需要考慮的是如何充分利用信道,避免沖突。載波偵聽(tīng)多路訪問(wèn)/沖突檢測(cè)(CSMA/CA)機(jī)制是目前應(yīng)用非常廣泛的協(xié)議,節(jié)點(diǎn)通過(guò)物理信道偵聽(tīng)(CCA)與虛擬網(wǎng)絡(luò)偵聽(tīng)(NAV)結(jié)合的方式進(jìn)行載波偵聽(tīng),采用基于長(zhǎng)幀間隙、中幀間隙和短幀間隙等不同時(shí)隙的退避機(jī)制和沖突避免策略,競(jìng)爭(zhēng)信道進(jìn)行發(fā)送。時(shí)分多址(TDMA)機(jī)制可以將信道按照時(shí)間片劃分為多個(gè)時(shí)隙,節(jié)點(diǎn)按照靜態(tài)或者動(dòng)態(tài)分配方式占用其中的一個(gè)或者幾個(gè)時(shí)隙。但是對(duì)于無(wú)線自組織網(wǎng)絡(luò)來(lái)說(shuō),靜態(tài)分配方式不能適應(yīng)節(jié)點(diǎn)的移動(dòng)和拓?fù)涞淖兓;而在一個(gè)分布式多跳系統(tǒng)內(nèi),進(jìn)行動(dòng)態(tài)分配也還有很多問(wèn)題需要解決,目前的研究多是針對(duì)基于某些假設(shè)或者某種應(yīng)用背景的無(wú)線自組織網(wǎng)絡(luò),還沒(méi)有普遍適用的方法提出。將CSMA/CA和TDMA結(jié)合,提高信道分配效率,減少?zèng)_突也是一種值得研究的內(nèi)容。
多信道無(wú)線自組織網(wǎng)絡(luò),則需要關(guān)注如何在節(jié)點(diǎn)間分配信道,以提高網(wǎng)絡(luò)吞吐量,避免沖突,實(shí)現(xiàn)信道上的負(fù)載均衡。目前較多的做法是,將信道分為控制信道和數(shù)據(jù)信道,節(jié)點(diǎn)在控制信道中協(xié)商數(shù)據(jù)交換采用的數(shù)據(jù)信道,然后在相應(yīng)的數(shù)據(jù)信道上進(jìn)行數(shù)據(jù)通信。控制信道和數(shù)據(jù)信道的劃分可能是時(shí)間上的,也可能是空間上的。比如,一個(gè)信道在某個(gè)時(shí)刻可能用作控制信道,協(xié)商好數(shù)據(jù)信道后,切換到相應(yīng)的數(shù)據(jù)信道進(jìn)行通信。也可能一個(gè)節(jié)點(diǎn)擁有幾個(gè)接口,其中的一個(gè)接口固定工作在某個(gè)控制信道上,其他接口固定或者動(dòng)態(tài)實(shí)用某個(gè)數(shù)據(jù)信道。不管是哪種方式,都需要占用一定的資源用于信道協(xié)商。這種占用是值得的,目前在多信道的理論分析結(jié)果說(shuō)明,在合理設(shè)計(jì)的多信道條件下,不僅可以提高整體網(wǎng)絡(luò)容量,還可以提高每個(gè)信道的實(shí)際吞吐量。但是這些研究多是基于靜態(tài)的。開(kāi)發(fā)一種基于拓?fù)浣Y(jié)構(gòu)的算法,對(duì)信道資源進(jìn)行動(dòng)態(tài)分配,也是一個(gè)值得研究的問(wèn)題。
1.3單向鏈路問(wèn)題
單向鏈路問(wèn)題是無(wú)線通信中一個(gè)普遍存在的問(wèn)題。如圖3所示,A的信號(hào)覆蓋范圍包括B,而B(niǎo)由于功率、地形等因素,信號(hào)不能覆蓋到A,則B可以收到A的信息,而A不能收到B的信息,這就構(gòu)成了單向鏈路。
在單向鏈路情況下,RTS/CTS/ACK、控制信道協(xié)商等機(jī)制都不再有效。在目前的標(biāo)準(zhǔn)與應(yīng)用中,很多都沒(méi)有使用、或者是沒(méi)有涉及單向鏈路。這對(duì)信道資源而言是一個(gè)很大的浪費(fèi)。如果能夠通過(guò)鏈路層和物理層的協(xié)同控制,借助網(wǎng)絡(luò)層的某些信息,控制A可以直接發(fā)送給B,而B(niǎo)可以通過(guò)適當(dāng)?shù)墓?jié)點(diǎn)轉(zhuǎn)發(fā)給A,則可以提高信道的利用率。
1.4廣播
無(wú)線自組織網(wǎng)絡(luò)中的廣播,對(duì)于信道利用率有很大的影響。最基本的思路是:一個(gè)節(jié)點(diǎn)的廣播被其所有鄰居節(jié)點(diǎn)收到,所有的鄰居節(jié)點(diǎn)再次轉(zhuǎn)發(fā)這個(gè)廣播。但這種做法顯然是行不通的,一個(gè)節(jié)點(diǎn)可能反復(fù)收到同一條廣播,并多次轉(zhuǎn)發(fā)。即使采用某種機(jī)制辨別出是自己已經(jīng)轉(zhuǎn)發(fā)過(guò)的,而不再次轉(zhuǎn)發(fā),也已經(jīng)對(duì)信道構(gòu)成了浪費(fèi)[2]。比較行之有效的一種方法是,借鑒區(qū)域路由協(xié)議(ZRP)中的多點(diǎn)中繼(MPR)思路,某節(jié)點(diǎn)A根據(jù)拓?fù)湫畔⑧従庸?jié)點(diǎn)中的某些節(jié)點(diǎn)設(shè)為MPR節(jié)點(diǎn),只有被設(shè)為MPR節(jié)點(diǎn)的,才轉(zhuǎn)發(fā)A所發(fā)出的廣播。其他節(jié)點(diǎn)依次類推。這種方式大大減少了廣播轉(zhuǎn)發(fā)的次數(shù),減少了信道的無(wú)謂占用,提高了信道利用效率。
2 路由技術(shù)
2.1無(wú)線自組織網(wǎng)絡(luò)路由協(xié)議
無(wú)線自組織網(wǎng)絡(luò)環(huán)境下,節(jié)點(diǎn)間的無(wú)線鏈路及由此而形成的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)隨節(jié)點(diǎn)的位置分布和移動(dòng)、信道的變化等因素呈現(xiàn)出動(dòng)態(tài)變化的特性。無(wú)線網(wǎng)絡(luò)的路由技術(shù)面臨的困難遠(yuǎn)比有線網(wǎng)絡(luò)的大的多,有線網(wǎng)絡(luò)的路由技術(shù)完全無(wú)法直接移植到無(wú)線網(wǎng)絡(luò)中來(lái)。按照路由協(xié)議建立和維護(hù)方式的不同,可以將無(wú)線自組織網(wǎng)絡(luò)路由協(xié)議分為3類:先應(yīng)式路由協(xié)議、反應(yīng)式路由協(xié)議、混合式路由協(xié)議,如圖4所示。
先應(yīng)式路由協(xié)議仿照有線網(wǎng)絡(luò)的做法,在每個(gè)節(jié)點(diǎn)建立和維護(hù)包含到達(dá)其他節(jié)點(diǎn)的路由信息的路由表,源節(jié)點(diǎn)一旦要發(fā)送報(bào)文,可以立即獲得到達(dá)目的節(jié)點(diǎn)的路由。因此這種路由協(xié)議的時(shí)延較小,但路由協(xié)議在及時(shí)把握網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的變化、路由更新和維護(hù)等方面,占用無(wú)線信道通信資源的開(kāi)銷較大,在移動(dòng)性高而負(fù)載輕的網(wǎng)絡(luò)中性能較差。
反應(yīng)式路由協(xié)議在需要發(fā)送數(shù)據(jù)時(shí)才查找路由,與先驗(yàn)式路由協(xié)議相比,反應(yīng)式路由協(xié)議的開(kāi)銷較小,能夠快速的適應(yīng)網(wǎng)絡(luò)拓?fù)渥兓,但是由于存在發(fā)現(xiàn)過(guò)程使數(shù)據(jù)報(bào)傳送的時(shí)延較大,在網(wǎng)絡(luò)負(fù)載很重的情況下,其性能較差。
混合式路由協(xié)議中在局部范圍內(nèi)使用先驗(yàn)式路由協(xié)議,維護(hù)準(zhǔn)確的路由信息,并可縮小路由控制消息傳播的范圍,當(dāng)目標(biāo)節(jié)點(diǎn)較遠(yuǎn)時(shí),通過(guò)查找發(fā)現(xiàn)路由,這樣既減少路由協(xié)議的開(kāi)銷,也改善了時(shí)延特性。
2.2無(wú)線自組織網(wǎng)絡(luò)組播路由協(xié)議
根據(jù)參與組播路由的節(jié)點(diǎn)構(gòu)成的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),無(wú)線自組織網(wǎng)絡(luò)組播路由協(xié)議可分為以下幾類[3-4]:基于樹(shù)的組播路由協(xié)議、基于網(wǎng)格的組播路由協(xié)議、混合的組播路由協(xié)議。
在有線網(wǎng)絡(luò)中,通過(guò)采用組播分發(fā)樹(shù)能有效地實(shí)現(xiàn)組播。受此啟發(fā),早期的自組織網(wǎng)絡(luò)最組播路由也是使用樹(shù)結(jié)構(gòu)。基于樹(shù)的組播路由協(xié)議一般包括兩個(gè)過(guò)程:組播樹(shù)形成和組播樹(shù)維護(hù)。
在組播樹(shù)形成過(guò)程中,節(jié)點(diǎn)啟動(dòng)加入組播樹(shù)過(guò)程:節(jié)點(diǎn)廣播發(fā)送查詢分組查找組播樹(shù),組播樹(shù)上的節(jié)點(diǎn)在收到查詢分組后回復(fù)響應(yīng)分組,當(dāng)加入節(jié)點(diǎn)收到響應(yīng)分組后就能通過(guò)回復(fù)節(jié)點(diǎn)加入組播樹(shù)。當(dāng)加入節(jié)點(diǎn)收到多個(gè)回復(fù)報(bào)文時(shí),根據(jù)一定策略選擇一條最優(yōu)路徑。
組播樹(shù)的維護(hù)是通過(guò)Hello機(jī)制來(lái)監(jiān)控樹(shù)型拓?fù)浣Y(jié)構(gòu),即樹(shù)根節(jié)點(diǎn)周期性發(fā)送Hello報(bào)文給子節(jié)點(diǎn),若子節(jié)點(diǎn)在一定時(shí)間內(nèi)未收到Hello報(bào)文,則認(rèn)為樹(shù)枝已經(jīng)斷開(kāi)。這時(shí)由子孫節(jié)點(diǎn)啟動(dòng)樹(shù)鏈路修復(fù)過(guò)程。典型協(xié)議有:利用遞增序號(hào)的組播路由協(xié)議(AMRIS)、按需距離適量的組播路由協(xié)議(MAODV)、輕量的自適應(yīng)組播路由協(xié)議(LAM)等。
基于網(wǎng)格的組播路由協(xié)議與組播樹(shù)協(xié)議不同,數(shù)據(jù)分組以廣播的方式在網(wǎng)絡(luò)中傳輸。網(wǎng)絡(luò)中網(wǎng)格節(jié)點(diǎn)負(fù)責(zé)廣播中繼分組。基于網(wǎng)格的組播路由協(xié)議一般包括兩個(gè)過(guò)程:加入組播網(wǎng)格和維護(hù)組播網(wǎng)格。典型的協(xié)議有:按需組播路由協(xié)議(ODMRP)、核心輔助的網(wǎng)格協(xié)議(CAMP)、前向轉(zhuǎn)發(fā)組組播路由協(xié)議(FGMP)等。
混合組播路由協(xié)議設(shè)計(jì)出發(fā)點(diǎn)是:充分利用樹(shù)結(jié)構(gòu)和網(wǎng)格結(jié)構(gòu)各自優(yōu)點(diǎn)。混合組播是在網(wǎng)格結(jié)構(gòu)基礎(chǔ)上構(gòu)建組播樹(shù)。混合的組播路由協(xié)議一般包括建立網(wǎng)格和建立組播樹(shù)兩個(gè)過(guò)程。
在網(wǎng)格基礎(chǔ)之上建立組播樹(shù)的一般過(guò)程是:核心節(jié)點(diǎn)或源節(jié)點(diǎn)向鄰居網(wǎng)格節(jié)點(diǎn)發(fā)送創(chuàng)建樹(shù)鏈路控制報(bào)文;當(dāng)網(wǎng)格節(jié)點(diǎn)收到非重復(fù)的創(chuàng)建樹(shù)報(bào)文時(shí),將該報(bào)文轉(zhuǎn)發(fā)給其他鄰居網(wǎng)格節(jié)點(diǎn),同時(shí),該節(jié)點(diǎn)加入組播樹(shù);當(dāng)網(wǎng)格節(jié)點(diǎn)收到重復(fù)的創(chuàng)建樹(shù)報(bào)文時(shí);向發(fā)送該報(bào)文的節(jié)點(diǎn)回復(fù)剪枝報(bào)文以剪去該組播樹(shù)鏈路。典型的混合組播路由協(xié)議有Ad hoc 組播路由協(xié)議(AMRoute)和核心提取的分布式組播Ad hoc路由協(xié)議(MCEADR)。