2008年5月7日 星期三

實驗十、無線網路效能分析探討(二)AdHoc網路路由協定效能分析探討

◎實驗目的:
1.瞭解如何在NS2中建立無線隨意網路(Wireless Ad Hoc network)。
2.學習分析無線隨意網路路由協定(Ad Hoc routing protocols)的效能。

◎實驗背景:
在無線隨意網路中,如何決定最有效,最迅速的傳送路徑,是一個很重要的課題,這個實驗是要探討各種不同的路由協定,然後做比較,要拿來做比較的是:DSDV,AODV,DSR。

●介紹兩個小工具:cbrgen, setdest
cbrgen:能產生TCP flow或CBR flow,程式所在目錄是ns-allinone-2.29\ns-2.29\indep-utils\cmu-scen-gen裡面的cbrgen.tcl,用法如下:
ns cbrgen.tcl [-type cbrtcp] [-nn nodes] [-seed seed] [-mc connections] [-rate rate]
-type:指定產生的資料流是tcp flow 或 cbr flow。
-nn:指定有多少個節點。
-seed:指定random number generator中的種子。
-mc:指定最大連接數。
-rate:每秒送出去多少個封包,如果是使用CBR,則封包固定為512bytes。

setdest:可以用來隨機產生無線網路模擬所需要的節點移動場景。這個程式放在ns-allinone-2.29\ns-2.29\indep-utils\cmu-scen-gen\setdest/目錄下,使用前必須先make產生執行檔,其用法如下
-n:指定場景中有多少個節點。

-p:指定當某節點到達目的地後要停留多少時間,如果設為0.0就表示不停流馬上往下一個目的地前進。

-M:指定節點隨機移動時速度的最大值,單位是m/sec,其速度將在[0, max speed中]隨機選擇。

-t:指定模擬場景的持續時間,單位是秒。
-x:指定移動區域的長度,x軸方向,單位是公尺。

-y:指定移動區域的長度,y軸方向,單位是公尺。

◎實驗:

●範例一:

此實驗有100個無線節點組成,模擬時間為100秒,pause time設為100秒,在模擬這段時間沒有mobility,另外設定使用CBR flow,最大連線數目為10條,每一條送出十個封包。

○使用cbrgen產生traffic pattern。


要特別注意的地方是rate的值一定要寫10.0,不可以只寫10,不然會有錯誤!
這個指令會有一個輸出結果被存放到cbr_n100_m10_r10中。其內容是產生TCP或CBR的TCL。

○使用setdest產生無線網路移動場景。


○執行模擬以及用效能評估程式觀看結果

DSDV:


AODV:


DSR:


從實驗結果可以看出,使用DSDV可以比較收到第一個封包,這是因為DSDV是table-driven protocol,資料傳送前,已經知道路徑,所以不需要再去尋找新的路徑,因此會收到較早收到第一個封包。

●範例二:

這個實驗是100個無線節點所組成,模擬時間為100秒,pause time設為0秒,也就是在模擬這段時間節點隨時都在移動中,另外設定使用CBR flow,最大連線數目為十條,每一條每秒送出十個封包。

○使用setdest.exe產生無線網路移動場景。

○執行模擬以及用效能評估程式觀看結果

DSDV:

AODV: DSR:

這裡有點奇怪,因為由書本上告訴我這個實驗的結果應該會看到使用AODV或DSR的可以使的第一個封包接收的時間較早,但是我模擬之後的分析結果卻不是這樣書本上的DSDV的第一個接收時間是12.225 s,但我的卻是2.561 s。照理說應該會比較慢才對,因為實驗的場景是在節點隨時都在移動的場景,DSDV必須花時間更新路由表,所以應該會較慢。

沒有留言: