趙袁
(四川大學計算機學院,成都 610000)
一種按需分配的多信道無線自組網MAC協議
趙袁
(四川大學計算機學院,成都610000)
移動Ad Hoc網絡;多信道;MAC;按需分配
無線網絡主要有兩種組網方式,一種是有中心的無線網絡,另一種是無中心的無線網絡。最常見的有中心無線網絡就是目前被廣泛使用的蜂窩移動通信系統[1],無中心的無線網絡即無線自組網,也叫Ad Hoc網絡。相比于有中心無線網絡,在無中心無線網絡中,每個節點不僅是信源、信宿,同時也是轉發數據包的中間結點。在無線自組織網中,無線節點相互連接從而形成一個動態的、臨時的、多跳的、自組織的無線網絡,每個無線節點既充當信息的發送和接收者,又充當信息轉發的角色。諸如無線傳感器網絡(Wireless Sensor Network)[2]、移動自組織網(Mobile Ad Hoc Network,MANET)[3]、無線 MESH網[4]等。
目前用于無線自組織網的MAC協議主要是基于競爭信道的IEEE802.11協議的各類改進協議,采用CSMA/CA的信道偵聽和RTS/CTS機制來最大程度避免信道沖突,但是,當節點密度增大,網絡負載高時,信道上的沖突仍會大量增加,網絡性能大幅下降。多信道的引入可以有效解決這一問題,理論上,相互正交的信道可以互不干擾的進行通信,從而使得Ad Hoc網絡中本處于沖突區域的節點可以在不同的信道上并發的同時通信,有效減少網絡沖突。IEEE802.11標準提供了在頻率上相分離的多個正交信道,表1列出了IEEE802.11/a/b/g協議信道頻譜情況:

表1 802.11/a/b/g信道頻譜
從上表可以看出,802.11標準提供了多個正交信道,為多信道技術提供了資源上的保證。
目前針對多信道的MAC協議已經有了較多的研究,提出了不少針對多信道的MAC協議。文獻[5]提出的多信道MAC協議針對傳統無線的信道分配,對節點移動性考慮較少。文獻[6]提出了基于公共信道和基于收發信機信道進行信道預約和數據發送的多信道協議,提高了MACA協議對移動節點的支持。文獻[7]提出了類似于IEEE802.11的MAC協議,將數據業務和控制業務流分別在不同的信道上進行傳輸,由于只考慮了一個數據信道,網絡的并發效率并不高。文獻[8]提出了一種對移動主機進行動態信道分配的協議,該協議要求兩跳之內的移動主機必須分配彼此互不相同的信道。因此,只要兩跳之內的任意一個主機的信道發生了變化,就需要大量地更新消息以保證該條件得以滿足。文獻[9]提到一種采用異步模式信道接入協議DCA,將網絡中的一個信道作為專用控制信道,用于發送RTS、CTS等控制分組并協商通信信道,這種動態信道分配技術,可有效解決數據分組的沖突問題。
本文在總結現有多信道協議的特點和不足的基礎上,提出一種按需分配的多信道MAC協議OM-MAC,在有效緩解常見控制信道飽和的問題的同時,解決了暴露終端節點和隱藏終端節點問題,使得信道利用率得到進一步提升。
為使本協議能夠正常工作和系統盡可能簡化,作以下假定:
(1)網絡中各個結點具有N(N>=2)個相互正交的信道,各個信道通信互不干擾。
(2)各個結點具有N個網絡接口(網卡),各接口對應工作于一個正交信道上;各結點可同時對各信道進行偵聽。
(3)各信道具有相同的傳播范圍,在某一時刻某節點同時收到不同節點的通信信號將產生信號沖突。
在網絡中的N個正交信道中選擇一個作為ACK信道,專門傳輸ACK分組。網絡中的各個節點保存一個信道狀態表,用來記錄本節點的通信范圍內除ACK信道以外的各信道使用情況,通過接收各個鄰居節點的控制分組來實時更新該表,當有數據需要發送或接收的時候,節點讀取該表選擇合適的信道進行數據的收發。表2所示為節點A在某時刻的信道狀態表。

