伊 鑫 陳金來 王忠思
(海軍蚌埠士官學(xué)校 蚌埠 233012)
自組網(wǎng)(ad hoc networks)MAC協(xié)議需要控制節(jié)點(diǎn)對(duì)無線媒體的占用,一直是自組織網(wǎng)絡(luò)應(yīng)用研究的重點(diǎn)和難點(diǎn)之一。MAC協(xié)議的性能將直接影響到整個(gè)網(wǎng)絡(luò)的性能,如吞吐量、時(shí)延及時(shí)延抖動(dòng)等。采用單一信道面臨的一個(gè)共同問題是隨著節(jié)點(diǎn)數(shù)的增加,節(jié)點(diǎn)間的競爭以及報(bào)文的沖突加劇,這使得網(wǎng)絡(luò)性能急劇下降。在單信道網(wǎng)絡(luò)中,系統(tǒng)的吞吐量受限于信道帶寬,而且難以對(duì)QoS進(jìn)行支持。采用多信道能有效地解決以上問題,由于網(wǎng)絡(luò)中存在多個(gè)相互正交的信道,不同的節(jié)點(diǎn)可以同時(shí)在不同的信道上進(jìn)行無碰撞傳輸,這將使系統(tǒng)地吞吐量得到很大的提升,其靈活的信道接入方式也使得QoS支持更加容易。隨著技術(shù)的進(jìn)步,現(xiàn)在已經(jīng)有可以通過一個(gè)DSP控制多達(dá)260個(gè)信道的無線設(shè)備,信道間的切換可以在1μs內(nèi)完成,因此節(jié)點(diǎn)采用廉價(jià)而簡單的設(shè)備就可以構(gòu)建多信道網(wǎng)絡(luò),以滿足人們對(duì)寬帶業(yè)務(wù)的需求[1]。本文將針對(duì)動(dòng)態(tài)信道分配協(xié)議(DCA)[2]信道利用率不高的問題,對(duì)其進(jìn)行改進(jìn)以提高網(wǎng)絡(luò)的信道利用率。
DCA多信道MAC協(xié)議是由專用控制信道、兩個(gè)RF的多信道MAC協(xié)議。DCA的設(shè)計(jì)思想是使用一個(gè)固定信道傳輸控制分組,其他的信道傳輸數(shù)據(jù)分組。每一個(gè)節(jié)點(diǎn)有一個(gè)控制收發(fā)器和一個(gè)數(shù)據(jù)收發(fā)器,可在控制信道和一個(gè)數(shù)據(jù)信道上同時(shí)監(jiān)聽??刂菩诺烙脕斫鉀Q信道的沖突和為每個(gè)終端分配信道的問題,控制收發(fā)器在控制信道上與其它終端交換控制信息,得到接入數(shù)據(jù)信道的權(quán)利;數(shù)據(jù)收發(fā)器動(dòng)態(tài)地切換到一個(gè)數(shù)據(jù)信道上進(jìn)行數(shù)據(jù)傳輸。
DCA協(xié)議實(shí)現(xiàn)簡單,而且不需要網(wǎng)絡(luò)的同步,可以有效地提高網(wǎng)絡(luò)的吞吐量,降低了網(wǎng)絡(luò)時(shí)延,通過使用專用的控制信道,使路由發(fā)現(xiàn)、路由維護(hù)、地址解析等廣播信息有效地傳輸。但是,當(dāng)信道總數(shù)很少時(shí),一個(gè)特定的控制信道是非常浪費(fèi)的。如802.11b只有三個(gè)信道,一個(gè)專用的控制信道相當(dāng)于33%的總信道帶寬成為了控制開銷[2]?;诖?,本文對(duì)DCA協(xié)議進(jìn)行一些改進(jìn),使一些短報(bào)文可以在控制信道上進(jìn)行傳輸,從而提高了信道的利用率。
假設(shè)網(wǎng)絡(luò)中有N個(gè)節(jié)點(diǎn)和M(N>M)個(gè)可用信道,選擇其中一個(gè)信道為網(wǎng)絡(luò)中的控制信道,其余M-1個(gè)信道為所有節(jié)點(diǎn)按需預(yù)約的數(shù)據(jù)信道。每個(gè)節(jié)點(diǎn)增加一個(gè)報(bào)文閾值變量Traffic_on。Traffic_on用來決定節(jié)點(diǎn)是否通過控制信道來發(fā)送該報(bào)文,報(bào)文長度若大于Traffic_on,按照DCA協(xié)議的方式進(jìn)行信道預(yù)約和報(bào)文傳輸,報(bào)文長度小于Traffic_on時(shí),則直接以MACA的方式在公共信道上進(jìn)行傳輸,目的節(jié)點(diǎn)收到報(bào)文后回復(fù)ACK。因?yàn)槎虉?bào)文發(fā)生沖突的概率與握手信號(hào)發(fā)生沖突的概率相當(dāng),而且報(bào)文重傳的開銷不大,所以短報(bào)文不通過握手信號(hào)進(jìn)行傳輸,報(bào)文發(fā)生沖突時(shí)在二進(jìn)制指數(shù)退避后重傳。Traffic_on的選擇對(duì)網(wǎng)絡(luò)性能有很大的影響,Traffic_on太大將影響鄰居節(jié)點(diǎn)正常預(yù)約信道,在具體的網(wǎng)絡(luò)環(huán)境中可調(diào)整Traffic_on的值,從而使網(wǎng)絡(luò)性能最優(yōu)。圖1為三個(gè)數(shù)據(jù)信道時(shí)協(xié)議的示意圖。
圖1 改進(jìn)后協(xié)議信道介入規(guī)程
步驟1:初始化
每個(gè)節(jié)點(diǎn)開機(jī)時(shí)都要對(duì)CUL(可用信道表)和FCL(空閑信道表)表項(xiàng)以及變量Traffic_on進(jìn)行初始化。
步驟2:駐留空閑信道
沒有數(shù)據(jù)發(fā)送的節(jié)點(diǎn)處于空閑狀態(tài),控制收發(fā)器對(duì)控制信道進(jìn)行監(jiān)聽,并且對(duì)CUL和FCL進(jìn)行維護(hù),此時(shí)需要處理如下情況:
如果收到上層要發(fā)送的數(shù)據(jù)或是有需要轉(zhuǎn)發(fā)的數(shù)據(jù),跳轉(zhuǎn)到步驟3。
如果收到RTS,檢查RTS的目的節(jié)點(diǎn)是否為本節(jié)點(diǎn),如果是,則根據(jù)RTS中的FCL,結(jié)合本節(jié)點(diǎn)的CUL,選擇一個(gè)可用信道并通過CTS回復(fù)。
如果收到CTS或TC,則根據(jù)CTS或TC中預(yù)約的信道更新本節(jié)點(diǎn)的CUL和FCL。在數(shù)據(jù)信道的預(yù)約過程中,由于RTS的發(fā)送使得鄰居節(jié)點(diǎn)進(jìn)行回退,因此CTS和TC通??梢詿o沖突地被正確接收。
收到數(shù)據(jù)報(bào)文,查看數(shù)據(jù)報(bào)文的目的節(jié)點(diǎn)是否為本節(jié)點(diǎn),如果是發(fā)送本節(jié)點(diǎn)的報(bào)文,則回復(fù)ACK,否則丟棄。
步驟3:數(shù)據(jù)發(fā)送
假設(shè)節(jié)點(diǎn)i有數(shù)據(jù)向節(jié)點(diǎn)j發(fā)送,節(jié)點(diǎn)i首先比較報(bào)文長度和Traffic_on,判斷此報(bào)文是否為短報(bào)文,對(duì)于長報(bào)文,如果節(jié)點(diǎn)i有空閑信道可用,則以MACA的方式發(fā)送RTS,RTS中攜帶本節(jié)點(diǎn)的FCL和信道預(yù)約時(shí)長,否則繼續(xù)駐留控制信道,當(dāng)鄰居節(jié)點(diǎn)釋放數(shù)據(jù)信道后,節(jié)點(diǎn)進(jìn)行隨機(jī)退避以避免其它節(jié)點(diǎn)同時(shí)競爭此信道,然后再發(fā)送RTS。當(dāng)收到節(jié)點(diǎn)j的CTS后,節(jié)點(diǎn)i根據(jù)CTS中選擇的信道,發(fā)送TC報(bào)文告知鄰居節(jié)點(diǎn)更新CUL和FCL,數(shù)據(jù)信道切換至預(yù)約信道上發(fā)送報(bào)文。對(duì)于短報(bào)文,節(jié)點(diǎn)i以MACA的方式在控制信道上發(fā)送該報(bào)文,如果沒有收到目的節(jié)點(diǎn)的ACK,則進(jìn)行二進(jìn)制指數(shù)退避,然后重傳。
步驟4:數(shù)據(jù)接收
節(jié)點(diǎn)j收到目的節(jié)點(diǎn)為本節(jié)點(diǎn)的RTS,更新自己的CUL和FCL,回復(fù)攜帶預(yù)約信道的CTS后,數(shù)據(jù)收發(fā)器切換到預(yù)約到的信道接收數(shù)據(jù)。
如圖2,本文假設(shè)網(wǎng)絡(luò)中有一個(gè)控制信道和三個(gè)數(shù)據(jù)信道,所有的信道帶寬相同,則控制信道所占的比例α=0.25,傳輸半徑R和傳播時(shí)延τ都設(shè)為1,數(shù)據(jù)包傳輸時(shí)間tdata=1000τ,RTS和CTS包的傳輸時(shí)間設(shè)為5τ,假設(shè)短報(bào)文 和 長 報(bào) 文 等 概 率 出 現(xiàn),ttrafficOn、tack、ts_delay、tslot(ttrafficOn、tack、ts_delay、tslot分別為短報(bào)文傳輸時(shí)間、應(yīng)答報(bào)文傳輸時(shí)間、傳輸時(shí)延和短報(bào)文傳輸間隔)設(shè)為20τ、5τ、5τ、10τ,圖2顯示了在平均節(jié)點(diǎn)數(shù)M1為3的情況下,改進(jìn)后的協(xié)議和DCA協(xié)議中信道的吞吐量與數(shù)據(jù)包發(fā)送概率p′之間的關(guān)系。
圖2 協(xié)議吞吐量比較
改進(jìn)后協(xié)議的吞吐量得到了顯著的提高,這是因?yàn)楦倪M(jìn)后的協(xié)議在控制信道空閑的時(shí)候進(jìn)行短報(bào)文的傳輸,提高了信道的利用率,同時(shí),數(shù)據(jù)信道并不是同時(shí)達(dá)到最大的吞吐量的飽和狀態(tài),這是因?yàn)樵贒CA協(xié)議中,當(dāng)沒有可用數(shù)據(jù)信道時(shí),控制信道處于空閑狀態(tài),而改進(jìn)后的協(xié)議在控制信道空閑狀態(tài)下發(fā)送短報(bào)文,所以隨著報(bào)文發(fā)送概率p′的增加,網(wǎng)絡(luò)的吞吐量還有一定的提升。當(dāng)報(bào)文發(fā)送概率繼續(xù)增大時(shí),報(bào)文的沖突的概率增大,網(wǎng)絡(luò)的吞吐量也隨著急劇下降。
本文針對(duì)DCA協(xié)議信道利用率不高的問題,對(duì)其進(jìn)行了適當(dāng)?shù)母倪M(jìn)后短報(bào)文可以在沒有可用數(shù)據(jù)信道時(shí)直接在控制信道上進(jìn)行傳輸,網(wǎng)絡(luò)的吞吐量得到了一定的提升,從而提高信道的利用率。
為了便于計(jì)算,本文在網(wǎng)絡(luò)建模時(shí)對(duì)網(wǎng)絡(luò)環(huán)境作了一定的近似和簡化,沒有考慮噪聲對(duì)協(xié)議性能的影響,同時(shí),短報(bào)文的閾值大小和數(shù)據(jù)信道的數(shù)量無疑也將影響網(wǎng)絡(luò)的性能,在具體的仿真環(huán)境中可以通過調(diào)整閾值大小,使網(wǎng)絡(luò)性能最優(yōu),這也正是我們下一步的工作。
[1]鄭相全,等.一種新的拓?fù)錈o關(guān)的按需分配多信道自組網(wǎng)MAC協(xié)議[J].計(jì)算機(jī)科學(xué),2005,32(5):95-96.
[2]王金龍,等,Ad Hoc移動(dòng)無線網(wǎng)絡(luò)[M].北京:國防工業(yè)出版社,2004:62-63.
[3]顧燕,等.Ad Hoc網(wǎng)絡(luò)中一種新的雙信道MAC協(xié)議及其性能分析[J].應(yīng)用科學(xué)學(xué)報(bào),2006,5(24)24:101-103.
[4]方旭明,等.下一代無線因特網(wǎng)技術(shù)——無線 Mesh網(wǎng)絡(luò)[M].北京:人民郵電出版社,2006:82-89.