趙袁
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都 610000)
一種按需分配的多信道無(wú)線自組網(wǎng)MAC協(xié)議
趙袁
(四川大學(xué)計(jì)算機(jī)學(xué)院,成都610000)
移動(dòng)Ad Hoc網(wǎng)絡(luò);多信道;MAC;按需分配
無(wú)線網(wǎng)絡(luò)主要有兩種組網(wǎng)方式,一種是有中心的無(wú)線網(wǎng)絡(luò),另一種是無(wú)中心的無(wú)線網(wǎng)絡(luò)。最常見(jiàn)的有中心無(wú)線網(wǎng)絡(luò)就是目前被廣泛使用的蜂窩移動(dòng)通信系統(tǒng)[1],無(wú)中心的無(wú)線網(wǎng)絡(luò)即無(wú)線自組網(wǎng),也叫Ad Hoc網(wǎng)絡(luò)。相比于有中心無(wú)線網(wǎng)絡(luò),在無(wú)中心無(wú)線網(wǎng)絡(luò)中,每個(gè)節(jié)點(diǎn)不僅是信源、信宿,同時(shí)也是轉(zhuǎn)發(fā)數(shù)據(jù)包的中間結(jié)點(diǎn)。在無(wú)線自組織網(wǎng)中,無(wú)線節(jié)點(diǎn)相互連接從而形成一個(gè)動(dòng)態(tài)的、臨時(shí)的、多跳的、自組織的無(wú)線網(wǎng)絡(luò),每個(gè)無(wú)線節(jié)點(diǎn)既充當(dāng)信息的發(fā)送和接收者,又充當(dāng)信息轉(zhuǎn)發(fā)的角色。諸如無(wú)線傳感器網(wǎng)絡(luò)(Wireless Sensor Network)[2]、移動(dòng)自組織網(wǎng)(Mobile Ad Hoc Network,MANET)[3]、無(wú)線 MESH網(wǎng)[4]等。
目前用于無(wú)線自組織網(wǎng)的MAC協(xié)議主要是基于競(jìng)爭(zhēng)信道的IEEE802.11協(xié)議的各類改進(jìn)協(xié)議,采用CSMA/CA的信道偵聽(tīng)和RTS/CTS機(jī)制來(lái)最大程度避免信道沖突,但是,當(dāng)節(jié)點(diǎn)密度增大,網(wǎng)絡(luò)負(fù)載高時(shí),信道上的沖突仍會(huì)大量增加,網(wǎng)絡(luò)性能大幅下降。多信道的引入可以有效解決這一問(wèn)題,理論上,相互正交的信道可以互不干擾的進(jìn)行通信,從而使得Ad Hoc網(wǎng)絡(luò)中本處于沖突區(qū)域的節(jié)點(diǎn)可以在不同的信道上并發(fā)的同時(shí)通信,有效減少網(wǎng)絡(luò)沖突。IEEE802.11標(biāo)準(zhǔn)提供了在頻率上相分離的多個(gè)正交信道,表1列出了IEEE802.11/a/b/g協(xié)議信道頻譜情況:
表1 802.11/a/b/g信道頻譜
從上表可以看出,802.11標(biāo)準(zhǔn)提供了多個(gè)正交信道,為多信道技術(shù)提供了資源上的保證。
目前針對(duì)多信道的MAC協(xié)議已經(jīng)有了較多的研究,提出了不少針對(duì)多信道的MAC協(xié)議。文獻(xiàn)[5]提出的多信道MAC協(xié)議針對(duì)傳統(tǒng)無(wú)線的信道分配,對(duì)節(jié)點(diǎn)移動(dòng)性考慮較少。文獻(xiàn)[6]提出了基于公共信道和基于收發(fā)信機(jī)信道進(jìn)行信道預(yù)約和數(shù)據(jù)發(fā)送的多信道協(xié)議,提高了MACA協(xié)議對(duì)移動(dòng)節(jié)點(diǎn)的支持。文獻(xiàn)[7]提出了類似于IEEE802.11的MAC協(xié)議,將數(shù)據(jù)業(yè)務(wù)和控制業(yè)務(wù)流分別在不同的信道上進(jìn)行傳輸,由于只考慮了一個(gè)數(shù)據(jù)信道,網(wǎng)絡(luò)的并發(fā)效率并不高。文獻(xiàn)[8]提出了一種對(duì)移動(dòng)主機(jī)進(jìn)行動(dòng)態(tài)信道分配的協(xié)議,該協(xié)議要求兩跳之內(nèi)的移動(dòng)主機(jī)必須分配彼此互不相同的信道。因此,只要兩跳之內(nèi)的任意一個(gè)主機(jī)的信道發(fā)生了變化,就需要大量地更新消息以保證該條件得以滿足。文獻(xiàn)[9]提到一種采用異步模式信道接入?yún)f(xié)議DCA,將網(wǎng)絡(luò)中的一個(gè)信道作為專用控制信道,用于發(fā)送RTS、CTS等控制分組并協(xié)商通信信道,這種動(dòng)態(tài)信道分配技術(shù),可有效解決數(shù)據(jù)分組的沖突問(wèn)題。
本文在總結(jié)現(xiàn)有多信道協(xié)議的特點(diǎn)和不足的基礎(chǔ)上,提出一種按需分配的多信道MAC協(xié)議OM-MAC,在有效緩解常見(jiàn)控制信道飽和的問(wèn)題的同時(shí),解決了暴露終端節(jié)點(diǎn)和隱藏終端節(jié)點(diǎn)問(wèn)題,使得信道利用率得到進(jìn)一步提升。
為使本協(xié)議能夠正常工作和系統(tǒng)盡可能簡(jiǎn)化,作以下假定:
(1)網(wǎng)絡(luò)中各個(gè)結(jié)點(diǎn)具有N(N>=2)個(gè)相互正交的信道,各個(gè)信道通信互不干擾。
(2)各個(gè)結(jié)點(diǎn)具有N個(gè)網(wǎng)絡(luò)接口(網(wǎng)卡),各接口對(duì)應(yīng)工作于一個(gè)正交信道上;各結(jié)點(diǎn)可同時(shí)對(duì)各信道進(jìn)行偵聽(tīng)。
(3)各信道具有相同的傳播范圍,在某一時(shí)刻某節(jié)點(diǎn)同時(shí)收到不同節(jié)點(diǎn)的通信信號(hào)將產(chǎn)生信號(hào)沖突。
在網(wǎng)絡(luò)中的N個(gè)正交信道中選擇一個(gè)作為ACK信道,專門傳輸ACK分組。網(wǎng)絡(luò)中的各個(gè)節(jié)點(diǎn)保存一個(gè)信道狀態(tài)表,用來(lái)記錄本節(jié)點(diǎn)的通信范圍內(nèi)除ACK信道以外的各信道使用情況,通過(guò)接收各個(gè)鄰居節(jié)點(diǎn)的控制分組來(lái)實(shí)時(shí)更新該表,當(dāng)有數(shù)據(jù)需要發(fā)送或接收的時(shí)候,節(jié)點(diǎn)讀取該表選擇合適的信道進(jìn)行數(shù)據(jù)的收發(fā)。表2所示為節(jié)點(diǎn)A在某時(shí)刻的信道狀態(tài)表。
表2 節(jié)點(diǎn)A某時(shí)刻的信道狀態(tài)表
表中Channel_ID表示信道編號(hào),分別從1到N-1(編號(hào)為0的信道作為ACK信道),Send表示信道的發(fā)送狀態(tài),“閑”表示該信道當(dāng)前可發(fā)送數(shù)據(jù),“T”表示該信道目前不可發(fā)送數(shù)據(jù),還需等待T時(shí)間之后才可發(fā)送。類似的,Receive表示信道的接收狀態(tài),“閑”表示該信道當(dāng)前可用于接收數(shù)據(jù),“T”表示該信道目前不可接收數(shù)據(jù),還需等待T時(shí)間之后才可接收。如表2中所示時(shí)刻,編號(hào)為0的信道可接收數(shù)據(jù),不能發(fā)送數(shù)據(jù);編號(hào)為2的信道可發(fā)送數(shù)據(jù),不能接收數(shù)據(jù),這樣的信道稱為單向空閑信道;編號(hào)為1的信道既能接收數(shù)據(jù),也能發(fā)送數(shù)據(jù),將其稱之為空閑信道;編號(hào)為N-1的信道既不能發(fā)送數(shù)據(jù),也不能接收數(shù)據(jù),將其稱之為忙信道。
當(dāng)結(jié)點(diǎn)需要發(fā)送或接收數(shù)據(jù)的時(shí)候,查看自己的信道狀態(tài)表,優(yōu)先選擇空閑信道進(jìn)行使用,當(dāng)沒(méi)有可用的空閑信道時(shí),再根據(jù)自己的收發(fā)需求選擇對(duì)應(yīng)的單向空閑信道,這是由于單向空間信道的存在表示當(dāng)前節(jié)點(diǎn)有鄰居節(jié)點(diǎn)正在使用該信道進(jìn)行數(shù)據(jù)的收或發(fā),也就是說(shuō)當(dāng)前節(jié)點(diǎn)是其某個(gè)鄰居節(jié)點(diǎn)的暴露終端或者隱藏終端,使用單向空閑信道雖然也能完成數(shù)據(jù)的收發(fā),但具有相對(duì)較大的碰撞風(fēng)險(xiǎn),同時(shí)增加了信道的切換次數(shù),從而使網(wǎng)絡(luò)時(shí)延加大。當(dāng)既沒(méi)有空閑節(jié)點(diǎn),也沒(méi)有可用的單向空閑節(jié)點(diǎn)時(shí),節(jié)點(diǎn)則暫緩數(shù)據(jù)的收發(fā),等待有合適的可能信道出現(xiàn)。
本協(xié)議在MACAW的RTS/CTS/DATA/DS/ACK的基礎(chǔ)上進(jìn)行改進(jìn),最大限度地提高信道并行傳輸效率,其時(shí)序圖如圖1 所示。
每個(gè)節(jié)點(diǎn)開(kāi)機(jī)時(shí),都對(duì)自己的信道狀態(tài)表進(jìn)行初始化,將所有信道的收發(fā)狀態(tài)設(shè)置為“閑”。然后開(kāi)始偵聽(tīng)所有信道,按以下規(guī)則進(jìn)行工作:
(1)當(dāng)有數(shù)據(jù)需要發(fā)送時(shí),生成一個(gè)RTS分組,在該RTS中攜帶本節(jié)點(diǎn)可用于接受分組的信道號(hào),用來(lái)通知目標(biāo)結(jié)點(diǎn)回復(fù)CTS分組可采用的信道,如果當(dāng)前沒(méi)有可用于接收數(shù)據(jù)的信道,則表明無(wú)法完成握手,放棄本次發(fā)送。否則,按上一節(jié)的規(guī)則選擇一個(gè)空閑信道或發(fā)送空閑信道將該RTS分組發(fā)送到目標(biāo)節(jié)點(diǎn),然后等待目標(biāo)節(jié)點(diǎn)回復(fù)CTS分組,如果在TCTS+SIFS時(shí)間內(nèi)沒(méi)有收到CTS分組,則切換另一信道進(jìn)行發(fā)送。當(dāng)嘗試完所有可發(fā)送信道仍然不能收到CTS分組,則放棄本次發(fā)送。
(2)當(dāng)節(jié)點(diǎn)收到一個(gè)RTS分組后,首先判斷自己是否是目標(biāo)節(jié)點(diǎn),如果不是,丟棄分組,否則,查看RTS中攜帶的接收信道信息。設(shè)RTS中攜帶的可接收信道集合為A,目標(biāo)節(jié)點(diǎn)信道狀態(tài)表中發(fā)送空閑信道集合為B,當(dāng)前接收到RTS的信道號(hào)為i。產(chǎn)生一個(gè)CTS分組,信道號(hào)i寫(xiě)入CTS中,作為數(shù)據(jù)分組的發(fā)送信道,然后按如下規(guī)則選擇一個(gè)信道回送CTS分組:如果A∩B為空,則表明B的分組無(wú)法到達(dá)A,握手失??;如果i∈A∩B,則選擇信道i;否則,在A∩B任選一個(gè)信道。
(3)節(jié)點(diǎn)收到CTS分組,首先取出CTS中攜帶的的數(shù)據(jù)發(fā)送信道號(hào)i,然后檢查自己是否為目標(biāo)節(jié)點(diǎn),如果是,則等待SIFS后從信道i發(fā)送一個(gè)DS分組,再等待SIFS后,開(kāi)始發(fā)送數(shù)據(jù)分組。如果不是目標(biāo)結(jié)點(diǎn),則根據(jù)CTS中的Duration將信道i的發(fā)送狀態(tài)更新為TDS+TDATA+2×SIFS。
(4)節(jié)點(diǎn)收到DS分組,檢查自己是否為目標(biāo)節(jié)點(diǎn),如果是,則丟棄,準(zhǔn)備開(kāi)始接收數(shù)據(jù)分組。否則,根據(jù)DS中的Duration將當(dāng)前信道的接收狀態(tài)更新為TDATA+SIFS。
(5)目標(biāo)節(jié)點(diǎn)完成數(shù)據(jù)分組的接收后,立即在ACK信道回送ACK分組至源節(jié)點(diǎn),表示數(shù)據(jù)成功接收。
(6)當(dāng)某個(gè)信道的接收狀態(tài)由T減為0時(shí),并不立即更改該信道的發(fā)送狀態(tài)為閑,而是對(duì)該信道進(jìn)行物理載波監(jiān)聽(tīng)(Physical Carrier Sensing,PCS),確認(rèn)信道是否真的空閑,如果是,則更新該信道的發(fā)送狀態(tài)為閑,否則持續(xù)監(jiān)聽(tīng)該信道,直到其真正空閑,然后再更新信道的發(fā)送狀態(tài)為空閑。
圖1 OM-MAC協(xié)議的時(shí)序圖
本文利用網(wǎng)絡(luò)仿真工具NS3對(duì)該協(xié)議進(jìn)行仿真,并與IEEE802.11 RTS/CTS協(xié)議進(jìn)行比較,評(píng)估協(xié)議性能。仿真中主要考慮2個(gè)性能指標(biāo):網(wǎng)絡(luò)總吞吐率和平均分組時(shí)延;總吞吐量定義為單位時(shí)間內(nèi)網(wǎng)絡(luò)傳輸數(shù)據(jù)包的總大小,計(jì)算公式如下:
平均分組時(shí)延定義為平均每個(gè)分組從產(chǎn)生到正確接收所需要的時(shí)間,計(jì)算公式如下:
平均分組時(shí)延=
仿真參數(shù)設(shè)置如表3所示:
表3 仿真參數(shù)表
采用不同的發(fā)包間隔仿真10次,分別記錄IEEE802.11 RTS/CTS在單信道下的總吞吐率和平均分組時(shí)延以及OM-MAC在不同信道數(shù)(不包含ACK信道)的總吞吐率和平均分組時(shí)延。
通過(guò)圖2 可以看出,當(dāng)采用OM-MAC的多信道協(xié)議后,由于各個(gè)信道可以無(wú)干擾的并行傳輸數(shù)據(jù),網(wǎng)絡(luò)的吞吐率有了大幅度的提高,當(dāng)使用一個(gè)數(shù)據(jù)信道時(shí),OM-MAC協(xié)議比IEEE802.11的吞吐率有小幅度的提高,這是由于通過(guò)專用信道傳輸ACK分組減少了部分的網(wǎng)絡(luò)沖突。當(dāng)信道數(shù)量增至兩個(gè)以上時(shí),Ad Hoc網(wǎng)絡(luò)的沖突減少,多信道的并發(fā)優(yōu)勢(shì)開(kāi)始顯現(xiàn),網(wǎng)絡(luò)的吞吐率有了明顯的提高。
通過(guò)圖3 可以看出,當(dāng)網(wǎng)絡(luò)負(fù)載較小,數(shù)據(jù)傳輸量不大的時(shí)候,多信道的OM-MAC協(xié)議并不能有效減小網(wǎng)絡(luò)的數(shù)據(jù)傳輸時(shí)延,這是由于此時(shí)的傳輸時(shí)延主要由網(wǎng)絡(luò)本身特性所引發(fā),例如數(shù)據(jù)發(fā)送速率,無(wú)線信道傳輸出錯(cuò)而導(dǎo)致的分組重傳等,網(wǎng)絡(luò)的信道沖突并不嚴(yán)重。當(dāng)數(shù)據(jù)發(fā)送量加大,網(wǎng)絡(luò)負(fù)載上升時(shí),單信道的網(wǎng)絡(luò)將產(chǎn)生大量沖突,引發(fā)大量的數(shù)據(jù)重傳,平均分組時(shí)延急劇上升。而多信道的OM-MAC可有效減少網(wǎng)絡(luò)沖突,從而降低網(wǎng)絡(luò)的平均分組時(shí)延。
圖2 OM-MAC協(xié)議吞吐率對(duì)比圖
圖3 OM-MAC協(xié)議平均分組時(shí)延對(duì)比圖
本文提出了一種按需分配的多信道無(wú)線自組網(wǎng)MAC協(xié)議:OM-MAC。該協(xié)議在普通信道上進(jìn)行RTS/ CTS分組實(shí)現(xiàn)握手,通過(guò)引入DS分組解決握手失敗時(shí)暴露終端無(wú)效等待的問(wèn)題。通過(guò)專用ACK信道發(fā)送ACK分組使得暴露終端和隱藏終端得以利用“半沖突”信道實(shí)現(xiàn)單向數(shù)據(jù)傳輸,最大程度的提高了信道利用率。同時(shí),協(xié)議在很大程序上緩解了常見(jiàn)的控制信道飽和問(wèn)題,使得通過(guò)引入更多信道來(lái)提升網(wǎng)絡(luò)性能的方法更加有效。最后,利用網(wǎng)絡(luò)仿真工具NS3對(duì)OMMAC協(xié)議進(jìn)行了仿真評(píng)估,并與IEEE802.11協(xié)議進(jìn)行了對(duì)比。仿真結(jié)果表明,在網(wǎng)絡(luò)總吞吐率和平均分組時(shí)延兩項(xiàng)指標(biāo)上,OM-MAC協(xié)議均表現(xiàn)出了良好的性能。同時(shí),通過(guò)引入不同數(shù)量的信道,協(xié)議性能得以較大幅度提升,表現(xiàn)出了良好的拓展性。
[1]謝凱.無(wú)線Ad Hoc網(wǎng)絡(luò)路由判據(jù)及多射頻信道分配算法研究[D].合肥工業(yè)大學(xué),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]蔡亮等.多信道通信協(xié)議研究進(jìn)展[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-),男,四川南充人,研究生,研究方向?yàn)闊o(wú)線自組網(wǎng)絡(luò)
2015-12-22
2016-01-10
多信道MAC協(xié)議在移動(dòng)Ad Hoc網(wǎng)絡(luò)中的應(yīng)用可大幅提升其MAC層性能?,F(xiàn)有的多信道方案大多采用劃分控制信道和數(shù)據(jù)信道的方式來(lái)避免沖突,但在網(wǎng)絡(luò)高負(fù)載時(shí)會(huì)碰到控制信道飽和的瓶頸問(wèn)題,從而不能充分發(fā)揮多信道的優(yōu)勢(shì)。由此,提出一種按需分配的MAC協(xié)議:OM-MAC。該協(xié)議不專門劃分控制信道,僅使用一個(gè)信道傳輸ACK,有效減少信號(hào)沖突,提高信道使用率。仿真實(shí)驗(yàn)證明,該協(xié)議在移動(dòng)自組網(wǎng)中具有良好的通信性能。
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.