
An Introduction to NSNS22 Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 1 Outline • Overview • Installation •An ElExample •Incorporate C++ Modules into NS2 • Summary Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 2 Overview: Network Simulation • 3 Simulation Main Steps 1. Design and Implementation • Things to simulate • Assumptions • Performance measure • Code Implementation 2. Simula tio n • Network Configuration Phase • Simulation Phase 3. Result Compilation • Debugging and Tracing •Compppute performance measures Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 3 Overview: NS2 Architecture • NS2 = Network Si mulator 2 • Consists of – C++: Internal mechanism – OTcl: User interface – TclCL: Connecting C++ to OTcl Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 4 Overview: NS2 Invocation •Syntax >> ns [<filename>] [<args>] – No argument: Enter NS2 environment –<filename> = Tcl simulation script; Use OTcl programming lauguage – In the Tcl file, <args> is stores in the internal variable ( $argv ). •Example >> ns myfirst_ ns. tcl 1231 2 3 – To retrieve the second input argument (2), execute ( lindex $argv 1 ) The index of the element to retrieve, starting from 0 Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 5 Outline • Overview • Installation •An ElExample •Incorporate C++ Modules into NS2 • Summary Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 6 Installation: NS2 1. Go to NS2 web ppgage: –NS2 Webpage: http://www.isi.edu/nsnam/ns/ – Download Link: http://www.isi.edu/nsnam/ns/ns- build.html#allinone1. 2. Ge t all-in-one package – NS2, Tcl/Tk, OTcl, TclCL – NAM, Zlib, Xgraph 3. Unzi p all the files 4. Use the installation package “./install” • Follow the instruction • NS2 is designed for Unix • For windows, install Cygwin Note: We will focus text mode only Not Animation !! Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 7 Installation: Cygwin • Cygwin = Linux emulation for windows 1. Go to Cygwin Webpage: http://www.cygwin.com/ 2. Get the package 3. Install the basic package 4. Install the following additional packages: Note: You may ignore warning about X11 packages Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 8 Installation: Environment • Add NS2 path and the variable path •In file <home>/.bashrc, add the following lines PATH=${PATH}:~/ns-new-2.33/ns-2.33 export PATH LD_LIBRARY_PATH=~/ns-new-2.33/otcl-1.13:~/ns-new-2.33/lib export LD_LIBRARY_PATH TCL_LIBRARY=~/ns-new-2.33/tcl8.4.18 export TCL_LIBRARY • For convenience, cd /usr /loca l/bin ln –s ~/ns-new-2.33/ns-2.33/ns Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 9 Outline • Overview • Installation •An ElExample •Incorporate C++ Modules into NS2 • Summary Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 10 A Network Simulation Example Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 11 TlTcl Simu lat ion Scr ipt • Filename “myfirst_ns .tcl ” • Create a simulator • CtCreate trace objbjtects Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 12 A Network Simulation Example • Define a “finish” proceduer Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 13 A Network Simulation Example • Create nodes Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 14 A Network Simulation Example Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 15 A Network Simulation Example • Connect node with “duplex” links Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 16 A Network Simulation Example Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 17 A Network Simulation Example • Create a flow from n0 to n3 – Create a UDP flow – Attach a CBR source to the UDP flow Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 18 A Network Simulation Example • Create a flow from n1 to n4 – Create a TCP flow – Attac h a FTP source to the TCP flow Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 19 A Network Simulation Example • Schedule Events •Start simulation Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 20 A Network Simulation Example • We are in step two of network simulation Step 1 = ( Design ) Step 3 = ( Result Compilation ) Sub-Step The part of the code 1. (Network Configuration)(the rest of the codes ) 2. (Simulation ) ($ns run ) 3. ( ) ( ) Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 21 A Network Simulation Example • Results? (files out. tr and out. nam ) {({enque(+)d),deque (-)i(),receive(r)d),drop (d)} Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 22 Outline • Overview • Installation •An ElExample •Incorporate C++ Modules into NS2 • Summary Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 23 New MdlModules • NS2 Modules: C++ and OOclTcl ~tclcl • Directories: ~ns See Also: http://www-rp.lip6.fr/ns-doc/ns226-doc/html/hierarchy.htm Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 24 New MdlModules • New C++ or OTcl Modules – Need to recompile and links all NEW modules –Use make utility – Take about 5 seconds to run. • When adding a new OTcl module – We can avoid running make utility, – Define the new module in your simulation sitscript Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 25 MkMake UiliUtility •“make” contains a set of things that will be done when “make” is executed from the command prompt. • Make usage >> make [-f <filename>] – Executed what specified in <filename> – <filename> is called a “file descriptor” –No file is given use file “Makefile” •File descriptor – Syntax <target1> [<target2> …] : [<dep1> <dep2> …] <command> –Targets are remade if any of the deppyendency is changed – The change is specified in the command. Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 26 MkMake UiliUtility • Example cc -o channel main. o, fade.o, model.o Execute ( ) if (()g ) is changed main.o, fade.o, and/or model.o Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 27 MkMake UiliUtility •Example: Use variables OBJS and COM Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 28 MkfilMakefile for NS2 • Located in ~ns • Key components: – INCLUDES = : Direc tory – OBJ_CC = : All NS2 object files – NS_TCL_LIB = : All NS2 OTcl fi les • Put your files in these three components Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 29 Makefile for NS2: Example Use *.o Use “\” to separate lines Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 30 Outline • Overview • Installation •An ElExample •Incorporate C++ Modules into NS2 • Summary Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 31 Summary • NS2 consists of –OTcl ( user interface ) and – C++ ( internal mechanism ) • Installation: NS2 + Cygwin • An Example • Make utility – INCLUDE: Directory – OBJ_CC: C++ Modules – NS_TCL_LIB: OTcl Modules Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 32.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages32 Page
-
File Size-