Presentation is loading. Please wait.

Presentation is loading. Please wait.

NS2 - Overview Ming-Feng Yang. 2 2 Outline Introduction OTcl Trace File NAM Xgraph.

Similar presentations


Presentation on theme: "NS2 - Overview Ming-Feng Yang. 2 2 Outline Introduction OTcl Trace File NAM Xgraph."— Presentation transcript:

1 NS2 - Overview Ming-Feng Yang

2 2 2 Outline Introduction OTcl Trace File NAM Xgraph

3 3 3 Introduction Why Simulator?  省錢 - 減少測試設備的購置成本  省時 - 加速演算法(協定)的修改調整  可依需求設定在任何的網路環境下來進行模擬

4 4 4 Introduction NS2 vs. OPNET NS2OPNET 作業系統 UNIX/Windows open source 是否 使用介面圖形 / 文字圖形 使用對象主要在研究及學術界商業性質較高 費用需求否是

5 5 5 Introduction Why NS2?  免費  open source - 新增、修改協定容易  研究標準 - 具公信力

6 6 6 Introduction NS2 源由  全名 - Network Simulator version 2  改版自 REAL network simulator (1989)  由 VINT project ( UCB )所開發  目前由 SAMAN 和 CONSER 負責維護

7 7 7 Introduction NS2 特性  離散事件模擬( discrete-event ) 由事件所驅動,紀錄不同時間不同事件之狀態  物件導向架構( object-oriented ) 可重用性( Reusability ) 可維護性( Maintainability ) :

8 8 8 Introduction NS2 架構 OTcl TclCL Network Components Tcl Event Scheduler C/C++ UI Tcl: Tool Command Language OTcl: Object-Oriented Tcl TclCL: C++ and OTcl linkage Event Scheduler: event-driven Network Components: Agent: TCP 、 UDP… Traffic Generator: FTP 、 CBR… UI: User Interface

9 9 9 Introduction C++  處理封包傳送  修改或新增 agents 、 protocols…  不常更動, 執行速度快 OTcl  處理網路情境( scenario )模擬  運作已編譯過的 C++ 物件  常會更動, 執行速度較慢( interpreter )

10 10 Introduction OTcl and C++ : The Duality C++ OTcl Pure C++ objects Pure OTcl objects C++/OTcl split objects ns OTcl to call C ++ : command(), tcl.result() C++ to call OTcl: tcl.eval()

11 11 Introduction TCP/IP 、 NS2 和 OSI 7-Layer 的大致對應關係

12 12 Introduction NS2 模擬流程 修改或新增協定( C++ ) 建立網路情境( OTcl ) 執行模擬( NS2 ) 模擬結果( Trace File ) 結果分析( Nam, Xgraph … )

13 13 OTcl variables 設定 set x 100 # 設定 x 變數, x 值為 100 (注意這 100 是字串) set y 200 # 設定 y 變數, y 值為 200 set z [expr $x+$y] # 透過 expr 將 $x $y 當成數字作數學運算, 並設定 z 變數為 300 set a [set b 100] # 設定 a = b = 100 set array_(1) 21 # 設定一個陣列叫 array_, 並把 array_(1) 的值設為 21

14 14 OTcl if 的範例 if { $k>4 } { puts " k > 4 " } else { puts " k < = 4 " } # 如果變數 k 大於 4, 則顯示出 "k > 4", 反之則顯示 "k < =4

15 15 OTcl while 的範例 set b 0 set i 100 while {$i > = 0} { set b [expr $b+$i] incr i -1 } # 如在 i 大於等於 0 的情況下, 則將 b 的值和 i 相加並再回傳給 b, 然後 i 再減 1

16 16 OTcl for 的範例 for {set i 100} {$i > =0} {incr i -1} { # for 迴圈內所要執行的程式碼 } procedure 的範例 proc show {} { # 副程式內容 } # 定義一個叫做 show 的副程式

17 17 Trace File

18 18 Trace File Trace File 中各欄位的定義  1 :代表事件的類別 r :代表目的端收到 packet + :代表 packet 放入 queue 中 - :代表 packet 從 queue 中取出 d :代表 queue 已經滿了,這個 packet 被 drop 掉  2 :代表事件發生的時間  3 :代表 packet 的 source node  4 :代表 packet 的 destination node  5 :代表 packet 的類別

19 19 Trace File Trace File 中各欄位的定義( Cont. )  6 :代表 packet 的大小 (encoded in IP header)  7 :代表 packet 的 flags  8 :代表 connection(flow) 的 id  9 :代表 source address ( node.port )  10 :代表 destinations address ( node.port )  11 :代表 packet 的 sequence number ( network layer protocol's )  12 :代表 packet 的 id ( unique )

20 20 NAM Nam 是一個能將 NS2 模擬結果視覺化顯示出來的 工具,它能顯示封包的流向和 Drop 等資訊 執行方式  nam

21 21 NAM NAM 中有關 Node 的選項: color, shape, label, label color $node color red # 設定 node 顏色 $node shape square ( circle, square, and hexagon ) # 設定 node 形狀(預設圓形) $node label "Text" # 設定 node 的標籤 $node label-color blue # 設定 node 標籤的顏色

22 22 NAM NAM 中有關 Link 的選項: color, label, label color $ns duplex-link-op $n1 $n2 color green # 設定 Link 顏色 $ns duplex-link-op $n1 $n2 label "Text" # 設定 Link 的標籤 $ns duplex-link-op $n1 $n2 label-color blue # 設定 Link 標籤的顏色

23 23 Xgraph Xgraph 可根據包含 x 軸和 y 軸資訊的檔案,畫出曲 線圖 執行方式  xgraph


Download ppt "NS2 - Overview Ming-Feng Yang. 2 2 Outline Introduction OTcl Trace File NAM Xgraph."

Similar presentations


Ads by Google