第四章 模擬實驗與討論
4.2 Regressive recovery 的模擬結果與討論
表2是呈現 Dijsktra’s algorithm 在不同節點數及 path loss E 執行10000張圖 的結果,Source node 是最接近(10, 10)的節點,Destination node 也是最接近 (30, 30)的節點,Connected 表示 SD
路徑存在的次數,Avg. hops 則是封包經過總節點數的平均值。 表 2 Dijstra’s algorithm 模擬10000張圖的數據。Connected 表示 SD
路徑存在的次數,Avg. hops 表示封包經過總節點數的平均值
以下展示 RR 在有或無 collision 和兩種不同 path loss exponential 下,會以 節點數量(N )、path loss exponential(FDB)和封包記憶的歷史中繼點 list m 大 小來討論實驗結果。
Packet Arrival Ratio 和 list m 的關係
圖 4-1、4-2在相同節點數量N 情形下,我們觀察到當儲存走過節點 list
m
越大,表示可以追蹤越多之前走過的節點來確定封包的繞徑路線是否正 確,所以 Packet Arrival Ratio 會越高,呈現正相關曲線。再進一步加上 FDB 角度來看,FDB = 3的 Packet Arrival Ratio 皆會比 FDB = 4的 Packet Arrival Ratio 低,是因為 FDB = 4的拓譜圖有較高的連結性,可以讓節點連接更多 的周圍節點,選擇更好的節點當中繼點,所以 Packet Arrival Ratio 也會越 高。TCTS,因此可以知道,節點決定一次中繼點的平均成本Tdecsion會介在TRTS + 2TCTS和TRTS + 3TCTS之間,因此封包重傳一次需要的平均時間成本是Tdecsion
+ Tmax。
每張拓譜圖平均 CTS 封包碰撞次數和 list m 的關係
圖 4-4展示在Tmax = 100、Tc = 1的情形下,我們發現隨著 list m 增加,平
均 CTS 封包碰撞次數也會遞增,在N = 4800, FDB = 4,因為節點數多及節點
高連結的環境下,封包在 Greedy mode 發送 RTS 封包後,可以比N = 3600, 4200有更高的機率讓比較遠的節點成為下一個中繼點,減少資料封包所傳 的節點數,進而降低 CTS 封包碰撞次數,再來鄰居點傳送 CTS 封包時,也 同樣可能讓較多附近節點聽到,減少 CTS 封包碰撞的可能性;反之在N = 3600, FDB = 3,因為節點數少及節點低連結的環境下,比其他容易發生節 點傳回 CTS 封包時,周圍節點無法聽到其他已經有傳了 CTS 封包,所以也 跟著傳 CTS 封包,讓 CTS 封包碰撞次數增加。
圖 4-1 RR with collision 的 Packet Arrival Ratio,m = 2, 4, 8, 16, 32, 64
圖 4-2 RR with non-collision 的 Packet Arrival Ratio,m = 2, 4, 8, 16, 32, 64
圖 4-3 RR with collision 廣播 RTS 封包一次平均收到 CTS 封包的數量,m = 2, 4, 8, 16, 32, 64
圖 4-4 RR with collision 的每張拓譜圖平均 CTS 封包碰撞次數,m = 2, 4, 8, 16, 32, 64
最後探討 RR 執行在有或無碰撞環境下和 path stretch 的關係,隨著節點數
N 越高,表示拓譜圖出現網路無效區域(network void area)的機率會越低,而 FDB 是影響到節點間相連的情況,所以會以拓譜圖的節點數、FDB 和 list m 的層面來看 path stretch 的結果。
path stretch 和 list m 的關係
在圖4-5和圖4-6,先觀察 N = 4800和 N =4200(除了 m = 2的情況),path stretch 皆是隨 list m 越高,path stretch 也越高,N = 4800是模擬實驗中節點 數最多的,所以在每次決定下一個中繼點時,能考慮的周圍節點也會多於 其他兩種(N = 3600, 4200),且又考慮到 list m 可記憶的節點數增加,會增加 封包走到正確節點的機率,因此 path stretch 增加的幅度是最低的,在 FDB = 4會讓節點競爭的鄰居點多於 FDB = 3,減少封包走多餘 hop 的機率,所以 path stretch FDB = 4會小於 FDB = 3。
再來觀察N = 3600和 N =4200, m = 2的地方,跟我們其他的模擬的結果比 較不一樣,在圖中有線段交叉的情況,我們推論這是因為統計的 SD 路徑存 在的次數低所導致的,從圖4-5、圖4-6搭配圖4-1和圖4-2觀察到發生線段交 叉的地方,它們統計出來的 SD 路徑存在的次數皆不到1000次,當 SD 路徑 存在的次數低於一千次的情況下,計算 path stretch 值的變動量範圍很大,容 易影響到 path stretch 的曲線變化,因此我們將發生線段交叉的地方增加實驗 模擬次數。
在圖4-5,線段交叉發生在N = 3600, m = 2, 4, 32和 N = 4200, m = 2共4個 地方,在圖4-6,交叉則發生在N = 3600, m = 2, 4, 16, 64和 N = 4200, m = 2 共5個地方,針對這幾個地方執行20000張圖。
表3及表4分別表示執行 RR with non-collision 20000張圖和 RR with colli-sion 20000張圖所得到的 path stretch 實驗結果,第一行表示節點個數N,第 二行表示 list size m,第三行表示 FDB = 3的 path stretch,第四行表示 FDB
= 4的 path stretch,第五行表示20000張圖的 FDB = 3和 FDB = 4兩者相減的 值,主要用來辨別線段是否交叉,當值大於0,代表沒有發生交叉的情形,
反之則繼續維持交叉的狀態,第六行表示10000張圖的 FDB = 3 path stretch 和 FDB = 4 path stretch 兩者相減的值,值皆小於0,表示有發生線段交叉的
圖 4-5 RR with non-collision 的 path stretch,m = 2, 4, 8, 16, 32, 64
圖 4-6 RR with collision 的 path stretch,m = 2, 4, 8, 16, 32, 64
表 3 RR with non-collision 的 path stretch (20000張圖),第一行表示 node 個數、第 二行m 表示封包 header 的大小、第三四行表示 path stretch、第五行表示第三和 第四行相減的結果,辨別是否有線段交叉,第六行表示在10000張圖裡的 FDB =
3 path stretch 的值和 FDB = 4 path stretch 的值相減的結果
表 4 RR with collision 的 path stretch (20000張圖),第一行表示 node 個數、第二 行m 表示封包 header 的大小、第三,四行表示 path stretch、第五行表示第三和第