250 likes | 411 Views
Introduction to Mobility & Network Simulator 2 (NS-2). Mahmood Hasanlou m_hasanlou@ce.sharif.edu. Department of Computer Engineering Sharif University of Technology. Outline. Random Walk Mobility Model Random Waypoint Mobility Model Network Simulator Mobile Networking in ns
E N D
Introduction to Mobility &Network Simulator 2 (NS-2) Mahmood Hasanlou m_hasanlou@ce.sharif.edu Department of Computer Engineering Sharif University of Technology
Outline • Random Walk Mobility Model • Random Waypoint Mobility Model • Network Simulator • Mobile Networking in ns • Simulation Scenario • Home Work 2 Sharif university of Technology
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
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
Outline • Random Walk Mobility Model • Random Waypoint Mobility Model • Network Simulator • Mobile Networking in ns • Simulation Scenario • Home Work 2 Sharif university of Technology
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
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
Outline • Random Walk Mobility Model • Random Waypoint Mobility Model • Network Simulator • Mobile Networking in ns • Simulation Scenario • Home Work 2 Sharif university of Technology
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
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
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
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
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
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
Outline • Random Walk Mobility Model • Random Waypoint Mobility Model • Network Simulator • Mobile Networking in ns • Simulation Scenario • Home Work 2 Sharif university of Technology
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
Outline • Random Walk Mobility Model • Random Waypoint Mobility Model • Network Simulator • Mobile Networking in ns • Simulation Scenario • Home Work 2 Sharif university of Technology
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
Writing the TCL script • We begin by specifying some basic parameters for the simulation : • set val(chan) Channel/WirelessChannelset 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
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 ON For {set $i 0} {$i < $val(nn)} {incr $i} { set node_($i) [$ns node] } Sharif university of Technology
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
Ending the simulation • We need to create the initial node position for nam using For {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
Outline • Random Walk Mobility Model • Random Waypoint Mobility Model • Network Simulator • Mobile Networking in ns • Simulation Scenario • Home Work 2 Sharif university of Technology
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
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 Sharif university of Technology