文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2010)10-0092-03
網(wǎng)絡(luò)通信技術(shù)是當(dāng)前發(fā)展最快的通信技術(shù)方向之一[1],其中,無(wú)線局域網(wǎng)即WLAN是與人們生活最為密切的網(wǎng)絡(luò)類型,為了解決WLAN的信道沖突問(wèn)題,IEEE802.11定義了兩種MAC協(xié)議,即DCF協(xié)議和PCF協(xié)議。DCF允許各站點(diǎn)依托分布式協(xié)調(diào)方式公平地競(jìng)爭(zhēng)信道資源,采用有競(jìng)爭(zhēng)的信道共享方式(CSMA/CA)。而PCF為依托中心節(jié)點(diǎn)協(xié)調(diào)無(wú)線信道分配的一種方式,由接入點(diǎn)AP負(fù)責(zé)信道的分配,所以沒(méi)有沖突的發(fā)生。大多數(shù)情況下,WLAN的默認(rèn)配置采用DCF而不是PCF方式,因?yàn)镈CF基本能滿足數(shù)據(jù)傳輸業(yè)務(wù)的需求,而PCF由于采用了輪詢的方式,增加了開(kāi)銷,因此帶寬利用率較DCF低[2]。
DCF協(xié)議基于載波監(jiān)聽(tīng)多路訪問(wèn)/沖突避免(CSMA/CA)機(jī)制實(shí)現(xiàn)有競(jìng)爭(zhēng)的信道共享,在幀傳輸后,如果在規(guī)定的時(shí)間內(nèi)沒(méi)有收到MAC層的確認(rèn)幀ACK,則認(rèn)為該幀丟失或發(fā)生了沖突,該幀會(huì)按照二進(jìn)制指數(shù)退避算法進(jìn)行退避、重傳,以避免再次發(fā)生沖突。本文使用OPNET軟件對(duì)802.11DCF的基本退避機(jī)制進(jìn)行建模仿真,針對(duì)業(yè)務(wù)量增多時(shí)出現(xiàn)的服務(wù)質(zhì)量下降問(wèn)題,對(duì)DCF的競(jìng)爭(zhēng)窗口值和退避指數(shù)進(jìn)行改進(jìn),從而加快分解沖突的速度,提高系統(tǒng)的吞吐量和延遲性能[3]。
1 DCF的二進(jìn)制指數(shù)退避規(guī)則分析
802.11的CSMA/CA協(xié)議采用離散時(shí)間(Discrete-time)退避算法,退避的最小時(shí)間間隔為一個(gè)時(shí)隙時(shí)間(Slot Time)Δt。Δt=傳播時(shí)延(propagation delay)+收發(fā)機(jī)收/發(fā)轉(zhuǎn)換時(shí)間+PHY層向MAC層指示信道狀態(tài)的的時(shí)間。通常Δt為十至幾十微秒。
CSMA/CA采用的二進(jìn)制指數(shù)退避算法是指:當(dāng)終端檢測(cè)到信道空閑時(shí)間≥DIFS或發(fā)生了碰撞時(shí),會(huì)首先按照均勻分布規(guī)則,從[0,CW-1]中選取一個(gè)值作為退避計(jì)數(shù)器的初始值,此后每當(dāng)站點(diǎn)檢測(cè)到信道空閑時(shí)間≥DIFS,則退避計(jì)數(shù)器減1;若站點(diǎn)檢測(cè)到信道忙或空閑時(shí)間<DIFS,則凍結(jié)退避計(jì)數(shù)器,并記錄下當(dāng)前值,直到重新出現(xiàn)DIFS空閑期再恢復(fù)退避計(jì)數(shù)器;當(dāng)退避計(jì)數(shù)器減至零時(shí),立即發(fā)送數(shù)據(jù)。CW就是退避窗口,取決于碰撞的次數(shù),在幀的第一次傳輸時(shí),CW等于最小碰撞窗口CWmin,每次不成功傳輸都會(huì)使得CW增加一倍,即第n次沖突時(shí),CW(n)=CW(n-1)×2,直到增至最大碰撞窗口CWmax。當(dāng)站點(diǎn)進(jìn)行一次成功傳輸后,立即將CW重設(shè)為最小競(jìng)爭(zhēng)窗口。在圖1中,終端B檢測(cè)到信道空閑時(shí)間≥DIFS,退避計(jì)數(shù)器選擇退避7個(gè)時(shí)隙并在每個(gè)時(shí)隙的開(kāi)始時(shí)刻減1,在第5個(gè)時(shí)隙開(kāi)始時(shí)刻,退避計(jì)數(shù)器減1。但是由于傳播時(shí)延的問(wèn)題,終端A在終端B的第5個(gè)時(shí)隙的中間時(shí)段開(kāi)始傳輸,導(dǎo)致終端B檢測(cè)到信道忙,凍結(jié)退避計(jì)數(shù)器,直到終端A成功完成此次傳輸后,信道再次空閑一個(gè)DIFS,終端B恢復(fù)退避計(jì)數(shù)器,并從第4個(gè)時(shí)隙開(kāi)始遞減[4]。

