2008年5月6日 星期二

實驗九、無線網路效能分析探討(一)隱藏節點和暴露節點問題

◎實驗目的:
1.瞭解什麼是隱藏節點和暴露節點問題。
2.瞭解RTS/CTS是如何降低隱藏節點問題發生的機會,以提升系統效能。
3.瞭解NS2中無線傳輸模型和門檻的觀念。

◎實驗步驟:
隱藏節點問題和暴露節點問題都跟有效傳輸距離有關係,所以如何計算出有效的傳輸距離和相對應的參數就變得很重要,在NS2中有提供一個小工具讓使用者輸入想要使用的傳輸模型和有效的傳輸距離後,就會把相對應的參數數值顯示出來。

首先,書本上告訴我第一次使用要先編譯程式(程式在indep-utils/propagation目錄下)

下圖是使用說明


接下來做一個範例

以Two Ray Ground,希望有效傳輸距離為250公尺為例

從這個結果得知若要設定有效傳輸距離為250公尺時,需要在模擬的TCL中設定傳輸功率為0.281838,傳輸頻率為9.14e+08,傳送天線增益為1,接收天線增益為1,傳送高度為1.5,接收天線告度為1.5,RxThresh_須設定為3.6526e-10。

用公式驗證RxThresh_的值:

(0.281838×(1.5^2)×(1.5^2))/(250^4)=3.652e-10

接下來用TC模擬程式驗證

首先確定lab9目錄下的test_2nodes.tcl裡面所設的參數是否設成上述我們得到的參數數值

然後進行模擬

模擬結束後發現產生傳送記錄檔(sd)和接收記錄檔(rd),且rd記錄接收到的封包資訊

接著我更改了TCL裡面的距離設定

原先的傳輸距離是設定為250公尺

我將它改成251公尺

結果發現模擬結束之後產生的rd檔案中是空的

表示只有傳送,但是卻沒收到任何的封包。

●隱藏節點問題:

情境描述:節點A到節點B的距離為100公尺,節點B到節點C的距離也是100公尺,而節點之間的carrier sense距離是150公尺,可以傳送資料的有效距離是120公尺

○先使用threshold.exe求出相對應的參數

設定的有效傳輸距離為120公尺時,需要的相關參數為傳送功率0.281838,傳送頻率9.14e+08,傳送天線增益為1,接收天線增益為1,傳送天線高度1.5,接收天線高度1.5,最後RxThresh_為6.88081e-09。

書本上因為CSThresh_的設定和RXThresh_使用的公式是相同的,所以可以直接把RXThresh_的結果拿來用,這裡CSThresh_是由下圖所示設有效傳輸距離為150所得到的值為2.81838e-09

然後來執行模擬以及看模擬的結果

○先看沒有RTS/CTS時(TCL裡面的要寫Mac/802_ 11 set RTSThreshold_ 3000)

然後跑模擬

跑完之後得到兩個發送端記錄檔(sd1,sd2)和兩個接收端記錄檔(rd1,rd2)

sd1送出1689個封包,rd1收到154個封包,sd2送出1627個封包,rd2收到105個封包。

○接下來換看有RTS/CTS時(TCL裡面的要寫Mac/802_ 11 set RTSThreshold_ 0)

sd1送出1689個封包,rd1收到739個封包,sd2送出1627個封包,rd2收到783個封包。

從這個結果看來使用RTS/CTS可以降低隱藏節點問題。

●暴露節點問題:

情境描述:節點S1和節點S2同時想要分別傳送資料到R1和R2,節點之間的距離都為100公尺,而carrier sense距離為120公尺,可以傳送資料的有效距離為100公尺。

使用threshold.exe求出相對應的參數

因為有效距離120公尺剛剛已經做過,所以就不再做一次了。

接著設定好參數進行模擬

○先模擬沒有RTS/CTS的情況(設定方式同隱藏節點時的做法)

執行完會產生sd1,sd2,rd1,rd2的記錄檔

sd1送出1689個封包,rd1收到926個封包,sd2送出1627個封包,rd2收到796個封包。

○當有RTS/CTS的情況

sd1送出1689個封包,rd1收到829個封包,sd2送出1627個封包,rd2收到783個封包。

這個結果顯示RTS/CTS並不能有效的解決暴露節點問題。

沒有留言: