關(guān)鍵詞:Ad-Hoc MAC 無(wú)線網(wǎng)絡(luò)
Ad-Hoc網(wǎng)絡(luò)是一種無(wú)需固定網(wǎng)絡(luò)作為支撐的網(wǎng)絡(luò)形式。由于Ad-Hoc網(wǎng)絡(luò)具有組網(wǎng)快速靈活、抗毀性強(qiáng)、成本低廉等優(yōu)點(diǎn),特別適用于軍事、搶險(xiǎn)救災(zāi)、電子教室等領(lǐng)域。這種網(wǎng)絡(luò)已經(jīng)成為無(wú)線通信領(lǐng)域中一種有效的通信網(wǎng)絡(luò)形式而且已經(jīng)取得了廣泛的應(yīng)用,如802.11系統(tǒng)、美軍海擊空一體化數(shù)字通信系統(tǒng)。
Ad-Hoc網(wǎng)絡(luò)可分為Ad-Hoc WLAN(Ad-Hoc Wireless Local Area Network)和Mobile Ad-Hoc兩類。AdHoc WLAN網(wǎng)絡(luò)是一種全連通的網(wǎng)絡(luò),網(wǎng)絡(luò)中的任一節(jié)點(diǎn)與其它所有節(jié)點(diǎn)僅相距一跳范圍;Mobile Ad-Hoc網(wǎng)絡(luò),即MANET,是一種非全連通的網(wǎng)絡(luò),網(wǎng)絡(luò)中任意兩個(gè)節(jié)點(diǎn)間的距離大于或等于一跳范圍。圖1為上述兩種網(wǎng)絡(luò)的拓?fù)涫疽鈭D。
1 Ad-Hoc網(wǎng)絡(luò)的特點(diǎn)
與現(xiàn)有的移動(dòng)通信網(wǎng)不同,Ad-Hoc網(wǎng)絡(luò)不依賴固定網(wǎng)絡(luò),將地理位置分散的無(wú)線電臺(tái)有效地組織在一起相互通信。由于沒(méi)有中心基站的支持,組網(wǎng)的重?fù)?dān)就落在各個(gè)無(wú)線電臺(tái)上,因此這種網(wǎng)絡(luò)也被稱為自組織網(wǎng)。在移動(dòng)的環(huán)境下,各無(wú)線電臺(tái)間的通信鏈路是不固定的,甚至可能發(fā)生快速的變化。另外,應(yīng)用于Ad-Hoc網(wǎng)絡(luò)的終端設(shè)備大多為便攜設(shè)備或車載設(shè)備,設(shè)備體積不能很大,且功耗受限,因此這種網(wǎng)絡(luò)的單跳覆蓋范圍一般不會(huì)很大(軍事領(lǐng)域的某些應(yīng)用可能例外),而且雙工方式大多為TDD(時(shí)分雙工)。
對(duì)于Mobile Ad-Hoc網(wǎng)絡(luò),拓?fù)涞木植窟B通性是一個(gè)十分重要的特點(diǎn)。正是該特點(diǎn)導(dǎo)致了Ad-Hoc網(wǎng)絡(luò)中“隱藏終端”的問(wèn)題。如圖1(b)所示,節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送信息時(shí),節(jié)點(diǎn)C并不知道,這時(shí)如果節(jié)點(diǎn)C向B或D發(fā)送信息,會(huì)導(dǎo)致節(jié)點(diǎn)B處信號(hào)碰撞,無(wú)法正確接收信息。
2 Ad-Hoc網(wǎng)絡(luò)多址接入?yún)f(xié)議
自從最早的ALOHA系統(tǒng)誕生以來(lái),Ad-Hoc網(wǎng)絡(luò)已經(jīng)經(jīng)歷了30多年的發(fā)展歷程。以往,Ad-Hoc網(wǎng)絡(luò)的研究重點(diǎn)主要集中在路由問(wèn)題,對(duì)MAC協(xié)議的研究是近年來(lái)的熱點(diǎn)。早期的Ad-Hoc網(wǎng)絡(luò)采用的多址接入?yún)f(xié)議主要是ALOHA協(xié)議或CSMA(carrier sense multiple access)協(xié)議。由于CSMA協(xié)議較ALOHA協(xié)議性能優(yōu)良,而且實(shí)現(xiàn)簡(jiǎn)單,因此取得了廣泛的應(yīng)用。但是,隨著通信網(wǎng)絡(luò)的發(fā)展,無(wú)論是ALOHA協(xié)議還是CSMA協(xié)議都顯得有些力不從心。下面,就CSMA協(xié)議存在的問(wèn)題進(jìn)行簡(jiǎn)要分析。
*CSMA協(xié)議的網(wǎng)絡(luò)通過(guò)率與歸一化的載波檢測(cè)時(shí)延密切相關(guān),其公式如下:
β=τ·(C/L)
其中,τ為載波檢測(cè)時(shí)延,它由鏈路的傳播時(shí)延和物理層的檢測(cè)時(shí)延組成;C為信道傳輸速率;L為分組長(zhǎng)度。由該公式可以發(fā)現(xiàn):隨著傳播距離的增長(zhǎng)、信道速率的提高、分組長(zhǎng)度的縮小,β會(huì)相應(yīng)變大。當(dāng)β達(dá)到0.2~0.3,甚至更高時(shí),CSMA這類協(xié)議的性能就已經(jīng)較差了(對(duì)于非時(shí)隙的CSMA/CD而言,β=0.2時(shí),系統(tǒng)的通過(guò)率不足45%),不易再采用CSMA多址接入?yún)f(xié)議。
*在Mobile Ad-hoc網(wǎng)絡(luò)中,由于隱藏終端和暴露終端的存在,使得CSMA協(xié)議對(duì)信道的利用率不高。
*CSMA協(xié)議是一種基于“競(jìng)爭(zhēng)”的多址接入?yún)f(xié)議,這樣的協(xié)議無(wú)法為每個(gè)節(jié)點(diǎn)保證傳輸帶寬,分組在網(wǎng)絡(luò)中的平均時(shí)延方差也會(huì)因此較大,不適合實(shí)時(shí)業(yè)務(wù)或需要QoS保證的業(yè)務(wù)要求。
近年來(lái),寬帶化是通信系統(tǒng)的一個(gè)發(fā)展方向,而CSMA協(xié)議的通過(guò)率會(huì)隨著信道速率的提高有所下降,顯然不適合現(xiàn)代通信系統(tǒng)的發(fā)展。利用有限的信道資源,盡可能傳輸更多的信息或者為更多的用戶提供服務(wù)一直是學(xué)者或工程師們追求的目標(biāo),而CSMA協(xié)議的信道利用率不高,尤其是在Mobile Ad-hoc的網(wǎng)絡(luò)中,這是無(wú)法忍受的。另外,現(xiàn)代通信對(duì)多媒體業(yè)務(wù)的需求已經(jīng)越來(lái)越大,可CSMA協(xié)議無(wú)法為實(shí)時(shí)業(yè)務(wù)(話音業(yè)務(wù)或視頻業(yè)務(wù))提供服務(wù),這顯然是要被淘汰的。
目前,在學(xué)術(shù)領(lǐng)域中,Ad-Hoc網(wǎng)絡(luò)的多址接入?yún)f(xié)議主要分為兩類,即基于競(jìng)爭(zhēng)的MAC協(xié)議和無(wú)競(jìng)爭(zhēng)的MAC協(xié)議。前面提到的ALOHA協(xié)議和CSMA協(xié)議都是基于競(jìng)爭(zhēng)的MAC協(xié)議。由于這種協(xié)議在重負(fù)載下系統(tǒng)不穩(wěn)定,導(dǎo)致了無(wú)競(jìng)爭(zhēng)MAC協(xié)議的出現(xiàn)。常見(jiàn)的無(wú)競(jìng)爭(zhēng)MAC協(xié)議有四類:基于FDMA或TDMA的固定多址協(xié)議、基于節(jié)點(diǎn)輪循(polling)的協(xié)議、基于令牌傳遞(tokenpassing)的協(xié)議、基于動(dòng)態(tài)預(yù)約(dynamic reservation)的協(xié)議。
在Ad-Hoc網(wǎng)絡(luò)中,由于節(jié)點(diǎn)體積功耗的限制,TDMA協(xié)議比FDMA協(xié)議更適合。但是,對(duì)突發(fā)業(yè)務(wù)模型,TDMA協(xié)議會(huì)造成較大的信道浪費(fèi),而且對(duì)于節(jié)點(diǎn)數(shù)目隨時(shí)變化的TDMA系統(tǒng),對(duì)時(shí)隙的管理會(huì)更加復(fù)雜;诠(jié)點(diǎn)輪循或令牌傳遞的協(xié)定雖然較TMDA協(xié)議避免了許多信道浪費(fèi),但是依然存在信道不必要的空閑或信息傳輸中不必要的延時(shí)。在上述情況下,動(dòng)態(tài)預(yù)約的多址協(xié)議看來(lái)會(huì)成為最佳的選擇。
動(dòng)態(tài)預(yù)約的多址協(xié)議結(jié)合了基于競(jìng)爭(zhēng)的MAX協(xié)議和無(wú)競(jìng)爭(zhēng)的MAC協(xié)議的優(yōu)點(diǎn)。動(dòng)態(tài)預(yù)約的對(duì)象在目前已有的協(xié)議中主要有兩類:一類是預(yù)約傳輸分組的權(quán)利,另一類是預(yù)約調(diào)度傳輸?shù)臋?quán)利。將這兩類協(xié)議分別標(biāo)記為第一類DR-MAC協(xié)議和第二類DR-MAC協(xié)議。
第一類DR-MAC協(xié)議比較典型的有:MACA、MACAW、FAMA、802.11、RAMA、BB Contention等。這類協(xié)議基本思想都是節(jié)點(diǎn)在傳輸前通過(guò)RTS/CTS握手信號(hào)預(yù)約信道,預(yù)約到后,再無(wú)沖突傳輸。如圖1(b)所示,A向B發(fā)送信息前,先發(fā)出RTS預(yù)約分組,B收到RTS分組后,應(yīng)答CTS分組,允許發(fā)送。同時(shí)A的隱藏終端C也可得到通知,于是在A向B發(fā)送信息期間,C不會(huì)發(fā)送信息,AB間的信息傳輸自然是無(wú)沖突的。第一類DR-MAC協(xié)議的區(qū)別在于如何應(yīng)對(duì)RTS分組的碰撞。例如MACA協(xié)議采用基于分組幀聽(tīng)的方法,而FAMA協(xié)議采用基于載波幀聽(tīng)的策略。第二類DR-MAC協(xié)議有DQRAP、CARMA-NTG、GAMA等。
近年來(lái),如何在Ad-Hoc網(wǎng)絡(luò)中采用動(dòng)態(tài)預(yù)約的TDMA協(xié)議一直是一個(gè)研究熱點(diǎn)。由于這種協(xié)議預(yù)約的同樣是傳輸分組的權(quán)利,因此將其也歸為第一類DRMAC協(xié)議。這樣的協(xié)議有:D-TDMA、E-TDMA、FPRP等。這些協(xié)議關(guān)注的焦點(diǎn)都是如何預(yù)約信道,不同的預(yù)約策略可為業(yè)務(wù)提供不同的服務(wù)質(zhì)量,占用的信道開(kāi)銷當(dāng)然也不會(huì)相同。然而,對(duì)于Ad-Hoc網(wǎng)絡(luò),如何實(shí)現(xiàn)全網(wǎng)同步是實(shí)現(xiàn)上述系統(tǒng)的難點(diǎn)所在。從全網(wǎng)同步的角度出發(fā),又可將Ad-Hoc網(wǎng)絡(luò)分為有中心的網(wǎng)絡(luò)和無(wú)中心的網(wǎng)絡(luò)。對(duì)于有中心的網(wǎng)絡(luò),所有節(jié)點(diǎn)都與中心節(jié)點(diǎn)直接相連,因此全網(wǎng)的同步信息可由中心節(jié)點(diǎn)發(fā)布,其它節(jié)點(diǎn)都以中心節(jié)點(diǎn)為基準(zhǔn),與其保持時(shí)隙同步。對(duì)于無(wú)中心的網(wǎng)絡(luò)(大多數(shù)的Mobile Ad-Hoc網(wǎng)絡(luò)都是無(wú)中心的)如何實(shí)現(xiàn)全網(wǎng)同步一直是一個(gè)難點(diǎn)。目前解決該問(wèn)題的主要方法是以GPS定時(shí)信號(hào)為基準(zhǔn),實(shí)現(xiàn)網(wǎng)內(nèi)各節(jié)點(diǎn)的粗同步,再通過(guò)對(duì)訓(xùn)練序列相關(guān)運(yùn)算尋找相關(guān)峰,計(jì)算定時(shí)偏差,并自適應(yīng)調(diào)整實(shí)現(xiàn)節(jié)點(diǎn)間的精確同步。
通過(guò)對(duì)上述多址接入?yún)f(xié)議的研究可以看到,用于Ad-Hoc網(wǎng)絡(luò)的多址接入?yún)f(xié)議應(yīng)具備如下特點(diǎn):
*協(xié)議要能夠適應(yīng)拓?fù)涞膭?dòng)態(tài)變化,即自適應(yīng)拓?fù)渥兓?br />
*協(xié)議要能夠適應(yīng)不同業(yè)務(wù)對(duì)帶寬的需求,保證業(yè)務(wù)的服務(wù)質(zhì)量QoS,即自適應(yīng)業(yè)務(wù)變化;
*協(xié)議要能夠?yàn)椴煌瑑?yōu)先級(jí)的業(yè)務(wù)提供不同的服務(wù)質(zhì)量QoS(如緊急業(yè)務(wù)的優(yōu)先級(jí)要高于實(shí)時(shí)業(yè)務(wù),實(shí)時(shí)業(yè)務(wù)的優(yōu)先級(jí)要高于非實(shí)時(shí)業(yè)務(wù));
*協(xié)議要盡可能地避免信道的碰撞和不必要的空閑,同時(shí)減小控制開(kāi)銷,提高對(duì)信道的利用率。
3 Ad-Hoc網(wǎng)絡(luò)多址協(xié)議的開(kāi)發(fā)
對(duì)無(wú)線通信網(wǎng)絡(luò)的開(kāi)發(fā)是一個(gè)復(fù)雜的工程,尤其是在條件有限的實(shí)驗(yàn)室內(nèi)。筆者的開(kāi)發(fā)思想如圖2所示。
整個(gè)通信網(wǎng)絡(luò)開(kāi)發(fā)平臺(tái)由MAC協(xié)議開(kāi)發(fā)平臺(tái)、物理層模擬平臺(tái)和信道模擬器三部分組成。通信軟件開(kāi)發(fā)平臺(tái)和物理層模擬平臺(tái)為一個(gè)節(jié)點(diǎn)平臺(tái)。
3.1 MAC協(xié)議開(kāi)發(fā)平臺(tái)
MAC協(xié)議開(kāi)發(fā)平臺(tái)主要由嵌入式微處理器、存儲(chǔ)系統(tǒng)及相關(guān)各種接口組成。對(duì)該平臺(tái)的設(shè)計(jì)主要集中在嵌入式微處理器的選型上。在這里,筆者最關(guān)心的是處理器的處理速度能否滿足系統(tǒng)參數(shù)的需求。雖然,各種處理器都提供了相關(guān)的處理能力指標(biāo)(如ARM9處理器在200MHz的頻率下,處理能力為220MIPS)給用戶以參考,但是最終的軟件執(zhí)行時(shí)間還與軟件自身的設(shè)計(jì)及編譯器的編譯效率等因素有關(guān)。因此,這個(gè)問(wèn)題很難有一個(gè)明確的結(jié)論。
筆者在設(shè)計(jì)中采用了ARM處理器運(yùn)行MAC協(xié)議軟件。對(duì)ARM處理器的選擇是通過(guò)下述方法確定的。首先,設(shè)計(jì)并編寫(xiě)處理時(shí)間敏感的軟件,然后在AXD調(diào)試工具下調(diào)用ARMUL調(diào)試內(nèi)核,對(duì)編寫(xiě)的軟件進(jìn)行實(shí)時(shí)分析。在調(diào)用ARMUL調(diào)試內(nèi)核時(shí),應(yīng)根據(jù)使用處理器的特點(diǎn)(如是束帶有MMU功能)、系統(tǒng)的時(shí)鐘頻率、存儲(chǔ)器的訪問(wèn)時(shí)間等相關(guān)參數(shù)進(jìn)行設(shè)置。運(yùn)行軟件時(shí),調(diào)用Debugger Internals工具,就可以看到運(yùn)行整個(gè)軟件所需要的時(shí)鐘周期及對(duì)總線上各種時(shí)序的統(tǒng)計(jì)。由此可以判斷這部分軟件的運(yùn)行時(shí)間,以及選擇處理器能否滿足需要。另外,在選擇處理器時(shí),應(yīng)注意給處理器留下一定的余量(一般,應(yīng)留下30%的處理余量)。
3.2 物理層模擬平臺(tái)
物理層模擬平臺(tái)主要由FPGA實(shí)現(xiàn)。該平臺(tái)可作為一個(gè)設(shè)備直接掛在上述處理器的總線上,也可以通過(guò)串口、USB口或其它接口與MAC協(xié)議開(kāi)發(fā)平臺(tái)相連。這應(yīng)根據(jù)實(shí)際工程需要選擇,筆者選擇的是前者。物理層模擬器的平臺(tái)框圖如圖3所示。
對(duì)信道的模擬采用5線制,分別是:發(fā)送數(shù)據(jù)線、接收數(shù)據(jù)線、發(fā)送指示線、接收指示線和地線。將發(fā)送數(shù)據(jù)線和接收數(shù)據(jù)線分開(kāi),是為了避免模擬碰撞事件發(fā)生時(shí)可能造成的對(duì)器件的損壞(例如將兩個(gè)節(jié)點(diǎn)對(duì)連,且同時(shí)發(fā)送數(shù)據(jù)的情況)。由于收發(fā)數(shù)據(jù)線只有“0”或“1”這兩種狀態(tài),無(wú)法區(qū)分信道有無(wú)數(shù)據(jù),因此增加了收發(fā)指示線。同時(shí),通過(guò)這兩條線可以方便處理器判斷信道是否發(fā)生磁撞。
在物理聲能設(shè)備2個(gè)發(fā)送緩存和2個(gè)接收緩存可以提高協(xié)議的性能。MAC層與物理層的數(shù)據(jù)交換采用“乒乓”方式,即當(dāng)物理層操作緩存A時(shí),MAC層可操作緩存B,這樣MAC層與物理層的數(shù)據(jù)交換就不會(huì)占用信道時(shí)間。
3.3 信道模擬器
因?yàn)槭菍?duì)鏈路層的通信模擬,所以物理信道的多徑干擾、同道干擾等因素可以完全忽略掉。而在Ad-Hoc網(wǎng)絡(luò)中,通信鏈路的那些特點(diǎn)會(huì)對(duì)MAC層及高層的處理造成影響?偨Y(jié)出如下幾點(diǎn):
*傳播時(shí)延;
*隨機(jī)錯(cuò)誤(對(duì)于突發(fā)錯(cuò)誤,完全可以通過(guò)交織技術(shù)離散為隨機(jī)錯(cuò)誤);
*網(wǎng)絡(luò)拓?fù)涞膭?dòng)態(tài)變化。
信道模擬器可由FPGA和單片機(jī)實(shí)現(xiàn),所需要模擬的鏈路事件有:傳播時(shí)延、信道碰撞、信道出錯(cuò)、拓?fù)涓淖儭?br />
對(duì)傳播時(shí)延的模擬可由移位寄存器完成,移位寄存器的輸入時(shí)鐘等于信道波特率,移位寄存器的級(jí)數(shù)可由單片機(jī)動(dòng)態(tài)控制。對(duì)信道碰撞的模擬可由邏輯與門(或邏輯或門)和收發(fā)狀態(tài)指示線共同完成。對(duì)信道出錯(cuò)的模擬可由單片機(jī)運(yùn)行與實(shí)際信道特性相符的隨機(jī)錯(cuò)誤產(chǎn)生自滿,改變移位寄存器上某一位或某幾位的狀態(tài)來(lái)實(shí)現(xiàn)。網(wǎng)絡(luò)拓?fù)涞母淖兛捎蓡纹瑱C(jī)控制,按預(yù)先設(shè)置或按鍵輸入動(dòng)態(tài)改變。
4 幾點(diǎn)說(shuō)明
。1)對(duì)MAC層的協(xié)議設(shè)計(jì)與物理層及工作的物理環(huán)境是密不可分的。因此,在開(kāi)發(fā)MAC層協(xié)議及軟件時(shí),對(duì)物理層模擬平臺(tái)的設(shè)計(jì)和信道模擬器的設(shè)計(jì)應(yīng)根據(jù)系統(tǒng)的最終工作環(huán)境及相關(guān)系統(tǒng)參數(shù)設(shè)計(jì)。
。2)按照上述開(kāi)發(fā)方法所開(kāi)發(fā)的MAC層軟件可直接應(yīng)用于最終的系統(tǒng)上。按照這樣的思路,各通信層面上的軟件開(kāi)發(fā)都可通過(guò)建立相應(yīng)的鏈路模擬平臺(tái)來(lái)并行開(kāi)發(fā),縮短開(kāi)發(fā)周期。
。3)在對(duì)處理器的選擇的討論中沒(méi)有考慮操作系統(tǒng)的影響。如果考慮操作系統(tǒng),那么處理器的處理能力按照經(jīng)驗(yàn)只能折算為以前的1/3。
(4)如果需要開(kāi)發(fā)的系統(tǒng)是全網(wǎng)同步的,如TDMA系統(tǒng),那么物理層模擬器的設(shè)計(jì)將更為復(fù)雜。