Hello everybody,

I am trying to simulate a hand over. Following script shows two nodes (acting 
as AP) and a node moving within their vicinity. After a certain amount of 
simulation time, node 0 gets out of range of node 1 (AP) and stops sending 
packets. This is the point it needs to get associated with node 2 (another AP). 
I dont know how to do that can some one help?
In order to make it work, I have intentionally stopped the previous connection 
and started a new one (between node 0 and new AP). How can I make hand over 
take place on its own.

Please write back soon,
Faraz

 ======================================================================

# Define options

# ======================================================================

set val(chan)           Channel/WirelessChannel    ;# channel type

set val(prop)           Propagation/TwoRayGround   ;# radio-propagation model


set val(netif)          Phy/WirelessPhy            ;#

Phy/WirelessPhy set freq_ 2.472e9                  ;# network interface type
Phy/WirelessPhy set CPThresh_ 10.0                 ;# Collision Threshold
Phy/WirelessPhy set CSThresh_ 5.011872e-12         ;# Carrier Sense Threshold
Phy/WirelessPhy set RXThresh_ 5.82587e-09          ;# Receiver Threshold
Phy/WirelessPhy set bandwidth_ 11Mb                ;# BW


set val(mac)            Mac/802_11                 ;# MAC type
Mac/802_11 set dataRate_ 11Mb                      ;# Data Rate
Mac/802_11 set basicRate_ 1Mb                      ;# Control Frame Rate


set val(ifq)            Queue/DropTail/PriQueue    ;# interface queue type

set val(ll)             LL                         ;# link layer type

set val(ant)            Antenna/OmniAntenna        ;# antenna model

set val(ifqlen)         50                         ;# max packet in ifq

set val(nn)             3                          ;# number of mobilenodes

set val(rp)             AODV                       ;# routing protocol

set val(x)              200                       ;# x-axis of grid
set val(y)              200                       ;# y-asix of grid
set opt(energymodel)    EnergyModel     ;
set opt(radiomodel)     RadioModel     ;
set opt(initialenergy)  1000            ;# Initial energy in Joules
set num_ms_nodes        10;
set opt(nn)             3;

# ======================================================================

# Main Program

# ======================================================================





#

# Initialize Global Variables

#



#start the simulator
set ns [new Simulator]

#open the trace file
set tracefile1 [open a.tr w]
$ns trace-all $tracefile1

#Open the NAM trace file

set nf [open out.nam w]

#$ns namtrace-all $nf

$ns namtrace-all-wireless $nf $val(x) $val(y)



#Define a 'finish' procedure

proc finish {} {

        global ns nf

        $ns flush-trace

        #Close the NAM trace file

        close $nf

        #Execute NAM on the trace file

        exec /home/faraz/Desktop/ns-allinone-2.33/nam-1.13/nam out.nam

        exit 0

}



#define the procedure finish
#proc finish {} {
#global ns tracefile1
#$ns flush-trace
#close $tracefile1
#exit 0
#}


# set up topography object

set topo       [new Topography]


$topo load_flatgrid $val(x) $val(y)



# Create God General Operations Director



create-god [expr $opt(nn) + $num_ms_nodes]

# Create channel #1 and #2
set chan_1_ [new $val(chan)]



#

#  Create the specified number of mobilenodes [$val(nn)] and "attach" them

#  to the channel.

#  Here two nodes are created : node(0) and node(1)



# configure 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) \

                         -topoInstance $topo \

                         -agentTrace OFF \

                         -routerTrace ON \

                         -macTrace OFF \

                         -movementTrace OFF\
                         -channel $chan_1_


                         #-energyModel $opt(energymodel) \
                         -idlePower 1.0 \
                         -rxPower 1.0 \
                         -txPower 1.0 \
                         -sleepPower 0.001 \
                         -transitionPower 0.2 \
                         -transitionTime 0.005 \
                         -initialEnergy $opt(initialenergy)


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



$node_(0) set X_ 0.001

$node_(0) set Y_ 75.0

#$node_(0) set Z_ 0.0


$node_(1) set X_ 25.0

$node_(1) set Y_ 125.0

#$node_(1) set Z_ 0.0

$node_(2) set X_ 150.0

$node_(2) set Y_ 125.0

#$node_(2) set Z_ 0.0

set udp0 [new Agent/UDP]
$ns attach-agent $node_(0) $udp0

set cbr0 [new Application/Traffic/CBR]
$cbr0 set packetSize_ 1000
$cbr0 set interval_ 0.05
$cbr0 attach-agent $udp0

set null0 [new Agent/Null]
$ns attach-agent $node_(1) $null0

$ns connect $udp0 $null0

set null1 [new Agent/Null]
$ns attach-agent $node_(2) $null1

$ns at 0.1 "$node_(0) setdest 199.0 75.0 100.0"
$ns at 0.1 "$node_(1) setdest 25.0 125.0 0.0"
$ns at 0.1 "$node_(2) setdest 150.0 125.0 0.0"
$ns at 0.2 "$cbr0 start"
$ns at 1 "$cbr0 stop"
$ns at 1.1 "$ns connect $udp0 $null1"
$ns at 1.2 "$cbr0 attach-agent $udp0"
$ns at 1.3 "$cbr0 start"
$ns at 2.1 "$cbr0 stop"
$ns at 2.3 "finish"

puts "Starting Simulation..."
$ns run

Reply via email to