這種退避算法的好處在于:從網(wǎng)絡(luò)角度來(lái)看,在某一空閑時(shí)隙有多個(gè)節(jié)點(diǎn)同時(shí)發(fā)送的概率減小了,從而在一定程度上降低了沖突概率,上次競(jìng)爭(zhēng)不到媒體的站將以越來(lái)越短的退避時(shí)間進(jìn)入下次競(jìng)爭(zhēng),避免出現(xiàn)永遠(yuǎn)競(jìng)爭(zhēng)不到媒體的情況。然而,隨著工作站點(diǎn)數(shù)目的增多,發(fā)生沖突的概率仍將會(huì)增大,由于每次重傳失敗后,站點(diǎn)的競(jìng)爭(zhēng)窗口都會(huì)增大一倍,其目的是為了減少再次發(fā)生沖突的概率,但同時(shí)也極大地降低了該站點(diǎn)競(jìng)爭(zhēng)到信道的概率,而對(duì)于成功傳輸?shù)恼军c(diǎn)總有較大的概率再次競(jìng)爭(zhēng)到信道,這種現(xiàn)象對(duì)于連續(xù)遭遇沖突的站點(diǎn)來(lái)講是不公平的,系統(tǒng)的吞吐量和延遲性能都將會(huì)受到影響[5]。
2 改進(jìn)的方法
在802.11MAC協(xié)議中,影響網(wǎng)絡(luò)吞吐量和延遲性能的主要因素是分組沖突和每個(gè)競(jìng)爭(zhēng)周期內(nèi)由于退避浪費(fèi)的空閑時(shí)隙。當(dāng)工作站點(diǎn)增多時(shí),由于很多站點(diǎn)的初始競(jìng)爭(zhēng)窗口很小,因此有很多的發(fā)送嘗試很可能會(huì)發(fā)生沖突,這就緩解了分解沖突的速度[6]。基于以上考慮,改進(jìn)的方法通過(guò)以下兩個(gè)手段來(lái)加快分解沖突的速度,提高競(jìng)爭(zhēng)信道的公平性。
(1)增加最小競(jìng)爭(zhēng)窗口值,對(duì)于基本訪問(wèn)機(jī)制,吞吐量隨著退避窗口大小的增加而增加(CWmin≤64)[4]。當(dāng)CWmin>64時(shí),吞吐量隨著退避窗口大小的增加而急劇減少。因此,將最小競(jìng)爭(zhēng)窗口值設(shè)為64。
(2)當(dāng)重傳后的競(jìng)爭(zhēng)窗口值超過(guò)最大競(jìng)爭(zhēng)窗口值時(shí),則將站點(diǎn)的競(jìng)爭(zhēng)窗口恢復(fù)為最小競(jìng)爭(zhēng)窗口。
在改進(jìn)的算法中,站點(diǎn)將擁有較大的初始競(jìng)爭(zhēng)窗口,以解決站點(diǎn)數(shù)目增多時(shí)沖突概率增大的問(wèn)題。此外,當(dāng)一個(gè)站點(diǎn)遭遇連續(xù)多次沖突后,將其競(jìng)爭(zhēng)窗口迅速減小,以增加其成功競(jìng)爭(zhēng)信道的概率,提高系統(tǒng)的公平性。
3 兩種方法的性能仿真及對(duì)比
使用OPNET軟件對(duì)基本的退避算法和改進(jìn)的退避算法進(jìn)行仿真,仿真步驟如下[7]:
(1)建立一個(gè)基本的Adhoc網(wǎng)絡(luò)模型,如圖2所示,隨機(jī)分布80個(gè)無(wú)線工作站,所有工作站點(diǎn)工作于DCF方式,范圍設(shè)為office,大小設(shè)為100 m×100 m。

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

