NS2Tutorial
NS2Tutorial
Saeid Montazeri
September 8, 2011
Outline
Overview of Simulation
Overview of NS2
References
September 8, 2011 2
What is simulation?
system boundary
exogenous inputs system under study
to system (has deterministic rules real life
(the environment) governing its behavior)
observer
program boundary
computer program
psuedo random inputs
simulates deterministic
to system simulated life
rules governing behavior
(models environment)
observer
September 8, 2011 3
Why Simulation?
September 8, 2011 4
Programming a simulation
Events
occurs at an instant in time and marks a change of system state
Arrival packet to a queue, departure of packet from a queue
September 8, 2011 5
Simulator Structure
Requirements:
well defined set of events
for each event: simulated system action,
updating of event list
September 8, 2011 6
Simulator Block Diagram
September 8, 2011 7
Outline
Overview of Simulation
Overview of NS2
References
September 8, 2011 8
What is NS2?
September 8, 2011 9
September 8, 2011 10
September 8, 2011 11
September 8, 2011 12
Installation
Ubuntu 11:
http://narnicles.wordpress.com/2011/05/10/installing-ns2-in-ubuntu-11-04/
Ubuntu 10:
Go the below link and choose the second procedure
http://www.scribd.com/doc/46784839/Install-NS2-34-in-Ubuntu10-10
Windows:
For example:
http://paulson.in/?p=49
September 8, 2011 13
Outline
Overview of Simulation
Overview of NS2
References
September 8, 2011 14
Steps for network simulation
September 8, 2011 15
Simulation scenario
September 8, 2011 16
First example
Bandwidth:1Mbps
Latency: 10ms
n1 n2
September 8, 2011 17
exit 0
September 8, 2011 18
}
First example (cont)
#create two nodes
set n0 [$ns_ node]
set n1 [$ns_ node]
Demo
September 8, 2011 20
Adding traffic
1Mbps,10ms
n1 n2
udp
null
cbr
node
agent
Packet Size: 500 bytes
rate: 800Kbps source
link
cbr traffic
September 8, 2011 23
Outline
Overview of Simulation
Overview of NS2
References
September 8, 2011 24
Second Scenario (NS by Example)
September 8, 2011 25
September 8, 2011 27
September 8, 2011 28
Second Scenario (cont)
#Setup a TCP connection
set tcp [new Agent/TCP]
$ns_ attach-agent $n0 $tcp
set sink [new Agent/TCPSink]
$ns_ attach-agent $n3 $sink
$ns_ connect $tcp $sink
$tcp set fid_ 1
September 8, 2011 29
September 8, 2011 31
Demo
September 8, 2011 32
How does NS2 work?
September 8, 2011 33
September 8, 2011 35
Demo
Write script to measure packet loss
September 8, 2011 37
Outline
Overview of Simulation
Overview of NS2
References
September 8, 2011 38
Second Scenario (changed)
#Create four nodes
set n0 [$ns_ node]
set n1 [$ns_ node]
set n2 [$ns_ node]
set n3 [$ns_ node]
5.Type make
September 8, 2011 40
Demo
September 8, 2011 41
Reference
NS2 by example
http://perform.wpi.edu/NS/
NS2
http://www.isi.edu/nsnam/ns
September 8, 2011 42