張文強(qiáng), 張多英
(暨南大學(xué) 電子工程系, 廣東 廣州 510632)
近年來(lái),多信道媒質(zhì)接入控制協(xié)議(MAC)由于可以獲得比單信道MAC協(xié)議更大的網(wǎng)絡(luò)傳輸性能而備受關(guān)注[1-7].不過(guò),多信道MAC協(xié)議帶來(lái)了多信道隱藏終端問(wèn)題[1-5](即,發(fā)送節(jié)點(diǎn)由于在業(yè)務(wù)信道(TCH)上收發(fā)數(shù)據(jù)分組時(shí),不能偵聽(tīng)公共控制信道(CCH)上的預(yù)約信息,不知道哪些TCH已經(jīng)被占用或不知道它的接收節(jié)點(diǎn)正在其他TCH上收發(fā),如果此時(shí)節(jié)點(diǎn)在CCH上向接收節(jié)點(diǎn)發(fā)送預(yù)約邀請(qǐng),則預(yù)約邀請(qǐng)不會(huì)成功,或即使預(yù)約成功也會(huì)在相關(guān)TCH上出現(xiàn)分組碰撞的問(wèn)題),并仍然存在暴露終端問(wèn)題[6](即,與發(fā)送節(jié)點(diǎn)相距一跳、與接收節(jié)點(diǎn)相距兩跳的節(jié)點(diǎn)在分組發(fā)送時(shí)會(huì)造成發(fā)方不能正確收到收方回復(fù)的CTS或ACK分組).多信道隱藏終端會(huì)大大增加分組的碰撞概率,從而嚴(yán)重降低了網(wǎng)絡(luò)多址性能;而為了避免暴露終端的影響,通常會(huì)禁止暴露終端使用很可能可以使用的信道,從而造成了信道資源的浪費(fèi).
鑒于全球定位系統(tǒng)(GPS)等的應(yīng)用,使得在多跳移動(dòng)Ad Hoc網(wǎng)絡(luò)(MANET)環(huán)境下實(shí)現(xiàn)同步成為可能,催生了時(shí)分多址(TDMA)類MAC協(xié)議在其中的廣泛應(yīng)用[8].本文為多跳MANET提出了基于TDMA、僅使用一部半雙工收發(fā)機(jī)、不需要建立信道狀態(tài)表的雙信道預(yù)約(DCR)MAC協(xié)議.該協(xié)議利用時(shí)隙匹配優(yōu)化,巧妙地解決了多信道隱藏終端、控制信道瓶頸問(wèn)題,并且利用預(yù)約時(shí)隙和競(jìng)爭(zhēng)微時(shí)隙退避機(jī)制大大提高了信道的接入效率,同時(shí)也消除了隱藏終端所引起的數(shù)據(jù)分組發(fā)送碰撞問(wèn)題.仿真結(jié)果表明,DCR協(xié)議在多跳網(wǎng)絡(luò)環(huán)境下的最大網(wǎng)絡(luò)吞吐量比IEEE 802.11分布式協(xié)調(diào)功能(DCF)協(xié)議[9]提高了30~48%,在單跳網(wǎng)絡(luò)環(huán)境下提高了73%.
MANET中N個(gè)節(jié)點(diǎn)均勻分布在一定的區(qū)域內(nèi),沒(méi)有中心控制節(jié)點(diǎn)管理控制,基于GPS等實(shí)現(xiàn)全網(wǎng)同步.各節(jié)點(diǎn)使用一個(gè)預(yù)約信道(RCH)傳輸控制分組(即RTS、CTS分組),使用一個(gè)業(yè)務(wù)信道(TCH)傳輸數(shù)據(jù)分組(DATA)和ACK分組.各節(jié)點(diǎn)僅有一部半雙工無(wú)線收發(fā)機(jī),如果處于空閑狀態(tài),即沒(méi)有在RCH和TCH上的相關(guān)分組發(fā)送,則轉(zhuǎn)到RCH上偵收相鄰節(jié)點(diǎn)的分組發(fā)送.網(wǎng)絡(luò)中所有節(jié)點(diǎn)的傳輸距離與載波偵聽(tīng)距離相等.
如圖1所示,DCR協(xié)議中,在RCH和TCH上的時(shí)間被分成大小相等的一個(gè)個(gè)時(shí)隙,分別稱為預(yù)約時(shí)隙(RS)和數(shù)據(jù)分組傳輸時(shí)隙(TS).在RCH上的RS中,各節(jié)點(diǎn)發(fā)送RTS或CTS分組進(jìn)行信道預(yù)約,然后在TCH上的TS中發(fā)送DATA并進(jìn)行ACK確認(rèn).
圖1 DCR協(xié)議的時(shí)序圖
在RCH上的每個(gè)RS時(shí)隙包括多個(gè)競(jìng)爭(zhēng)微時(shí)隙(CMS)、RTS和CTS分組的發(fā)送時(shí)間以及2個(gè)短幀間間隔(SIFS),其中,SIFS一般包括信號(hào)往返傳播時(shí)間、接收機(jī)處理時(shí)間、收發(fā)轉(zhuǎn)換時(shí)間和必要的保護(hù)時(shí)間.在TCH上的TS時(shí)隙包括DATA和ACK分組的發(fā)送時(shí)間以及2個(gè)SIFS.由于假設(shè)RS和TS的時(shí)隙大小相同,即它們之間滿足下式:
Tslot=NMSTMS+2SIFS+TRTS+TCTS
=TDATA+TACK+2SIFS
(1)
即
(2)
其中,NMS表示RCH上競(jìng)爭(zhēng)微時(shí)隙的個(gè)數(shù);TMS表示每個(gè)競(jìng)爭(zhēng)微時(shí)隙的時(shí)間長(zhǎng)度;TRTS、TCTS、TDATA、TACK分別表示RTS、CTS、DATA和ACK分組在相應(yīng)信道上的傳輸時(shí)間;LRTS、LCTS、LDATA、LACK分別表示RTS、CTS、DATA和ACK分組的長(zhǎng)度;RRCH、RTCH分別為RCH、TCH上的數(shù)據(jù)速率.
如圖1所示,DCR協(xié)議中的整個(gè)數(shù)據(jù)分組發(fā)送過(guò)程包括預(yù)約時(shí)隙選擇、競(jìng)爭(zhēng)微時(shí)隙選擇和RTS/CTS握手、以及數(shù)據(jù)分組發(fā)送及確認(rèn)等3個(gè)階段.圖2為該協(xié)議的分組收發(fā)流程圖.
圖2 DCR協(xié)議的分組收發(fā)流程圖
2.2.1 預(yù)約時(shí)隙選擇
每個(gè)節(jié)點(diǎn)根據(jù)自己有無(wú)數(shù)據(jù)分組發(fā)送情況來(lái)決定是否在當(dāng)前時(shí)隙發(fā)起預(yù)約.對(duì)新產(chǎn)生數(shù)據(jù)分組的初次發(fā)送,發(fā)送節(jié)點(diǎn)選擇該分組產(chǎn)生后的第1個(gè)
預(yù)約時(shí)隙或成功發(fā)送完上一個(gè)數(shù)據(jù)分組后的第1個(gè)預(yù)約時(shí)隙立刻開(kāi)始數(shù)據(jù)分組發(fā)送過(guò)程.發(fā)方首先偵聽(tīng)RCH 1個(gè)預(yù)約時(shí)隙,若在此期間它的收方?jīng)]有收發(fā)RTS或CTS分組的話,它就在此預(yù)約時(shí)隙結(jié)束后的下一個(gè)預(yù)約時(shí)隙中準(zhǔn)備發(fā)送RTS分組;否則,它就退避到下一個(gè)預(yù)約時(shí)隙準(zhǔn)備發(fā)送RTS分組.
2.2.2 競(jìng)爭(zhēng)微時(shí)隙選擇和RTS/CTS握手
當(dāng)發(fā)送節(jié)點(diǎn)在RCH上的一個(gè)預(yù)約時(shí)隙開(kāi)始時(shí),有數(shù)據(jù)分組要發(fā)送給某個(gè)鄰節(jié)點(diǎn),則在發(fā)送RTS之前,要從當(dāng)前預(yù)約時(shí)隙的NMS個(gè)競(jìng)爭(zhēng)微時(shí)隙中隨機(jī)選擇一個(gè)作為RTS分組發(fā)送開(kāi)始的時(shí)間,并在發(fā)送RTS分組之前偵聽(tīng)之前的競(jìng)爭(zhēng)微時(shí)隙.如果在其所選的競(jìng)爭(zhēng)微時(shí)隙到來(lái)之前的競(jìng)爭(zhēng)微時(shí)隙中都沒(méi)有偵聽(tīng)到其他節(jié)點(diǎn)發(fā)送控制分組,那么該發(fā)送節(jié)點(diǎn)就在所選的競(jìng)爭(zhēng)微時(shí)隙上開(kāi)始發(fā)送RTS分組進(jìn)行信道預(yù)約,并在RCH上等待接收節(jié)點(diǎn)回復(fù)CTS分組;否則退避到下一個(gè)預(yù)約時(shí)隙再重新進(jìn)行預(yù)約.
發(fā)送節(jié)點(diǎn)發(fā)送完RTS分組后,等待接收CTS分組,若收到CTS分組,則此次預(yù)約成功;否則預(yù)約失敗.對(duì)于預(yù)約失敗,如果當(dāng)前數(shù)據(jù)分組發(fā)送未達(dá)到最大重傳次數(shù),則發(fā)送節(jié)點(diǎn)在此次數(shù)據(jù)分組發(fā)送嘗試失敗后的KMAX個(gè)預(yù)約時(shí)隙中等概選擇一個(gè)嘗試重發(fā)該數(shù)據(jù)分組的過(guò)程;如果達(dá)到最大重傳次數(shù),則進(jìn)行丟包處理.
如果接收節(jié)點(diǎn)正確接收到發(fā)給自己的RTS分組,那么它就立刻回復(fù)CTS分組,并在TCH上準(zhǔn)備接收DATA分組;若目的節(jié)點(diǎn)不是自己或不能正確接收RTS分組,則不做任何處理.
2.2.3 數(shù)據(jù)分組發(fā)送及確認(rèn)
如果發(fā)送節(jié)點(diǎn)能夠在規(guī)定的時(shí)間內(nèi)正確收到CTS分組,說(shuō)明預(yù)約成功,就轉(zhuǎn)到TCH上在緊接的數(shù)據(jù)分組傳輸時(shí)隙上無(wú)沖突地發(fā)送數(shù)據(jù)分組.接收節(jié)點(diǎn)正確收到后,回復(fù)ACK分組進(jìn)行成功接收確認(rèn),從而完成一個(gè)完整的數(shù)據(jù)分組發(fā)送過(guò)程.
本文在VC++ 6.0環(huán)境下,用C語(yǔ)言編程對(duì)改進(jìn)后的MAC協(xié)議進(jìn)行仿真,驗(yàn)證所提出的在雙信道方式先預(yù)約和數(shù)據(jù)傳輸?shù)挠行?在相同環(huán)境參數(shù)等條件下,將DCR協(xié)議的仿真結(jié)果和IEEE 802.11 DCF協(xié)議的仿真結(jié)果進(jìn)行對(duì)比,分析比較兩個(gè)協(xié)議的性能,對(duì)DCR協(xié)議的有效性做綜合評(píng)估.所采用的多址性能指標(biāo)為吞吐量(S)和平均分組時(shí)延(Delay).吞吐量是指網(wǎng)絡(luò)中單位時(shí)間內(nèi)在信道上成功傳輸?shù)男畔⒘?;平均分組時(shí)延定義為各分組從產(chǎn)生到正確接收所需要的平均時(shí)間.
網(wǎng)絡(luò)中N個(gè)節(jié)點(diǎn)均勻分布在100 m×100 m的區(qū)域內(nèi).每個(gè)節(jié)點(diǎn)的分組產(chǎn)生速率服從Poisson過(guò)程.為了保證公平比較,我們假定兩個(gè)協(xié)議的總數(shù)據(jù)速率相同,即IEEE 802.11單信道DCF協(xié)議的數(shù)據(jù)速率設(shè)為22 Mbps,而DCR協(xié)議中RRCH設(shè)為0.5 Mbps,RTCH設(shè)為21.5 Mbps.具體參數(shù)如表1所示.
表1 仿真參數(shù)
圖3和圖4分別給出了節(jié)點(diǎn)數(shù)N為50、75、100、150、200時(shí)DCR和IEEE 802.11 DCF協(xié)議隨網(wǎng)絡(luò)業(yè)務(wù)量G變化的性能比較結(jié)果.
從圖3可以看出,不同節(jié)點(diǎn)數(shù)情況下DCR協(xié)議的吞吐量明顯高于IEEE 802.11 DCF協(xié)議,并且其吞吐量隨著節(jié)點(diǎn)個(gè)數(shù)的增加而增大,當(dāng)N達(dá)到150后基本保持不變.產(chǎn)生這種結(jié)果的原因是N增大時(shí),每個(gè)節(jié)點(diǎn)的平均鄰節(jié)點(diǎn)數(shù)也會(huì)增多,同時(shí),相同總業(yè)務(wù)量G情況下各節(jié)點(diǎn)的分組產(chǎn)生速率降低.當(dāng)N=200時(shí),DCR協(xié)議的最大吞吐量比IEEE 802.11 DCF協(xié)議提高了34%,達(dá)到了79.7 Mbps.
如圖4所示,DCR和IEEE 802.11 DCF協(xié)議的平均分組時(shí)延隨著G的增大而增大,并且相同G情況下隨著N的增大而減小.從總體來(lái)看,相同N情況下,DCR協(xié)議的平均分組時(shí)延比IEEE 802.11 DCF協(xié)議小.這是因?yàn)镚較小時(shí),數(shù)據(jù)分組都能被成功發(fā)送,節(jié)點(diǎn)數(shù)越多,數(shù)據(jù)分組到達(dá)率越小,數(shù)據(jù)分組在隊(duì)列中積壓的時(shí)間越短,平均分組時(shí)延就越?。欢鳪較大時(shí),每個(gè)分組都需要等待更長(zhǎng)的時(shí)間才能得到發(fā)送,造成平均分組時(shí)延加大.同時(shí),DCR協(xié)議采用雙重退避機(jī)制,并且提高了網(wǎng)絡(luò)并行發(fā)送機(jī)會(huì),可以比IEEE 802.11 DCF協(xié)議具有更低的接入碰撞概率,從而實(shí)現(xiàn)了更快地接入.
圖3 不同節(jié)點(diǎn)數(shù)情況下的吞吐量
圖4 不同節(jié)點(diǎn)數(shù)情況下的平均分組時(shí)延
圖5和圖6分別為DCR和IEEE 802.11 DCF協(xié)議在不同通信半徑r下的仿真比較結(jié)果.可以看出,隨著r的增大,兩個(gè)協(xié)議的網(wǎng)絡(luò)吞吐量都下降、平均分組時(shí)延都增大,且在同等r的情況下,DCR協(xié)議的這兩個(gè)性能都比IEEE 802.11 DCF協(xié)議好.因?yàn)殡S著r的增大,節(jié)點(diǎn)間的平均跳數(shù)減小,鄰節(jié)點(diǎn)數(shù)增多,信道的空分復(fù)用效果越差,網(wǎng)絡(luò)的局部業(yè)務(wù)量相對(duì)較大,從而造成RTS/CTS分組的碰撞加劇,最終引起網(wǎng)絡(luò)吞吐量下降、平均分組時(shí)延增大.
由于DCR協(xié)議采用RCH和TCH的時(shí)隙優(yōu)化匹配以及預(yù)約時(shí)隙退避和競(jìng)爭(zhēng)微時(shí)隙退避相結(jié)合的機(jī)制,在重業(yè)務(wù)量情況下更能有效分散網(wǎng)絡(luò)中的業(yè)務(wù)量,并解決了更多的隱藏終端和暴露終端問(wèn)題,因此它的多址性能要比IEEE 802.11 DCF協(xié)議好.當(dāng)r=20、25、40、150時(shí), DCR協(xié)議的最大吞吐量分別比相同r下的IEEE 802.11 DCF協(xié)議提高了30%、40%、48%和73%,分別達(dá)到118.6 Mbps、86.7 Mbps、41.3 Mbps、18.9 Mbps.其中,r=150意味著網(wǎng)絡(luò)為單跳結(jié)構(gòu)網(wǎng)絡(luò).
圖5 不同通信半徑情況下的吞吐量
圖6 不同通信半徑情況下的平均分組時(shí)延
圖7和圖8分別為DCR協(xié)議在不同RCH數(shù)據(jù)速率RRCH下的仿真結(jié)果.其中,不同RCCH下,總信道數(shù)據(jù)速率Rb=22 Mbps保持不變.
由圖中可以看出,隨著RRCH從0.25 Mbps到4 Mbps的變化過(guò)程中,DCR協(xié)議的網(wǎng)絡(luò)吞吐量的變化趨勢(shì)是先增大、后減小.當(dāng)RRCH=1.5 Mbps時(shí),協(xié)議的多址性能均達(dá)到最大值,其中最大吞吐量為93 Mbps.當(dāng)網(wǎng)絡(luò)業(yè)務(wù)量達(dá)到飽和之前,平均分組時(shí)延隨著RRCH的增大,先減小后增大.這是因?yàn)樵赗b保持不變的前提下,RRCH的變化會(huì)使預(yù)約時(shí)隙的大小、數(shù)據(jù)分組長(zhǎng)度、業(yè)務(wù)信道的傳輸速率、每個(gè)預(yù)約時(shí)隙中預(yù)約分組所占的比例等發(fā)生變化.當(dāng)RRCH較小時(shí),隨著RRCH的增大,TCH的數(shù)據(jù)速率下降相對(duì)較小,而此時(shí)預(yù)約分組發(fā)送時(shí)間降低,使得競(jìng)爭(zhēng)微時(shí)隙所占的比例相對(duì)提高,因而可以更有效地避免隱藏終端和暴露終端問(wèn)題,所以網(wǎng)絡(luò)吞吐量會(huì)上升而平均分組時(shí)延也會(huì)相應(yīng)地下降.而當(dāng)RRCH較大時(shí),隨著RRCH的增大,TCH的數(shù)據(jù)傳輸速率下降了很多,用于預(yù)約信道的開(kāi)銷過(guò)大、有效傳輸數(shù)據(jù)分組的信道資源相對(duì)不足,因此,多址性能就會(huì)相應(yīng)地下降.
圖7 RRCH變化對(duì)吞吐量的影響
圖8 RRCH變化對(duì)平均分組時(shí)延的影響
本文提出的DCR協(xié)議采用RCH的預(yù)約時(shí)隙與TCH的數(shù)據(jù)分組傳輸時(shí)隙等長(zhǎng)的做法,各節(jié)點(diǎn)利用一部半雙工收發(fā)機(jī)在RCH上采用預(yù)約時(shí)隙和競(jìng)爭(zhēng)微時(shí)隙隨機(jī)退避機(jī)制進(jìn)行RTS/CTS信道預(yù)約,在TCH上進(jìn)行無(wú)沖突的數(shù)據(jù)分組發(fā)送和確認(rèn),從而實(shí)現(xiàn)了最佳業(yè)務(wù)平衡的并行信道預(yù)約和數(shù)據(jù)分組發(fā)送,避免了信道資源浪費(fèi).同時(shí),協(xié)議允許暴露終端發(fā)方和隱藏終端收方與發(fā)方同時(shí)收發(fā)數(shù)據(jù)分組,提高了并行數(shù)據(jù)分組發(fā)送機(jī)會(huì),最大限度地降低了預(yù)約分組的碰撞區(qū)間,從而大大地提高了信道的接入成功率和利用效率,獲得了更好的多址性能.
該協(xié)議不需要建立信道狀態(tài)表,不需要改變RTS、CTS分組格式,不需要設(shè)置、更新網(wǎng)絡(luò)分配定時(shí)器以便進(jìn)行收發(fā)退避,不需要額外的信道和硬件設(shè)備,大大降低了開(kāi)銷、成本和復(fù)雜度,提供了良好的兼容性,并可以通過(guò)優(yōu)化調(diào)整RCH和TCH的數(shù)據(jù)速率分配達(dá)到最佳的多址性能.仿真結(jié)果表明,在總數(shù)據(jù)速率相同條件下DCR協(xié)議在網(wǎng)絡(luò)吞吐量和平均分組時(shí)延方面都大大優(yōu)于IEEE 802.11 DCF協(xié)議.
[1] S L Wu,C Y Lin,Y C Tseng,et al.A new multi-channel MAC protocol with on-demand channel assignment for multi-hop mobile ad hoc networks[J].Algorithms and Networks,2000,12(1):232-237.
[2] J So,N Vaidya.Multichannel MAC for ad hoc networks: handling multichannel hidden terminals using a single transceiver Proc[C]∥The 5th ACM International Symposium on Mobile Ad Hoc Networking and Computing.Tokyo:Mobihoc, 2004:222-233.
[3] Duy Nguyen,J Garcia-Luna-Aceves,Katia Obraczka. Collision-free asynchronous multi-channel access in ad hoc networks Proc[C]∥IEEE Global Telecommunications Conference.Honolulu:Globecom,2009:1-6.
[4] Jiwoong Lee,Jeonghoon Mo,Tran Minh Trung,et al.Design and analysis of a cooperative multichannel MAC protocol for heterogeneous networks[J].IEEE Transactions on Vehicular Technology,2010,59(7):3 536-3 548.
[5] Kuei Ping Shih,Yen Da Chen,Shu Sheng Liu.A collision avoidance multi-channel MAC protocol with physical carrier sensing for mobile ad hoc networks[C]∥Kuei Ping Shih.2010 IEEE 24th International Conference on Advanced Information Networking and Applications Workshops.Australia:AINA,2010:656-661.
[6] 邢小琴,劉 凱.移動(dòng)Ad Hoc網(wǎng)絡(luò)中基于ID的信道預(yù)約多址接入?yún)f(xié)議[J].軟件學(xué)報(bào),2010,21(10):2 690-2 700.
[7] Paramvir Bahl,Ranveer Chandra,John Dunagan.SSCH:Slotted seeded channel hopping for capacity improvement in IEEE 802.11 ad-hoc wireless networks[C]∥The Tenth Annual International Conference on Mobile Computing and Networking.Philadelphia:MobiCom,2004:216-230.
[8] Haas Z J,Deng J.Dual busy tone multiple access (DBTMA):a multiple access control scheme for ad hoc networks[J].IEEE Trans. Commun,2002,50(6):975-985.
[9] Hongqiang Zhai,Jianfeng Wang,Yuguang Fang.A new dual-channel MAC protocol for multihop ad hoc networks[J].IEEE Transactions on Wireless Communications,2006,5(11):3 224-3 233.