4 réponses
merci c est pas juste un probleme de compilation c est qu il ne reconnait pas le nom de la classe comme un type complet
et j arrive pas a trouvé une solution pour qu il l accpete
et j arrive pas a trouvé une solution pour qu il l accpete
Bonjour
je dois ajouter du code dans le fichier MAC802.11.
J ai une classe qui s appel Mac820_11 qui hérite de la classe Mac
je dois déclarer un objet de cette classe
qd je fais Mac802_11 nom_de_l_objet il ne compile plus et me sort une erreur type incomplete
D avance merci.
je dois ajouter du code dans le fichier MAC802.11.
J ai une classe qui s appel Mac820_11 qui hérite de la classe Mac
je dois déclarer un objet de cette classe
qd je fais Mac802_11 nom_de_l_objet il ne compile plus et me sort une erreur type incomplete
D avance merci.
Un simple make clean, suivi d'un make dans le répertoir ns2 suffit a le recomplier...
Bonjour,
j'aurai besoin de votre aide si vous voullez bien sur. hier quand j'ai installé NS-allinone-2.28 ça marche bien, et quand j'ai voulu rajouter les modules Wimax car je dois faire une simulation du handover de wimax rien ne marche. et j'ai refais l'installation de NS, l'exemple que j'ai exécuté hier marchait mais aujourdhui ne marche pas, voici ce qu'il m'affiche
ns example1b.tcl
ns: finish: couldn't execute "nam": no such file or directory
while executing
"exec nam example1b.nam &"
(procedure "finish" line 7)
invoked from within
"finish"
je vous remercie pour votre aide.
j'aurai besoin de votre aide si vous voullez bien sur. hier quand j'ai installé NS-allinone-2.28 ça marche bien, et quand j'ai voulu rajouter les modules Wimax car je dois faire une simulation du handover de wimax rien ne marche. et j'ai refais l'installation de NS, l'exemple que j'ai exécuté hier marchait mais aujourdhui ne marche pas, voici ce qu'il m'affiche
ns example1b.tcl
ns: finish: couldn't execute "nam": no such file or directory
while executing
"exec nam example1b.nam &"
(procedure "finish" line 7)
invoked from within
"finish"
je vous remercie pour votre aide.
hello
i would like to try to create the iridium satellite constellation
but the nam cant' show me any thing, i don't know where is the problem
please answer me!!!
this is my code:
global ns
set ns [new Simulator]
# Global configuration parameters
HandoffManager/Term set elevation_mask_ 8.2
HandoffManager/Term set term_handoff_int_ 10
HandoffManager/Sat set sat_handoff_int_ 10
HandoffManager/Sat set latitude_threshold_ 60
HandoffManager/Sat set longitude_threshold_ 10
HandoffManager set handoff_randomization_ true
SatRouteObject set metric_delay_ true
# Set this to false if opt(wiredRouting) == ON below
SatRouteObject set data_driven_computation_ true
# "ns-random 0" sets seed heuristically; other integers are deterministic
ns-random 1
Agent set ttl_ 32; # Should be > than max diameter in network
# One plane of Iridium-like satellites
global opt
set opt(chan) Channel/Sat
set opt(bw_down) 1.5Mb; # Downlink bandwidth (satellite to ground)
set opt(bw_up) 1.5Mb; # Uplink bandwidth
set opt(bw_isl) 25Mb
set opt(phy) Phy/Sat
set opt(mac) Mac/Sat
set opt(ifq) Queue/DropTail
set opt(qlim) 50
set opt(ll) LL/Sat
set opt(wiredRouting) OFF
set opt(alt) 780; # Polar satellite altitude (Iridium)
set opt(inc) 86.4; # Orbit inclination w.r.t. equator
# XXX This tracing enabling must precede link and node creation
set outfile [open out.tr w]
$ns trace-all $outfile
set nf [open out.nam w]
$ns namtrace-all $nf
# Create the satellite nodes
# Nodes 0-99 are satellite nodes; 100 and higher are earth terminals
$ns node-config -satNodeType polar \
-llType $opt(ll) \
-ifqType $opt(ifq) \
-ifqLen $opt(qlim) \
-macType $opt(mac) \
-phyType $opt(phy) \
-channelType $opt(chan) \
-downlinkBW $opt(bw_down) \
-wiredRouting $opt(wiredRouting)
set alt $opt(alt)
set inc $opt(inc)
#source sat-iridium-nodes.tcl
set plane 1
set n0 [$ns node]; $n0 set-position $alt $inc 0 0 $plane
set n1 [$ns node]; $n1 set-position $alt $inc 0 32.73 $plane
set n2 [$ns node]; $n2 set-position $alt $inc 0 65.45 $plane
set n3 [$ns node]; $n3 set-position $alt $inc 0 98.18 $plane
set n4 [$ns node]; $n4 set-position $alt $inc 0 130.91 $plane
set n5 [$ns node]; $n5 set-position $alt $inc 0 163.64 $plane
set n6 [$ns node]; $n6 set-position $alt $inc 0 196.36 $plane
set n7 [$ns node]; $n7 set-position $alt $inc 0 229.09 $plane
set n8 [$ns node]; $n8 set-position $alt $inc 0 261.82 $plane
set n9 [$ns node]; $n9 set-position $alt $inc 0 294.55 $plane
set n10 [$ns node]; $n10 set-position $alt $inc 0 327.27 $plane
incr plane
set n15 [$ns node]; $n15 set-position $alt $inc 31.6 16.36 $plane
set n16 [$ns node]; $n16 set-position $alt $inc 31.6 49.09 $plane
set n17 [$ns node]; $n17 set-position $alt $inc 31.6 81.82 $plane
set n18 [$ns node]; $n18 set-position $alt $inc 31.6 114.55 $plane
set n19 [$ns node]; $n19 set-position $alt $inc 31.6 147.27 $plane
set n20 [$ns node]; $n20 set-position $alt $inc 31.6 180 $plane
set n21 [$ns node]; $n21 set-position $alt $inc 31.6 212.73 $plane
set n22 [$ns node]; $n22 set-position $alt $inc 31.6 245.45 $plane
set n23 [$ns node]; $n23 set-position $alt $inc 31.6 278.18 $plane
set n24 [$ns node]; $n24 set-position $alt $inc 31.6 310.91 $plane
set n25 [$ns node]; $n25 set-position $alt $inc 31.6 343.64 $plane
incr plane
set n30 [$ns node]; $n30 set-position $alt $inc 63.2 0 $plane
set n31 [$ns node]; $n31 set-position $alt $inc 63.2 32.73 $plane
set n32 [$ns node]; $n32 set-position $alt $inc 63.2 65.45 $plane
set n33 [$ns node]; $n33 set-position $alt $inc 63.2 98.18 $plane
set n34 [$ns node]; $n34 set-position $alt $inc 63.2 130.91 $plane
set n35 [$ns node]; $n35 set-position $alt $inc 63.2 163.64 $plane
set n36 [$ns node]; $n36 set-position $alt $inc 63.2 196.36 $plane
set n37 [$ns node]; $n37 set-position $alt $inc 63.2 229.09 $plane
set n38 [$ns node]; $n38 set-position $alt $inc 63.2 261.82 $plane
set n39 [$ns node]; $n39 set-position $alt $inc 63.2 294.55 $plane
set n40 [$ns node]; $n40 set-position $alt $inc 63.2 327.27 $plane
incr plane
set n45 [$ns node]; $n45 set-position $alt $inc 94.8 16.36 $plane
set n46 [$ns node]; $n46 set-position $alt $inc 94.8 49.09 $plane
set n47 [$ns node]; $n47 set-position $alt $inc 94.8 81.82 $plane
set n48 [$ns node]; $n48 set-position $alt $inc 94.8 114.55 $plane
set n49 [$ns node]; $n49 set-position $alt $inc 94.8 147.27 $plane
set n50 [$ns node]; $n50 set-position $alt $inc 94.8 180 $plane
set n51 [$ns node]; $n51 set-position $alt $inc 94.8 212.73 $plane
set n52 [$ns node]; $n52 set-position $alt $inc 94.8 245.45 $plane
set n53 [$ns node]; $n53 set-position $alt $inc 94.8 278.18 $plane
set n54 [$ns node]; $n54 set-position $alt $inc 94.8 310.91 $plane
set n55 [$ns node]; $n55 set-position $alt $inc 94.8 343.64 $plane
incr plane
set n60 [$ns node]; $n60 set-position $alt $inc 126.4 0 $plane
set n61 [$ns node]; $n61 set-position $alt $inc 126.4 32.73 $plane
set n62 [$ns node]; $n62 set-position $alt $inc 126.4 65.45 $plane
set n63 [$ns node]; $n63 set-position $alt $inc 126.4 98.18 $plane
set n64 [$ns node]; $n64 set-position $alt $inc 126.4 130.91 $plane
set n65 [$ns node]; $n65 set-position $alt $inc 126.4 163.64 $plane
set n66 [$ns node]; $n66 set-position $alt $inc 126.4 196.36 $plane
set n67 [$ns node]; $n67 set-position $alt $inc 126.4 229.09 $plane
set n68 [$ns node]; $n68 set-position $alt $inc 126.4 261.82 $plane
set n69 [$ns node]; $n69 set-position $alt $inc 126.4 294.55 $plane
set n70 [$ns node]; $n70 set-position $alt $inc 126.4 327.27 $plane
incr plane
set n75 [$ns node]; $n75 set-position $alt $inc 158 16.36 $plane
set n76 [$ns node]; $n76 set-position $alt $inc 158 49.09 $plane
set n77 [$ns node]; $n77 set-position $alt $inc 158 81.82 $plane
set n78 [$ns node]; $n78 set-position $alt $inc 158 114.55 $plane
set n79 [$ns node]; $n79 set-position $alt $inc 158 147.27 $plane
set n80 [$ns node]; $n80 set-position $alt $inc 158 180 $plane
set n81 [$ns node]; $n81 set-position $alt $inc 158 212.73 $plane
set n82 [$ns node]; $n82 set-position $alt $inc 158 245.45 $plane
set n83 [$ns node]; $n83 set-position $alt $inc 158 278.18 $plane
set n84 [$ns node]; $n84 set-position $alt $inc 158 310.91 $plane
set n85 [$ns node]; $n85 set-position $alt $inc 158 343.64 $plane
# By setting the next_ variable on polar sats; handoffs can be optimized
$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
$n15 set_next $n25; $n16 set_next $n15; $n17 set_next $n16; $n18 set_next $n17
$n19 set_next $n18; $n20 set_next $n19; $n21 set_next $n20; $n22 set_next $n21
$n23 set_next $n22; $n24 set_next $n23; $n25 set_next $n24
$n30 set_next $n40; $n31 set_next $n30; $n32 set_next $n31; $n33 set_next $n32
$n34 set_next $n33; $n35 set_next $n34; $n36 set_next $n35; $n37 set_next $n36
$n38 set_next $n37; $n39 set_next $n38; $n40 set_next $n39
$n45 set_next $n55; $n46 set_next $n45; $n47 set_next $n46; $n48 set_next $n47
$n49 set_next $n48; $n50 set_next $n49; $n51 set_next $n50; $n52 set_next $n51
$n53 set_next $n52; $n54 set_next $n53; $n55 set_next $n54
$n60 set_next $n70; $n61 set_next $n60; $n62 set_next $n61; $n63 set_next $n62
$n64 set_next $n63; $n65 set_next $n64; $n66 set_next $n65; $n67 set_next $n66
$n68 set_next $n67; $n69 set_next $n68; $n70 set_next $n69
$n75 set_next $n85; $n76 set_next $n75; $n77 set_next $n76; $n78 set_next $n77
$n79 set_next $n78; $n80 set_next $n79; $n81 set_next $n80; $n82 set_next $n81
$n83 set_next $n82; $n84 set_next $n83; $n85 set_next $n84
# configure the ISLs
#source sat-iridium-links.tcl
# Now that the positions are set up, configure the ISLs
# Plane 1 intraplane
$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)
# Plane 2 intraplane
$ns add-isl intraplane $n15 $n16 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n16 $n17 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n17 $n18 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n18 $n19 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n19 $n20 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n20 $n21 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n21 $n22 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n22 $n23 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n23 $n24 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n24 $n25 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n25 $n15 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 3 intraplane
$ns add-isl intraplane $n30 $n31 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n31 $n32 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n32 $n33 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n33 $n34 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n34 $n35 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n35 $n36 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n36 $n37 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n37 $n38 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n38 $n39 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n39 $n40 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n40 $n30 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 4 intraplane
$ns add-isl intraplane $n45 $n46 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n46 $n47 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n47 $n48 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n48 $n49 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n49 $n50 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n50 $n51 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n51 $n52 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n52 $n53 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n53 $n54 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n54 $n55 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n55 $n45 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 5 intraplane
$ns add-isl intraplane $n60 $n61 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n61 $n62 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n62 $n63 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n63 $n64 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n64 $n65 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n65 $n66 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n66 $n67 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n67 $n68 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n68 $n69 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n69 $n70 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n70 $n60 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 6 intraplane
$ns add-isl intraplane $n75 $n76 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n76 $n77 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n77 $n78 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n78 $n79 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n79 $n80 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n80 $n81 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n81 $n82 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n82 $n83 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n83 $n84 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n84 $n85 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n85 $n75 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Interplane ISLs
# 2 interplane ISLs per satellite (one along the seam)
# Plane 1-2
$ns add-isl interplane $n0 $n15 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n1 $n16 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n2 $n17 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n3 $n18 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n4 $n19 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n5 $n20 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n6 $n21 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n7 $n22 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n8 $n23 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n9 $n24 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n10 $n25 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 2-3
$ns add-isl interplane $n15 $n30 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n16 $n31 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n17 $n32 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n18 $n33 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n19 $n34 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n20 $n35 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n21 $n36 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n22 $n37 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n23 $n38 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n24 $n39 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n25 $n40 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 3-4
$ns add-isl interplane $n30 $n45 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n31 $n46 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n32 $n47 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n33 $n48 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n34 $n49 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n35 $n50 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n36 $n51 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n37 $n52 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n38 $n53 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n39 $n54 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n40 $n55 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 4-5
$ns add-isl interplane $n45 $n60 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n46 $n61 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n47 $n62 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n48 $n63 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n49 $n64 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n50 $n65 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n51 $n66 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n52 $n67 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n53 $n68 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n54 $n69 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n55 $n70 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 5-6
$ns add-isl interplane $n60 $n75 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n61 $n76 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n62 $n77 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n63 $n78 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n64 $n79 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n65 $n80 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n66 $n81 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n67 $n82 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n68 $n83 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n69 $n84 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n70 $n85 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Set up terrestrial nodes
$ns node-config -satNodeType terminal
set n100 [$ns node]
$n100 set-position 37.9 -122.3; # Berkeley
set n101 [$ns node]
$n101 set-position 42.3 -71.1; # Boston
# Add GSL links
# It doesn't matter what the sat node is (handoff algorithm will reset it)
$n100 add-gsl polar $opt(ll) $opt(ifq) $opt(qlim) $opt(mac) $opt(bw_up) \
$opt(phy) [$n0 set downlink_] [$n0 set uplink_]
$n101 add-gsl polar $opt(ll) $opt(ifq) $opt(qlim) $opt(mac) $opt(bw_up) \
$opt(phy) [$n0 set downlink_] [$n0 set uplink_]
# Trace all queues
$ns trace-all-satlinks $outfile
$ns_ namtrace-all-satlinks $nf
# Attach agents
set udp0 [new Agent/UDP]
$ns attach-agent $n100 $udp0
set cbr0 [new Application/Traffic/CBR]
$cbr0 attach-agent $udp0
$cbr0 set interval_ 1.0
set null0 [new Agent/Null]
$ns attach-agent $n101 $null0
$ns connect $udp0 $null0
$ns at 1.0 "$cbr0 start"
# We're using a centralized routing genie-- create and start it here
set satrouteobject_ [new SatRouteObject]
$satrouteobject_ compute_routes
$ns at 30.0 "finish" ; # one earth rotation
proc finish {} {
global ns outfile nf
$ns flush-trace
close $outfile
close $nf
puts "running nam..."
exec nam out.nam &
exit 0
}
$ns run
i would like to try to create the iridium satellite constellation
but the nam cant' show me any thing, i don't know where is the problem
please answer me!!!
this is my code:
global ns
set ns [new Simulator]
# Global configuration parameters
HandoffManager/Term set elevation_mask_ 8.2
HandoffManager/Term set term_handoff_int_ 10
HandoffManager/Sat set sat_handoff_int_ 10
HandoffManager/Sat set latitude_threshold_ 60
HandoffManager/Sat set longitude_threshold_ 10
HandoffManager set handoff_randomization_ true
SatRouteObject set metric_delay_ true
# Set this to false if opt(wiredRouting) == ON below
SatRouteObject set data_driven_computation_ true
# "ns-random 0" sets seed heuristically; other integers are deterministic
ns-random 1
Agent set ttl_ 32; # Should be > than max diameter in network
# One plane of Iridium-like satellites
global opt
set opt(chan) Channel/Sat
set opt(bw_down) 1.5Mb; # Downlink bandwidth (satellite to ground)
set opt(bw_up) 1.5Mb; # Uplink bandwidth
set opt(bw_isl) 25Mb
set opt(phy) Phy/Sat
set opt(mac) Mac/Sat
set opt(ifq) Queue/DropTail
set opt(qlim) 50
set opt(ll) LL/Sat
set opt(wiredRouting) OFF
set opt(alt) 780; # Polar satellite altitude (Iridium)
set opt(inc) 86.4; # Orbit inclination w.r.t. equator
# XXX This tracing enabling must precede link and node creation
set outfile [open out.tr w]
$ns trace-all $outfile
set nf [open out.nam w]
$ns namtrace-all $nf
# Create the satellite nodes
# Nodes 0-99 are satellite nodes; 100 and higher are earth terminals
$ns node-config -satNodeType polar \
-llType $opt(ll) \
-ifqType $opt(ifq) \
-ifqLen $opt(qlim) \
-macType $opt(mac) \
-phyType $opt(phy) \
-channelType $opt(chan) \
-downlinkBW $opt(bw_down) \
-wiredRouting $opt(wiredRouting)
set alt $opt(alt)
set inc $opt(inc)
#source sat-iridium-nodes.tcl
set plane 1
set n0 [$ns node]; $n0 set-position $alt $inc 0 0 $plane
set n1 [$ns node]; $n1 set-position $alt $inc 0 32.73 $plane
set n2 [$ns node]; $n2 set-position $alt $inc 0 65.45 $plane
set n3 [$ns node]; $n3 set-position $alt $inc 0 98.18 $plane
set n4 [$ns node]; $n4 set-position $alt $inc 0 130.91 $plane
set n5 [$ns node]; $n5 set-position $alt $inc 0 163.64 $plane
set n6 [$ns node]; $n6 set-position $alt $inc 0 196.36 $plane
set n7 [$ns node]; $n7 set-position $alt $inc 0 229.09 $plane
set n8 [$ns node]; $n8 set-position $alt $inc 0 261.82 $plane
set n9 [$ns node]; $n9 set-position $alt $inc 0 294.55 $plane
set n10 [$ns node]; $n10 set-position $alt $inc 0 327.27 $plane
incr plane
set n15 [$ns node]; $n15 set-position $alt $inc 31.6 16.36 $plane
set n16 [$ns node]; $n16 set-position $alt $inc 31.6 49.09 $plane
set n17 [$ns node]; $n17 set-position $alt $inc 31.6 81.82 $plane
set n18 [$ns node]; $n18 set-position $alt $inc 31.6 114.55 $plane
set n19 [$ns node]; $n19 set-position $alt $inc 31.6 147.27 $plane
set n20 [$ns node]; $n20 set-position $alt $inc 31.6 180 $plane
set n21 [$ns node]; $n21 set-position $alt $inc 31.6 212.73 $plane
set n22 [$ns node]; $n22 set-position $alt $inc 31.6 245.45 $plane
set n23 [$ns node]; $n23 set-position $alt $inc 31.6 278.18 $plane
set n24 [$ns node]; $n24 set-position $alt $inc 31.6 310.91 $plane
set n25 [$ns node]; $n25 set-position $alt $inc 31.6 343.64 $plane
incr plane
set n30 [$ns node]; $n30 set-position $alt $inc 63.2 0 $plane
set n31 [$ns node]; $n31 set-position $alt $inc 63.2 32.73 $plane
set n32 [$ns node]; $n32 set-position $alt $inc 63.2 65.45 $plane
set n33 [$ns node]; $n33 set-position $alt $inc 63.2 98.18 $plane
set n34 [$ns node]; $n34 set-position $alt $inc 63.2 130.91 $plane
set n35 [$ns node]; $n35 set-position $alt $inc 63.2 163.64 $plane
set n36 [$ns node]; $n36 set-position $alt $inc 63.2 196.36 $plane
set n37 [$ns node]; $n37 set-position $alt $inc 63.2 229.09 $plane
set n38 [$ns node]; $n38 set-position $alt $inc 63.2 261.82 $plane
set n39 [$ns node]; $n39 set-position $alt $inc 63.2 294.55 $plane
set n40 [$ns node]; $n40 set-position $alt $inc 63.2 327.27 $plane
incr plane
set n45 [$ns node]; $n45 set-position $alt $inc 94.8 16.36 $plane
set n46 [$ns node]; $n46 set-position $alt $inc 94.8 49.09 $plane
set n47 [$ns node]; $n47 set-position $alt $inc 94.8 81.82 $plane
set n48 [$ns node]; $n48 set-position $alt $inc 94.8 114.55 $plane
set n49 [$ns node]; $n49 set-position $alt $inc 94.8 147.27 $plane
set n50 [$ns node]; $n50 set-position $alt $inc 94.8 180 $plane
set n51 [$ns node]; $n51 set-position $alt $inc 94.8 212.73 $plane
set n52 [$ns node]; $n52 set-position $alt $inc 94.8 245.45 $plane
set n53 [$ns node]; $n53 set-position $alt $inc 94.8 278.18 $plane
set n54 [$ns node]; $n54 set-position $alt $inc 94.8 310.91 $plane
set n55 [$ns node]; $n55 set-position $alt $inc 94.8 343.64 $plane
incr plane
set n60 [$ns node]; $n60 set-position $alt $inc 126.4 0 $plane
set n61 [$ns node]; $n61 set-position $alt $inc 126.4 32.73 $plane
set n62 [$ns node]; $n62 set-position $alt $inc 126.4 65.45 $plane
set n63 [$ns node]; $n63 set-position $alt $inc 126.4 98.18 $plane
set n64 [$ns node]; $n64 set-position $alt $inc 126.4 130.91 $plane
set n65 [$ns node]; $n65 set-position $alt $inc 126.4 163.64 $plane
set n66 [$ns node]; $n66 set-position $alt $inc 126.4 196.36 $plane
set n67 [$ns node]; $n67 set-position $alt $inc 126.4 229.09 $plane
set n68 [$ns node]; $n68 set-position $alt $inc 126.4 261.82 $plane
set n69 [$ns node]; $n69 set-position $alt $inc 126.4 294.55 $plane
set n70 [$ns node]; $n70 set-position $alt $inc 126.4 327.27 $plane
incr plane
set n75 [$ns node]; $n75 set-position $alt $inc 158 16.36 $plane
set n76 [$ns node]; $n76 set-position $alt $inc 158 49.09 $plane
set n77 [$ns node]; $n77 set-position $alt $inc 158 81.82 $plane
set n78 [$ns node]; $n78 set-position $alt $inc 158 114.55 $plane
set n79 [$ns node]; $n79 set-position $alt $inc 158 147.27 $plane
set n80 [$ns node]; $n80 set-position $alt $inc 158 180 $plane
set n81 [$ns node]; $n81 set-position $alt $inc 158 212.73 $plane
set n82 [$ns node]; $n82 set-position $alt $inc 158 245.45 $plane
set n83 [$ns node]; $n83 set-position $alt $inc 158 278.18 $plane
set n84 [$ns node]; $n84 set-position $alt $inc 158 310.91 $plane
set n85 [$ns node]; $n85 set-position $alt $inc 158 343.64 $plane
# By setting the next_ variable on polar sats; handoffs can be optimized
$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
$n15 set_next $n25; $n16 set_next $n15; $n17 set_next $n16; $n18 set_next $n17
$n19 set_next $n18; $n20 set_next $n19; $n21 set_next $n20; $n22 set_next $n21
$n23 set_next $n22; $n24 set_next $n23; $n25 set_next $n24
$n30 set_next $n40; $n31 set_next $n30; $n32 set_next $n31; $n33 set_next $n32
$n34 set_next $n33; $n35 set_next $n34; $n36 set_next $n35; $n37 set_next $n36
$n38 set_next $n37; $n39 set_next $n38; $n40 set_next $n39
$n45 set_next $n55; $n46 set_next $n45; $n47 set_next $n46; $n48 set_next $n47
$n49 set_next $n48; $n50 set_next $n49; $n51 set_next $n50; $n52 set_next $n51
$n53 set_next $n52; $n54 set_next $n53; $n55 set_next $n54
$n60 set_next $n70; $n61 set_next $n60; $n62 set_next $n61; $n63 set_next $n62
$n64 set_next $n63; $n65 set_next $n64; $n66 set_next $n65; $n67 set_next $n66
$n68 set_next $n67; $n69 set_next $n68; $n70 set_next $n69
$n75 set_next $n85; $n76 set_next $n75; $n77 set_next $n76; $n78 set_next $n77
$n79 set_next $n78; $n80 set_next $n79; $n81 set_next $n80; $n82 set_next $n81
$n83 set_next $n82; $n84 set_next $n83; $n85 set_next $n84
# configure the ISLs
#source sat-iridium-links.tcl
# Now that the positions are set up, configure the ISLs
# Plane 1 intraplane
$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)
# Plane 2 intraplane
$ns add-isl intraplane $n15 $n16 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n16 $n17 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n17 $n18 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n18 $n19 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n19 $n20 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n20 $n21 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n21 $n22 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n22 $n23 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n23 $n24 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n24 $n25 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n25 $n15 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 3 intraplane
$ns add-isl intraplane $n30 $n31 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n31 $n32 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n32 $n33 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n33 $n34 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n34 $n35 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n35 $n36 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n36 $n37 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n37 $n38 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n38 $n39 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n39 $n40 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n40 $n30 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 4 intraplane
$ns add-isl intraplane $n45 $n46 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n46 $n47 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n47 $n48 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n48 $n49 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n49 $n50 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n50 $n51 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n51 $n52 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n52 $n53 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n53 $n54 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n54 $n55 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n55 $n45 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 5 intraplane
$ns add-isl intraplane $n60 $n61 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n61 $n62 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n62 $n63 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n63 $n64 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n64 $n65 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n65 $n66 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n66 $n67 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n67 $n68 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n68 $n69 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n69 $n70 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n70 $n60 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 6 intraplane
$ns add-isl intraplane $n75 $n76 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n76 $n77 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n77 $n78 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n78 $n79 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n79 $n80 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n80 $n81 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n81 $n82 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n82 $n83 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n83 $n84 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n84 $n85 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl intraplane $n85 $n75 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Interplane ISLs
# 2 interplane ISLs per satellite (one along the seam)
# Plane 1-2
$ns add-isl interplane $n0 $n15 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n1 $n16 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n2 $n17 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n3 $n18 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n4 $n19 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n5 $n20 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n6 $n21 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n7 $n22 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n8 $n23 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n9 $n24 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n10 $n25 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 2-3
$ns add-isl interplane $n15 $n30 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n16 $n31 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n17 $n32 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n18 $n33 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n19 $n34 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n20 $n35 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n21 $n36 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n22 $n37 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n23 $n38 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n24 $n39 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n25 $n40 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 3-4
$ns add-isl interplane $n30 $n45 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n31 $n46 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n32 $n47 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n33 $n48 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n34 $n49 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n35 $n50 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n36 $n51 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n37 $n52 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n38 $n53 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n39 $n54 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n40 $n55 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 4-5
$ns add-isl interplane $n45 $n60 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n46 $n61 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n47 $n62 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n48 $n63 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n49 $n64 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n50 $n65 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n51 $n66 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n52 $n67 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n53 $n68 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n54 $n69 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n55 $n70 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Plane 5-6
$ns add-isl interplane $n60 $n75 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n61 $n76 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n62 $n77 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n63 $n78 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n64 $n79 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n65 $n80 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n66 $n81 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n67 $n82 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n68 $n83 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n69 $n84 $opt(bw_isl) $opt(ifq) $opt(qlim)
$ns add-isl interplane $n70 $n85 $opt(bw_isl) $opt(ifq) $opt(qlim)
# Set up terrestrial nodes
$ns node-config -satNodeType terminal
set n100 [$ns node]
$n100 set-position 37.9 -122.3; # Berkeley
set n101 [$ns node]
$n101 set-position 42.3 -71.1; # Boston
# Add GSL links
# It doesn't matter what the sat node is (handoff algorithm will reset it)
$n100 add-gsl polar $opt(ll) $opt(ifq) $opt(qlim) $opt(mac) $opt(bw_up) \
$opt(phy) [$n0 set downlink_] [$n0 set uplink_]
$n101 add-gsl polar $opt(ll) $opt(ifq) $opt(qlim) $opt(mac) $opt(bw_up) \
$opt(phy) [$n0 set downlink_] [$n0 set uplink_]
# Trace all queues
$ns trace-all-satlinks $outfile
$ns_ namtrace-all-satlinks $nf
# Attach agents
set udp0 [new Agent/UDP]
$ns attach-agent $n100 $udp0
set cbr0 [new Application/Traffic/CBR]
$cbr0 attach-agent $udp0
$cbr0 set interval_ 1.0
set null0 [new Agent/Null]
$ns attach-agent $n101 $null0
$ns connect $udp0 $null0
$ns at 1.0 "$cbr0 start"
# We're using a centralized routing genie-- create and start it here
set satrouteobject_ [new SatRouteObject]
$satrouteobject_ compute_routes
$ns at 30.0 "finish" ; # one earth rotation
proc finish {} {
global ns outfile nf
$ns flush-trace
close $outfile
close $nf
puts "running nam..."
exec nam out.nam &
exit 0
}
$ns run