表2 節點A某時刻的信道狀態表
表中Channel_ID表示信道編號,分別從1到N-1(編號為0的信道作為ACK信道),Send表示信道的發送狀態,“閑”表示該信道當前可發送數據,“T”表示該信道目前不可發送數據,還需等待T時間之后才可發送。類似的,Receive表示信道的接收狀態,“閑”表示該信道當前可用于接收數據,“T”表示該信道目前不可接收數據,還需等待T時間之后才可接收。如表2中所示時刻,編號為0的信道可接收數據,不能發送數據;編號為2的信道可發送數據,不能接收數據,這樣的信道稱為單向空閑信道;編號為1的信道既能接收數據,也能發送數據,將其稱之為空閑信道;編號為N-1的信道既不能發送數據,也不能接收數據,將其稱之為忙信道。
當結點需要發送或接收數據的時候,查看自己的信道狀態表,優先選擇空閑信道進行使用,當沒有可用的空閑信道時,再根據自己的收發需求選擇對應的單向空閑信道,這是由于單向空間信道的存在表示當前節點有鄰居節點正在使用該信道進行數據的收或發,也就是說當前節點是其某個鄰居節點的暴露終端或者隱藏終端,使用單向空閑信道雖然也能完成數據的收發,但具有相對較大的碰撞風險,同時增加了信道的切換次數,從而使網絡時延加大。當既沒有空閑節點,也沒有可用的單向空閑節點時,節點則暫緩數據的收發,等待有合適的可能信道出現。
本協議在MACAW的RTS/CTS/DATA/DS/ACK的基礎上進行改進,最大限度地提高信道并行傳輸效率,其時序圖如圖1 所示。
每個節點開機時,都對自己的信道狀態表進行初始化,將所有信道的收發狀態設置為“閑”。然后開始偵聽所有信道,按以下規則進行工作:
(1)當有數據需要發送時,生成一個RTS分組,在該RTS中攜帶本節點可用于接受分組的信道號,用來通知目標結點回復CTS分組可采用的信道,如果當前沒有可用于接收數據的信道,則表明無法完成握手,放棄本次發送。否則,按上一節的規則選擇一個空閑信道或發送空閑信道將該RTS分組發送到目標節點,然后等待目標節點回復CTS分組,如果在TCTS+SIFS時間內沒有收到CTS分組,則切換另一信道進行發送。當嘗試完所有可發送信道仍然不能收到CTS分組,則放棄本次發送。
(2)當節點收到一個RTS分組后,首先判斷自己是否是目標節點,如果不是,丟棄分組,否則,查看RTS中攜帶的接收信道信息。設RTS中攜帶的可接收信道集合為A,目標節點信道狀態表中發送空閑信道集合為B,當前接收到RTS的信道號為i。產生一個CTS分組,信道號i寫入CTS中,作為數據分組的發送信道,然后按如下規則選擇一個信道回送CTS分組:如果A∩B為空,則表明B的分組無法到達A,握手失敗;如果i∈A∩B,則選擇信道i;否則,在A∩B任選一個信道。
(3)節點收到CTS分組,首先取出CTS中攜帶的的數據發送信道號i,然后檢查自己是否為目標節點,如果是,則等待SIFS后從信道i發送一個DS分組,再等待SIFS后,開始發送數據分組。如果不是目標結點,則根據CTS中的Duration將信道i的發送狀態更新為TDS+TDATA+2×SIFS。
(4)節點收到DS分組,檢查自己是否為目標節點,如果是,則丟棄,準備開始接收數據分組。否則,根據DS中的Duration將當前信道的接收狀態更新為TDATA+SIFS。
(5)目標節點完成數據分組的接收后,立即在ACK信道回送ACK分組至源節點,表示數據成功接收。
(6)當某個信道的接收狀態由T減為0時,并不立即更改該信道的發送狀態為閑,而是對該信道進行物理載波監聽(Physical Carrier Sensing,PCS),確認信道是否真的空閑,如果是,則更新該信道的發送狀態為閑,否則持續監聽該信道,直到其真正空閑,然后再更新信道的發送狀態為空閑。

圖1 OM-MAC協議的時序圖
本文利用網絡仿真工具NS3對該協議進行仿真,并與IEEE802.11 RTS/CTS協議進行比較,評估協議性能。仿真中主要考慮2個性能指標:網絡總吞吐率和平均分組時延;總吞吐量定義為單位時間內網絡傳輸數據包的總大小,計算公式如下:

平均分組時延定義為平均每個分組從產生到正確接收所需要的時間,計算公式如下:
平均分組時延=

仿真參數設置如表3所示:

表3 仿真參數表
采用不同的發包間隔仿真10次,分別記錄IEEE802.11 RTS/CTS在單信道下的總吞吐率和平均分組時延以及OM-MAC在不同信道數(不包含ACK信道)的總吞吐率和平均分組時延。
通過圖2 可以看出,當采用OM-MAC的多信道協議后,由于各個信道可以無干擾的并行傳輸數據,網絡的吞吐率有了大幅度的提高,當使用一個數據信道時,OM-MAC協議比IEEE802.11的吞吐率有小幅度的提高,這是由于通過專用信道傳輸ACK分組減少了部分的網絡沖突。當信道數量增至兩個以上時,Ad Hoc網絡的沖突減少,多信道的并發優勢開始顯現,網絡的吞吐率有了明顯的提高。
通過圖3 可以看出,當網絡負載較小,數據傳輸量不大的時候,多信道的OM-MAC協議并不能有效減小網絡的數據傳輸時延,這是由于此時的傳輸時延主要由網絡本身特性所引發,例如數據發送速率,無線信道傳輸出錯而導致的分組重傳等,網絡的信道沖突并不嚴重。當數據發送量加大,網絡負載上升時,單信道的網絡將產生大量沖突,引發大量的數據重傳,平均分組時延急劇上升。而多信道的OM-MAC可有效減少網絡沖突,從而降低網絡的平均分組時延。

