伊 鑫 陳金來 王忠思
(海軍蚌埠士官學校 蚌埠 233012)
自組網(ad hoc networks)MAC協議需要控制節點對無線媒體的占用,一直是自組織網絡應用研究的重點和難點之一。MAC協議的性能將直接影響到整個網絡的性能,如吞吐量、時延及時延抖動等。采用單一信道面臨的一個共同問題是隨著節點數的增加,節點間的競爭以及報文的沖突加劇,這使得網絡性能急劇下降。在單信道網絡中,系統的吞吐量受限于信道帶寬,而且難以對QoS進行支持。采用多信道能有效地解決以上問題,由于網絡中存在多個相互正交的信道,不同的節點可以同時在不同的信道上進行無碰撞傳輸,這將使系統地吞吐量得到很大的提升,其靈活的信道接入方式也使得QoS支持更加容易。隨著技術的進步,現在已經有可以通過一個DSP控制多達260個信道的無線設備,信道間的切換可以在1μs內完成,因此節點采用廉價而簡單的設備就可以構建多信道網絡,以滿足人們對寬帶業務的需求[1]。本文將針對動態信道分配協議(DCA)[2]信道利用率不高的問題,對其進行改進以提高網絡的信道利用率。
DCA多信道MAC協議是由專用控制信道、兩個RF的多信道MAC協議。DCA的設計思想是使用一個固定信道傳輸控制分組,其他的信道傳輸數據分組。每一個節點有一個控制收發器和一個數據收發器,可在控制信道和一個數據信道上同時監聽。控制信道用來解決信道的沖突和為每個終端分配信道的問題,控制收發器在控制信道上與其它終端交換控制信息,得到接入數據信道的權利;數據收發器動態地切換到一個數據信道上進行數據傳輸。
DCA協議實現簡單,而且不需要網絡的同步,可以有效地提高網絡的吞吐量,降低了網絡時延,通過使用專用的控制信道,使路由發現、路由維護、地址解析等廣播信息有效地傳輸。但是,當信道總數很少時,一個特定的控制信道是非常浪費的。如802.11b只有三個信道,一個專用的控制信道相當于33%的總信道帶寬成為了控制開銷[2]?;诖耍疚膶CA協議進行一些改進,使一些短報文可以在控制信道上進行傳輸,從而提高了信道的利用率。
假設網絡中有N個節點和M(N>M)個可用信道,選擇其中一個信道為網絡中的控制信道,其余M-1個信道為所有節點按需預約的數據信道。每個節點增加一個報文閾值變量Traffic_on。Traffic_on用來決定節點是否通過控制信道來發送該報文,報文長度若大于Traffic_on,按照DCA協議的方式進行信道預約和報文傳輸,報文長度小于Traffic_on時,則直接以MACA的方式在公共信道上進行傳輸,目的節點收到報文后回復ACK。因為短報文發生沖突的概率與握手信號發生沖突的概率相當,而且報文重傳的開銷不大,所以短報文不通過握手信號進行傳輸,報文發生沖突時在二進制指數退避后重傳。Traffic_on的選擇對網絡性能有很大的影響,Traffic_on太大將影響鄰居節點正常預約信道,在具體的網絡環境中可調整Traffic_on的值,從而使網絡性能最優。圖1為三個數據信道時協議的示意圖。

