摘要:針對(duì)無(wú)線Ad Hoc網(wǎng)絡(luò)中三種典型的異步MAC層接入?yún)f(xié)議:MAcAw、FAMA-NTR和DBTMA,從協(xié)議的基本思想、算法描述、協(xié)議狀態(tài)流程等方面進(jìn)行了探討。其研究成果可以為進(jìn)一步探討無(wú)線Ad hoc網(wǎng)絡(luò)異步MAC層接入?yún)f(xié)議提供參考。
關(guān)鍵詞:Ad Hoc;異步;接入?yún)f(xié)議;MAC層
0 引言
無(wú)線Ad Hoe網(wǎng)絡(luò)是一種自組織的對(duì)等式網(wǎng)絡(luò),又稱作多跳網(wǎng)絡(luò)(Multi-hop Network)或稱自組織網(wǎng)絡(luò)(Self-organized Network)。自組織網(wǎng)絡(luò)具有無(wú)中心、臨時(shí)自組織、分布式控制、節(jié)點(diǎn)移動(dòng)和多跳等特點(diǎn),這使得Ad Hoc網(wǎng)絡(luò)MAC層的信道接入?yún)f(xié)議面臨很多新問(wèn)題。
(1)隱終端和暴露終端:Ad Hoc網(wǎng)絡(luò)中節(jié)點(diǎn)的移動(dòng)性和多跳性帶來(lái)了隱終端和暴露終端的問(wèn)題。隱終端是指在發(fā)送者的通信范圍之外,而在接收者通信范圍之內(nèi)的節(jié)點(diǎn)。暴露終端是指在發(fā)送者通信范圍之內(nèi),而在接收者通信范圍之外的節(jié)點(diǎn)。一般地,隱終端的存在可能造成數(shù)據(jù)的沖突,而暴露終端的出現(xiàn)使得網(wǎng)絡(luò)資源無(wú)法得到充分的利用。
(2)MAC層的公平接入:Ad Hoc網(wǎng)絡(luò)沒(méi)有中心控制節(jié)點(diǎn),必須采用分布式機(jī)制實(shí)現(xiàn)網(wǎng)絡(luò)節(jié)點(diǎn)接入MAC層的協(xié)調(diào)。如何保證各節(jié)點(diǎn)和不同業(yè)務(wù)流接入網(wǎng)絡(luò)的公平性,是Ad Hoc網(wǎng)絡(luò)MAC層接入?yún)f(xié)議需要解決的重要問(wèn)題。
(3)QoS保障:Ad Hoc網(wǎng)絡(luò)的移動(dòng)性、多變性等特性,使得自組網(wǎng)要保障一定的Qos非常困難,MAC層QoS需解決實(shí)時(shí)業(yè)務(wù)快速獲得信道使用權(quán)和避免時(shí)延抖動(dòng)的問(wèn)題。
(4)功率控制:Ad Hoc網(wǎng)絡(luò)中的設(shè)備絕大多數(shù)靠電池供電,能量不等且有限,所以如何節(jié)能和控制節(jié)點(diǎn)的發(fā)送功率也是MAC協(xié)議設(shè)計(jì)必須考慮的因素。
1 MACAW協(xié)議
1.1 MACAW基本思想
MACAW(Multiple Access Collision Avoidance for Wireless)協(xié)議是對(duì)MACA(Multiple Access with Collision Avoidance)的改進(jìn),除了保留MACA中的RTS-CTS握手機(jī)制外,還使用了其它控制信號(hào)(DS,ACK,RRTS),以進(jìn)一步解決暴露終端和隱終端問(wèn)題。作為MACA協(xié)議的改進(jìn),首先,MACAW增加了鏈路層的確認(rèn)機(jī)制,即由接收點(diǎn)回復(fù)ACK幀;其次,由發(fā)送節(jié)點(diǎn)發(fā)出DS幀,通知暴露終端該節(jié)點(diǎn)與目的節(jié)點(diǎn)握手成功,減少數(shù)據(jù)幀沖突;當(dāng)暴露終端收到許多RTS而又不能回復(fù)時(shí),由暴露終端發(fā)起RRTS通知鄰節(jié)點(diǎn)競(jìng)爭(zhēng)期開(kāi)始的機(jī)制來(lái)提高節(jié)點(diǎn)的競(jìng)爭(zhēng)效率。協(xié)議接入的過(guò)程稱為RTS-CTS-DS-DATA-ACK五次握手或是RRTS-RTS-CTS-DS-DATA-ACK六次握手的交互方式。
MACAW采用了一種乘法增加線性減少退避算法(MILD)代替二進(jìn)制指數(shù)(BEB)退避,同時(shí)也實(shí)現(xiàn)了退避復(fù)制機(jī)制,保證了接入的公平性。另外,它還使用了多流模型以達(dá)到業(yè)務(wù)流的平衡傳輸。
1.2 MACAW算法描述及狀態(tài)流程
MACAW可用控制規(guī)程、退避規(guī)程和超時(shí)規(guī)程來(lái)描述。工作于MACAW協(xié)議下的節(jié)點(diǎn)可處于8種狀態(tài):IDLE.CONTEND、WFCTS,WFContend,WFDS,WFData.WFACK,QUIET。
圖1所示是Ad Hoc網(wǎng)絡(luò)中的四個(gè)節(jié)點(diǎn)。下文以此網(wǎng)絡(luò)為例,說(shuō)明MACAW的算法。
控制規(guī)程:
(1)A有數(shù)據(jù)要發(fā)向B,則A從IDLE狀態(tài)進(jìn)入CON-TEND狀態(tài),隨機(jī)選擇定時(shí)器值,定時(shí)器超時(shí)發(fā)送RTS,進(jìn)入WFCTS狀態(tài)。B收到A發(fā)給自己的RTS信號(hào)后發(fā)送CTS信號(hào)、設(shè)置定時(shí)器,從IDLE狀態(tài)進(jìn)入WFDS狀態(tài)。
(2)A收到B發(fā)送的CTS信號(hào)后,清除定時(shí)器,發(fā)送DS和DATA給B,進(jìn)入WFACK狀態(tài),設(shè)置定時(shí)器;B收到A發(fā)送的DS信號(hào),進(jìn)入WFData狀態(tài)并設(shè)置定時(shí)器,收到A發(fā)送的數(shù)據(jù)分組后清除定時(shí)器,發(fā)送ACK進(jìn)入IDLE狀態(tài)。A收到B發(fā)回的ACK信號(hào),清除定時(shí)器,重新回到IDLE狀態(tài)。
(3)B處于IDLE狀態(tài)后,收到確認(rèn)過(guò)的數(shù)據(jù)包再次發(fā)起的RTS,發(fā)送ACK信號(hào)給A;如A處于CONTEND狀態(tài)時(shí),收到RTS,發(fā)送CTS給源節(jié)點(diǎn),進(jìn)入WFDS狀態(tài),設(shè)置定時(shí)器。
(4)c監(jiān)聽(tīng)到A和B的通信握手后,進(jìn)入QUIET狀態(tài),此時(shí)如接收到RTS分組,進(jìn)入WFContend狀態(tài)。
(5)處于IDLE狀態(tài)的節(jié)點(diǎn)收到RRTS,發(fā)送RTS給源節(jié)點(diǎn),進(jìn)入WFCTS狀態(tài)并設(shè)置定時(shí)器。
退避規(guī)程:
(1)收到目的節(jié)點(diǎn)非本節(jié)點(diǎn)的RTS或CTS握手信號(hào),節(jié)點(diǎn)從當(dāng)前狀態(tài)進(jìn)入QUIET狀態(tài)。
(2)收到目的節(jié)點(diǎn)非本節(jié)點(diǎn)的DS信號(hào),節(jié)點(diǎn)從當(dāng)前狀態(tài)進(jìn)入QUmT狀態(tài)。
(3)收到目的節(jié)點(diǎn)非本節(jié)點(diǎn)的RRTS信號(hào),節(jié)點(diǎn)從當(dāng)前狀態(tài)進(jìn)入QUIET狀態(tài)。
超時(shí)規(guī)程:
(1)節(jié)點(diǎn)處于WFContend定時(shí)器超時(shí),節(jié)點(diǎn)隨機(jī)選擇定時(shí)器值進(jìn)入CONTEND狀態(tài)。
(2)如節(jié)點(diǎn)是從WFContend進(jìn)入CONTEND狀態(tài)的,則定時(shí)器超時(shí)后,節(jié)點(diǎn)發(fā)送RRTS分組,進(jìn)入IDLE狀態(tài)。如節(jié)點(diǎn)是從IDLE狀態(tài)進(jìn)入CONTEND狀態(tài)的,定時(shí)器超時(shí),節(jié)點(diǎn)發(fā)送RTS,進(jìn)入WFCTS狀態(tài)。
(3)其他狀態(tài)下定時(shí)器超時(shí),節(jié)點(diǎn)進(jìn)入IDLE狀態(tài)。
圖2是MACAW協(xié)議的狀態(tài)轉(zhuǎn)移流程圖。
2 FAMA-NTR協(xié)議
2.1 FAMA-NTR的基本思想
FAMA-NTR(Non-persistent Transmit Request)協(xié)議是基于無(wú)隱藏終端的全連通網(wǎng)絡(luò)結(jié)構(gòu)提出的。協(xié)議結(jié)合了非堅(jiān)持的載波監(jiān)聽(tīng)和RTS/CTS握手機(jī)制,認(rèn)為RTS的長(zhǎng)度要大于最大傳播時(shí)延才能保證控制分組不與數(shù)據(jù)分組沖突。
FAMA-NTR節(jié)點(diǎn)發(fā)送數(shù)據(jù)前,要先進(jìn)行載波監(jiān)聽(tīng),信道空閑則發(fā)送握手信號(hào);如果監(jiān)聽(tīng)到了載波或者解析到了RTS和CTS分組則進(jìn)行退避。發(fā)送節(jié)點(diǎn)與接收節(jié)點(diǎn)之間采用RTS-CTS-DATA三次握手完成通信過(guò)程,要求發(fā)送RTS分組的時(shí)長(zhǎng)要大于最大傳播時(shí)延,以保證監(jiān)聽(tīng)機(jī)制有效運(yùn)轉(zhuǎn)。
2.2 FAMA-NTR的算法描述及狀態(tài)流程
FAMA-NTR協(xié)議可以分為六種狀態(tài):START,PASSIVE、REMOTE.XMIT、RTS、BACKOFFO其中START狀態(tài)是指節(jié)點(diǎn)開(kāi)機(jī)初始化;PASSIVE狀態(tài)是指節(jié)點(diǎn)初始化完畢,進(jìn)入主動(dòng)偵聽(tīng)狀態(tài);REMOTE狀態(tài)是指節(jié)點(diǎn)在偵聽(tīng)到信道有信號(hào)時(shí)進(jìn)行退避;XMIT狀態(tài)是指節(jié)點(diǎn)開(kāi)始發(fā)送數(shù)據(jù)業(yè)務(wù);RTS狀態(tài)是指節(jié)點(diǎn)成功發(fā)送RTS;BACKOFF狀態(tài)是指節(jié)點(diǎn)根據(jù)退避計(jì)數(shù)器進(jìn)行退避。
工作于FAMA-NTR協(xié)議的節(jié)點(diǎn)接入信道的過(guò)程如下:
(1)節(jié)點(diǎn)開(kāi)機(jī)初始化完成后,監(jiān)聽(tīng)信道,如監(jiān)聽(tīng)到載波信號(hào),則進(jìn)入REMOTE進(jìn)行退避,否則進(jìn)入PASSIVE狀態(tài)。
(2)PASSIVE狀態(tài)下的節(jié)點(diǎn)如監(jiān)聽(tīng)到載波信號(hào),進(jìn)入RE-MOTE進(jìn)行退避;如有數(shù)據(jù)待發(fā),且監(jiān)聽(tīng)信道無(wú)載波則調(diào)用RTS(),發(fā)送RTS分組。
(3)處于RTS狀態(tài)下的節(jié)點(diǎn)監(jiān)聽(tīng)到載波信號(hào)調(diào)用BACKOFF()進(jìn)行退避,如接收到分組且為CTS分組,則調(diào)用XMIT0,發(fā)送數(shù)據(jù)分組,如接收到其他分組,則調(diào)用BACKOFF()進(jìn)行退避。
(4)BACKOFF退避規(guī)則是設(shè)一定時(shí)器,定時(shí)值在()-20t(t指分組在信道傳送的最大時(shí)延),定時(shí)器超時(shí)后監(jiān)聽(tīng)信道,無(wú)載波則調(diào)用RTS0,發(fā)送RTS分組,否則調(diào)用REMOTE進(jìn)行退避。
(5)XMIT狀態(tài)下,節(jié)點(diǎn)設(shè)置傳送分組數(shù),發(fā)送數(shù)據(jù),如發(fā)送的數(shù)據(jù)超過(guò)傳送分組數(shù)則調(diào)用BACKOFF0,再次爭(zhēng)用信道后再發(fā)送剩余的數(shù)據(jù)。如數(shù)據(jù)發(fā)送完,則回到PASSIVE狀態(tài)。 (6)REMOTE退避規(guī)則:退避2t+tl(t)指節(jié)點(diǎn)處理監(jiān)聽(tīng)載波的時(shí)間)時(shí)間后,再次監(jiān)聽(tīng)信道,如接收到CTS分組則再次調(diào)用REMOTE0退避;如接收到給本節(jié)點(diǎn)RTS分組發(fā)送CTS后調(diào)用REMOTE0退避;如接收到給本節(jié)點(diǎn)的數(shù)據(jù)分組則將數(shù)據(jù)提交上層處理后調(diào)用REMOTE0退避;監(jiān)聽(tīng)到載波或解析分組出錯(cuò),再次調(diào)用REMOTE0退避;如未監(jiān)聽(tīng)到載波且有數(shù)據(jù)要發(fā)送,調(diào)用BACKOFF()退避后爭(zhēng)用信道,否則回到PASSIVE狀態(tài)。
FAMA-NTR協(xié)議的狀態(tài)轉(zhuǎn)移流程如圖3所示。
3 DBTMA協(xié)議
3.1 DBTMA的基本思想
為解決Ad Hoc網(wǎng)絡(luò)中無(wú)法保證節(jié)點(diǎn)接收RTS/CTS幀,造成MAC層協(xié)議失效的問(wèn)題,提出了雙忙音多址接入?yún)f(xié)議DBTMA(Dual Busy Tone Multiple Access)。DBTMA把信道分割成控制信道和數(shù)據(jù)信道,分別傳輸控制信息和數(shù)據(jù)信息,并且在控制信道上開(kāi)設(shè)了兩個(gè)窄帶忙音信號(hào):接收忙音BTr(在接收點(diǎn)發(fā)送CTS前發(fā)送)和發(fā)送忙音BTt(在發(fā)送節(jié)點(diǎn)發(fā)送數(shù)據(jù)前發(fā)送),用于指示節(jié)點(diǎn)在數(shù)據(jù)信道上接收和發(fā)送報(bào)文。通過(guò)對(duì)BTr和BTt的載波偵聽(tīng),加上RTS/CTS握手機(jī)制,共同解決隱藏終端和暴露終端問(wèn)題。
兩個(gè)忙音信號(hào)的使用保證了節(jié)點(diǎn)在成功占用信道后數(shù)據(jù)分組的無(wú)沖突發(fā)送,在節(jié)點(diǎn)占用信道之前,仍采用非堅(jiān)持的載波偵聽(tīng)機(jī)制和遇忙退避策略接入信道。節(jié)點(diǎn)在初始化后進(jìn)入IDLE狀態(tài),如果高層有分組到達(dá),首先進(jìn)行載波偵聽(tīng),如果沒(méi)有偵聽(tīng)到接收忙音,發(fā)送RTS進(jìn)入WF_CTS狀態(tài);否則,退避回到IDLE狀態(tài)。
3 .2 DBTMA算法描述及狀態(tài)流程
DBTMA可以用一般規(guī)則、通信規(guī)則和超時(shí),退避規(guī)則來(lái)描述。工作于DBTMA協(xié)議下的節(jié)點(diǎn)可處于5種狀態(tài):IDLE、CONTEND、WF CTS、TRANSMIT、WF DATA。
一般規(guī)則:
(1)所有節(jié)點(diǎn)開(kāi)機(jī)初始化完成后,進(jìn)入IDLE狀態(tài)。
(2)發(fā)送數(shù)據(jù)分組前,采用RTS和CTS信號(hào)進(jìn)行握手。
(3)節(jié)點(diǎn)發(fā)送數(shù)據(jù)之前,打開(kāi)BTt信號(hào)直到發(fā)送結(jié)束;節(jié)點(diǎn)準(zhǔn)備接收分組時(shí),打開(kāi)BTr信號(hào)直到接收結(jié)束。
通信規(guī)則:
(1)有數(shù)據(jù)待發(fā)的節(jié)點(diǎn),進(jìn)入CONTEND狀態(tài),并監(jiān)聽(tīng)信道BTr信號(hào),如沒(méi)有監(jiān)聽(tīng)到BTr信號(hào)則發(fā)送RTS,否則退避。
(2)節(jié)點(diǎn)收到發(fā)給本節(jié)點(diǎn)的RTS信號(hào)后,監(jiān)聽(tīng)信道BTt信號(hào),如沒(méi)有監(jiān)聽(tīng)到BTt信號(hào)則打開(kāi)BTr信號(hào)、發(fā)送CTS并設(shè)置定時(shí)器,進(jìn)入WF_DATA狀態(tài),否則停留在IDLE狀態(tài)。
(3)收到對(duì)方應(yīng)答的CTS信號(hào)后,發(fā)送節(jié)點(diǎn)打開(kāi)BTt信號(hào),發(fā)送數(shù)據(jù)分組。
(4)收發(fā)雙方在完成數(shù)據(jù)收發(fā)后,分別關(guān)閉各自的BTr和BTt信號(hào),進(jìn)入IDLE。
超時(shí)/退避規(guī)則:
(1)節(jié)點(diǎn)處于任何狀態(tài)下,定時(shí)器超時(shí),則回到IDLE狀態(tài)。
(2)節(jié)點(diǎn)在WF_CTS狀態(tài)下超時(shí)未收到CTS,增大退避值;節(jié)點(diǎn)在WF_CTS狀態(tài)下收到CTS,減小退避值。
DBTMA協(xié)議的狀態(tài)轉(zhuǎn)移流程如圖4所示。
4 協(xié)議比較
上文介紹了MACAW、FAMA-NTR和DBTMA協(xié)議的基本原理和工作流程,表l就三種協(xié)議的特性做了綜合比較。
5 結(jié)束語(yǔ)
MAC層接入?yún)f(xié)議的作用是使多個(gè)用戶高效、合理地共享有限的信道資源。由于Ad Hoc網(wǎng)絡(luò)具有節(jié)點(diǎn)移動(dòng)、分布式控制等特點(diǎn),MAC層接入?yún)f(xié)議的設(shè)計(jì)面臨許多新的挑戰(zhàn)。本文針對(duì)現(xiàn)有的三種典型異步MAC層接入?yún)f(xié)議:MACAW、FAMA-NTR和DBTMA,從協(xié)議的基本思想、算法描述、協(xié)議狀態(tài)流程等方面進(jìn)行了探討,并就三種協(xié)議應(yīng)用于Ad Hoc網(wǎng)絡(luò)的特性作了比較。