圖2 OM-MAC協議吞吐率對比圖

圖3 OM-MAC協議平均分組時延對比圖
本文提出了一種按需分配的多信道無線自組網MAC協議:OM-MAC。該協議在普通信道上進行RTS/ CTS分組實現握手,通過引入DS分組解決握手失敗時暴露終端無效等待的問題。通過專用ACK信道發送ACK分組使得暴露終端和隱藏終端得以利用“半沖突”信道實現單向數據傳輸,最大程度的提高了信道利用率。同時,協議在很大程序上緩解了常見的控制信道飽和問題,使得通過引入更多信道來提升網絡性能的方法更加有效。最后,利用網絡仿真工具NS3對OMMAC協議進行了仿真評估,并與IEEE802.11協議進行了對比。仿真結果表明,在網絡總吞吐率和平均分組時延兩項指標上,OM-MAC協議均表現出了良好的性能。同時,通過引入不同數量的信道,協議性能得以較大幅度提升,表現出了良好的拓展性。
[1]謝凱.無線Ad Hoc網絡路由判據及多射頻信道分配算法研究[D].合肥工業大學,2011.
[2]I.F.Akyildiz,W.Su,Y.Sankarasubramaniam,et al.Wireless Sensor Networks:a Survey[J].Computer Networks,2002,38:393-422.
[3]I.Chlamatac,M.Conti,and J.J-N.Liu,Mobile Ad Hoc Networking:Imperatives and Challenges[J].Ad Hoc Networks,2003,1:13-64.
[4]I.F.Akyildiz,W.Xudong.A Survey on Wireless Mesh Networks[C].Communications Magazine:IEEE,2005,43:23-30.
[5]Bertossi A,Bonuccell M.Code Assignment for Hidden Terminal Interference Avoidance in Multihop Radio Networks[C].IEEE/ACM Transactions on Networks,1995,3(4):441-449.
[6]Joa-Ng M,LuIT.Spread Spectrum Medium Access Protocol with Collision Avoidance in Mobile Ad Hoc Wireless Network[C].In;Proc.of Eighteenth Annual Joint Conf.of the IEEE Computer and Communications Socienties:IEEE INFOCOM 99,Vol.2,New York,USA,March 1999.776-783.
[7]Wu S-L,Tseng Y-C,Sheu J-P.Intelligent Medium Access for Mobile Ad Hoc Networks with Dual Busy Tone and Power Control[J]. IEEE Journal on Selected Areas in Communications.2000,18(9):1647-1657.
[8]Garcia-Luna-Aceves JJ,Raju J Distributed Assignment of Codes for Multihop Packet-Radio Networks[J].In:Proc.Of IEEE MILCOM' 97.Vol.1,Now.1997.450-454.
[9]蔡亮等.多信道通信協議研究進展[J].科技信息,2010,13-15.
Ad Hoc Network;Multi-Channel;MAC;On Demand Assignment
An On Demand Channel Assignment MAC Protocol for Multi-Channel Ad Hoc Networks
ZHAO Yuan
(College of Computer Science,Sichuan University,Chengdu 610000)
趙袁(1988-),男,四川南充人,研究生,研究方向為無線自組網絡
2015-12-22
2016-01-10
多信道MAC協議在移動Ad Hoc網絡中的應用可大幅提升其MAC層性能。現有的多信道方案大多采用劃分控制信道和數據信道的方式來避免沖突,但在網絡高負載時會碰到控制信道飽和的瓶頸問題,從而不能充分發揮多信道的優勢。由此,提出一種按需分配的MAC協議:OM-MAC。該協議不專門劃分控制信道,僅使用一個信道傳輸ACK,有效減少信號沖突,提高信道使用率。仿真實驗證明,該協議在移動自組網中具有良好的通信性能。
The use of multi-channel MAC protocol in mobile Ad Hoc networks can greatly improve the performance of MAC layer.Most of the existing multi-channel schemes adopt the method of dividing control channel and data channel to avoid conflict.But when the network load is high,the bottleneck problem of control channel saturation is encountered,which cannot make full use of the advantages of multi-channel.Therefore,presents an on-demand channel assignment MAC protocol:OM-MAC.This protocol is not specifically divided into control channel,which uses only one channel to transmit ACK.This effectively reduces the signal conflict and improves the channel utilization ratio.Simulation results show that the protocol has good communication performance in mobile Ad Hoc networks.