無線網(wǎng)絡中站點隱藏等問題在NS2下的模擬和分析_第1頁
無線網(wǎng)絡中站點隱藏等問題在NS2下的模擬和分析_第2頁
無線網(wǎng)絡中站點隱藏等問題在NS2下的模擬和分析_第3頁
無線網(wǎng)絡中站點隱藏等問題在NS2下的模擬和分析_第4頁
無線網(wǎng)絡中站點隱藏等問題在NS2下的模擬和分析_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、- 1 -無線網(wǎng)絡中站點隱藏等問題在NS2下的模擬和分析李波,杜德慧,劉飛(江南計算技術研究所,江蘇 無錫 214083摘 要:站點隱藏現(xiàn)象是無線網(wǎng)絡中一個主要問題。采用RTS-CTS 機制可以避免站點隱藏問題,但該機制不總是有效的,在某些情況下它會給無線網(wǎng)絡帶來諸如站點屏蔽等新問題。使用網(wǎng)絡模擬工具NS2模擬了這些問題,分析了問題產(chǎn)生的原因。關鍵詞:站點隱藏;無線網(wǎng)絡;RTS-CTS;站點屏蔽;NS2中圖分類號:TP393.06 文獻標識碼:基金項目:網(wǎng)絡安全積極防御關鍵技術(863項目 編號:2003AA146010Simulation and Analysis for Problems

2、Such as Hidden Nodesin Wireless Network Using NS2LI Bo, DU De-Hui( Institute of Jiang Nan Computer Technology, Wuxi Jiangsu 214083, China Abstract :The phenomenon of hidden nodes is an important problem in Wireless network and it can be avoided by RTS-CTS mechanism. But the mechanism is not always e

3、ffective, it brings some new problems such as masked nodes into the Wireless network on some condition. This paper provides the simulation for those problems using NS2 and presents the analysis of the reasons. Keywords: hidden nodes ;Wireless network ;RTS-CTS ;masked nodes ;NS2網(wǎng)絡模擬技術(Network Simulat

4、ion是研究網(wǎng)絡性能的一種經(jīng)濟而有效的手段。采用模擬的手段不僅有著成本低、周期小等的特點,還便于研究者利用他人已有的研究成果,使研究者更專注于自己所研究的部分而不必為系統(tǒng)的其它部分消費過多的精力1。使用UC Berkeley 開發(fā)的網(wǎng)絡模擬器NS2(Network Simulator Version 223,可以模擬無線網(wǎng)絡中的站點隱藏(hidden nodes、RTS-CTS 機制(RTS-CTS mechanism、站點屏蔽(masked nodes 或deafnodes等問題1。2.1 站點隱藏無線網(wǎng)絡基站的發(fā)射功率有限,每個站點都有一個信號接收范圍(signal receiving r

5、ange ,以下簡稱接收范圍和載波監(jiān)聽范圍(carrier sensing range ,以下簡稱監(jiān)聽范圍。圖1 站點隱藏原理1倍的接收范圍(Receiving Range 2倍的載波監(jiān)聽范圍 (Carrier-Sensing Range- 2 -假設這兩個范圍是相等的,如上圖1所示,站點0、1、2都有相同的接收范圍和監(jiān)聽范圍(以藍色圓表示。站點1處于站點0和站點2的接收范圍內(nèi),但站點0和站點2是相對隱藏的,這種現(xiàn)象稱為站點隱藏。如果他們同時向站點1發(fā)送數(shù)據(jù)包會造成數(shù)沖突,這就是站點隱藏問題。2.2 IEEE 802.11中的RTS-CTS 機制(Request-to-Send - Clear

6、-to-Send機制。傳統(tǒng)的包傳輸方法中,一個站點在信道空閑的情況下立即傳輸數(shù)據(jù)包,接收站點在收到數(shù)據(jù)包后發(fā)送回復應答信號Ack 。這會導致數(shù)據(jù)包的沖突和丟包現(xiàn)象。RTS-CTS 握手機制的原理如下圖所示:圖2 RTS-CTS 握手機制的原理當站點1欲給站點2傳送數(shù)據(jù)包,首先發(fā)送一個小的控制包即RTS ;站點2收到該RTS 后回復另一個小控制包CTS 。在這個例子中,站點0和站點3無論監(jiān)聽到RTS 或者CTS ,都將它們的網(wǎng)絡分配矢量NAV(Network Allocation Vector設置相應的延遲值,直到當前的數(shù)據(jù)傳輸完成。站點1在收到站點2的CTS 回復后開始傳輸數(shù)據(jù)包。如果收不到R

7、TS 或者數(shù)據(jù)回復,就會進入指數(shù)回退重傳模式(exponential back off mode before retransmitting。2.3 站點屏蔽RTS-CTS 握手機制解決站點隱藏問題是有前提的,這個前提就是假設每個在傳輸范圍內(nèi)站點能夠正確地監(jiān)聽到RTS 或者CTS ,能正確地設置傳輸延遲。這個前提不是總成立的,比如說如果站點在某個時刻同時收到了多個RTS 或CTS 信息,那么它將不能正確地解碼收到這些包,這樣的站點叫做站點屏蔽或聾站點(masked / deaf node。如下圖,站點2同時處于站點1和站點3的范圍內(nèi)。站點0欲給站點1傳數(shù)據(jù)發(fā)RTS 請求,站點1同意回復給站點0

8、 CTS ,站點2也收到了CTS 。如果此時站點3也恰好向站點4發(fā)出了RTS 請求,這個RTS 信號也同樣被站點2收到了,那么站點2就成了被屏蔽的站點。雖然站點屏蔽并沒有導致數(shù)據(jù)包間的沖突,但是卻能引起數(shù)據(jù)包或者確認包(Ack packet和RTS 或CTS 間的沖突。圖3 站點屏蔽原理 這樣的沖突發(fā)生的可能性很高,也會對網(wǎng)絡的吞吐量造成很大影響,下面分別就這兩種沖突做出解釋。被屏蔽站點 RTS 的NA V CTS 的NA V2.3.1 數(shù)據(jù)包沖突如圖3所示,假設所有的站點初始狀態(tài)都是空閑。站點3欲給站點4發(fā)送數(shù)據(jù)包,且在正式傳輸數(shù)據(jù)前他們成功交換了RTS-CTS信號。站點2收到了RTS設置了

9、相應的傳輸延遲值后,站點3開始給站點4傳送數(shù)據(jù)包。然而當站點3正在傳輸數(shù)據(jù)包時,站點0并沒有監(jiān)聽到該傳輸,它向站點1發(fā)送了一個RTS信號,站點1回復一個CTS,站點0正確收到該回復。此時的站點2也收到了站點1給站點0的回復CTS,由于它還處于延遲狀態(tài)所以不能正確解碼該CTS,也就不能正確設置NAV變量,它是個站點屏蔽。站點0正確地收到了CTS,它給站點1發(fā)送數(shù)據(jù)包。當站點3和4之間的數(shù)據(jù)傳送結束后,站點2就解除延遲狀態(tài),它沒有意識到站點0還在向站點1發(fā)數(shù)據(jù)包,而直接向任意相鄰站點發(fā)送RTS。顯然這恰好破壞了站點1將要從站點0收到的數(shù)據(jù)。另一種可能是:站點3完成向站點4的數(shù)據(jù)傳輸,它向站點2發(fā)送

10、了RTS,站點2回復CTS,同樣的這個CTS信號也會到達站點1,破壞從站點0傳向1的數(shù)據(jù)包。2.3.2 確認包沖突站點屏蔽所帶來的另一種重要的包沖突是確認包(Ack packet和RTS 之間的沖突。和上個例子基本類似,站點3開始向站點4傳輸數(shù)據(jù)了。這時站點1并沒有意識到它們之間的傳輸,它向站點0發(fā)送RTS,站點0回復CTS。站點1正確收到回復,開始向站點0發(fā)數(shù)據(jù)包。本來這時候站點2也應該收到剛才站點1發(fā)出的RTS并根據(jù)該RTS設定相應的NAV變量的,但是它正處延遲狀態(tài)所以不能正確解碼RTS不能設置新的NAV變量。所以當站點3給4傳完數(shù)據(jù),站點2解除延遲狀態(tài),它可能會向鄰居站點(包括站點1發(fā)送

11、RTS。與此同時站點1給站點0的數(shù)據(jù)也傳送結束,站點0給站點1回復確認包,此時站點1會同時收到RTS和ACK包,形成包沖突。站點隱藏、站點屏蔽對無線網(wǎng)絡中的影響在NS模擬中已經(jīng)考慮進去了,可以通過改變模擬器的默認參數(shù),使它們更接近于現(xiàn)實結果。3.1 站點隱藏需要注意的是,NS模擬器在默認參數(shù)下是觀察不到站點隱藏現(xiàn)象的,因為在NS中站點的默認監(jiān)聽范圍被設定為載波接收范圍的2倍多。如圖1,站點0給站點1傳送數(shù)據(jù)包,盡管站點2不在站點0的接收范圍但卻在它的載波監(jiān)聽范圍,所以它仍然能監(jiān)聽到站點0和1之間的數(shù)據(jù)包交換,因此站點2不會向站點1發(fā)包。NS中有兩個參數(shù)是描述無線站點的接收范圍和載波監(jiān)聽范圍的,

12、分別是Receiving Threshold (RXThresh_和Carrier Sensing Threshold (CSThresh_,在文件“./ns-allinone-2.27/ns-2.27/tcl/lib/ns-default.tcl”中描述如下:Phy/WirelessPhy set bandwidth_ 2e6Phy/WirelessPhy set freq_ 914e+6可以算出分貝表示的功率表示CSThresh_ = -78 dBm,RXThresh_ = -64 dBm,- 3 -10*log(1.559e-11*1000= -78dBm,同樣可以計算出RXThresh

13、_。根據(jù)地面反射(雙線無線電波傳播模型(Two-Ray Ground Reflection Radio Propagation Mode中的公式(1 (./ns-allinone-2.27/ns-2.27/indep-utils/propagation/threshold.cc: -(1一個天線發(fā)射載波監(jiān)聽信號CSThresh_ = -78 dBm(Pt,另一個天線使用默認功率24.5 dBm(Pr接收,可計算出載波監(jiān)聽信號傳輸范圍d=1.5/10(-78-24.5/10(1/4548m,同樣可以計算出站點的信號接收范圍約為245m?;旧陷d波監(jiān)聽范圍信號接收范圍的2倍多。通過NS中“/ns-

14、allinone-2.27/ns-2.27/indep-utils/propagation”下的threshold函數(shù)來驗證:輸入550米的載波監(jiān)聽范圍,可以得到“RXThresh_ is: 1.55924e-11”,這時候的RXThresh_就是NS默認的CSThresh_值,同樣可以驗證NS默認的RXThresh_值。要在NS模擬器下看到站點隱藏問題,我們需要修改默認參數(shù),使CSThresh_和RXThresh_相等。根據(jù)實際的經(jīng)驗,可以將它們都設置為比較接近現(xiàn)實的數(shù)值CSThresh_= RXThresh_ = -66 dBm,10(-66/10/10002.5e-10,所以將源文件中的

15、CSThresh和RXThresh修改為2.5e-10。另外,NS默認的情況下所有的無線傳輸都使用了RTS-CTS握手機制。我們可以通過修改“./ns-allinone-2.27/ns-2.27/mac/mac-802_11.h”中的MAC_RTSThreshold值,比如說5000,這樣就就相當于在數(shù)據(jù)包小于5000bytes時不發(fā)出RTS 信號,就關閉了RTS-CTS握手機制機制。修改以上兩處后,重新編譯NS。模擬兩個站點0、2同時在1.5秒建立連接,向站點1發(fā)包,數(shù)據(jù)包丟失的trace文件如下:D 1.500000000 _0_ IFQ ARP 3 cbr 1020 0 0 0 800

16、- 0:0 1:0 32 1 0 0 0D 1.500000000 _0_ IFQ ARP 4 cbr 1020 0 0 0 800 - 0:0 1:0 32 1 1 0 0D 1.500000000 _2_ IFQ ARP 6 cbr 1020 0 0 2 800 - 2:0 1:0 32 1 0 0 0D 1.500000000 _2_ IFQ ARP 7 cbr 1020 0 0 2 800 - 2:0 1:0 32 1 1 0 0s 1.500295000 _2_ MAC - 0 ARP 80 0 ffffffff 2 806 - REQUEST 2/2 0/1s 1.50041500

17、0 _0_ MAC - 0 ARP 80 0 ffffffff 0 806 - REQUEST 0/0 0/1D 1.500415667 _1_ MAC COL 0 ARP 80 0 ffffffff 2 806 - REQUEST 2/2 0/1D 1.501055667 _1_ MAC COL 0 ARP 80 0 ffffffff 0 806 - REQUEST 0/0 0/1可以看到在1.5秒0、2站點的數(shù)據(jù)包產(chǎn)生沖突,丟失了。3.2 NS中的RTS-CTS機制我們?nèi)绻麑ⅰ?/ns-allinone-2.27/ns-2.27/mac/mac-802_11.h”中的MAC_RTSThre

18、shold值重新設置為0,就可以觀察到RTS-CTS機制來解決站點隱藏問題了。根據(jù)圖2,我們創(chuàng)建三個站點0、1、2,讓站點0和2同時向站點1發(fā)送數(shù)據(jù),看看RTS-CTS 即只是如何避免沖突的。模擬獲得的trace文件(部分如下:s 1.503830000 _2_ MAC - 4 cbr 1072 13a 1 2 800 - 2:0 1:0 32 1 0 0 0r 1.512406667 _1_ MAC - 4 cbr 1020 13a 1 2 800 - 2:0 1:0 32 1 0 1 0s 1.512416667 _1_ MAC - 0 ACK 38 0 2 0 0r 1.51272133

19、3 _2_ MAC - 0 ACK 38 0 2 0 0s 1.514041333 _0_ MAC - 0 ARP 80 0 ffffffff 0 806 - REQUEST 0/0 0/1r 1.514682000 _1_ MAC - 0 ARP 28 0 ffffffff 0 806 - REQUEST 0/0 0/1s 1.514757000 _1_ MAC - 0 RTS 44 4fe 0 1 0r 1.515109667 _0_ MAC - 0 RTS 44 4fe 0 1 0s 1.515119667 _0_ MAC - 0 CTS 38 3c4 1 0 0r 1.51542433

20、3 _1_ MAC - 0 CTS 38 3c4 1 0 0公式(1中,Pt、Pr表示站點傳輸功率、接收功率,通常用分貝表示;Gt、Gr表示天線傳輸增益、接收增益,默認為1;ht 、hr表示傳輸天線、接收天線的高度,默認為1.5m;d表示接收或者傳輸范圍;L表示系統(tǒng)損失,默認為1- 4 -s 1.515434333 _1_ MAC - 0 ARP 80 13a 0 1 806 - REPLY 1/1 0/0r 1.516075000 _0_ MAC - 0 ARP 28 13a 0 1 806 - REPLY 1/1 0/0s 1.516085000 _0_ MAC - 0 ACK 38 0

21、1 0 0r 1.516389667 _1_ MAC - 0 ACK 38 0 1 0 0s 1.516639000 _0_ MAC - 0 RTS 44 23fe 1 0 0r 1.516991667 _1_ MAC - 0 RTS 44 23fe 1 0 0s 1.517001667 _1_ MAC - 0 CTS 38 22c4 0 0 0r 1.517306333 _0_ MAC - 0 CTS 38 22c4 0 0 0s 1.517316333 _0_ MAC - 3 cbr 1072 13a 1 0 800 - 0:0 1:0 32 1 0 0 0r 1.525893000 _1

22、_ MAC - 3 cbr 1020 13a 1 0 800 - 0:0 1:0 32 1 0 1 0s 1.525903000 _1_ MAC - 0 ACK 38 0 0 0 0r 1.526207667 _0_ MAC - 0 ACK 38 0 0 0 0上面的Trace文件表明,站點0和站點2在1.5秒時同時向站點1發(fā)送數(shù)據(jù)包的,可是由于采用了RTS-CTS機制,避免了數(shù)據(jù)沖突。3.3 站點屏蔽的模擬如圖3,創(chuàng)建5個站點04,開始3向4發(fā)數(shù)據(jù)包,緊接著0向1發(fā)數(shù)據(jù)包,在0、1之間的數(shù)據(jù)未傳完時,2開始向3發(fā)送傳送數(shù)據(jù)的RTS請求,模擬所得trace文件(部分:r 2.101322333

23、 _2_ MAC - 0 CTS 38 22c4 2 0 0s 2.101332333 _2_ MAC - 9 cbr 1072 13a 3 2 800 - 2:0 3:1 32 3 0 0 0r 2.109909000 _3_ MAC - 9 cbr 1020 13a 3 2 800 - 2:0 3:1 32 3 0 1 0s 2.109919000 _3_ MAC - 0 ACK 38 0 2 0 0r 2.110223667 _2_ MAC - 0 ACK 38 0 2 0 0s 2.110333667 _2_ MAC - 0 RTS 44 57e 3 2 0r 2.110686333

24、_3_ MAC - 0 RTS 44 57e 3 2 0s 2.110696333 _3_ MAC - 0 CTS 38 444 2 0 0r 2.111001000 _2_ MAC - 0 CTS 38 444 2 0 0s 2.111011000 _2_ MAC - 10 cbr 96 13a 3 2 800 - 2:0 3:1 32 3 1 0 0r 2.111779667 _3_ MAC - 10 cbr 44 13a 3 2 800 - 2:0 3:1 32 3 1 1 0s 2.111789667 _3_ MAC - 0 ACK 38 0 2 0 0r 2.112094333 _2

25、_ MAC - 0 ACK 38 0 2 0 0s 5.047081667 _3_ MAC - 0 RTS 44 23fe 4 3 0s 5.047241667 _0_ MAC - 0 RTS 44 23fe 1 0 0r 5.047434333 _4_ MAC - 0 RTS 44 23fe 4 3 0s 5.047444333 _4_ MAC - 0 CTS 38 22c4 3 0 0D 5.047594333 _1_ MAC COL 0 RTS 44 23fe 1 0 0r 5.047749000 _3_ MAC - 0 CTS 38 22c4 3 0 0s 5.047759000 _3_ MAC - 11 cbr 1072 13a 4 3 800 - 3:0 4:0 32 4 2 0 0從上面的數(shù)據(jù)我們可以看到,當站點0、1之間的數(shù)據(jù)未傳完時,2已經(jīng)開始向3發(fā)送傳

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論