(3)配置802.11MAC的輸入接口參數(shù),如表2所示。

RTS門限決定某個(gè)數(shù)據(jù)幀的傳輸是否要啟動(dòng)RTS/CTS協(xié)議會(huì)話,如果從高層接收到的分組(也稱為MAC服務(wù)數(shù)據(jù)單元MSDU)大于RTS門限,為了增加傳輸效率(對(duì)于大分組額外開(kāi)銷資源預(yù)留帶寬而增加這次發(fā)送成功的概率是值得的),則啟動(dòng)RTS/CTS協(xié)議會(huì)話。由于RTS/CTS協(xié)議會(huì)話是協(xié)議非強(qiáng)制的功能,因此該項(xiàng)默認(rèn)值為None,意味著不管MSDU多大也不啟用該功能。
拆分門限決定高層數(shù)據(jù)包(MSDU)是否需要拆分,該項(xiàng)默認(rèn)值同樣為None,意味不管MSDU多大也不進(jìn)行拆分。
(4)收集統(tǒng)計(jì)量,需要收集的統(tǒng)計(jì)量有吞吐量(throughput)和時(shí)延(delay)。
(5)設(shè)置仿真參數(shù),仿真運(yùn)行時(shí)間為3 min,隨機(jī)數(shù)為128。
(6)復(fù)制一個(gè)與上述網(wǎng)絡(luò)模型完全一樣的場(chǎng)景。在新的場(chǎng)景里,按照改進(jìn)的退避方法進(jìn)行相應(yīng)設(shè)置,其他設(shè)置保持一樣。分別對(duì)兩個(gè)場(chǎng)景運(yùn)行仿真,仿真結(jié)果如圖3、圖4所示,其中橫坐標(biāo)均為時(shí)間,單位為min。


由以上仿真曲線圖可以看出,使用改進(jìn)方法后,網(wǎng)絡(luò)的吞吐量有了一定提高,延遲性能也得到了改善。
通過(guò)分析DCF方式下工作站點(diǎn)增多時(shí)出現(xiàn)信道競(jìng)爭(zhēng)不公平性現(xiàn)象的原因,對(duì)競(jìng)爭(zhēng)窗口的初始值進(jìn)行了調(diào)整,給各站點(diǎn)以較大的最小競(jìng)爭(zhēng)窗口值,提高了沖突分解速度。同時(shí)改進(jìn)了站點(diǎn)遭遇連續(xù)沖突時(shí)的處理方法,提高了此類站點(diǎn)競(jìng)爭(zhēng)到信道的概率。最終的實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的DCF工作方式下的網(wǎng)絡(luò)吞吐量和延遲性能均得到了改善。
參考文獻(xiàn)
[1] NIU B, CUI S, HAIMOVICH A M. Hybrid networks: advancing the theory and design of wireless networks[A].16th International Conference on Wireless and Optical Communications[C]. Newark, NJ, 2007.
[2] NIU B, SIMEONE O, SOMEKH O, et al. Throughput of two-hop wireless networks with relay cooperation. 45th Annual Allerton Conference on Communication, Control, and Computing, Monticello, IL, September 2007.
[3] 范謙.IEEE802.11MAC機(jī)制性能分析及其改進(jìn)[D].杭州: 浙江大學(xué)碩士論文,2004.
[4] 劉乃安.無(wú)線局域網(wǎng)(WLAN)——原理、技術(shù)與應(yīng)用[M].西安:西安電子科技大學(xué)出版社,2004.
[5] 夏勁偉,呂俊懷,曹秀英.基于無(wú)線信道的沖突分解算法仿真研究[J].計(jì)算機(jī)仿真,2008,25(10):128-133.
[6] 陳羽中.IEEE802.11DCF退避機(jī)制分析和改進(jìn)[J].應(yīng)用科學(xué)學(xué)報(bào),2006(1):10-14.
[7] 陳敏,韋崗.IEEE802.11無(wú)線局域網(wǎng)OPNET建模與性能測(cè)試[J].計(jì)算機(jī)工程,2004,30(21):14-16,139.
