文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2011)07-111-04
近幾年,IEEE 802.11無線網(wǎng)絡(luò)得到迅速的發(fā)展[1],對無線網(wǎng)絡(luò)的性能和服務(wù)質(zhì)量提出了更高的要求。同有線網(wǎng)絡(luò)相比,無線網(wǎng)絡(luò)在性能和服務(wù)質(zhì)量方面還有很大差距,這除了其物理傳輸介質(zhì)的固有特點(diǎn)之外,實(shí)現(xiàn)介質(zhì)共享的MAC層協(xié)議是一個(gè)非常重要的因素。無線局域網(wǎng)(WLAN)IEEE802.11協(xié)議中,MAC層上最基本也是目前使用最廣泛的接入方式是被稱為分布式協(xié)調(diào)功能DCF(Distribute Coordination Function)的隨機(jī)競爭接入方式。
DCF方式下,WLAN的吞吐量和接入時(shí)延隨著網(wǎng)絡(luò)中的活動節(jié)點(diǎn)(Active Nodes)數(shù)和初始競爭窗口大小(CWmin)而變化[2],系統(tǒng)的初始競爭窗口大小由物理層特性決定,例如使用直接序列擴(kuò)頻時(shí),CWmin為31;使用跳頻擴(kuò)頻時(shí),CWmin為15[3]。也就是說,在DCF協(xié)議中,初始競爭窗口是固定的,并不能隨著網(wǎng)絡(luò)中競爭節(jié)點(diǎn)數(shù)的多少而變化。根據(jù)網(wǎng)絡(luò)中活動節(jié)點(diǎn)數(shù)的變化來動態(tài)調(diào)整初始競爭窗口的值,是改進(jìn)DCF性能的一種行之有效的方法[4-6]。但目前獲得網(wǎng)絡(luò)中的活動節(jié)點(diǎn)數(shù)目都是基于某種估計(jì)算法獲得的。這些估計(jì)算法不能精確地反映網(wǎng)絡(luò)中真實(shí)的活動節(jié)點(diǎn)數(shù),所計(jì)算出的優(yōu)化初始競爭窗口大小也不會很精確,如果初始窗口設(shè)置不正確,對網(wǎng)絡(luò)性能的影響將會很大。參考文獻(xiàn)[7]提出了增加初始窗口為63,并在退避到最大窗口時(shí),將最大窗口置為初始窗口來參與競爭,這在一定程度提高了系統(tǒng)的公平性,但此算法也增加了沖突發(fā)生的概率。本文提出的優(yōu)化競爭窗口的算法用OPNET軟件[8]進(jìn)行了仿真,與原有算法及參考文獻(xiàn)[7]中的算法相比,在吞吐量及時(shí)延上都有良好的改善。
1 DCF的二進(jìn)制退避機(jī)制和競爭窗口的分析
DCF協(xié)議基于載波監(jiān)聽多路訪問/沖突避免(CSMA/CA)機(jī)制實(shí)現(xiàn)有競爭的信道共享。當(dāng)一個(gè)節(jié)點(diǎn)需要發(fā)送幀時(shí),要調(diào)用載波偵聽機(jī)制來確定信道的忙/閑狀態(tài),如果信道忙,它將推遲,直到信道連續(xù)處于空閑狀態(tài)達(dá)到分布協(xié)調(diào)功能的幀間間隔DIFS(Distributed Coordination Function Interframe Space)時(shí)間,為了避免發(fā)送沖突,這時(shí)該節(jié)點(diǎn)在發(fā)送前必須經(jīng)過一個(gè)附加的退避周期,產(chǎn)生一個(gè)隨機(jī)的退避時(shí)間(Backoff Time),并存入退避計(jì)數(shù)器。如果退避計(jì)數(shù)器中已經(jīng)包含有一個(gè)非0的值,則不再執(zhí)行產(chǎn)生隨機(jī)退避時(shí)間的過程。
產(chǎn)生退避時(shí)間的方法如下:Backoff Time=Random( )* aSlotTime其中,Random( )是均勻分布在[0,CW]范圍內(nèi)的隨機(jī)整數(shù),CW是介于由物理層特征決定的最小競爭窗口CWmin和最大競爭窗口CWmax之間的一個(gè)整數(shù)值,即CWmin≤CW≤CWmax。aSlotTime 是由物理層特性決定的一個(gè)時(shí)隙的實(shí)際長度值,對于DSSS(直接序列擴(kuò)頻),一個(gè)時(shí)隙的長度是 20 μs。每個(gè)節(jié)點(diǎn)在發(fā)送數(shù)據(jù)前,監(jiān)聽信道的狀態(tài),如果信道閑,則將退避時(shí)間計(jì)數(shù)器減1;如果信道忙,則退避過程將被推遲,退避時(shí)間計(jì)數(shù)器被凍結(jié)。當(dāng)終端檢測到信道的空閑時(shí)間≥DIFS時(shí),退避過程重新被激活,繼續(xù)遞減。當(dāng)退避計(jì)數(shù)器遞減到0時(shí),節(jié)點(diǎn)就可以執(zhí)行發(fā)送。圖1顯示了退避過程。

