the first step to become familiar with network simulator
play

THE FIRST STEP TO BECOME FAMILIAR WITH NETWORK SIMULATOR (NS) Neda - PowerPoint PPT Presentation

THE FIRST STEP TO BECOME FAMILIAR WITH NETWORK SIMULATOR (NS) Neda Mohammadizadeh Cooperative sub-group BBCR group Feb 2012 2 References http://nsnam.isi.edu/nsnam/index.php/User_Information http://nile.wpi.edu/NS/


  1. THE FIRST STEP TO BECOME FAMILIAR WITH NETWORK SIMULATOR (NS) Neda Mohammadizadeh Cooperative sub-group BBCR group Feb 2012

  2. 2 References • http://nsnam.isi.edu/nsnam/index.php/User_Information • http://nile.wpi.edu/NS/ • http://www.isi.edu/nsnam/ns/tutorial/index.html • Introduction to NS2(PPT), Prepared by Changyong Jung

  3. 3 Outline • Introduction on Network Simulator • Installation • Architecture of NS-2 • OTcl • Simulation Examples

  4. 4 Introduction • Network Simulator (NS) • Discrete event network simulator • Implements • Transport layer protocols such as TCP ( reno, tahoe, vegas, sack) and UPD • Router queue management mechanism such as Drop Tail, RED • Routing algorithms such as Dijkstra and Ad-hoc Routing (DSDV, DSR, AODV, TORA) • MAC layer protocols (802.11, 802.3, TDMA) • Sensor Network (diffusion, gaf), Satellite protocols, and many others • Traffic source behavior such as FTP, Telnet, Web, CBR and VBR • NS versions: • NS-1, NS-2, NS-3

  5. 5 Introduction • NS-1: • LNBL Simulator tool • Developed by the network research group at the Lawrence Berkeley National Laboratory (1989). • Derived from REAL simulator • Simulation description language: TCL

  6. 6 Introduction • NS-2: • Object oriented (OTcl instead of TCL) • Built in C++ and provides a simulation interface through OTcl • Developed by UC Berkeley • Difficult for the first time user • Few user friendly manuals • Needs scripting language, queuing theory and modeling techniques knowledge • Complaint about inconsistent results • BUGs!!!

  7. 7 Introduction • NS-3: • Maintaining backward compatibility with ns-2? (2005) • YANS (Yet Another Network Simulator) -> NS-3 base • NS-3.1 (2008) , NS-3.11(2011) • Built in C++ and Phyton • Make it simpler • No support for some protocols which were supported in ns-2

  8. 8 Installation • http://nsnam.isi.edu/nsnam/index.php/Downloading_and_install ing_ns-2 • Installing on Unix-based systems • Installing on Windows using Cygwin • Installing on Mac • The following “How to install” slides are brought from Introduction to NS2(PPT), Prepared by Changyong Jung

  9. 9 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 ”

  10. 10 How to Install • Cygwin Installation

  11. 11 How to Install

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

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

  14. 14 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.

  15. 15 How to Install • Select download site

  16. 16 How to Install • Installing

  17. 17 How to Install • Finishing Installing

  18. 18 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 ”

  19. 19 How to Install

  20. 20 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.

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

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

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

  24. 24 How to Install • Installing

  25. 25 How to Install • Installing

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

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

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

  29. 29 How to Install

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

  31. 31 How to Install

  32. 32 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

  33. 33 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

  34. 34 How to Install

  35. 35 NS-2 Architecture • The event scheduler and the basic network component objects in the data path are written and compiled using C++. • To use NS, you program in OTcl script language NS Simulator Library Network Event Network Setup Component Scheduler Modules Objects Objects

  36. 36 Plumbing Network Setup: • Creating possible data paths among network objects. • The power of NS comes from plumbing. Event Scheduling Event is a packet ID that is unique for a packet • scheduled time • the pointer to an object that handles the event. An event scheduler • keeps track of simulation time • fires all the events in the event queue

  37. 37 NS-2 Architecture OTcl and C++ http://nile.wpi.edu/NS/

  38. 38 OTcl Executing a test file: ns ex-tcl.tcl Results:

  39. 39 Event Scheduler 1. Real-time scheduler 2. Non-real-time scheduler • List • Heap • Calendar . . . set ns [new Simulator] $ns use-scheduler Heap $ns at 300.5 "complete_sim" . . . http://nile.wpi.edu/NS/ proc complete_sim {} { . . . }

  40. 40 Network Component Node: Link: • Unicast or • Tracing Multicast • Queue monitor • Routing Protocol Unicast - $ns rtproto type create-trace {type file src dst} - type: Static, Session, DV, cost, multi-path Multicast - $ns multicast (right after set $ns [new Scheduler]) - $ns mrtproto type - type: CtrMcast, DM, ST, BST

  41. 41 Partial OTcl class hierarchy http://nile.wpi.edu/NS/

  42. 42 Other important tasks Post simulation: Trace analysis Queue Monitor Troubleshooting: Installation problems Simulation Problems

  43. 43 NS Results NS Text-based NAM Simulation results Network Animator (NAM) • A graphical simulation display tool • Developed as a part of VINT project • Has a nice graphical user interface • Can graphically present information

  44. 44 Simulation Example http://nile.wpi.edu/NS/

  45. 45

  46. 46 Where to find… /ns-2/tcl/lib ns-lib.tcl: The simulator class and most of its member function definitions ns-default.tcl: The default values for configurable parameters ns-packet.tcl: The packet header format initialization implementation other OTcl files: implementation of compound network objects or the front end (control part) of network objects

  47. 47 Summary Network Simulator (NS): is an object-oriented discrete-event network simulator. Implements different network protocols. is written in C++ and OTcl. (NS-2) It was the first step to be familiar with NS. Keep going…

  48. 48 Thank You

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend