Introduction to Wireless simulations

22
Introduction to Wireless simulations Shao-Cheng Wang

description

Introduction to Wireless simulations. Shao-Cheng Wang. Wireless Simulations. Before simulation Generate traffic files: cbrgen.tcl Generate mobility files: setdest & calcdest Simulation simple-wireless.tcl After simulation Trace formats Nam. - PowerPoint PPT Presentation

Transcript of Introduction to Wireless simulations

Page 1: Introduction to Wireless simulations

Introduction to Wireless simulations

Shao-Cheng Wang

Page 2: Introduction to Wireless simulations

Wireless Simulations Before simulation

Generate traffic files: cbrgen.tcl Generate mobility files: setdest &

calcdest Simulation

simple-wireless.tcl After simulation

Trace formats Nam

•Marc Greis's tutorial http://www.isi.edu/nsnam/ns/tutorial/index.html

Page 3: Introduction to Wireless simulations

Traffic file cbrgen.tcl (~/ns/indep-util/cmu-

trace) ns cbrgen.tcl [-type cbr|tcp] [-nn

nodes] [-seed seed] [-mc connections] [-rate rate]

Page 4: Introduction to Wireless simulations

Traffic file (cont’d)> ns cbrgen.tcl -type cbr -nn 10 -seed 1.0 -mc 8 -rate 4.0

# 2 connecting to 3 at time 82.557023746220864set udp_(0) [new Agent/UDP]$ns_ attach-agent $node_(2) $udp_(0)set null_(0) [new Agent/Null]$ns_ attach-agent $node_(3) $null_(0)set cbr_(0) [new Application/Traffic/CBR]$cbr_(0) set packetSize_ 512$cbr_(0) set interval_ 0.25$cbr_(0) set random_ 1$cbr_(0) set maxpkts_ 10000$cbr_(0) attach-agent $udp_(0)$ns_ connect $udp_(0) $null_(0)$ns_ at 82.557023746220864 "$cbr_(0) start"

Page 5: Introduction to Wireless simulations

Mobility file ./setdest [-n num_of_nodes] [-p

pausetime] [-s maxspeed] [-t simtime] \ [-x maxx] [-y maxy] > [outdir/movement-file]

$node_(0) x,y,z $ns_ at 2.000000000000 "$node_(0)

setdest 90.441179033457 44.896095544010 1.373556960010"

$ns_ at 899.642 "$god_ set-dist 23 46 2" calcdest

Page 6: Introduction to Wireless simulations

Wireless Simulations Before simulation

Generate traffic files: cbrgen.tcl Generate mobility files: setdest &

calcdest Simulation

simple-wireless.tcl After simulation

Trace formats Nam

•Marc Greis's tutorial http://www.isi.edu/nsnam/ns/tutorial/index.html

Page 7: Introduction to Wireless simulations

Wireless simulation set val(chan) Channel/WirelessChannel ;# channel type set val(prop) Propagation/TwoRayGround ;# radio-propagation model set val(ant) Antenna/OmniAntenna ;# Antenna type set val(ll) LL ;# Link layer type set val(ifq) Queue/DropTail/PriQueue ;# Interface queue type set val(ifqlen) 50 ;# max packet in ifq set val(netif) Phy/WirelessPhy ;# network interface type set val(mac) Mac/802_11 ;# MAC type set val(rp) DSDV ;# ad-hoc routing protocol (optional) Phy/WirelessPhy set bandwidth_ 11000000 Phy/WirelessPhy set Rb_ 11000000 Mac/802_11 set dataRate_ 11000000 Mac/802_11 set basicRate_ 2000000 Agent/DSDV set min_update_periods_ 3 (ref: tcl/lan/ns-mac.tcl, tcl/mobility/dsdv.tcl)

Page 8: Introduction to Wireless simulations

Wireless simulation – cont’d set val(nn) 2 ;# number of

mobilenodes set opt(x) 1300 ;# X dimension of the topography set opt(y) 1300 ;# Y dimension of the

topography set val(cp) "example.scen" set val(trfile) "example.traffic"

set ns_ [new Simulator] $ns_ trace-all $tracefd set topo [new Topography] $wtopo load_flatgrid $opt(x) $opt(y) create-god $val(nn)

Page 9: Introduction to Wireless simulations

$ns_ node-config -adhocRouting $val(rp) \ -llType $val(ll) \ -macType $val(mac) \ -ifqType $val(ifq) \ -ifqLen $val(ifqlen) \ -antType $val(ant) \ -propType $val(prop) \ -phyType $val(netif) \ -topoInstance $topo \ -channelType $val(chan) \ -agentTrace ON \ -routerTrace OFF \ -macTrace OFF \ -movementTrace OFF