節(jié)點(diǎn)A發(fā)送時(shí),節(jié)點(diǎn)B、C、D都有幀要發(fā)送,等待信道連續(xù)空閑DIFS時(shí)間后,進(jìn)入退避階段,每個(gè)節(jié)點(diǎn)在CW內(nèi)隨機(jī)產(chǎn)生一個(gè)退避時(shí)間。因?yàn)楣?jié)點(diǎn)C所產(chǎn)生的退避時(shí)間最短,它的退避計(jì)時(shí)器最先減至0,開始發(fā)送幀,節(jié)點(diǎn)B和D的退避計(jì)時(shí)器被凍結(jié)。在節(jié)點(diǎn)C傳送過程中,節(jié)點(diǎn)E也有幀要發(fā)送,進(jìn)入等待過程。信道空閑DIFS后,節(jié)點(diǎn)B和D的退避計(jì)時(shí)器解凍,節(jié)點(diǎn)E產(chǎn)生隨機(jī)退避時(shí)間。因?yàn)楣?jié)點(diǎn)D的退避計(jì)時(shí)器最先減至0,所以節(jié)點(diǎn)D獲得發(fā)送機(jī)會。
由圖1可以看出,每一個(gè)節(jié)點(diǎn)都要維護(hù)一個(gè)CW參數(shù),CW的初始值為CWmin。在幀的第一次傳輸時(shí),CW等于最小競爭窗口CWmin。當(dāng)一個(gè)節(jié)點(diǎn)發(fā)送失敗時(shí),說明當(dāng)前的網(wǎng)絡(luò)負(fù)載較大或者鏈路狀況不好,該節(jié)點(diǎn)的CW就會增加一倍。以后,該節(jié)點(diǎn)每次發(fā)送失敗而重傳時(shí),CW都會增加一倍,即CW=2m(CWmin+1)-1,其中m為重傳次數(shù)。當(dāng)CW的值增加到CWmax時(shí),即2m(CWmin+1)=(CWmax+1),再重傳時(shí)CW的值將保持CWmax不變,直到該節(jié)點(diǎn)發(fā)送成功,或者達(dá)到了最大重傳次數(shù)限制,CW將被重新置為CWmin, CW的變化方式如圖2所示。

