Upload
stuart-charles
View
216
Download
0
Embed Size (px)
Citation preview
Introduction to Mobility &
Network Simulator 2 (NS-2)
Mahmood [email protected]
Department of Computer EngineeringSharif University of Technology
Sharif university of Technology 2/23
Outline
Random Walk Mobility Model Random Waypoint Mobility Model Network Simulator Mobile Networking in ns Simulation Scenario Home Work 2
Sharif university of Technology 3/23
Random Walk Mobility Model Since many entities in nature move in
extremely unpredictable ways, the Random Walk Mobility Model was developed to mimic this erratic movement
In this mobility model, an MN moves from its current location to a new location by randomly choosing a direction and speed in which to travel
The new speed and direction are both chosen from pre-defined ranges, [speedmin; speedmax] and [0;2p] respectively
Sharif university of Technology 4/23
Random Walk Mobility Model
Each movement in the Random Walk Mobility Model occurs in either a constant time interval t or a constant distance traveled d, at the end of which a new direction and speed are calculated
If an MN which moves according to this model reaches a simulation boundary, it “bounces” off the simulation border with an angle determined by the incoming direction
The MN then continues along this new path
Sharif university of Technology 5/23
Outline
Random Walk Mobility Model Random Waypoint Mobility Model Network Simulator Mobile Networking in ns Simulation Scenario Home Work 2
Sharif university of Technology 6/23
Random Waypoint Mobility Model (RWPM)
The Random Waypoint Mobility Model includes pause times between changes in direction and/or speed
An MN begins by staying in one location for a certain period of time (i.e., a pause time)
Once this time expires, the MN chooses a random destination in the simulation area and a speed that is uniformly distributed between [minspeed, maxspeed]
Sharif university of Technology 7/23
Random Waypoint Mobility Model (RWPM)
The MN then travels toward the newly chosen destination at the selected speed
Upon arrival, the MN pauses for a specified time period before starting the process again
We note that the movement pattern of an MN using the Random Waypoint Mobility Model is similar to the Random Walk Mobility Model if pause time is zero and [minspeed, maxspeed] = [speedmin, speedmax]
Sharif university of Technology 8/23
Outline
Random Walk Mobility Model Random Waypoint Mobility Model Network Simulator Mobile Networking in ns Simulation Scenario Home Work 2
Sharif university of Technology 9/23
Network Simulator (NS) ns is an object oriented simulator, written in C++,
with an OTcl interpreter as a frontend The simulator supports a class hierarchy in C++ (also
called the compiled hierarchy in this document), and a similar class hierarchy within the OTcl interpreter (also called the interpreted hierarchy in this document)
The two hierarchies are closely related to each other; from the user’s perspective, there is a one-to-one correspondence between a class in the interpreted hierarchy and one in the compiled hierarchy
The root of this hierarchy is the class TclObject
Sharif university of Technology 10/23
Network Simulator (NS) Users create new simulator objects through
the interpreter; these objects are instantiated within the interpreter, and are closely mirrored by a corresponding object in the compiled hierarchy
The interpreted class hierarchy is automatically established through methods defined in the class TclClass
user instantiated objects are mirrored through methods defined in the class TclObject
Sharif university of Technology 11/23
Why two languages? ns uses two languages because simulator
has two different kinds of things it needs to do
On one hand, detailed simulations of protocols requires a systems programming language which can efficiently manipulate bytes, packet headers, and implement algorithms that run over large data sets
For these tasks run-time speed is important and turn-aroundtime (run simulation, find bug, fix bug, recompile, re-run) is less important
Sharif university of Technology 12/23
Why two languages? On the other hand, a large part of network
research involves slightly varying parameters or configurations, or quickly exploring a number of scenarios
In these cases, iteration time (change the model and re-run) is more important
Since configuration runs once (at the beginning of the simulation), run-time of this part of the task is less important
Sharif university of Technology 13/23
Why two languages? ns meets both of these needs with
two languages, C++ and OTcl C++ is fast to run but slower to
change, making it suitable for detailed protocol implementation
OTcl runs much slower but can be changed very quickly (and interactively), making it ideal for simulation configuration
Sharif university of Technology 14/23
Which language for what? Having two languages raises the question
of which language should be used for what purpose
Our basic advice is to use OTcl: for configuration, setup, and “one-time” stuff if you can do what you want by manipulating
existing C++ objects and use C++:
if you are doing anything that requires processing each packet of a flow
if you have to change the behavior of an existing C++ class in ways that weren’t anticipated
Sharif university of Technology 15/23
Outline
Random Walk Mobility Model Random Waypoint Mobility Model Network Simulator Mobile Networking in ns Simulation Scenario Home Work 2
Sharif university of Technology 16/23
Mobile Networking in ns
The functions and procedures described in this subsection can be found in ~ns/mobilenode.{cc,h}, ~ns/tcl/lib/ns-mobilenode.tcl, ~ns/tcl/mobility/dsdv.tcl, ~ns/tcl/mobility/dsr.tcl, ~ns/tcl/mobility/tora.tcl
Example scripts can be found in ~ns/tcl/ex/wireless-test.tcl and ~ns/tcl/ex/wireless.tcl
Sharif university of Technology 17/23
Outline
Random Walk Mobility Model Random Waypoint Mobility Model Network Simulator Mobile Networking in ns Simulation Scenario Home Work 2
Sharif university of Technology 18/23
Simulation Scenario We start by presenting simple script that run single
TCP connection over 3-nodes over an area of size 500m over 400m
The location process is as follow : The initial locations of nodes 0, 1 and 2 are
respectively (5,5), (490,285) and (150,240) At time 10, node 0 starts moving towards point
(250,250) at a speed of 3m/s At time 15, node 1 starts moving towards point
(45,285) at a speed of 5m/s At time 20, node 0 starts moving towards point
(480,300) at a speed of 5m/s Node 2 is still throughout the simulation
The simulation lasts 150s. At time 10 a TCP connection is initiated between node 0 and node 1
Sharif university of Technology 19/23
Writing the TCL script We begin by specifying some basic parameters for the
simulation : set val(chan) Channel/WirelessChannel
set val(prop) Propagation/TwoRayGroundset val(netif) Phy/WirelessPhyset val(mac) Mac/802_11set val(ifq) Queue/DropTail/PriQueueset val(ll) LLset val(ant) Antenna/OmniAntennaset val(ifqlen) 50 ;# max packet in ifqset val(x) 800;# X dimension of the topographyset val(y) 800;# Y dimension of the topographyset val(nn) 30 ;# number of nodes set val(rp) DSDVset val(stop) 150 ;# simulation time
These parameters are used in configuring of the nodes
Sharif university of Technology 20/23
Configures of a mobile node$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)-channelType val(chan)-topoInstance $topo-agentTrace ON-routerTrace ON-macTrace OFF-MovementTrace ONFor {set $i 0} {$i < $val(nn)} {incr $i} { set node_($i) [$ns node]}
Sharif university of Technology 21/23
Initial location and movement of nodes
The initial location of node 0 given as follows : $node_(0) set X_ 5.0 $node_(0) set Y_ 5.0 $node_(0) set Z_ 5.0
A linear movement of a node is generated by specifying the time in which it start, the x and y values of the target point and the speed:
$ns at 15.0 “$node_(1) setdest 45.0 285.0 5.0”
Sharif university of Technology 22/23
Ending the simulation We need to create the initial node
position for nam usingFor {set $i 0} {$i < $val(nn)} {incr $i} { $ns initial_node_pos $node_($i) 30}
We tell nodes when the simulation ends with :For {set $i 0} {$i < $val(nn)} {incr $i} { $ns at $val(stop) “node_($i) reset”}
Sharif university of Technology 23/23
Outline
Random Walk Mobility Model Random Waypoint Mobility Model Network Simulator Mobile Networking in ns Simulation Scenario Home Work 2
Sharif university of Technology 24/23
Home Work 2 You must look at the mobile node source
code and determine which of the mobility models support in it ?
You simulate a scenario and obtain it’s result with mobility model that exist
Then you must change that mobility model to another
You simulate your scenario again with this new mobility model and compare the result of this by previous results
Scenario is the same scenario of the HW1
Sharif university of Technology 25/23
Refrence A collaboration between researchers
at UC Berkeley, LBL, USC/ISI, and Xerox PARC, “The NS Manual”, 2005
Lecture Notes 2003-2004 Univ. de Los andes, Merida, Venezuela, and ESSI, “NS simulator for beginners”
Tracy Camp, Jeff Boleng, Vanessa Davies, “A Survey of Mobility Models for Ad Hoc Network Research” , 2002