實驗六nsBench
實驗目的
學習如何使用nsBench來自動產生模擬TCL程式碼,以進行有線網路模擬。
背景知識
nsBench是採用拖放(drag-and-drop)使用者介面來幫助使用者快速並簡單的產生所需模擬的TCL檔案。目前可以支援的功能為
(1)node、simplex/duplex link、LAN
(2)Agents: TCP, UDP, TCPSink, TCP/Fack, TCP/FullTcp, TCP/Newreno, TCP/Reno, TCP/Sack1, TCPSink, TCPSink/Sack1, TCPSink/DelAck, TCPSink/Sack1/DelAck, TCP/Vegas, Null Agent
(3)Applications/Traffic: FTP, Telent, Http/Server, Http/Client, Http/Cache, webtraf, Traffic/CBR, Traffic/Pareto, Traffic/Exponential
(4)Services: Multicast, Packet Scheduling, RED, DiffServ
(5)Creating "Groups" concept to compensate for "loops"
(6)Scenario generator
(7)Link Monitors
(8)Loss Models
(9)Routing Protocols
這邊要請讀者留意的,nsBench主要是用來產生有線網路的模擬TCL碼,並無支援無線網路。
準備工具
由於nsBench是由Java所開發的,因此在實行nsBench之前必需先安裝JVM,此軟體可到Sun的網站下載,而筆者所使用的是jre-1_5_0_03-windows-i586-p.exe。
安裝完後,接著就是下載nsBench,下載網址是https://www.wendangku.net/doc/ba16842540.html,/projects/nsbench/download/nsBench-1.0b3.jar。
實驗步驟
[執行方法]
1.打開cygwin的視窗
2.切換到nsBench檔案的資料夾(假設nsBench-1.0b
3.jar是放在
ns-allinone-2.29/ns-2.29/book/lab6的目錄下)
3.執行nsBench
4.產生如下的視窗
[範例一]設計出如同計算機網路實驗--以NS2模擬工具實作這本書中的第三章模擬網路環境
1.建立節點
2.請建立四個節點,建立後如下圖所示。
3.按住節點,並拖曳到適當的位置,如下圖所示。
4.建立連線。以n0到n2為例,先把滑鼠移至到n0上,等到游標變成”+”後
按住左鍵,並拖曳到n2上。
5.設定n0到n2的Link相關參數。在n0到ns2的link上快速的連續按兩次,則
可出現如下圖所示。(讀者則可以根據需要在此視窗中做設定)
6.以n2到n3的link為例,需要把Bandwidth改為1.7Mbps。
7.所有link都設定完,則如下圖所示。
8.接著,我們要建立FTP連線,但在建立FTP應用程式之前,必須先建立TCP
agent。由於FTP是要建立在n0之上,因此請先點選n0一下,然後再選Insert->Transport->TCP Tahoe。
所產生的tcp0位置可能會與下圖不一樣,讀者可以自行按住tcp0並拖曳到想要的位置。
9.先點選n3,然後再選Insert->Transport->TCP Sink。
10.先點選tcp0,然後再選Insert->Traffic->FTP,以產生一個FTP的應用程式。
11.在tcp0和sink0之間建立連線。先把滑鼠移至tcp0上,等到游標變成”+”後
按住左鍵,並拖曳到sink0上。
12.使用相同的方法,在n1上建立UDP agent,在n3上建立Null,並建立CBR
應用程式。
13.快速的按cbr0兩次,設定CBR參數。
14.當網路的拓樸和其相關的參數設定完後,接著就要設定應用程式的開始和結
束時間與模擬需要執行多久。
點選Configuration->Scenario
(按Add Row,並把相關的資料填入。Time是需要自己手動輸入,Application和Action可以使用點選的方式)
15.設定模擬過程記錄檔名稱。
16.儲存project檔。
17.產生TCL檔。
18.觀看TCL程式。
(會使用wordpad開啟sim.tcl檔案,內容如下所示) (book/lab6/sim.tcl)
19.執行模擬。(請到cygwin下執行模擬,不要使用Script->Run)
[範例二] Multicast的例子
1.請先產生如下圖的網路拓樸。
2.要模擬multicast,首先必須先把multicast的功能打開,選擇
Configuration->Routing
選擇想使用的multicast路由協定。
3.點選udp0設定其傳送資料的目的位址為multicast的位置。