1 / 54

Introduction to NS2 -Network Simulator-

Introduction to NS2 -Network Simulator-. -Prepared by Changyong Jung. Contents. Overview How to Install OTCL – The User Language Event Scheduler Packet Simulation Example. Overview. What is NS2? - Event driven network simulator - Developed at UC Berkely

razi
Télécharger la présentation

Introduction to NS2 -Network Simulator-

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to NS2-Network Simulator- -Prepared by Changyong Jung

  2. Contents • Overview • How to Install • OTCL – The User Language • Event Scheduler • Packet • Simulation Example

  3. Overview • What is NS2? - Event driven network simulator - Developed at UC Berkely - Implements network protocols 1) TCP, UPD 2) Traffic source mechanism: FTP, TELNET, Web, CBR and VBR 3) Router Queue management mechanism: Drop Tail, RED, CBQ 4) Routing Algorithm: Dijkstra, and etc… 5) Multicasting, Mac layer protocols for LAN

  4. Overview • Background on the ns Simulator - based on two languages( an object-oriented simulator (C++), and OTcl (object-oriented Tcl) interpreter. - has rich library of network and protocol object - Compiled C++ hierarchy gives efficiency in simulation and faster execution times. - With OTcl script provided by user, a network topology is simulated.

  5. Overview • Ns2 is event simulator where the advance of time depends on the timing of events which are maintained by a scheduler. • Event – an object in C++ hierarchy. unique ID, Scheduled time, pointer to an object • Scheduler – maintains ordered data structure with the events to be executed and fires them one by one, invoking the handler of the event.

  6. How to Install-Window XP- • Go to Website: http://nsnam.isi.edu/nsnam/index.php/Running_Ns_and_Nam_Under_Windows_9x/2000/XP_Using_Cygwin • Read “Requirements and Installation Tips” Carefully. • Download cygwin.exe from http://www.cygwin.com/ • Click the “cygwin.exe”

  7. How to Install • Cygwin Installation

  8. How to Install

  9. How to Install • Select browse for “cygwin” file( I selected as “default”)

  10. How to Install • Local package directory (I recommend c:\cygwin).

  11. How to Install • Select to Install all ( I recommend it) • You can select “install”, “default”, “uninstall”, “install”, and “reinstall” behind the first line “all”. If you select “install”, then all sub items will be automatically selected. Otherwise you may lose some items.

  12. How to Install • Select download site

  13. How to Install • Installing

  14. How to Install • Finishing Installing

  15. How to Install • NS2 Installation • Download ns-allinone-2.29.2.tar.gz from Website and Save it to the c:/cygwin /usr/local • Unpack it: tar xvfz ns-allinone-2.29.2.tar.gz • Click on desktop icon “cygwin”

  16. How to Install

  17. How to Install • Type “cd ..” to go to the upper folder(“cd” must be low case. And there is one space between “d” and “.”) • Type “cd ..” again.

  18. How to Install • “cd usr”, go to folder “usr” • “cd local”, go to folder “local”

  19. How to Install • Find “install.exe”

  20. How to Install • Start to run the installation “./install”

  21. How to Install • Installing

  22. How to Install • Installing

  23. How to Install • Configure system variables and library paths • After finishing installing, following window appears

  24. How to Install • Configure system variables • Go to “My computer” and click “view system information”

  25. How to Install • Go to “advanced” Tab and Click “Environmental variables”

  26. How to Install

  27. How to Install • Highlight “path” which is “system variable” box and press the “Edit” button.

  28. How to Install

  29. How to Install • Add the following path separated with “;” make sure to not change the existing path. /usr/local/ns-allinone-2.29.2/bin /usr/local/ns-allinone-2.29.2/tcl8.4.11/unix /usr/local/ns-allinone-2.29.2/tk8.4.11/unix

  30. How to Install • Go to cygwin and type the following content Export LD_LIBRARY_PATH=/usr/local/ns-allinone-2.29/otcl-1.11 Export LD_LIBRARY_PATH=/usr/local/ns-allinone-2.29/lib Export TCL_LIBRARY_PATH=/usr/local/ns-allinone-2.29/tcl8.4.11/library

  31. How to Install

  32. OTcl – The User Language • NS2 is basically an OTcl interpreter with network simulation object libraries • Very simple syntax and easy integration with other languages. • Characteristics: - fast development - provide graphic interface - compatible with many platforms - flexible for integration - easy to use - free

  33. OTcl – The User Language • Example

  34. OTcl – The User Language • Proc: define a procedure, followed by an procedure name and arguments • Set: assign a value to a variable • [expr …]: to make the interpreter calculate the value of expression within the bracket • To assign to variable x the value that variable a has, then write “set x $a”. • Put: prints out

  35. OTcl – The User Language

  36. Event Scheduler • Main users of an event scheduler are network components that simulate packet-handling delay or that need time

  37. Event Scheduler • Two different types of event schedulers - real time: for emulation which allow the simulator to interact with a real network - non-real time: three implementations are available (Heap, List, Calendar). The default is set as Calendar

  38. Event Scheduler • Example . . .set ns [new Simulator]$ns use-scheduler Heap. . . . . .set ns [new Simulator]$ns use-scheduler Heap$ns at 300.5 "complete_sim". . .proc complete_sim {} {. . .}

  39. Packet • NS2 packet is composed of a stack of headers and optional dataspace. • Packet format is initialized when a Simulator object is created. So, a network object can access any header in the stack of a packet it processes using corresponding offset value.

  40. Packet

  41. Simple Simulation Implement

  42. Simple Simulation Implement

  43. Simple Simulation Implement • Click on desktop icon “cygwin” • Make sure to put the exe files under C:\cygwin\usr\local • Do the following steps to execute example.

  44. Simple Simulation Implement

  45. Simple Simulation Implement • However you will fail to run the “ns-simple.tcl” with the displayed notice. This is because you did not open “XWin” yet

  46. Simple Simulation Implement • Open “Xwin” from “C:\cygwin\usr\X11R6\bin”. If everything is fine, you will then get the following figures.

  47. Simple Simulation Implement • Yet you may get the following warning messages:

  48. Simple Simulation Implement • That means some components missed. You can then copy these files from “C:\cygwin\bin” to “C:\cygwin\usr\X11R6\bin” • After you open X11, you may still can not run “ns-simple.tcl”

  49. Simple Simulation Implement • The following command can solve this issue export DISPLAY=:0.0

  50. Simple Simulation Implement

More Related