圖1 改進后協議信道介入規程
步驟1:初始化
每個節點開機時都要對CUL(可用信道表)和FCL(空閑信道表)表項以及變量Traffic_on進行初始化。
步驟2:駐留空閑信道
沒有數據發送的節點處于空閑狀態,控制收發器對控制信道進行監聽,并且對CUL和FCL進行維護,此時需要處理如下情況:
如果收到上層要發送的數據或是有需要轉發的數據,跳轉到步驟3。
如果收到RTS,檢查RTS的目的節點是否為本節點,如果是,則根據RTS中的FCL,結合本節點的CUL,選擇一個可用信道并通過CTS回復。
如果收到CTS或TC,則根據CTS或TC中預約的信道更新本節點的CUL和FCL。在數據信道的預約過程中,由于RTS的發送使得鄰居節點進行回退,因此CTS和TC通??梢詿o沖突地被正確接收。
收到數據報文,查看數據報文的目的節點是否為本節點,如果是發送本節點的報文,則回復ACK,否則丟棄。
步驟3:數據發送
假設節點i有數據向節點j發送,節點i首先比較報文長度和Traffic_on,判斷此報文是否為短報文,對于長報文,如果節點i有空閑信道可用,則以MACA的方式發送RTS,RTS中攜帶本節點的FCL和信道預約時長,否則繼續駐留控制信道,當鄰居節點釋放數據信道后,節點進行隨機退避以避免其它節點同時競爭此信道,然后再發送RTS。當收到節點j的CTS后,節點i根據CTS中選擇的信道,發送TC報文告知鄰居節點更新CUL和FCL,數據信道切換至預約信道上發送報文。對于短報文,節點i以MACA的方式在控制信道上發送該報文,如果沒有收到目的節點的ACK,則進行二進制指數退避,然后重傳。
步驟4:數據接收
節點j收到目的節點為本節點的RTS,更新自己的CUL和FCL,回復攜帶預約信道的CTS后,數據收發器切換到預約到的信道接收數據。
如圖2,本文假設網絡中有一個控制信道和三個數據信道,所有的信道帶寬相同,則控制信道所占的比例α=0.25,傳輸半徑R和傳播時延τ都設為1,數據包傳輸時間tdata=1000τ,RTS和CTS包的傳輸時間設為5τ,假設短報文 和 長 報 文 等 概 率 出 現,ttrafficOn、tack、ts_delay、tslot(ttrafficOn、tack、ts_delay、tslot分別為短報文傳輸時間、應答報文傳輸時間、傳輸時延和短報文傳輸間隔)設為20τ、5τ、5τ、10τ,圖2顯示了在平均節點數M1為3的情況下,改進后的協議和DCA協議中信道的吞吐量與數據包發送概率p′之間的關系。

圖2 協議吞吐量比較
改進后協議的吞吐量得到了顯著的提高,這是因為改進后的協議在控制信道空閑的時候進行短報文的傳輸,提高了信道的利用率,同時,數據信道并不是同時達到最大的吞吐量的飽和狀態,這是因為在DCA協議中,當沒有可用數據信道時,控制信道處于空閑狀態,而改進后的協議在控制信道空閑狀態下發送短報文,所以隨著報文發送概率p′的增加,網絡的吞吐量還有一定的提升。當報文發送概率繼續增大時,報文的沖突的概率增大,網絡的吞吐量也隨著急劇下降。
本文針對DCA協議信道利用率不高的問題,對其進行了適當的改進后短報文可以在沒有可用數據信道時直接在控制信道上進行傳輸,網絡的吞吐量得到了一定的提升,從而提高信道的利用率。
為了便于計算,本文在網絡建模時對網絡環境作了一定的近似和簡化,沒有考慮噪聲對協議性能的影響,同時,短報文的閾值大小和數據信道的數量無疑也將影響網絡的性能,在具體的仿真環境中可以通過調整閾值大小,使網絡性能最優,這也正是我們下一步的工作。
[1]鄭相全,等.一種新的拓撲無關的按需分配多信道自組網MAC協議[J].計算機科學,2005,32(5):95-96.
[2]王金龍,等,Ad Hoc移動無線網絡[M].北京:國防工業出版社,2004:62-63.
[3]顧燕,等.Ad Hoc網絡中一種新的雙信道MAC協議及其性能分析[J].應用科學學報,2006,5(24)24:101-103.
[4]方旭明,等.下一代無線因特網技術——無線 Mesh網絡[M].北京:人民郵電出版社,2006:82-89.