摘 要: 在802.11 WLAN(Wireless Local Network)中,當一些無線節點的傳輸速率明顯低于其他節點與AP(Access Point)間的傳輸速率時,將會使區域內所有節點的傳輸性能降低,這種現象稱為效果異常(Performance Anomaly),Hyogon K等人在文獻[6-7]中提出用改變封包容量和競爭窗口大小的方式來解決這個問題。文章通過在NS2網絡仿真環境下,設計實驗拓撲,編寫性能分析腳本,對效果異常現象進行仿真并驗證了上述兩種方案能夠有效緩解該現象并保持系統傳輸性能穩定。
關鍵詞: 802.11; 效果異常; 無線局域網; NS2
中圖分類號:TP393 文獻標志碼: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 引言
無線局域網普遍采用802.1[1]協議族,其中802.11 a/b/g的使用最為普遍,它們分別使用不同的編碼方式并支持多種傳輸速率。低傳輸速率對于信號的抗干擾性較強,高傳輸速率對于信號的抗干擾能力較弱。由于實際應用環境千差萬別,需要在干擾性與傳輸速率間進行適當權衡。802.11采用過鏈路調適(Link Adaptation)方法解決這個問題,其中常用的做法是利用SNR(Signal-to-Noise Ratio)來判斷網絡狀況:當信號不良時,選擇低速傳輸,當信號良好時選擇高速傳輸。
在無線網絡環境下,距離與信號強度成反比,因此遠距離節點為了改善信號質量,會采用較低的傳輸速率來保護信號,這樣就會造成在一個無線局域網中,多種傳輸速率節點并存的現象,這種網絡環境稱為多重傳輸速度。圖1是一個802.11b無線網絡拓撲圖,A和B要傳送數據到遠程服務器,A會隨著時間慢慢向外移動,傳輸速度會逐漸從11Mbps調整為1Mbps。假設A、B的封包大小不變,則占用信道的時間與傳輸速率成反比。因此,A的傳輸速率降低時,很明顯其占用信道的時間會變長,但B占用信道的時間長度并未改變,從而導致在相同時間長度T中,A和B可以傳送的封包總數會降低,這樣除了影響系統的整體效果外,B因為A傳輸速度的降低,自己的傳輸效果也會與A相同,這種現象就稱為效果異常[2]。
圖1 效果異常圖例說明
1 效果異常仿真拓撲
為了仿真效果異常現象,我們按照圖1的無線網絡拓撲,省略掉其中對于效果異常現象無關的因素,比如:A、B節點與服務器之間的交互過程;用CBR(Constant Bit Rate)簡化應用層數據傳輸模式;通過設置A、B、C節點之間的間距為隨機來保證實驗的有效性及結果數據的真實性;按照上面三點假設并結合實際情況,得到圖2所示的實驗拓撲。
該無線拓撲具體場景(如圖2所示)描述如下:節點C為固定節點模擬AP;B、C為移動節點,各自以2Mbps的速率傳送CBR到C;封包大小固定為1000Byte;整個模擬過程持續約45s,在0~15s時間范圍內,節點A、B傳輸速率固定為11Mbps,在15~30s時間范圍內A的速率調整為1Mbps,并緩慢向外移動,30s后A與C的間距超過有效距離,此時只有B傳送數據。
圖2 NS2中仿真無線場景圖
2 效果異常NS2仿真腳本
在NS2[3-4]中,上述場景配置腳本按照如下步驟編寫:①配置無線網絡環境參數;②設定節點位置及移動參數;③配置高層協議內容。每步關鍵配置代碼與說明如下。
⑴ 無線網絡環境參數設置
Channel/WirelessChannel ;# 設定物理信道類型
Propagation/TwoRayGround ;# 設定無線傳輸模式
Phy/WirelessPhy ;# 網絡接口類型
Mac/802_11 ;# MAC層類型
Queue/DropTail/PriQueue ;# 接口隊列模型
LL ;# 邏輯鏈路層模型
Antenna/OmniAntenna ;# 天線模型
set val(ifqlen) 50 ;# 接口隊列長度
set val(rp) DSDV ;# 無線路由協議
⑵ 節點位置及移動參數設置
#設定節點B的X坐標
$11m_node_(0) set X_[expr 100+[$RVdistance value]]
# 設定節點B的Y坐標
$11m_node_(0) set Y_[expr 100+[$RVdistance value]]
$11m_node_(0) set Z_0.0 ;# 設定節點B的Z坐標
⑶ 節點高層協議設置
#設定節點A高層通過CBR產生數據流
set 11m_cbr_(0) [new Application/Traffic/CBR]
#節點傳輸層協議為UDP
$11m_cbr_(0) attach-agent $11m_udp
$11m_cbr_(0) set type_ CBR
#高層數據封包大小
$11m_cbr_(0) set packet_size_ 1000:
#高層數據傳輸速率
$11m_cbr_(0) set rate_ 2Mb;
3 效果異常性能分析腳本
為了觀測效果異常現象以及驗證解決方案的有效性,需要編寫性能分析腳本來測量仿真實驗中吞吐量[5]的變化情況。NS2在模擬過程中會產生仿真過程記錄文件,里面詳細記錄了封包的類型、大小、源節點、目的節點、時間等參數,性能分析腳本只需逐項讀入該記錄并進行計算即可完成吞吐量的測算,腳本部分代碼及簡要說明如下。
性能分析腳本:
if ($x[2]-$clock<=$granularity)
{ #計算單位時間內累積的封包的大小,
$sum=$sum+$x[4];
#計算累計的總封包大小
$sum_total=$sum_total+$x[4];
}
else
{ #計算吞吐量,將字節轉化為位
$throughput=$sum*8.0/$granularity;
#記錄最大吞吐量
if ($throughput > $maxrate)
$maxrate=$throughput;
#輸出結果:時間 吞吐量(bps)
print STDOUT \"$x[2]: $throughput bps\n\";
#設置下次要計算吞吐量的時間
$clock=$clock+$granularity;
#計算全部累計封包大小
$sum_total=$sum_total+$x[4];
……
}
4 效果異常仿真模擬
在NS2中模擬執行第二部分所述網絡配置腳本并對產生的實驗數據進行性能分析,得到結果如圖3所示。從圖3中可以發現,在0~15s時間內,A、B節點的速率均為11Mbps,傳輸數據量分別約為2Mbps左右,在15~30s這段時間內,節點A的速率降至1Mbps,但是節點B仍保持11Mbps速率不變,但是其效果已降至750Kbps左右,與A接近,而系統整體的效果從4Mbps降至1.5Mbps,此現象即為效果異常。30s之后,由于節點A移動出通信范圍,節點B又恢復正常傳輸速率。
圖3 效果異常仿真結果
5 效果異常解決方案及效果驗證
針對效果異常,文獻[6]中提出通過改變封包大小的方式來提升系統性能,避免效果異常。其中傳輸速度快的節點使用較長的幀,傳輸速度慢的節點使用較短的幀,降低慢速節點的信道使用權,以此提高系統性能。
文獻[7]提出通過改變競爭窗口的大小,讓傳輸速度快的節點較容易得到信道使用權,增加傳輸速度較慢節點信道使用權的獲取難度,以此保證系統性能。具體做法如下:CW=CWmin*11/(data_rate),CWmin為初始競爭窗口大小(NS2中默認為32),速率與競爭窗口大小成反比。
為了驗證上述兩種方案的有效性,需要對無線場景配置腳本進行相應更改并模擬執行,然后對實驗數據進行性能分析,根據吞吐量的變化情況分析方案能否抑制效果異常并維持系統性能。
為了模擬封包大小的改變,我們在模型原有設定的基礎上,將節點A速率為1Mbps時的CBR封包大小改為256Bytes,這樣與原來11Mbps時封包為1000Bytes相比,幀長明顯降低,信道占用率隨之下降。模擬結果如圖4所示。從圖4中可以看到,高速節點B(11Mbps)的曲線相對低速節點(1Mbps)的曲線明顯拉開,整體吞吐量提升很多,傳輸效果異常問題得到緩解。
圖4 封包大小對效果異常的影響
為了模擬競爭窗口的大小變化,將11Mbps時A節點的競爭窗口大小設置為32,將1Mbps時的A窗口大小設置為352,并假設所有節點的封包大小相同,均為1000Bytes。模擬結果如圖5所示。從圖5中可以看到,B節點速率在A節點吞吐量降低時,基本維持不變,A、B吞吐量差距明顯,B節點并未出現效果異常,系統整體性能基本保持穩定。
圖5 競爭窗口大小對效果異常的影響
6 結束語
本文通過在NS2網絡仿真環境下,搭建無線實驗拓撲、配置實驗腳本、編寫性能分析代碼,在虛擬環境下再現了效果異常現象;并根據文獻中描述的解決方案,更改配置腳本,收集并分析結果數據,證明了通過改變封包容量及競爭窗口大小可以有效緩解效果異常,保持802.11無線系統傳輸性能。
參考文獻:
[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與網絡模擬[M].人民郵電出版社,2003.
[4] 柯志亨,程榮祥,鄧德雋.NS2仿真實驗-多媒體和無線網絡通信[M].電子工業出版社,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.