Page 10: Introduction to Wireless simulations

for {set i 0} {$i < $val(nn) } {incr i} { set node_($i) [$ns_ node ] $node_($i) random-motion 0 ;# disable random motion }

source $val(cp) source $val(trfile)

for {set i 0} {$i < $val(nn) } {incr i} { $ns_ at 150.0 "$node_($i) reset";}$ns_ at 150.0001 "stop"$ns_ at 150.0002 "puts \"NS EXITING...\" ; $ns_ halt"proc stop {} { global ns_ tracefd close $tracefd} puts "Starting Simulation..."$ns_ run

Page 11: Introduction to Wireless simulations

Wireless Simulations Before simulation

Generate traffic files: cbrgen.tcl Generate mobility files: setdest &

calcdest Simulation

simple-wireless.tcl After simulation

Trace formats Nam

•Marc Greis's tutorial http://www.isi.edu/nsnam/ns/tutorial/index.html

Page 12: Introduction to Wireless simulations

After simulation – trace format

Special parameter # Enables trace for congestion window.

$tcp trace cwnd_ # Attaches trace file handle to agent.

set tchan_ [open cwnd.tr w]$tcp attach $tchan_

set awkCode { { if ($6 == "cwnd_") {

print $1, $7 >> "temp.c"; }}

}

exec awk $awkCode cwnd.tr Detailed trace format : ~/ns/cmu-trace.cc

Page 13: Introduction to Wireless simulations

Trace s 0.000011740 _0_ RTR --- 0 ZRP 84 [0 0 0 0] ------- [0:255 -

1:255 1 0] [0x1 0 [0 0] 2.000000] (HELLO) -1

sprintf(wrk_ + offset, "[0x%x %d [%d %d] %f] (%s) %d", rp->rp_type, rp->rp_hop_count, rp->rp_dst, rp->rp_dst_seqno, rp->rp_lifetime, rp->rp_type == ZRPTYPE_RREP ? "REPLY IERP" : (rp->rp_type == ZRPTYPE_UREP ? "UNSOLICITED

REPLY IERP" : "HELLO"),ih->daddr());

Page 14: Introduction to Wireless simulations

Nam

$node color [color] ;# sets color of node $node shape [shape] ;# sets shape of node $node label [label] ;# sets label on node $node label-color [lcolor] ;# sets color of label $node label-at [ldirection] ;# sets position of

label $node add-mark [name] [color] [shape] ;#

adds a mark to node $node delete-mark [name] ;# deletes mark

from node

Page 15: Introduction to Wireless simulations

More resources Doc:

ns by Example http://nile.wpi.edu/NS/

NS Manual:http://www.isi.edu/nsnam/ns/doc/index.html

Workshop and presentationshttp://www.isi.edu/nsnam/ns/ns-tutorial/index.html

Contributed Modules :http://nsnam.isi.edu/nsnam/index.php/

Contributed_Code

Page 16: Introduction to Wireless simulations

Backup Slides

Page 17: Introduction to Wireless simulations

Mobile Node Abstraction Location

Coordinates (x,y,z) Movement

Speed, direction, starting/ending location, time ...

Page 18: Introduction to Wireless simulations

Portrait of A Mobile Node

Node

ARP

Propagation and antenna models MobileNode

LL

MAC

PHY

LL

CHANNEL

LL

MAC

PHY

Classifier: ForwardingAgent: Protocol EntityNode Entry

LL: Link layer object

IFQ: Interface queue

MAC: Mac objectPHY: Net interface

protocolagent

routingagentaddr

classifier

portclassifier

255

IFQIFQ

defaulttarget_

Page 19: Introduction to Wireless simulations

Mobile Node: Components Link Layer

Same as LAN, but with a separate ARP module

Interface queue Give priority to routing protocol packets

Mac Layer IEEE 802.11 RTS/CTS/DATA/ACK for all unicast packets DATA for all broadcast packets

Page 20: Introduction to Wireless simulations

Mobile Node: Components Network interface (PHY)

Parameters based on Direct Sequence Spread Spectrum (WaveLan)

Interface with: antenna and propagation models

Update energy: transmission and reception Radio Propagation Model

Friss-space attenuation(1/r2) at near distance

Two-ray Ground (1/r4) at far distance Antenna

Omni-directional, unity-gain

Page 21: Introduction to Wireless simulations

Wireless Channel Duplicate packets to all mobile

nodes attached to the channel except the sender

It is the receiver’s responsibility to decide if it will accept the packet Collision is handled at individual

receiver O(N2) messages grid keeper

Page 22: Introduction to Wireless simulations

Grid-keeper: An Optimization