Вы находитесь на странице: 1из 16

Komunikasi Digital (TEP 651)

NS-2 Simulation
Dr. I Wayan Mustika, ST., M.Eng.
Jurusan Teknik Elektro dan Teknologi Informasi
FT UGM

Outline
ns2- Network Simulator
Wired Network
Wireless Network

ns2- Network Simulator


One of the most popular simulator among
networking researchers.
Discrete event, Packet level simulator
Events like received an ack packet , enqueued a
data packet

Network protocol stack written in C++


Tcl (Tool Command Language) used for
specifying scenarios and events.
Unix Based. Runs also in windows using cygwin
Simulates both wired and wireless networks.

Wired
Creating a simple two node network topology
Adding traffic to the link
UDP traffic
TCP traffic
Fault injection

Simple two node wired network


n0

Step 1:
Step 2:

n1

#Create a simulator object


set ns [new Simulator]
#Open trace files
set f [open out.tr w]
$ns trace-all $f

n0

Step 3:
Step 4:

n1

#Create two nodes


set n0 [$ns node]
set n1 [$ns node]
#Create a duplex link between the nodes
$ns duplex-link $n0 $n1 1Mb 10ms DropTail

#Create a simulator object


set ns [new Simulator]
#Open trace files
set f [open out.tr w]
$ns trace-all $f
#Define a 'finish' procedure
proc finish {} {
global ns
$ns flush-trace
exit 0
}
#Create two nodes
set n0 [$ns node]
set n1 [$ns node]
#Create a duplex link between the nodes
$ns duplex-link $n0 $n1 1Mb 10ms DropTail
#Call the finish procedure after 5 seconds of simulation time
$ns at 5.0 "finish"
#Run the simulation
$ns run

Adding traffic to the link


n0

n1

udp

#Create a UDP agent and attach it to node n0


set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0

n0

n1

udp
cbr

# Create a CBR traffic source and attach it to udp0


set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp0

n0
udp

n1
null

cbr

#Create a Null agent (a traffic sink) and


attach it to node n1
set null0 [new Agent/Null]
$ns attach-agent $n1 $null0

n0
udp

n1
null

cbr

#Connect the traffic source with the traffic sink


$ns connect $udp0 $null0
#Schedule events for the CBR agent
$ns at 0.5 "$cbr0 start"
$ns at 4.5 "$cbr0 stop

Trace Analysis
http://nsnam.isi.edu/nsnam/index.php/NS-2_Trace_Formats

Wireless Simulation

Defining wireless options


Create & define topology
Create God General Operations Descriptor
Configure node
Create nodes
Provide start positions
Create movement
Set connections
Schedule traffic events
Define initial position in NAM
Tell nodes when the simulation ends
Ending NAM and the simulation

Performance Metrics
We will try to evaluate the routing protocols in terms of two
metrics
1. Packet delivery fraction : It is the ratio of packets
delivered to that generated by the traffic generator.
2. Routing load : It is the number of routing packets required
to be sent per data packet delivered.

T
 race file name: simple-dsdv.tr.
Use following command to get the number of packets sent
by the traffic source.
grep "^s.*\-Nl AGT.*\-It cbr.*" simple-dsdv.tr | wc l
Now, use following command to get the actual number of
packets received at the destination.
grep "^r.*\-Nl AGT.*\-It cbr.*" simple-dsdv.tr | wc l
Calculate Packet Delivery Fraction using (received
packets/sent packets)

Use following command to get the total number of routing


packets sent.
grep "^\(s\|f\).*\-Nl RTR.*\-It message.*" simple-dsdv.tr | wc
l
Calculate Routing Load using (routing packets/received
packets)

Вам также может понравиться