馬元飛 王順利
摘 要: 在802.11 WLAN(Wireless Local Network)中,當(dāng)一些無線節(jié)點的傳輸速率明顯低于其他節(jié)點與AP(Access Point)間的傳輸速率時,將會使區(qū)域內(nèi)所有節(jié)點的傳輸性能降低,這種現(xiàn)象稱為效果異常(Performance Anomaly),Hyogon K等人在文獻[6-7]中提出用改變封包容量和競爭窗口大小的方式來解決這個問題。文章通過在NS2網(wǎng)絡(luò)仿真環(huán)境下,設(shè)計實驗拓撲,編寫性能分析腳本,對效果異?,F(xiàn)象進行仿真并驗證了上述兩種方案能夠有效緩解該現(xiàn)象并保持系統(tǒng)傳輸性能穩(wěn)定。
關(guān)鍵詞: 802.11; 效果異常; 無線局域網(wǎng); NS2
中圖分類號:TP393 文獻標(biāo)志碼:A 文章編號:1006-8228(2013)02-04-03
802.11 performance anomaly study based on NS2
Ma Yuanfei, Wang Shunli
(Computer Department of Jining Normal College, Ulanqab, Neimenggu 012000, China)
Abstract: In 802.11 WLAN, it is found that when a certain number of wireless node communicate with AP used lower transmission rate than other nodes, the transmission performance of all nodes will be decreased in wireless coverage range. This phenomenon is known as the effect of performance anomaly. In order to solve this problem, respectively proposed some solutions are proposed in literature[6-7] through modifying the transmission packet size and contention window size. A network topology is presented, performance analysis script is written, and the effect of performance anomaly is simulated in this paper. Two solutions using NS2 are proposed. Simulation results verify that the above methods alleviate the effect of performance anomaly and also maintain system performance.
Key words: 802.11; performance anomaly; WLAN; NS2
0 引言
無線局域網(wǎng)普遍采用802.1[1]協(xié)議族,其中802.11 a/b/g的使用最為普遍,它們分別使用不同的編碼方式并支持多種傳輸速率。低傳輸速率對于信號的抗干擾性較強,高傳輸速率對于信號的抗干擾能力較弱。由于實際應(yīng)用環(huán)境千差萬別,需要在干擾性與傳輸速率間進行適當(dāng)權(quán)衡。802.11采用過鏈路調(diào)適(Link Adaptation)方法解決這個問題,其中常用的做法是利用SNR(Signal-to-Noise Ratio)來判斷網(wǎng)絡(luò)狀況:當(dāng)信號不良時,選擇低速傳輸,當(dāng)信號良好時選擇高速傳輸。
在無線網(wǎng)絡(luò)環(huán)境下,距離與信號強度成反比,因此遠距離節(jié)點為了改善信號質(zhì)量,會采用較低的傳輸速率來保護信號,這樣就會造成在一個無線局域網(wǎng)中,多種傳輸速率節(jié)點并存的現(xiàn)象,這種網(wǎng)絡(luò)環(huán)境稱為多重傳輸速度。圖1是一個802.11b無線網(wǎng)絡(luò)拓撲圖,A和B要傳送數(shù)據(jù)到遠程服務(wù)器,A會隨著時間慢慢向外移動,傳輸速度會逐漸從11Mbps調(diào)整為1Mbps。假設(shè)A、B的封包大小不變,則占用信道的時間與傳輸速率成反比。因此,A的傳輸速率降低時,很明顯其占用信道的時間會變長,但B占用信道的時間長度并未改變,從而導(dǎo)致在相同時間長度T中,A和B可以傳送的封包總數(shù)會降低,這樣除了影響系統(tǒng)的整體效果外,B因為A傳輸速度的降低,自己的傳輸效果也會與A相同,這種現(xiàn)象就稱為效果異常[2]。
圖1 效果異常圖例說明
1 效果異常仿真拓撲
為了仿真效果異?,F(xiàn)象,我們按照圖1的無線網(wǎng)絡(luò)拓撲,省略掉其中對于效果異?,F(xiàn)象無關(guān)的因素,比如:A、B節(jié)點與服務(wù)器之間的交互過程;用CBR(Constant Bit Rate)簡化應(yīng)用層數(shù)據(jù)傳輸模式;通過設(shè)置A、B、C節(jié)點之間的間距為隨機來保證實驗的有效性及結(jié)果數(shù)據(jù)的真實性;按照上面三點假設(shè)并結(jié)合實際情況,得到圖2所示的實驗拓撲。
該無線拓撲具體場景(如圖2所示)描述如下:節(jié)點C為固定節(jié)點模擬AP;B、C為移動節(jié)點,各自以2Mbps的速率傳送CBR到C;封包大小固定為1000Byte;整個模擬過程持續(xù)約45s,在0~15s時間范圍內(nèi),節(jié)點A、B傳輸速率固定為11Mbps,在15~30s時間范圍內(nèi)A的速率調(diào)整為1Mbps,并緩慢向外移動,30s后A與C的間距超過有效距離,此時只有B傳送數(shù)據(jù)。
圖2 NS2中仿真無線場景圖
2 效果異常NS2仿真腳本
在NS2[3-4]中,上述場景配置腳本按照如下步驟編寫:①配置無線網(wǎng)絡(luò)環(huán)境參數(shù);②設(shè)定節(jié)點位置及移動參數(shù);③配置高層協(xié)議內(nèi)容。每步關(guān)鍵配置代碼與說明如下。
⑴ 無線網(wǎng)絡(luò)環(huán)境參數(shù)設(shè)置
Channel/WirelessChannel ;# 設(shè)定物理信道類型
Propagation/TwoRayGround ;# 設(shè)定無線傳輸模式
Phy/WirelessPhy ;# 網(wǎng)絡(luò)接口類型
Mac/802_11 ;# MAC層類型
Queue/DropTail/PriQueue ;# 接口隊列模型
LL ;# 邏輯鏈路層模型
Antenna/OmniAntenna ;# 天線模型
set val(ifqlen) 50 ;# 接口隊列長度
set val(rp) DSDV ;# 無線路由協(xié)議
⑵ 節(jié)點位置及移動參數(shù)設(shè)置
#設(shè)定節(jié)點B的X坐標(biāo)
$11m_node_(0) set X_[expr 100+[$RVdistance value]]
# 設(shè)定節(jié)點B的Y坐標(biāo)
$11m_node_(0) set Y_[expr 100+[$RVdistance value]]
$11m_node_(0) set Z_0.0 ;# 設(shè)定節(jié)點B的Z坐標(biāo)
⑶ 節(jié)點高層協(xié)議設(shè)置
#設(shè)定節(jié)點A高層通過CBR產(chǎn)生數(shù)據(jù)流
set 11m_cbr_(0) [new Application/Traffic/CBR]
#節(jié)點傳輸層協(xié)議為UDP
$11m_cbr_(0) attach-agent $11m_udp
$11m_cbr_(0) set type_ CBR
#高層數(shù)據(jù)封包大小
$11m_cbr_(0) set packet_size_ 1000:
#高層數(shù)據(jù)傳輸速率
$11m_cbr_(0) set rate_ 2Mb;
3 效果異常性能分析腳本
為了觀測效果異常現(xiàn)象以及驗證解決方案的有效性,需要編寫性能分析腳本來測量仿真實驗中吞吐量[5]的變化情況。NS2在模擬過程中會產(chǎn)生仿真過程記錄文件,里面詳細記錄了封包的類型、大小、源節(jié)點、目的節(jié)點、時間等參數(shù),性能分析腳本只需逐項讀入該記錄并進行計算即可完成吞吐量的測算,腳本部分代碼及簡要說明如下。
性能分析腳本:
if ($x[2]-$clock<=$granularity)
{ #計算單位時間內(nèi)累積的封包的大小,
$sum=$sum+$x[4];
#計算累計的總封包大小
$sum_total=$sum_total+$x[4];
}
else
{ #計算吞吐量,將字節(jié)轉(zhuǎn)化為位
$throughput=$sum*8.0/$granularity;
#記錄最大吞吐量
if ($throughput > $maxrate)
$maxrate=$throughput;
#輸出結(jié)果:時間 吞吐量(bps)
print STDOUT "$x[2]: $throughput bps\n";
#設(shè)置下次要計算吞吐量的時間
$clock=$clock+$granularity;
#計算全部累計封包大小
$sum_total=$sum_total+$x[4];
……
}
4 效果異常仿真模擬
在NS2中模擬執(zhí)行第二部分所述網(wǎng)絡(luò)配置腳本并對產(chǎn)生的實驗數(shù)據(jù)進行性能分析,得到結(jié)果如圖3所示。從圖3中可以發(fā)現(xiàn),在0~15s時間內(nèi),A、B節(jié)點的速率均為11Mbps,傳輸數(shù)據(jù)量分別約為2Mbps左右,在15~30s這段時間內(nèi),節(jié)點A的速率降至1Mbps,但是節(jié)點B仍保持11Mbps速率不變,但是其效果已降至750Kbps左右,與A接近,而系統(tǒng)整體的效果從4Mbps降至1.5Mbps,此現(xiàn)象即為效果異常。30s之后,由于節(jié)點A移動出通信范圍,節(jié)點B又恢復(fù)正常傳輸速率。
圖3 效果異常仿真結(jié)果
5 效果異常解決方案及效果驗證
針對效果異常,文獻[6]中提出通過改變封包大小的方式來提升系統(tǒng)性能,避免效果異常。其中傳輸速度快的節(jié)點使用較長的幀,傳輸速度慢的節(jié)點使用較短的幀,降低慢速節(jié)點的信道使用權(quán),以此提高系統(tǒng)性能。
文獻[7]提出通過改變競爭窗口的大小,讓傳輸速度快的節(jié)點較容易得到信道使用權(quán),增加傳輸速度較慢節(jié)點信道使用權(quán)的獲取難度,以此保證系統(tǒng)性能。具體做法如下:CW=CWmin*11/(data_rate),CWmin為初始競爭窗口大?。∟S2中默認為32),速率與競爭窗口大小成反比。
為了驗證上述兩種方案的有效性,需要對無線場景配置腳本進行相應(yīng)更改并模擬執(zhí)行,然后對實驗數(shù)據(jù)進行性能分析,根據(jù)吞吐量的變化情況分析方案能否抑制效果異常并維持系統(tǒng)性能。
為了模擬封包大小的改變,我們在模型原有設(shè)定的基礎(chǔ)上,將節(jié)點A速率為1Mbps時的CBR封包大小改為256Bytes,這樣與原來11Mbps時封包為1000Bytes相比,幀長明顯降低,信道占用率隨之下降。模擬結(jié)果如圖4所示。從圖4中可以看到,高速節(jié)點B(11Mbps)的曲線相對低速節(jié)點(1Mbps)的曲線明顯拉開,整體吞吐量提升很多,傳輸效果異常問題得到緩解。
圖4 封包大小對效果異常的影響
為了模擬競爭窗口的大小變化,將11Mbps時A節(jié)點的競爭窗口大小設(shè)置為32,將1Mbps時的A窗口大小設(shè)置為352,并假設(shè)所有節(jié)點的封包大小相同,均為1000Bytes。模擬結(jié)果如圖5所示。從圖5中可以看到,B節(jié)點速率在A節(jié)點吞吐量降低時,基本維持不變,A、B吞吐量差距明顯,B節(jié)點并未出現(xiàn)效果異常,系統(tǒng)整體性能基本保持穩(wěn)定。
圖5 競爭窗口大小對效果異常的影響
6 結(jié)束語
本文通過在NS2網(wǎng)絡(luò)仿真環(huán)境下,搭建無線實驗拓撲、配置實驗?zāi)_本、編寫性能分析代碼,在虛擬環(huán)境下再現(xiàn)了效果異常現(xiàn)象;并根據(jù)文獻中描述的解決方案,更改配置腳本,收集并分析結(jié)果數(shù)據(jù),證明了通過改變封包容量及競爭窗口大小可以有效緩解效果異常,保持802.11無線系統(tǒng)傳輸性能。
參考文獻:
[1] IEEE 802.11.[EB/OL].(2012-12-17)[2012-12-20].http://zh.wikipedia.org/zh/IEEE_802.11.
[2] Heusee H, Rouusseu F, berger-Sabbatel G, and Duda A. PerformanceAnomaly of 802.11b[C]//Pro.IEEE INFOCOM CoNF.ol.2,2003.3:836-843
[3] 徐雷鳴,龐博,趙耀.NS2與網(wǎng)絡(luò)模擬[M].人民郵電出版社,2003.
[4] 柯志亨,程榮祥,鄧德雋.NS2仿真實驗-多媒體和無線網(wǎng)絡(luò)通信[M].電子工業(yè)出版社,2009.
[5] 柯志亨.NS2使用手冊.[EB/OL].(2011-11-27)[2012-12-10].hpds.ee.ncku.edu.tw/~smallko/NS2/.
[6] Hyogon K,Sanki Y, Inhye K, and Saewoong B. Resolving 802.11 Performance Anomalies through QoS Differentiation[C]// CommunicatioNS Letters IEEE.Volume 9,Issue 7, July2005 Page(s):655-657
[7] Abu-Sharkh O, Twefik A H. Throughout Evaluation and Enhancement in 802.11 WLANS with Access Point[C]//IEEE Vehicular Technology 2005 Vehicular Technology Conference,2005.VTC 2005-Spring Volume 2,30 May-1 June 2005 Page(s):1338-1341 Vol.2.