網頁 貼吧 文章 作者 工作  
網頁搜尋
 
 愛PO吧 >> 以馬內利翡翠 >> 瀏覽文章
回覆 加入我的最愛 與好友分享

NO Ad-Hoc Routing Agent (NOAH)

本被文章 0 次, 共有回覆 1  
0
 
0
偷拍 川奈舞 自拍[hr]
相信有許多人的專題方向大多是在做Routing的部份
有時候需要建置的網路環境,並不是像ad-hoc routing需要時常變動路徑的
例如像我們的專題:一個wireless sensor network的環境, 由數個nodes給特定幾個clusterhead, 再收集給base station
像這樣一個hierarchical的網路環境, 他的路徑其實已經大抵決定了, 不會做任何的變動, 這時採用Static Routing得到的數據會比較正當

所以分別測試使用AODV和NOAH, 比較他們的節點存活數:

圖1. 這個是採用AODV數據畫出來的 [ 節點存活數-時間]


圖2. 這個是採用NOAH數據畫出來的 [ 節點存活數-時間]




看出哪裡不同了嗎?
雖然兩張圖都是以指數型態下降,但圖1在 1s~2.5s 似乎比圖2來的高一些
於是我們猜想是因為nodes沒有乖乖的照我們的方法做,偷偷的via我們非預期的節點
過濾在NAM觀看下,的確出現了類似的情形


此問題困擾我們一段時間
因為拿掉Routing似乎也不太對
但其實我們不就是因為Dynamic Routing而困擾嗎?
改成Static Routing不就會乖乖的照著我們要的路徑走了!
在適當的網路環境採用適當的方法

那麼要怎樣來使用NOAH這個模組呢?
http://icapeople.epfl.ch/widmer/uwb/ns-2/noah/
首先,依照網頁上的step-by-step安裝上NOAH

p.s. 有時候在make clean的時候會出現
Makefile比Makefile.in還新的錯誤警告
這個時候將Makefile的內容也如同Makefile.in修改即可

在網頁上是使用NOAH的範例

[pre]# setup static routing for line of nodes

for {set i 0} {$i < $val(nn) } {incr i} {

set cmd "[$node_($i) set ragent_] routing $val(nn)"

法瑞爾 for {set to 0} {$to < $val(nn) } {incr to} {

if {$to < $i} {

set hop [expr $i - 1]

} elseif {$to > $i} {

set hop [expr $i + 1]

} else {

set hop $i

}

set cmd "$cmd $to $hop"

}

eval $cmd

}[/pre]
這個範例是在描述一個Sequential Node的環境
val(nn)則是決定有多少個節點
然後他將會一直hop到n0

如果不想要那麼複雜的寫法呢?
我們將整個for loop拿掉來看
set cmd "[$node_($i) set ragent_] routing $val(nn)"
set cmd "$cmd $to $hop"
決定整個Routing Table的是這兩個指令
分析以後發現後面那串數字是依照 to hop to hop 方式建立Rouing table的
講的還不夠清楚,我舉幾個範例:

set cmd "[$n(0) set ragent_] routing $val(nn) 0 0 1 1 2 2 3 3"
eval $cmd
set cmd "[$n(1) set ragent_] routing $val(nn) 0 2 1 1 2 0 3 0"
eval $cmd
set cmd "[$n(2) set ragent_] routing $val(nn) 0 0 1 1 2 2 3 3"
eval $cmd
set cmd "[$n(3) set ragent_] routing $val(nn) 0 0 1 1 2 2 3 3"
eval $cmd


這個網路環境有4個節點n0~n3
先看第一行
0 0 1 1 2 2 3 3 的意思是
如果n0要到n0就得經過n0
如果n0要到n1就得經過n1
如果n0要到n2就得經過n2
如果n0要到n3就得經過n3
也就是都直接跟目的地節點傳送

第三行
0 2 1 1 2 0 3 0 的意思是
如果n1要到n0要經過n2
如果n1要到n1要經過n1
如果n1要到n2要經過n0
如果n1要到n3要經過n0

以此類推

知道他的指令用法以後就非常容易使用了
如果網路環境不是很複雜使用這種方式的確很方便
但如果節點數一多,可能要多思考一下怎樣的寫法比較容易coding

以上僅供大家參考,若有問題希望能不吝賜教

逛上一篇:   逛下一篇:

作者: evwgvxec
  (2011-11-10 05:20)
推薦文章: 將本文章推薦到【百度收藏】 將本文章推薦到【YouPush】 將本文章推薦到【udn共享書籤】 將本文章推薦到【Fiigo】書籤

 本文章共有回覆 1 篇,分 1 頁
 聲明:以上內容不代表本站立場,且內容由網友發表提供,若有爭議或違法由發表者承擔,本站將不負責連帶責任,謝謝。

 IPoBar  愛PK  愛遊戲  愛online
新手教學 客服中心 站務公告 交換連結 合作提案 關於我們
 
版權所有©ipobar Ltd., All Rights Reserved.
論壇內會員言論僅代表個人觀點,不代表本站同意其說法,本討論區不承擔由該言論所引起的法律責任