Hi,
I am trying to make a simulation with satellite+wired+wireless nodes in the scenario using hierarchical addresses. it gives me following error: ****************************************************************************************************************************************** ERROR: coscns2@ubuntu:~/ns-allinone-2.33/ns-2.33/tcl/ex$ ns MixedSat2.tcl num_nodes is set 4 Stub No. 1 Error!! str2addr:Address 1784827763 outside range of address field length 2048 IS IT A WAY TO AVOID USING HIERARCHICAL ADDRESSING? ****************************** here is my code ***************************** # Satellite model (Baseline) global ns set ns [new Simulator] $ns node-config -addressType hierarchical AddrParams set domain_num_ 3 ;# number of domains lappend cluster_num 4 1 1 ;# number of clusters in each domain AddrParams set cluster_num_ $cluster_num lappend eilastlevel 1 11 1 1 2 4 ;# number of nodes in each cluster AddrParams set nodes_num_ $eilastlevel ;# for each domain #========================== OPTIONS FOR SATELLITE NETWORK ============== HandoffManager/Term set elevation_mask_ 8.2 HandoffManager/Term set term_handoff_int_ 10 HandoffManager set handoff_randomization_ false global opt_sat set opt_sat(chan) Channel/Sat set opt_sat(bw_down) 1.5Mb; # Downlink bandwidth set opt_sat(bw_up) 1.5Mb; # Uplink bandwidth set opt_sat(bw_isl) 25Mb set opt_sat(phy) Phy/Sat set opt_sat(mac) Mac/Sat set opt_sat(ifq) Queue/DropTail set opt_sat(qlim) 50 set opt_sat(ll) LL/Sat set opt_sat(wiredRouting) ON set opt_sat(alt) 780; # Polar satellite altitude set opt_sat(inc) 90; # Orbit inclination #=================================== OPTIONS FOR MANET NETWORK===================== global opt_manet set opt_manet(chan) Channel/WirelessChannel ;# channel type set opt_manet(prop) Propagation/TwoRayGround ;# radio-propagation model set opt_manet(netif) Phy/WirelessPhy ;# network interface type set opt_manet(mac) Mac/802_11 ;# MAC type set opt_manet(ifq) Queue/DropTail/PriQueue ;# interface queue type set opt_manet(ll) LL ;# link layer type set opt_manet(ant) Antenna/OmniAntenna ;# antenna model set opt_manet(ifqlen) 50 ;# max packet in ifq set opt_manet(nn) 3 ;# number of mobilenodes set opt_manet(adhocRouting) DSDV ;# routing protocol set opt_manet(tr) test-mobile-satellite.tr set opt_manet(namtr) test-mobile-satellite.nam set opt_manet(stop) 250 set num_wired_nodes 2 set num_bs_nodes 1 set net_distance 10000.0 set opt(cp) "" ;# connection pattern file #set opt(sc) "../mobility/scene/scen-3-test" ;# node movement file. set opt_mobile(x) [expr $opt_manet(nn) * 100.0 * 2 + 100.0 + $net_distance] ;# x coordinate of topology set opt_mobile(y) 1000 ;# y coordinate of topology #set opt(seed) 0.0 ;# seed for random number gen. #set opt(stop) 250 ;# time to stop simulation # create topology of the wireless nodes to keep connectivity info set topo [new Topography] $topo load_flatgrid $opt_mobile(x) $opt_mobile(y) # god needs to know the number of all wireless interfaces create-god [expr $opt_manet(nn) + $num_bs_nodes] #============================== TRACE FILES ==================================== set tracefd [open $opt_manet(tr) w] $ns trace-all $tracefd $ns trace-all-satlinks $tracefd set namtracefd [open $opt_manet(namtr) w] $ns namtrace-all $namtracefd set outfile [open out.tr w] set f0 [open out0.tr w] set f1 [open out1.tr w] set f2 [open out2.tr w] $ns trace-all $outfile #============================== GEO SATELLITE NODE CONFIGURATION ================= #geo-repeater uses type Phy/Repeater $ns node-config -satNodeType geo-repeater -phyType Phy/Repeater -channelType $opt_sat(chan)- -downlinkBW $opt_sat(bw_down)-wiredRouting ON # GEO satellite at 95 degrees longitude West puts "Stub No. 1" set geo [$ns node 0.0.0] puts "Stub No. 2" $geo set-position -100 #$geo set-position 13#-95 $geo color red $geo shape box #============================== POLAR SATELLITE NODES CONFIGURATION ================= $ns node-config -satNodeType polar \ -llType $opt_sat(ll) \ -ifqType $opt_sat(ifq) \ -ifqLen $opt_sat(qlim) \ -macType $opt_sat(mac) \ -phyType $opt_sat(phy) \ -channelType $opt_sat(chan) \ -downlinkBW $opt_sat(bw_down) \ -wiredRouting $opt_sat(wiredRouting) # Create nodes n0 through n10 set n0 [$ns node 0.1.0]; set n1 [$ns node 0.1.1]; set n2 [$ns node 0.1.2]; set n3 [$ns node 0.1.3] set n4 [$ns node 0.1.4]; set n5 [$ns node 0.1.5]; set n6 [$ns node 0.1.6]; set n7 [$ns node 0.1.7] set n8 [$ns node 0.1.8]; set n9 [$ns node 0.1.9]; set n10 [$ns node 0.1.10] # Provide position information for each of these nodes set plane 1 $n0 set-position $opt(alt) $opt(inc) 0 0 $plane $n1 set-position $opt(alt) $opt(inc) 0 32.73 $plane $n2 set-position $opt(alt) $opt(inc) 0 65.45 $plane $n3 set-position $opt(alt) $opt(inc) 0 98.18 $plane $n4 set-position $opt(alt) $opt(inc) 0 130.91 $plane $n5 set-position $opt(alt) $opt(inc) 0 163.64 $plane $n6 set-position $opt(alt) $opt(inc) 0 196.36 $plane $n7 set-position $opt(alt) $opt(inc) 0 229.09 $plane $n8 set-position $opt(alt) $opt(inc) 0 261.82 $plane $n9 set-position $opt(alt) $opt(inc) 0 294.55 $plane $n10 set-position $opt(alt) $opt(inc) 0 327.27 $plane # Set up polar satellite connection $n0 set_next $n10; $n1 set_next $n0; $n2 set_next $n1; $n3 set_next $n2 $n4 set_next $n3; $n5 set_next $n4; $n6 set_next $n5; $n7 set_next $n6 $n8 set_next $n7; $n9 set_next $n8; $n10 set_next $n9 # ISLs for the polar satellites $ns add-isl intraplane $n0 $n1 $opt(bw_isl) $opt(ifq) $opt(qlim) $ns add-isl intraplane $n1 $n2 $opt(bw_isl) $opt(ifq) $opt(qlim) $ns add-isl intraplane $n2 $n3 $opt(bw_isl) $opt(ifq) $opt(qlim) $ns add-isl intraplane $n3 $n4 $opt(bw_isl) $opt(ifq) $opt(qlim) $ns add-isl intraplane $n4 $n5 $opt(bw_isl) $opt(ifq) $opt(qlim) $ns add-isl intraplane $n5 $n6 $opt(bw_isl) $opt(ifq) $opt(qlim) $ns add-isl intraplane $n6 $n7 $opt(bw_isl) $opt(ifq) $opt(qlim) $ns add-isl intraplane $n7 $n8 $opt(bw_isl) $opt(ifq) $opt(qlim) $ns add-isl intraplane $n8 $n9 $opt(bw_isl) $opt(ifq) $opt(qlim) $ns add-isl intraplane $n9 $n10 $opt(bw_isl) $opt(ifq) $opt(qlim) $ns add-isl intraplane $n10 $n0 $opt(bw_isl) $opt(ifq) $opt(qlim) #============================== SATELLITE TERMINAL NODES CONFIGURATION =================== # Configure the node generator for satellite terminals $ns node-config -satNodeType terminal \ -llType $opt_sat(ll) \ -ifqType $opt_sat(ifq) \ -ifqLen $opt_sat(qlim) \ -macType $opt_sat(mac) \ -phyType $opt_sat(phy) \ -channelType $opt_sat(chan) \ -downlinkBW $opt_sat(bw_down) \ -wiredRouting ON set vsat1 [$ns node 0.2.0] set vsat2 [$ns node 0.3.0] $vsat1 set-position 37.9 -122.3; $vsat2 set-position 42.3 -71.1; $vsat1 color blue $vsat1 shape hexagone $vsat2 color green $vsat2 shape hexagone #$vsat1 set-position 43.71 10.38; # NY #$vsat2 set-position 43.71 10.38; # SF # Connect terminals to geo satellites $vsat1 add-gsl geo $opt_sat(ll) $opt_sat(ifq) $opt_sat(qlim) $opt_sat(mac) $opt_sat(bw_up) \ $opt_sat(phy) [$geo set downlink_] [$geo set uplink_] $vsat2 add-gsl geo $opt_sat(ll) $opt_sat(ifq) $opt_sat(qlim) $opt_sat(mac) $opt_sat(bw_up) \ $opt_sat(phy) [$geo set downlink_] [$geo set uplink_] # Connect terminals to the polar satellites $vsat1 add-gsl polar $opt(ll) $opt(ifq) $opt(qlim) $opt(mac) $opt(bw_up) \ $opt(phy) [$n5 set downlink_] [$n5 set uplink_] $vsat2 add-gsl polar $opt(ll) $opt(ifq) $opt(qlim) $opt(mac) $opt(bw_up) \ $opt(phy) [$n5 set downlink_] [$n5 set uplink_] #======================== SOME DESKTOPS TO SATELLITE ======================================== # unset the satellite node type, to create other nodes. $ns unset satNodeType_ $ns unset channelType_ $ns node-config -reset # create some desktop pc to transfer data from olsr to satellite set w1 [$ns node 2.0.0] $w1 color blue $ns at 0.0 "$w1 add-mark w1 blue" set w2 [$ns node 2.0.1] $w2 color green $ns at 0.0 "$w2 add-mark w2 green" # create links from desktop to vsat $ns duplex-link $w1 $vsat1 100Mb 0.01ms DropTail $ns duplex-link $w2 $vsat2 100Mb 0.01ms DropTail #========================= MANET BASE STATION CONFIGURATION ======================= $ns node-config -adhocRouting $opt_mobile(adhocRouting) \ -llType $opt_manet(ll) \ -macType $opt_manet(mac) \ -ifqType $opt_manet(ifq) \ -ifqLen $opt_manet(ifqlen) \ -antType $opt_manet(ant) \ -propInstance [new $opt_manet(prop)] \ -phyType $opt_manet(netif) \ -channel [new $opt_manet(chan)] \ -topoInstance $topo \ -wiredRouting ON \ -agentTrace ON \ -routerTrace ON \ -macTrace ON set temp {1.0.0 1.0.1 1.0.2 1.0.3} # create base station 1 set BS1 [ $ns_ node [lindex $temp 0]] $BS1 random-motion 0 $BS1 color yellow $BS1 shape box $BS1 set X_ [expr $opt_manet(nn) * 100.0] $BS1 set Y_ [expr 500.0 + ((($opt_manet(nn) * 93) % 21) - 10 ) * 10.0] $BS1 set Z_ 0.0 # ================ CREATE MOBILE NODES ================================ for {set i 0} {$i < $opt_mobile(nn)} {incr i} { #set node1($i) [$ns node 1.0.[expr $i+1]] set node_($i) [ $ns_ node [lindex $temp [expr $i+1]] ] $node1($i) color green $node1($i) random-motion 0 $node1($i) set X_ [expr $i * 100.0 + $net_distance] $node1($i) set Y_ [expr 500.0 + ((($i * 93) % 21) - 10 ) * 10.0] $node1($i) set Z_ 0.0 #$ns initial_node_pos $node1($i) 20 $node1($i) base-station [AddrParams addr2id [$BS1 node-addr]] } # create links between wired and BS nodes #$ns duplex-link $w1 $BS1 100Mb 1ms DropTail $ns duplex-link $vsat1 $BS1 100Mb 1ms DropTail #===================== CREATE TRAFFIC / SETUP CONNECTIONS ============================== #Create a UDP agent 1 set udp1 [new Agent/UDP] #Attach agent udp1 to mobile node 0 $ns attach-agent $node1(0) $udp1 #Create traffic generator for udp agent set cbr1 [new Application/Traffic/CBR] $cbr1 attach-agent $udp1 $cbr1 set packet_size_ 1000 $cbr1 set interval_ 5.0 #Create a UDP agent 2 set udp2 [new Agent/UDP] #Attach agent udp1 to mobile node 0 $ns attach-agent $node1(0) $udp2 #Create traffic generator for udp agent set cbr2 [new Application/Traffic/CBR] $cbr2 attach-agent $udp2 $cbr2 set packet_size_ 1000 $cbr2 set interval_ 5.0 #Create a UDP agent 3 set udp3 [new Agent/UDP] #Attach agent udp1 to mobile node 0 $ns attach-agent $w1 $udp3 #Create traffic generator for udp agent set cbr3 [new Application/Traffic/CBR] $cbr3 attach-agent $udp3 $cbr3 set packet_size_ 1000 $cbr3 set interval_ 7.5 #Create a null agent set sink1 [new Agent/Null] #Attach agent sink1 to node W2 $ns attach-agent $W2 $sink1 # Connect the agents $ns connect $udp1 $sink1 $ns connect $udp2 $sink1 $ns connect $udp3 $sink1 #=================================== Log files =================================== proc record {} { global null1 f0 f1 f2 # Get an instance of the simulator set ns [Simulator instance] # Set the time after which the procedure should be called again set time 5.0 # How many bytes have been received by the traffic sinks? set bw1 [$null1 set bytes_] # Get the current time set now [$ns now] # Calculate the throughput and write it to the files puts $f1 "$now [expr $bw1]" # Reset the bytes_ values on the traffic sinks $null1 set bytes_ 0 # Re-schedule the procedure $ns at [expr $now+$time] "record" } set satrouteobject_ [new SatRouteObject] $satrouteobject_ compute_routes $ns at 1.0 "record" $ns at 1.0 "$cbr1 start" $ns at 40.0 "$cbr2 start" $ns at 20.0 "$cbr3 start" $ns at 797.0 "finish" proc finish {} { global ns outfile f0 f1 f2 $ns flush-trace close $outfile close $f0 close $f1 close $f2 exit 0 } $ns at $opt_mobile(stop).1 "puts \"NS EXITING...\" ; $ns halt" puts "Starting Simulation..." $ns run