2008年5月22日 星期四

準備工具

應用程式named "MmApp"(修改CBR程式得來) 衍生自"Application"類別
"MmApp" generate packet , transform by "UdpMmAgent","UdpMmAgent"衍生自"UdpAgent"類別

封包是用"hdr_mm"結構來描述。

程式路徑:
packet.h c:\cygwin\home\STD416\ns-allinone-2.29\common
ns-packet.tcl c:\cygwin\home\STD416\ns-allinone-2.29\tcl\lib
agent.h c:\cygwin\home\STD416\ns-allinone-2.29\common
app.h c:\cygwin\home\STD416\ns-allinone-2.29\apps
ns-default.tcl c:\cygwin\home\STD416\ns-allinone-2.29\tcl\lib

timer-handler c:\cygwin\home\STD416\ns-allinone-2.29\common

2008年5月21日 星期三

無線隨意網路路由協定

無線隨意網路中, 路由協定可分兩類:
  • proactive routing protocol:

Wireless Routing Protocol , Destination-Sequenced Distance-Vector protocol

  • reactive routing protocol :

Dynamic Source Routing , Ad hoc On-Demand Distance Vector Routing

比較 DSDV vs. AODV vs. DSR

DSDV

DSDV中美一個無線節點必須儲存並持續更新一個路由表,路由表內記錄著"目的地位置(destination)"、"下一個節點(next hop)"、"路徑節點數(hop count)"、"循序號碼(sequence number)"與 "第一次相連時間(install)"

路徑表的更新擁有time-driven & event-driven ,可以定期向周圍傳送路由表資訊,也可能因為網路拓樸劇變而向周圍傳送...

AODV

當無線節點要傳送封包出去時,先查找自己的路徑表,若無目的地節點的資訊,則廣播Route Requests(RREQs)封包尋找路徑。
每個RREQs都配有一個ID當無線節點收到RREQs時,先看ID之前有沒有收過,有的話就丟棄,以免RREQs充斥在網路上,再檢查自己是不是封包裡的目的地位置,不是,則看此中繼點(intermediate node)是否有可用的路徑可以到達目的地節點,沒有,則根據封包內資訊修改路徑表後再廣播出去。

每一個收到RREQs的無線節點都會cache住如何返回當時發出Route Reply要求來源端的路徑,因此當中繼點收到RREQ時,可以利用單點廣播方法送出RREP從目的地端到來源端,途中的無線節點根據RREP的位置序號更改路徑表,最後來源端的路徑表就含有到目的地節點的entry,接下來開始資料的傳送。

DSR

利用source routing觀念,即Tx知道Rx完整的跳躍路徑(hop-by-hop route)。
每個節點都有路徑暫存器,而路徑資訊直接記錄在每個封包的header中。

路徑發現程序(route discovery)與AODV類似,欲傳送封包時,先看自己的路徑表,若找不到到達目的地端的route entry,則作廣播動作發送RREQs,而收到RREQ的節點會回覆RREP給原本的來源端或中繼點,藉此產生路徑。不同的是,路徑記錄每經過一個跳耀,就會將跳躍ID季在RREQ的路徑記錄中,這樣,路徑記錄到目的地時就會有該路徑所有節點的資訊,目的端會在中多的REQUEST中挑選最佳路徑,根據路徑記錄傳送一個Route Reply回到來源端,來源端再將紀錄再route reply裡的路徑記錄儲存在路由表中。


2008年5月8日 星期四

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

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

背景知識
行動式手提設備(手機、PDA、筆電),都屬於可移動的無線裝置,而無線傳輸方式可分成兩大類



  1. Infrastructure:透過基地台,由中央控制的傳輸模式

  2. Wireless Ad Hoc Network:特色是所有節點以對等方式進行無線網路存取,不需透過無線基地台 (wiki. Sony PSP 網路對戰就是這樣一個應用,還沒玩過,殘念~~)

無線隨意網路路由協定 :


  • Proactive routing protocol (table-driven protocol)

每個無線節點固定一段時間就會發送路徑訊息,各個無線節點依據收集近來的資料更新自己的路徑表,網路拓樸更動時,所有節點都會收到最新的路徑資訊,這種持續的更新會讓所有節點隨時有完整的路徑。


優點:Proactive routing protocol 讓每個送出的封包立刻得知到達目的地的路徑,沒有任何延遲 缺點:這種協定因為週期性的廣播訊息,浪費大量頻寬與無線網路節點的電源


現存的協定有:

Wireless Routing Protocol Destination-Sequenced Distance-Vector protocol

  • Reactive routing protocol (demand-driven routing protocol)

當一個節點要傳送資料給另一個節點時,來源節點會呼叫一個路徑發現程序(route-discovery process)並將此保存在暫存器中,直到過期或路徑無效

優點:只有在有需要時才主動發現路徑,不需要保存對整個網路環境的路由資訊,所以頻寬使用量較小。
缺點:路徑發現程序會造成延遲,平均延遲時間較長,所以尋找路徑時間較長。

DSDV vs. AODV vs. DSR

評估參數(Performance Metrics)

下面列出在此類效能分析實驗中最常用到的幾個評估參數 1.封包送達比例(Packet delivery fraction):CBR 來源端傳送封包數/到達目的地端封包數 2.封包平均點到點延遲時間 (Average end-to-end delay of data packets):所有延遲時間的總和,包括 發現路徑的緩衝時間、MAC層的重傳時間、傳遞時間 等。 3.第一個封包收到的時間 : 用來評估路由表收斂時間,若越早收到則表是收斂速度越快,這樣才能越早把封包從Tx送到Rx 實驗步驟 intruduce tools : cbrgen & setdest cbrgen (~/ns-allinone-2.29/ns-2.29/indep-utils/cmu-scen-gen/cbrgen.tcl): generate TCP flow or CBR flow 用法 ns cbrgen [-type cbrtcp] [-nn node] [-seed seed] [-mc connections] [-rate rate] 舉例: p1