競爭窗口越大,隨機(jī)退避機(jī)制解決沖突的能力就越強(qiáng),因?yàn)槭褂幂^大的競爭窗口時(shí),選擇相同的隨機(jī)退避時(shí)間的可能性很小。這樣一方面,在輕載的情況下,小的競爭窗口保證了較短的延遲;另一方面,在重載的情況下,隨機(jī)等待時(shí)間隨著沖突產(chǎn)生次數(shù)的增加呈指數(shù)遞增,降低了沖突的概率。競爭窗口達(dá)到CWmax后不再增長,保證了網(wǎng)絡(luò)在重載情況下的穩(wěn)定。當(dāng)幀成功發(fā)送或者重傳次數(shù)超過限制而被丟掉時(shí),競爭窗口被置為CWmin。這種機(jī)制稱為二進(jìn)制指數(shù)退避(Binary Exponential Backoff)。
2 改進(jìn)的方法
通過以上分析,可以看出競爭窗口的大小決定了退避的時(shí)間,進(jìn)而影響了吞吐量和接入時(shí)延。本文的優(yōu)化算法通過合理設(shè)置窗口的大小,針對發(fā)生沖突時(shí)退避時(shí)間迅速增加的弊端,并綜合考慮到公平性的問題,從以下四個(gè)方面對現(xiàn)有算法進(jìn)行優(yōu)化。
(1)增加最小的競爭窗口。參考文獻(xiàn)[9]中指出對不同的網(wǎng)絡(luò)節(jié)點(diǎn)數(shù),存在一個(gè)最優(yōu)的競爭窗口使網(wǎng)絡(luò)的時(shí)延最小,網(wǎng)絡(luò)中有10個(gè)競爭節(jié)點(diǎn)時(shí),將初始競爭窗口設(shè)為63,介質(zhì)訪問的時(shí)延最??;而50個(gè)競爭節(jié)點(diǎn)時(shí),初始窗口設(shè)為127,介質(zhì)訪問的時(shí)延最小。但參考文獻(xiàn)[9]中沒有綜合考慮到窗口對吞吐量的影響,本文通過仿真發(fā)現(xiàn),在站點(diǎn)數(shù)多或少的情況下,將初始窗口設(shè)為127時(shí),應(yīng)用本算法,在吞吐量和時(shí)延上都有良好的改善。
(2)增加最大的競爭窗口。通過前面的分析可知,如果競爭窗口較小,則發(fā)生沖突的概率將增加,優(yōu)化算法增加了最大窗口,將其設(shè)為1 054。
(3)優(yōu)化退避算法。原有的二進(jìn)制退避算法,退避的時(shí)隙增加過快,呈指數(shù)增長,但遞減較慢,即當(dāng)檢測到信道空閑時(shí)間≥DIFS時(shí),退避計(jì)數(shù)器做減1操作,這樣將導(dǎo)致再次接入的時(shí)延增加,優(yōu)化算法采用較溫和的方法:當(dāng)發(fā)生沖突時(shí),max_backoff = max_backoff * 1.5+1,這樣做的目的是當(dāng)發(fā)生沖突時(shí),使退避時(shí)間量的增加較為緩慢。
(4)當(dāng)重傳后競爭窗口超過最大競爭窗口時(shí),將站點(diǎn)的競爭窗口恢復(fù)為最大窗口的一半,即512。這樣當(dāng)一個(gè)站點(diǎn)遭遇連續(xù)多次沖突后,增加其競爭信道的概率,提高系統(tǒng)的公平性。參考文獻(xiàn)[7]中超過最大競爭窗口后,直接將站點(diǎn)的競爭窗口恢復(fù)為最小窗口,這樣雖然在一定程度上提高了公平性,但同時(shí)也加劇了沖突。
上述改進(jìn)的算法中,(1)、(2)保證了競爭窗口有一個(gè)較大的范圍,降低了可能發(fā)生的沖突,(3)保證了退避時(shí)間增加較為緩慢,減小了再次接入的時(shí)延,(4)解決了一個(gè)站點(diǎn)遭遇連續(xù)多次沖突后再次接入信道的能力,提高了公平性。
3 性能仿真及對比
本文使用OPNET軟件虛擬建立一個(gè)基本的Adhoc網(wǎng)絡(luò)模型[10],每個(gè)無線節(jié)點(diǎn)的通信范圍設(shè)為100 m,采用的網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為所有無線節(jié)點(diǎn)都分布在邊長為100 m×100 m的四方區(qū)域內(nèi),即任意一個(gè)節(jié)點(diǎn)都處在其余所有節(jié)點(diǎn)的通信范圍之內(nèi),也就是說,網(wǎng)絡(luò)中任意兩個(gè)節(jié)點(diǎn)之間能直接進(jìn)行通信。這樣網(wǎng)絡(luò)中不存在隱藏節(jié)點(diǎn)。本文仿真了20個(gè)站點(diǎn)和80個(gè)站點(diǎn)時(shí)系統(tǒng)的吞吐量和時(shí)延。圖3是包括20個(gè)無線節(jié)點(diǎn)的一個(gè)網(wǎng)絡(luò)拓?fù)?,其中,node_0~node_19是無線節(jié)點(diǎn)。
在仿真實(shí)驗(yàn)中,采用DSSS的參數(shù)(默認(rèn)),見表1。

