Hi...
i am trying to simulate mobile node a a multihome.....
while i execute...i am getting following error....
 
# scenario1.tcl

# simulation of a mSCTP in UMTS/WLAN environment

# Mobile to Core node(MN-to-CN) traffic

#########################

# WLAN network interface#

#########################

Mac/802_11 set basicRate_ 1Mb

Mac/802_11 set dataRate_ 11Mb ;# 802.11b data rate

#########################

# UMTS network interface#

#########################

Phy/WirelessPhy set freq_ 2.4e+9 ;#UMTS radio frequency

Phy/WirelessPhy set Pt_ 3.3962527e-2 ;#UMTS coverage 

Phy/WirelessPhy set RXThresh_ 6.309573e-11

Phy/WirelessPhy set CSThresh_ 6.309573e-11

Mac/802_11 set dataRate_ 2.0Mb ;# UMTS data rate

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

# Define options

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

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

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

set opt(netif) Phy/WirelessPhy ;# network interface type

set opt(mac) Mac/802_11 ;# MAC type

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

set opt(ll) LL ;# link layer type

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

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

set opt(nn) 1 ;# number of mobilenodes

set opt(adhocRouting) DSDV ;# routing protocol

set opt(x) 670 ;# x coordinate of topology

set opt(y) 670 ;# y coordinate of topology

set opt(seed) 0.0 ;# random seed

set opt(ftp-start) 100.0

set opt(cbr-start) 150.0

set opt(stop) 250 ;# time to stop simulation

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

# Define options for UMTS

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

 

set opt(umtsType) NodeB ;# Umts node UE/NodeB

set opt(phylayer) Phy/UmtsNodeB ;# nodeB

set opt(Umac) Mac/UmtsNodeb ;# MAC type

set opt(ftp-start) 100.0

set opt(stop) 250 ;# time to stop simulation

set num_wired_nodes 2

 

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

 

# create simulator instance

set ns_ [new Simulator]

# set up for hierarchical routing

 

$ns_ node-config -addressType hierarchical

AddrParams set domain_num_ 3 

lappend cluster_num 2 1 1 

AddrParams set cluster_num_ $cluster_num

lappend eilastlevel 1 1 2 1 

AddrParams set nodes_num_ $eilastlevel 

set tracefd [open msctp-out.tr w]

set namtrace [open msctp-out.nam w]

$ns_ use-newtrace

$ns_ trace-all $tracefd

$ns_ namtrace-all-wireless $namtrace $opt(x) $opt(y)

# Here the topography object define

set topo [new Topography]

 

$topo load_flatgrid $opt(x) $opt(y)

 

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

#Here wired nodes

 

 

set temp {0.0.0 0.1.0} 

for {set i 0} {$i < $num_wired_nodes} {incr i} {

set W($i) [$ns_ node [lindex $temp $i]] 

}

# Configure for ForeignAgent and HomeAgent nodes

#HOME AGNET =NODE-B or base station

 

$ns_ node-config -mobileIP ON \

-adhocRouting $opt(adhocRouting) \

-llType $opt(ll) \

-macType $opt(mac) \

-ifqType $opt(ifq) \

-ifqLen $opt(ifqlen) \

-antType $opt(ant) \

-propType $opt(prop) \

-phyType $opt(netif) \

-channelType $opt(chan) \

-topoInstance $topo \

-wiredRouting ON \

-agentTrace ON \

-routerTrace OFF \

-macTrace ON 

 

 

$ns_ node-config -UmtsNodeType bs \

 

# Here Node-B and Access Point

 

 

set HA [$ns_ node 1.0.0]

set FA [$ns_ node 2.0.0]

$HA random-motion 0

$FA random-motion 0

# Position (fixed) for base-station nodes (HA & FA).

$HA set X_ 1.000000000000

$HA set Y_ 2.000000000000

$HA set Z_ 0.000000000000

$FA set X_ 650.000000000000

$FA set Y_ 600.000000000000

$FA set Z_ 0.000000000000

