An Introduction to NS An Introduction to NS2 An Introduction to NS An Introduction to NS2 An Introduction to NS An Introduction to NS2 An Introduction to NS An Introduction to NS2 Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 1 P Pre ed pared repa k: T. Issariyaku y by at rwat uctio ucti ucti ucti ucti ucti ucti Tee uc uc uc uc uc uc uc ul yakul sariya Issa
30
Embed
Issa sariyayakul ul An Introduction to NSAn …teerawat/publications/NS2/W02-NS2.pdfAn Introduction to NSAn Introduction to NS2 Textbook: T. Issariyakul and E. Hossain, PPre Introduction
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
An Introduction to NSAn Introduction to NS22An Introduction to NSAn Introduction to NS22An Introduction to NSAn Introduction to NS22An Introduction to NSAn Introduction to NS22
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 1
PPreed
pared
repa
k: T. Issariyaku
yby
at rw
atuctiouctiuctiuctiuctiuctiucti
Tee
ucucucucucucuc
ulya
kul
sariy
a
Issa
Outline• Overview• InstallationInstallation• An Example• Incorporate C++ Modules into NS2
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 2
3. Unzip all the files4 Us th i st ll ti k “ /i st ll”4. Use the installation package “./install”• Follow the instruction• NS2 is designed for UnixNS2 is designed for Unix• For windows, also install Cygwin
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 7
PPrepar
d
ngneedesigne
ndows
repa
k: T. Issariyaku
yiby tio
struct
at
duedu/n
erwat
L
Tee
L
ulya
kul
sariy
a
Issa
/nsnam
Installation: CygwinInstallation: CygwinC i Li m l ti f i d s• Cygwin = Linux emulation for windows
1. Go to Cygwin Webpage: http://www.cygwin.com/2. Get the package3. Install the basic package3. Install the basic package4. Install the following additional packages:
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 8
PPrepk: T. Issariyaku
at
http:
rwat
ckag
Tee
ackowing
ulya
kul
sariy
ainiIss
afor wi//
Outline• Overview• InstallationInstallation• An Example• Incorporate C++ Modules into NS2
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 9
PPreed
pared
repa
k: T. Issariyaku
yby
at
erwat
TeeC++ Mo
ulya
kul
sariy
a
Issa
A Network Simulation ExampleA Network Simulation Example
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 10
Prepa
k: T. Issariyaku
ulak
ulmp
sariyxamp
ssa
Tcl Simulation Script• Filename “myfirst ns.tcl”
Tcl Simulation ScriptFilename myfirst_ns.tcl
• Create a simulator
• Create trace objects
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 11
Preped
k: T. Issariyaku
y
at
erwat
Teeobje
ulya
kul
t
sariy
apt
Issa
A Network Simulation ExampleA Network Simulation Example
• Define a “finish” proceduer
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 12
PPrepk: T. Issariyaku
t
ulak
ulmp
sariyxamp
Issa
duer
A Network Simulation ExampleA Network Simulation Example
• Create nodes
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 13
PPree
pared
repa
k: T. Issariyaku
at
ulak
ulmp
sariyxamp
Issa
A Network Simulation ExampleA Network Simulation Example
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 14
PPrepa
k: T. Issariyaku
yeeerweee
ulak
ulmp
sariyxamp
ssa
A Network Simulation ExampleA Network Simulation Example
• Connect node with “duplex” links
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 15
Preed
pared
repa
k: T. Issariyaku
at
ulak
ulmp
sariyxamp
Issa
ex” l
A Network Simulation ExampleA Network Simulation Example
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 16
P
ere
Prepa
k: T. Issariyaku
ybyeeerweee
ulak
ulmp
sariyxamp
ssa
A Network Simulation ExampleA Network Simulation Example
• Create a flow from n0 to n3– Create a UDP flowCreate a UDP flow
– Attach a CBR source to the UDP flow
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 17
ed a C
pared
Prepa
k: T. Issariyaku
byCB
at wat
ulak
ulmp
sariyxamp
Issa
o n3
A Network Simulation ExampleA Network Simulation Example
• Create a flow from n1 to n4– Create a TCP flowCreate a TCP flow
– Attach a FTP source to the TCP flowAttach a FTP source to the TCP flow
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 18
PPrepare
dda Fa F
repa
k: T. Issariyaku
byT
at wat
ulak
ulmp
sariyxamp
Issa
o n4
A Network Simulation ExampleA Network Simulation Example
• Schedule Events
• Start simulation
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 19
PPreed
m
pared
repa
k: T. Issariyaku
yby
ulatioat
Te
ulak
ulmp
sariyxamp
Issa
A Network Simulation ExampleA Network Simulation Example
• We are in step two of network simulationStep 1 = ( Design )p ( g )Step 3 = ( Result Compilation )
Sub-Step The part of the code1. (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. 20
PPreed
pared
repa
k: T. Issariyaku
yby guration
at
erwatlation
Tee
ulak
ulmp
sariyxamp
Issa
twork )
A Network Simulation Example• Results? � (files out.tr and out.nam )
p
{enque(+) deque(-) receive(r) drop(d)}Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008.
{enque(+),deque( ),receive(r),drop(d)}21
PPre
dpa
reenquea
repa
k: T. Issariyaku
{enqb
ulya
kul
mpl
sariy
and out.
p
ssa
Outline• Overview• InstallationInstallation• An Example• Incorporate C++ Modules into NS2
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 22
PPreed
pared
repa
k: T. Issariyaku
yby
at
erwat
TeeC++ Mo
ulya
kul
sariy
a
Issa
New Modules• NS2 Modules: C++ and OTcl
Di i• Directories:~ns ~tclcl
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.
See Also: http://www-rp.lip6.fr/ns-doc/ns226-doc/html/hierarchy.htm23
P
eded
edpa
redredredso: ht
Prepk: T. Issariyaku
lso: hyyyby
bybyyyy
at ataterw
atatate wawa
rwrwTeeeeTTTeTTT
ulya
kul
sariy
a
Issa
New Modules• New Modules
– Need to recompile and links all NEWNeed to recompile and links all NEW modules
– Use make utility– Use make utility
• “Make” contains a set of things that will be done when “make” is executed from the command prompt.
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 24
PPrepare
d one
edthe c
repa
k: T. Issariyaku
ybyntaine w
td link
erwad lin
Teey
ulya
kul
sariy
a
Issa
Make UtilityMake Utility• Make usage
>> make [ f <filename>]>> make [-f <filename>]– Executed what specified in <filename>– <filename> is called a “file descriptor”<filename> is called a file descriptor– No file is given � use file “Makefile”
• File descriptor– Syntax
1 [ 2 ] [ d 1 d 2 ]<target1> [<target2> …] : [<dep1> <dep2> …]<command>
– Targets are remade if any of the dependency– Targets are remade if any of the dependencyis changed
– The change is specified in the command.
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 25
PPreed
coare
pared
s areanged
he cha
repa
k: T. Issariyaku
yby <targe
mman
t <desc
erwae des
file “M
Tee
ulya
kul
sariy
ae>]
Issaame>]
filena
Make UtilityMake Utility• Example
cc-o channel main.o, fade.o, model.o
Execute ( ) if ( ) is changed( ) g
main.o, fade.o, and/or model.o
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 26
PPrepare
repa
k: T. Issariyaku
wa
ulya
kul
sariy
a
ssa
ss
Make UtilityMake Utility• Example: Use variables OBJS and
COM
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 27
PPree
pared
repa
k: T. Issariyaku
ulya
kul
sariy
aBJS an
ssa
Makefile for NS2Makefile for NS2• Located in ~ns• Key components:Key components:
– INCLUDES = : DirectoryOBJ CC All NS2 bj fil– OBJ_CC = : All NS2 object files
– NS_TCL_LIB = : All NS2 OTcl files• Put your files in these three
componentscomponents
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 28
PPre
d
fnts
pare
nents
repa
k: T. Issariyaku
y
B
by
iles at
erwat
rectorNS2
Teell NS2B =
ulya
kul
sariy
a
Issa
M k fil f NS2: Ex mplMakefile for NS2: Example
Use *.o
Use “\” to separate lines
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 29
P
d
Prepk: T. Issariyaku
erwe
ulya
kul
pl
sariy
ample
ssa
Summary• NS2 consists of
– OTcl ( user interface ) and – C++ ( internal mechanism )
• Installation: NS2 + Cygwinyg• An Example• Make utility• Make utility
– INCLUDE: DirectoryOBJ CC C M d l– OBJ_CC: C++ Modules
– NS_TCL_LIB: OTcl Modules
Textbook: T. Issariyakul and E. Hossain, Introduction to Network Simulator NS2, Springer 2008. 30