OPNET提供了ON—OFF的建模機(jī)制,在ON期間生成數(shù)據(jù)包,每個(gè)包的大小和包間隔可以按照某種分布函數(shù)來確定,在OFF期間不發(fā)送數(shù)據(jù)包。按照表2設(shè)置網(wǎng)絡(luò)的業(yè)務(wù)參數(shù)。

仿真結(jié)果如圖4~圖7所示。


從圖4~圖7的仿真曲線圖可以看出,改進(jìn)后的算法在20個(gè)站點(diǎn)及80個(gè)站點(diǎn)時(shí)在時(shí)延和吞吐量方面都有良好的改善,驗(yàn)證了其性能。
本文詳細(xì)地分析了DCF方式的工作機(jī)制和競爭窗口對接入時(shí)延及吞吐量的影響,針對現(xiàn)有算法的不足提出了一種優(yōu)化競爭窗口的算法,仿真了20個(gè)站點(diǎn)及80個(gè)站點(diǎn)工作時(shí)的吞吐量及接入時(shí)延,相比現(xiàn)有算法和參考文獻(xiàn)[7]中的算法,改進(jìn)的算法提高了吞吐量,降低了接入時(shí)延。
參考文獻(xiàn)
[1] 金純,陳林星,楊吉云.IEEE802.11無線局域網(wǎng)[M].北京:電子工業(yè)出版社,2004.
[2] BIANCHI G. Performance analysis of IEEE802.11 Distributed coordination function[J].IEEE journal on selected Areas in Communtion,2000,18(3):535-547.
[3] 劉乃安.無線局域網(wǎng)(WLAN)—原理、技術(shù)與應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2004.
[4] 王輝,李津生,洪佩林.一種IEEE802.11中慢啟動遞減競爭窗口控制算法[J].電路與系統(tǒng)學(xué)報(bào),2005,10(2):93-97.
[5] 徐志江,李式巨,官軍.IEEE802.11網(wǎng)絡(luò)中增強(qiáng)的退避算法[J].電子與信息學(xué)報(bào),2004,26(10).
[6] CALI F, CONTI M, GREGORI E. Dynamic tuning of the IEEE802.11 protocol to achieve a theoretical throughput limit[J]. IEEE Transactions on Networking.2000,8(6):785-799.
[7] 裴冬冬,王興華,向新.IEEE802.11DCF退避機(jī)制公平性分析與改善[J].電子技術(shù)應(yīng)用,2010,36(10):92-94.
[8] 王文博,張金文.OPNET Modeler與網(wǎng)絡(luò)仿真[M].北京:人民郵電出版社,2003.
[9] 周海興.競爭窗口大小對IEEE802.11無線網(wǎng)絡(luò)的影響[J].廣東通信技術(shù),2008(10).
[10] 陳敏,韋崗.IEEE802.11無線局域網(wǎng)OPNET建模與性能測試[J].計(jì)算機(jī)工程,2004,30(21):14-16,139.
