Title: Introduction to NS2 -Network Simulator-
1Introduction to NS2-Network Simulator-
- -Prepared by Changyong Jung
2Contents
- Overview
- How to Install
- OTCL The User Language
- Event Scheduler
- Packet
- Simulation Example
3Overview
- 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
4Overview
- 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.
5Overview
- 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.
6How 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
7How to Install
8How to Install
9How to Install
- Select browse for cygwin file( I selected as
default)
10How to Install
- Local package directory (I recommend c\cygwin).
11How 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.
12How to Install
13How to Install
14How to Install
15How 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
16How to Install
17How 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.
18How to Install
- cd usr, go to folder usr
- cd local, go to folder local
19How to Install
20How to Install
- Start to run the installation ./install
21How to Install
22How to Install
23How to Install
- Configure system variables and library paths
- After finishing installing, following window
appears
24How to Install
- Configure system variables
- Go to My computer and click view system
information
25How to Install
- Go to advanced Tab and Click Environmental
variables
26How to Install
27How to Install
- Highlight path which is system variable box
and press the Edit button.
28How to Install
29How 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
30How to Install
- Go to cygwin and type the following content
- Export LD_LIBRARY_PATH/usr/local/ns-allinone-2.2
9/otcl-1.11 - Export LD_LIBRARY_PATH/usr/local/ns-allinone-2.2
9/lib - Export TCL_LIBRARY_PATH/usr/local/ns-allinone-2.2
9/tcl8.4.11/library
31How to Install
32OTcl 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
33OTcl The User Language
34OTcl 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
35OTcl The User Language
36Event Scheduler
- Main users of an event scheduler are network
components that simulate packet-handling delay or
that need time
37Event 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
38Event Scheduler
- Example
- . . .set ns new Simulatorns use-scheduler
Heap. . . - . . .set ns new Simulatorns use-scheduler
Heapns at 300.5 "complete_sim". . .proc
complete_sim . . .
39Packet
- 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.
40Packet
41Simple Simulation Implement
42Simple Simulation Implement
43Simple 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.
44Simple Simulation Implement
45Simple 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
46Simple Simulation Implement
- Open Xwin from C\cygwin\usr\X11R6\bin. If
everything is fine, you will then get the
following figures.
47Simple Simulation Implement
- Yet you may get the following warning messages
48Simple 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
49Simple Simulation Implement
- The following command can solve this issue
- export DISPLAY0.0
50Simple Simulation Implement
51Simple Simulation Implement
52Simple Simulation Implement
53Simple Simulation Implement
54