25
Introduction to Mobility & Network Simulator 2 (NS-2) Mahmood Hasanlou [email protected] Department of Computer Engineering Sharif University of Technology

Introduction to Mobility & Network Simulator 2 (NS-2) Mahmood Hasanlou [email protected] Department of Computer Engineering Sharif University of

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