MOBILE IP SOMULATION IN NS2 Presenter: 吳寶緣
Outlines Overview Hierarchical Address Format Hierarchical Address Format-ex MoblieIP Demo Additional Number of Node feature Additional Movement of Node feature Problems & Solutions
Overview Multicast Address Format Of the higher bits, 1 bit is assigned for multicast. Address Space 32 bits for node id and 32 bits for port id, also ~ns/tcl/lib/ns-address.tcl
Hierarchical Address Format Default levels, 3 levels – (10, 11, 11) bits (9, 11, 11) bits for multicast $ns set-address-format hierarchical Specific hierarchical setting For example: $ns set-address-format hierarchical Splits into 2 levels, first level and second level are 8 and 15 bits, respectively
Hierarchical Address Format-ex - set ns [new Simulator] $ns set-address-format hierarchical $ns node-config -addressType hierarchical - AddParams set domain_num_ 2 AddParams set cluster_num_ 2 1 AddParams set nodes_num_ W(0) W(1) BS(0) node_(1) node_(0) node_(2) domain 0 domain 1 cluster 0 cluster 1 cluster 0 0,0,0 0,1,0 1,0,0 1,0,1 1,0,2 1,0,3
CHAPTER 16 MOBILE AND WIRELESS NETWORK SIMULATION
Outlines Extend NS to support mobile and wireless application: Internal Implementation Use NS to simulate wireless network Feature summary
Abstract the real mobile world for simulation Node Packets Wireless channel and channel access Forwarding and routing Radio propagation model Trace/Visualization Event scheduler to make everything running
Network Components inside a mobilenode Link Layer ARP Interface Queue Mac Layer: IEEE Network Interface Radio Propagation Model Friss-space attenuation(1/ ) at near distance Two ray Ground (1/ ) at far distance
Implementing mobile node by Extending “standard” NS node Classifier: Forwarding Agent: Protocol Entity Node Entry Node ARP Radio Propagation Model MobileNode LL MAC PHY LL CHANNEL LL MAC LL:Link layer object IFQ:Interface queue MAC:Mac object PHY PHY:Net interface Routing
Mobilenode Object Implemented in C++ The mobility features node movement periodic position updates maintaining topology boundary etc implemented in Otcl MobileNode itself Classifiers Dmux LL Mac Channel etc
Outlines Extend NS to support mobile and wireless application: Internal implementation Use NS to simulate wireless network Feature summary
A mobile node abstraction Location coordinates (x,y,z) Movement speed,direction, starting/ending location,time... Forwarding Network stack for channel access IEEE
Creating Node movements Start position: $node set X_ $node set Y_ $node set Z_ Future destinations: $ns at $time $node setdest Ex: ns at 3.0 "$node (0) setdest the third dimension (Z) is not used.
Creating Node movements random movement $mobilenode start Set topology set topo [new Topography] $topo load_flatgrid $opt(x) $opt(y) opt(x) and opt(y) are the boundaries used in simulation
Network Components in a mobilenode MobileNode method add-interface() in ~ns/tcl/lib/ns-mobilenode.tcl
MAC layer protocols MAC protocol See ~ns/mac-802_11.{cc,h} for implementation details. Preamble based TDMA protocol See ~ ~ns/mac-tdma.{cc,h} ns supports a single hop, preamble-based TDMA MAC protocol multi-hop environment are not considered TDMA frame contains preamble data transmission slots avoid unnecessary power consumption set_node_sleep().
Routing Agents DSDV messages are exchanged between neighbouring mobilenodes ~ns/dsdv directory and ~ns/tcl/mobility/dsdv.tc DSR checks every data packet for source-route information. X-Routing queries ~ns/tcl/mobility/dsr.tcl TORA ns/tora directory and ns/tcl/mobility/tora.tcl AODV ns/aodv and ns/tcl/lib/ns-lib.tcl
A simple wireless simulation(1) Scenario containing 3 mobile nodes moving within 670mX670m flat topology using DSDV ad hoc routing protocol Random Waypoint mobility model TCP and CBR traffic See: ns-2/tcl/ex/wireless-demo-csci694.tcl
A simple wireless simulation(2) set ns_ [new Simulator] ; create a ns simulator instance #Define Global Variables set topo [new Topography] ; create a topology and $topo load_flatgrid ; define it in 670x670 area
A simple wireless simulation (3) #Define standard ns/nam trace set tracefd [open 694demo.tr w] $ns_ trace-all $tracefd set namtrace [open 694demo.nam w] $ns_ namtrace-all-wireless $namtrace
A simple wireless simulation (4) #Create “God” set god_ [create-god 3] God is used to store an array of the shortest number of hops required to reach from one node to an other. For example: $ns_ at “$god_ setdist 2 3 1”
A simple wireless simulation (5) #Define how a mobile node should be created $ns_ node-config -adhocRouting DSDV\ -llType LL \ -macType Mac/802_11\ -ifqLen 50 \ -ifqType Queue/DropTail/PriQueue \ -antType Antenna/OmniAntenna \ -propType Propagation/TwoRayGround \ -phyType Phy/WirelessPhy \ -channelType Channel/WirelessChannel \ -topoInstance $topo -agentTrace ON \ -routerTrace OFF \ -macTrace OFF
A simple wireless simulation (6) #Create a mobile node and attach it to the channel set node [$ns_ node] $node random-motion 0 ;# disable random motion – Use “for loop” to create 3 nodes: for {set i < 0} {$i<3} {incr i} { set node_($i) [$ns_ node] }
A simple wireless example(7) #Define traffic model source traffic-scenario-files #Define node movement model source movement-scenario-files
A simple wireless example(8) #Define node initial position in nam for {set i 0} {$i < 3 } { incr i} { $ns_ initial_node_position $node_($i) 20 } #Tell ns/nam the simulation stop time $ns_ at “$ns_ nam-end-wireless ” $ns_ at “$ns_ halt” #Start your simulation $ns_ run
Wireless Scenario Generator(1) Mobile Movement Generator./setdest -n -p pausetime -s -t -x -y See an example Random movement $mobilenode start Source: See ns-2/indep-utils/cmu-scen-gen/setdest/
Wireless Scenario Generator(2) Generating traffic pattern files CBR traffic ns cbrgen.tcl [-type cbf|tcp] [-nn nodes] [- seed seed] [-mc connections] [-rate rate] TCP traffic ns tcpgen.tcl [-nn nodes] [-seed seed] See an example Source: See ns-2/indep-utils/cmu-scen-gen/
Sensor Node extension Node is energy-aware Define node by adding new options: $ns_ node-config -energyModel EnergyModel -initialEnergy txPower0.6 -rxPower0.2
Demo Wireless-demo-csci694.tcl MobleIP.tcl
Outlines Extend NS to support mobile and wireless application: Internal implementation Use NS to simulate wireless network Feature summary
Feature summary Creating Wireless Node Mac Layer:IEEE ,TDMA Address Resolution Protocol (ARP) Ad hoc routing protocols: DSDV, DSR,TORA, AODV Radio Propagation Model Friss-space attenuation at near distances Two ray ground at far distances Antenna: an omni-directional antenna having unity gain Scenario generator for traffic and node movement
THE END
Appendix A: Movement file $node_(2) set Z_ $node_(2) set Y_ $node_(2) set X_ $node_(1) set Z_ $node_(1) set Y_ $node_(1) set X_ $node_(0) set Z_ $node_(0) set Y_ $node_(0) set X_ $ns_ at "$node_(2) setdest " $ns_ at "$node_(1) setdest " $ns_ at "$node_(0) setdest " Movement scenario generator cd ns-allinone-2.35/ns-2.35/indep-utils/cmu-scen-gen/setdest./setdest -n 3 -p 2.0 -s t 300 -x 670 -y 670 > pattern-file Num-of-nodesPause-timeMax-speedSim-timeTopo-boundary
Appendix B: Traffic Scenario set udp_(0) [new Agent/UDP] $ns_ attach-agent $node_(0) $udp_(0) set null_(0) [new Agent/Null] $ns_ attach-agent $node_(2) $null_(0) set cbr_(0) [new Application/Traffic/CBR] $cbr_(0) set packetSize_ 512 $cbr_(0) set interval_ 4.0 $cbr_(0) set random_ 1 $cbr_(0) set maxpkts_ $cbr_(0) attach-agent $udp_(0) $ns_ connect $udp_(0) $null_(0) $ns_ at "$cbr_(0) start" ……. Traffic scenario generator ns cbrgen.tcl -type tcp -nn 25 -seed 0.0 -mc 8 > pattern-file ns cbrgen.tcl -type cbr -nn 10 -seed 1.0 -mc 8 -rate 4.0 > pattern-file CBR-or-TCPNum-of-nodesRandom-seedMax-connectionCBR-rate