王洪民,脫永軍,陳勁堯,白 翔
(1.海軍信息化部,北京100841;2.中國(guó)電子科技集團(tuán)公司第三十研究所,四川成都610041)
無(wú)線Ad Hoc網(wǎng)絡(luò)是一種自組織的對(duì)等式網(wǎng)絡(luò),又稱作多跳網(wǎng)絡(luò)(Multi-h(huán)op Network)或稱自組織網(wǎng)絡(luò)(Self- organized Network)[1]。自組織網(wǎng)絡(luò)具有分布式、無(wú)中心、自組織、節(jié)點(diǎn)可移動(dòng)等特點(diǎn)[2],在軍事通信、野外通信、應(yīng)急通信等領(lǐng)域有廣泛的應(yīng)用前景[3]。短波自組織網(wǎng)絡(luò)和其他無(wú)線網(wǎng)絡(luò)相比,其采用的短波信道存在著信道帶寬有限,信道速率低、時(shí)變、衰落和多徑等特性。因此短波鏈路具有誤碼率較高、不穩(wěn)定、存在單向信道和距離無(wú)關(guān)等特性。
因此,如何解決多個(gè)用戶高效、合理地共享有限的短波信道資源這一問(wèn)題,即媒介訪問(wèn)控制(MAC)協(xié)議的設(shè)計(jì)是短波自組織網(wǎng)中的關(guān)鍵技術(shù)之一。其好壞直接影響到網(wǎng)絡(luò)容量、時(shí)延等性能指標(biāo)的優(yōu)劣。
短波自組織網(wǎng)MAC協(xié)議的難點(diǎn)主要體現(xiàn)在以下幾個(gè)方面:
1)分布式控制。在類似于蜂窩移動(dòng)通信系統(tǒng)中使用的有中心的信道接入技術(shù)是由中心控制點(diǎn)來(lái)協(xié)調(diào)節(jié)點(diǎn)間信道的分配。而在自組織網(wǎng)中,沒(méi)有中心控制實(shí)體進(jìn)行全局的資源管理與分配,只能采用分布式的控制機(jī)制來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)中節(jié)點(diǎn)接入的協(xié)調(diào),增加了協(xié)議設(shè)計(jì)的難度。
2)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的動(dòng)態(tài)變化。自組織網(wǎng)中的節(jié)點(diǎn)通常會(huì)處于移動(dòng)狀態(tài),并且隨機(jī)地離開(kāi)或加入網(wǎng)絡(luò),這就導(dǎo)致節(jié)點(diǎn)間相互干擾關(guān)系的改變。同時(shí),網(wǎng)絡(luò)中的業(yè)務(wù)負(fù)荷也在不斷變化,有時(shí)很輕,有時(shí)很重。自組織網(wǎng)的MAC接入?yún)f(xié)議應(yīng)當(dāng)適應(yīng)這些動(dòng)態(tài)變化,以獲得優(yōu)良的性能。
3)隱藏終端和暴露終端問(wèn)題[4]。自組織網(wǎng)絡(luò)中節(jié)點(diǎn)的移動(dòng)性和多跳性帶來(lái)了隱藏終端和暴露終端的問(wèn)題。隱藏終端是指在接收者通信范圍之內(nèi),而在發(fā)送者的通信范圍之外的節(jié)點(diǎn)。暴露終端是指在接收者通信范圍之外,而在發(fā)送者通信范圍之內(nèi)的節(jié)點(diǎn)。由于發(fā)送者看不到隱藏終端,所以其存在可能造成數(shù)據(jù)沖突,而暴露終端的出現(xiàn)則可能會(huì)使網(wǎng)絡(luò)資源無(wú)法得到充分的利用。
文中在MACAW(Multiple Access Collision A-voidance for Wireless,無(wú)線多路訪問(wèn)碰撞回避)[5]協(xié)議的基礎(chǔ)上,針對(duì)短波網(wǎng)絡(luò)的特點(diǎn)進(jìn)行了改進(jìn),提出了短波多路訪問(wèn)碰撞回避協(xié)議HFMACA,并對(duì)其進(jìn)行了仿真分析,在短波自組織網(wǎng)MAC協(xié)議的研究和設(shè)計(jì)上進(jìn)行了初步的探索。
MACAW(Multiple Access Collision Avoidance for Wireless)協(xié)議是對(duì)MACA(Multiple Access with Collision Avoidance)的改進(jìn),除了保留MACA中的RTS(Request to Send,請(qǐng)求發(fā)送)-CTS(Clear to Send,允許發(fā)送)握手機(jī)制外,還增加了其他的控制信令,包括 ACK(Acknowledgment,數(shù)據(jù)響應(yīng))、DS(Data Sending,數(shù)據(jù)發(fā)送)、RRTS(Request for Request to Send,發(fā)送RTS的請(qǐng)求),以進(jìn)一步解決隱藏終端和暴露終端帶來(lái)的各種問(wèn)題。
MACAW協(xié)議的主要設(shè)計(jì)原理如下。
1)鏈路層采用5次握手的確認(rèn)機(jī)制:MACAW采用RTS-CTS-DS-DATA-ACK五次握手機(jī)制。如果發(fā)送方超時(shí)沒(méi)有收到接收方回應(yīng)的CTS消息,則重發(fā)RTS消息;如果接收方接收到數(shù)據(jù),則向發(fā)送方反饋ACK消息,否則反饋CTS消息。發(fā)送方重發(fā)RTS消息時(shí),如果超時(shí)沒(méi)有收到數(shù)據(jù),則退避計(jì)數(shù)器的值增加;如果收到ACK,則退避計(jì)數(shù)器的值減小;如果收到CTS,退避計(jì)數(shù)器的值不變。采用這種方法進(jìn)一步提高了信道的利用率。
2)采用DS幀以減少可能由隱藏終端帶來(lái)的沖突:在成功交互RTS和CTS后,由發(fā)送方發(fā)出DS幀,通知隱藏終端本節(jié)點(diǎn)與目的節(jié)點(diǎn)握手成功,減少數(shù)據(jù)幀的沖突。
3)采用RRTS幀提高競(jìng)爭(zhēng)的公平性:當(dāng)暴露終端不斷的收到RTS,而這些RTS消息又不是針對(duì)自己的時(shí),將一直保持退避狀態(tài),無(wú)法獲得發(fā)送數(shù)據(jù)的機(jī)會(huì),造成資源使用的不公平現(xiàn)象。為解決此問(wèn)題,已經(jīng)獲得發(fā)送機(jī)會(huì)的節(jié)點(diǎn)在發(fā)送完數(shù)據(jù)后,發(fā)起RRTS消息,通知鄰近的暴露終端新的競(jìng)爭(zhēng)期開(kāi)始,收到RRTS的節(jié)點(diǎn)可立即發(fā)送RTS,從而提高了競(jìng)爭(zhēng)效率,此時(shí)協(xié)議采用 RRTS-RTS-CTS-DSDATA-ACK六次握手的交互方式。
4)使用乘法增加線性減少的退避算法:在發(fā)送數(shù)據(jù)報(bào)文時(shí),報(bào)文中攜帶本站的退避計(jì)數(shù)器值,收到報(bào)文的站根據(jù)此值在本地設(shè)置相同的退避計(jì)數(shù)器值。當(dāng)傳輸完成后,所有的退避計(jì)數(shù)器恢復(fù)到最小值。同時(shí)使用乘法增加線性減少退避算法(MILD,Multiplicative Increase and Linear Decrease),計(jì)數(shù)器值以1.5的比例增加,以1的步長(zhǎng)減少。此外,可以為不同的目的站維護(hù)多個(gè)退避計(jì)數(shù)器值。通過(guò)這些措施,在一定程度上解決了公平性問(wèn)題。
從以上分析可以看出,MACAW協(xié)議的優(yōu)點(diǎn)是設(shè)計(jì)了較為完備的信令交互機(jī)制,最大可能的避免了數(shù)據(jù)沖突,同時(shí)在競(jìng)爭(zhēng)的公平性方面也有較全面的考慮。但該機(jī)制應(yīng)用在短波通信中時(shí),則存在控制信息交互次數(shù)太多的缺點(diǎn),一方面由于無(wú)線設(shè)備的發(fā)送和接收都需要一定的轉(zhuǎn)換時(shí)間,這將顯著地降低數(shù)據(jù)傳輸?shù)男?,另一方面,由于短波具有誤碼率較高以及時(shí)變的特點(diǎn),一次通信的流程越復(fù)雜,其失敗的概率也就越高,因此,有必要針對(duì)短板特點(diǎn)對(duì)MACAW協(xié)議進(jìn)行簡(jiǎn)化。
HFMACA協(xié)議同樣使用控制幀握手來(lái)基本解決隱藏終端和暴露終端的問(wèn)題,并在發(fā)生沖突時(shí)使用MILD退避算法進(jìn)行退避。該協(xié)議在MACAW協(xié)議的基礎(chǔ)上,針對(duì)短波網(wǎng)絡(luò)的特點(diǎn)進(jìn)行了改進(jìn),在保留了MACAW協(xié)議信道訪問(wèn)控制的機(jī)制的基礎(chǔ)上,簡(jiǎn)化了節(jié)點(diǎn)間的握手和交互過(guò)程,進(jìn)一步提高了協(xié)議的效率。
HFMACA協(xié)議使用了以下四種幀,分別是:請(qǐng)求發(fā)送(RTS,Request to Send)、允許發(fā)送(CTS,Clear to Send)、數(shù)據(jù)發(fā)送(DS,Data Sending)和上層的數(shù)據(jù)(Data)。除了Data外,所有的控制幀都有一個(gè)退避值字段,收到控制幀的非目的節(jié)點(diǎn)均要拷貝下這個(gè)值并退避相應(yīng)時(shí)間。數(shù)據(jù)通過(guò)RTS-CTSDS-DATA四次握手過(guò)程完成傳遞,消息交換示意圖如圖1所示。
圖1 HFMACA消息交互示意Fig.1 Message exchange schematic diagram of HFMACA
在圖1中,節(jié)點(diǎn)C在A的通信范圍之外,節(jié)點(diǎn)D在B的通信范圍之外。當(dāng)A給B發(fā)送數(shù)據(jù)時(shí),發(fā)送方式為RTS-CTS-DS-DATA。RTS和CTS為固定長(zhǎng)度,用于預(yù)約信道。A在收到CTS后先發(fā)送DS通知鄰近站點(diǎn)(D和E)退避,然后發(fā)送數(shù)據(jù),基本解決暴露終端和隱藏終端的干擾。除了接收節(jié)點(diǎn)以外,收到幀的節(jié)點(diǎn)拷貝幀中的退避值并設(shè)置定時(shí)器進(jìn)行退避。例如:
1)在A的范圍內(nèi),B范圍外的節(jié)點(diǎn)D,在收到A發(fā)出的RTS時(shí),拷貝RTS中退避值并設(shè)置定時(shí)器保持靜默狀態(tài),以便讓A順利發(fā)送RTS和收到CTS;若收到的是DS,那么拷貝DS中的退避值并設(shè)置定時(shí)器保持靜默狀態(tài),以便讓A順利發(fā)送DATA。
2)在A的范圍外,B范圍內(nèi)的節(jié)點(diǎn)C,在收到B發(fā)出的CTS后知道信道被預(yù)定,拷貝CTS中的值并設(shè)置定時(shí)器保持靜默狀態(tài),以便讓B順利收到DATA。同時(shí)在A和B范圍內(nèi)的節(jié)點(diǎn)E在收到RTS或CTS或DS時(shí)都要設(shè)置定時(shí)器并保持靜默狀態(tài)足夠長(zhǎng)的時(shí)間,以便讓AB間的通信順利進(jìn)行。
HFMACA協(xié)議中的退避算法采用的是MILD算法,即乘法遞增線性遞減算法。由于HFMACA協(xié)議采用信道預(yù)約的方法,所以只有發(fā)送RTS時(shí)需要競(jìng)爭(zhēng)信道。首先根據(jù)節(jié)點(diǎn)數(shù)和業(yè)務(wù)量選擇一個(gè)原始退避時(shí)間間隔x,當(dāng)檢測(cè)到?jīng)_突時(shí),將退避間隔時(shí)間調(diào)整為原退避時(shí)間間隔的 1.5倍,Tinc(x)=min[1.5x,BOmax],其中的 BOmax為最大退避時(shí)間間隔;每成功完成一次發(fā)送,就將退避間隔時(shí)間調(diào)整為原退避時(shí)間間隔減 1,Tdec(x)=min[x-1,BOmax]。
在該協(xié)議中網(wǎng)絡(luò)數(shù)據(jù)的優(yōu)先級(jí)分為4級(jí),優(yōu)先級(jí)高的數(shù)據(jù)需要優(yōu)先發(fā)出,采用以下方法:對(duì)每一個(gè)優(yōu)先級(jí),設(shè)定一個(gè)退避時(shí)間間隔增量Δt,優(yōu)先級(jí)越高的退避時(shí)間間隔越短。最高優(yōu)先級(jí)1退避時(shí)間間隔可設(shè)置為0,即 Δt1=0;其它 Δt1<Δt2<Δt3<Δt4。實(shí)際的退避時(shí)間取值為x+Δt;若發(fā)生沖突,退避時(shí)間為T(mén)inc(x)+Δt;若成功完成一次發(fā)送,退避時(shí)間調(diào)整為 Tdec(x)+Δt。
綜上,HFMACA協(xié)議與MACAW協(xié)議相比,主要做出了如下的改進(jìn):
1)MACAW協(xié)議中的ACK一方面用于表示一次數(shù)據(jù)傳輸過(guò)程的結(jié)束,另一方面用于對(duì)數(shù)據(jù)本身進(jìn)行確認(rèn)。在HFMACA中,由于在DS幀中增加了退避時(shí)間字段,用于保證DATA的傳輸不受干擾,當(dāng)退避時(shí)間結(jié)束后,即可進(jìn)行新一輪競(jìng)爭(zhēng),而不需要等待ACK消息。需要說(shuō)明的是,HFMACA協(xié)議不提供數(shù)據(jù)的可靠性保證,數(shù)據(jù)的確認(rèn)及是否重傳等由上層應(yīng)用負(fù)責(zé)。
2)去掉了RRTS幀,減小了協(xié)議的復(fù)雜性。雖然由此有可能帶來(lái)資源使用不公平的問(wèn)題,但當(dāng)網(wǎng)絡(luò)規(guī)模較小時(shí),該問(wèn)題不算明顯,因此HFMACA協(xié)議適用于小規(guī)模的網(wǎng)絡(luò)。
2.3 HFMACA協(xié)議性能分析
(1)網(wǎng)絡(luò)容量
HFMACA協(xié)議采用了基于RTS-CTS的請(qǐng)求應(yīng)答握手機(jī)制來(lái)競(jìng)爭(zhēng)信道使用權(quán),網(wǎng)絡(luò)的容量和業(yè)務(wù)量的多少以及頻繁程度密切相關(guān)。在業(yè)務(wù)量較少,且發(fā)送頻度較低時(shí),網(wǎng)絡(luò)可以支持大量用戶同時(shí)在網(wǎng),同時(shí)節(jié)點(diǎn)入網(wǎng)不需要額外的開(kāi)銷和協(xié)議,開(kāi)機(jī)即入網(wǎng)。但是當(dāng)網(wǎng)絡(luò)業(yè)務(wù)量增加或網(wǎng)絡(luò)中各點(diǎn)的業(yè)務(wù)比較平均時(shí),網(wǎng)絡(luò)中各個(gè)節(jié)點(diǎn)發(fā)生碰撞的概率大大增加,雖然可以通過(guò)退避機(jī)制來(lái)在一定程度上解決沖突問(wèn)題,但是勢(shì)必會(huì)浪費(fèi)大量的時(shí)間,業(yè)務(wù)傳輸?shù)某晒β室矔?huì)大大下降。因此,在需要保證業(yè)務(wù)的成功率和業(yè)務(wù)頻度的條件下,網(wǎng)絡(luò)的容量不可能太大。
經(jīng)過(guò)仿真分析,信道誤碼率在10-3量級(jí),速率2 400 b/s,業(yè)務(wù)長(zhǎng)度1 KB時(shí),網(wǎng)絡(luò)用戶數(shù)目、業(yè)務(wù)密度與業(yè)務(wù)成功率之間的關(guān)系如表1所示。表1中的業(yè)務(wù)發(fā)送間隔時(shí)間指的是網(wǎng)絡(luò)中所有節(jié)點(diǎn)根據(jù)業(yè)務(wù)間隔時(shí)間發(fā)起1 K字節(jié)大小的數(shù)據(jù),業(yè)務(wù)發(fā)送的時(shí)間點(diǎn)將在業(yè)務(wù)間隔時(shí)間到時(shí)附近±5%波動(dòng)。
表1 用戶數(shù)量、業(yè)務(wù)密度與業(yè)務(wù)成功率間關(guān)系Table 1 Relationship between user number,traffic density and traffic success rate
可以看出,用戶數(shù)量增加后,隨著業(yè)務(wù)發(fā)送間隔時(shí)間縮短,業(yè)務(wù)性能下降。如果網(wǎng)絡(luò)需要支持32個(gè)節(jié)點(diǎn),且要求業(yè)務(wù)成功率為80%左右,則網(wǎng)絡(luò)只能支持稀疏業(yè)務(wù),即業(yè)務(wù)發(fā)送的間隔時(shí)間不能低于20 min。
(2)業(yè)務(wù)傳輸時(shí)延
在HFMACA網(wǎng)絡(luò)中,如果只考慮發(fā)送成功的業(yè)務(wù)的傳輸時(shí)延。這個(gè)時(shí)延將會(huì)是節(jié)點(diǎn)競(jìng)爭(zhēng)信道的時(shí)間+業(yè)務(wù)在信道上傳輸?shù)臅r(shí)間。根據(jù)協(xié)議設(shè)計(jì)的原則,節(jié)點(diǎn)在第一次競(jìng)爭(zhēng)失敗時(shí),將會(huì)退避一段時(shí)間再次競(jìng)爭(zhēng),如果3次競(jìng)爭(zhēng)失敗,則本次業(yè)務(wù)失敗。
因此,對(duì)于HFMACA網(wǎng)絡(luò)來(lái)說(shuō),業(yè)務(wù)傳輸時(shí)延將會(huì)是一個(gè)相對(duì)比較固定的數(shù)值,最小是:TRTS+TCTS+TDS+TData,約為3.6 s,而最大是 3 × (TRTS+TCTS+TDS)+T退避1+T退避2+TData,這個(gè)時(shí)間主要取決于原始退避時(shí)間,可能會(huì)在一定范圍內(nèi)波動(dòng)。
當(dāng)信道誤碼率在10-3量級(jí),業(yè)務(wù)長(zhǎng)度為1 KB時(shí),32個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò)在不同速率,不同業(yè)務(wù)發(fā)送間隔時(shí)間下,業(yè)務(wù)傳輸時(shí)延情況如表2所示。
表2 業(yè)務(wù)傳輸時(shí)延Table 2 Traffic delay(unit:second)
可以看出,業(yè)務(wù)發(fā)送頻率大于10 min時(shí),業(yè)務(wù)傳輸時(shí)延基本保持平穩(wěn),進(jìn)一步減少業(yè)務(wù)間隔時(shí)間后,時(shí)延明顯增大。
MAC層接入?yún)f(xié)議的作用是使多個(gè)用戶高效、合理地共享有限的信道資源。短波自組織網(wǎng)絡(luò)具有節(jié)點(diǎn)移動(dòng)、分布式控制、鏈路誤碼率較高、不穩(wěn)定等特點(diǎn),其MAC層接入?yún)f(xié)議的設(shè)計(jì)面臨許多新的挑戰(zhàn)。文中針對(duì)短波網(wǎng)絡(luò)的特點(diǎn),對(duì)MACAW協(xié)議進(jìn)行了適當(dāng)改進(jìn),提出了短波無(wú)線多路訪問(wèn)碰撞回避協(xié)議HFMACA,并對(duì)其容量、業(yè)務(wù)成功率、業(yè)務(wù)傳輸時(shí)延等性能進(jìn)行了仿真分析,對(duì)短波自組織網(wǎng)MAC協(xié)議的研究和設(shè)計(jì)具有一定的參考意義。
[1]RAMANATHAN R,REDI J.A Brief Overview of Ad Hoc Networks:Challenges and Directions[J].IEEE Communications Magazine,2002,40(05):20 -22.
[2]于宏毅.無(wú)線移動(dòng)自組織網(wǎng)[M].人民郵電出版社,2005:23.YU Hong-yi.Wireless Mobile Ad Hoc Network[M].Posts and Telecom Press,2005:23.
[3]候祥博,王一強(qiáng),楊金政.移動(dòng)Ad Hoc網(wǎng)絡(luò)技術(shù)研究及應(yīng)用[J].通信技術(shù),2009,42(08):16 -20.HOU Xiang - bo,WANG Yi- qiang,YAN Jin - zheng.Mobile Ad Hoc Network Technology and Its Application[J].Communication Technology,2009,42(8):16 -20.
[4]馬繼燕.無(wú)線Ad hoc網(wǎng)絡(luò)異步MAC層接入?yún)f(xié)議研究[J].數(shù)字通信世界,2008(04):54-56.MA Ji-yan.The Research of Asynchronous MAC Access Protocol for Wireless Ad Hoc Network[J].Digital Communication World,2008(04):54-56.
[5]LUNDY G M,ALMQUIST M,ORUK T.Specification,Verification and Simulation of a Wireless LAN Protocol:MACAW[C]//IEEE Military Communications Conference Proceedings.USA:IEEE,1998:565 -569.