# Configure a mobilenode that would be moving between UMTS and WLAN.

 

 

 

 

$ns_ node-config -multihome-core \

-wiredRouting OFF \

-mobileIP OFF \

-macTrace ON 

 

set MH [$ns_ node 0.0.0]

set MH_if0 [$ns_ node 1.0.1]

set MH_if1 [$ns_ node 2.0.1]

 

$MH addif $MH_if0

$MH addif $MH_if1

#$ns_ multihome-add-interface $MH $MH_if0

#$ns_ multihome-add-interface $MH $MH_if1

 

 

 

 

#set node_(0) $MH

#set node_(1) $MH

 

set fid_ 2

set HAaddress [AddrParams addr2id [$HA node-addr]]

[$MH_if0 set regagent_] set home_agent_ $HAaddress

 

set FAaddress [AddrParams addr2id [$FA node-addr]]

[$MH_if1 set regagent_] set foreign_agent_ $FAaddress

 

 

# movement of the Mobile Node

$MH set Z_ 0.000000000000

$MH set Y_ 2.000000000000

$MH set X_ 2.000000000000

# MH starts to move towards FA

 

$ns_ at 100.000000000000 "$MH setdest 640.000000000000
610.000000000000 20.000000000000"

# goes back to HA

 

$ns_ at 200.000000000000 "$MH setdest 2.000000000000 2.000000000000
20.000000000000"

# links between wired and BaseStation nodes

$ns_ duplex-link $W(0) $W(1) 10Mb 5ms DropTail

$ns_ duplex-link $W(1) $HA 5Mb 2ms DropTail

$ns_ duplex-link $W(1) $FA 5Mb 2ms DropTail

$ns_ duplex-link-op $W(0) $W(1) orient down

$ns_ duplex-link-op $W(1) $HA orient left-down

$ns_ duplex-link-op $W(1) $FA orient right-down

# setup SCTP connections between a wired node and the MobileHost

$ns_ node-config -mobileIP OFF

set sctp1 [new Agent/SCTP]

$sctp1 set class_ 2

$ns_ multihome-attach-agent $MH_if0 $sctp1

 

 

set sink1 [new Agent/SCTP]

$ns_ attach-agent $W(0) $sink1

$ns_ connect $sctp1 $sink1

$sctp1 force-source $MH_if0

 

$ns_ at 200.0 "$sctp1 force-source $MH_if0"

$ns_ at 100.0 "$sctp1 force-source $MH_if1"

 

 

$sctp1 set fid_ 1

set ftp [new Application/FTP]

$ftp attach-agent $sctp1

$ftp set packet_size_ 1000

$ftp set rate_ 1mb

#Setup a UDP connection

set udp [new Agent/UDP]

$ns_ attach-agent $MH $udp

set null [new Agent/Null]

$ns_ attach-agent $W(0) $null

$ns_ connect $udp $null

$udp set fid_ 2

 

#CBR over UDP connection

set cbr [new Application/Traffic/CBR]

$cbr attach-agent $udp

$cbr set type_ CBR

$cbr set packet_size_ 1000

$cbr set rate_ 1mb

 

 

$ns_ at $opt(ftp-start) "$ftp start"

$ns_ at $opt(cbr-start) "$cbr start"

 

# Define initial node position in nam

#for {set i 0} {$i < $opt(nn)} {incr i} {

# 20 defines the node size in nam, must adjust it according to your

# scenario

# The function must be called after mobility model is defined

# $ns_ initial_node_pos $node_($i) 20

#} 

# Tell all nodes when the siulation ends

#for {set i 0} {$i < $opt(nn) } {incr i} {

#$ns_ at $opt(stop).0 "$node_($i) reset";

#}

 

 

$ns_ at $opt(stop).0 "$HA reset";

$ns_ at $opt(stop).0 "$FA reset";

$ns_ at $opt(stop).0002 "puts \"NS EXITING...\" ; $ns_ halt"

$ns_ at $opt(stop).0001 "stop"

 

$ns_ run

 

 

 

Reply via email to