不能';t在ns2中运行tcl脚本

不能';t在ns2中运行tcl脚本,tcl,ns2,Tcl,Ns2,当我试图在ns2.34中运行自己的tcl脚本(10.tcl)时,它会给我这个错误 couldn't read file "/home/bony/ns-2.34/ns-allinone-2.34/ns-2.34.aodv": no such file or directory while executing "source.orig /home/bony/ns-2.34/ns-allinone-2.34/ns-2.34.aodv" (

当我试图在ns2.34中运行自己的tcl脚本(10.tcl)时,它会给我这个错误

couldn't read file "/home/bony/ns-2.34/ns-allinone-2.34/ns-2.34.aodv":
no such file or directory
            while executing
        "source.orig /home/bony/ns-2.34/ns-allinone-2.34/ns-2.34.aodv"
            ("uplevel" body line 1)
            invoked from within
        "uplevel source.orig [list $fileName]"
            invoked from within
        "if [$instance_ is_http_url $fileName] {
        set buffer [$instance_ read_url $fileName]
        uplevel eval $buffer
        } else {
        uplevel source.orig [list $fileName]
        ..."
            (procedure "source" line 8)
        invoked from within
    "$ns_ $path.$valrp"
        (file "10.tcl" line 20)
这是我正在使用的10.tcl代码。当我尝试在Fedora的ns2中运行这个10.tcl文件时,它给出了上述错误

#===================================
#     Simulation parameters setup
#===================================
set ns_ source
set path /home/bony/ns-2.34/ns-allinone-2.34/ns-2.34
set val(chan)   Channel/WirelessChannel    ;# channel type
set val(prop)   Propagation/TwoRayGround   ;# radio-propagation model
set val(netif)  Phy/WirelessPhy            ;# network interface type
set val(mac)    Mac/802_11                 ;# MAC type
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)     10                         ;# number of mobilenodes
set valrp       aodv                   ;# routing protocol
set val(x)      943                        ;# X dimension of topography
set val(y)      567                        ;# Y dimension of topography
set val(stop)   20.0                       ;# time of simulation end
set speed       10
$ns_ $path.$valrp

set packet_size 512;#packetsize
#===================================
#        Initialization        
#===================================
#Create a ns simulator
set ns [new Simulator]

#Setup topography object
set topo       [new Topography]
$topo load_flatgrid $val(x) $val(y)
create-god $val(nn)

#Open the NS trace file
set tracefile [open out.tr w]
$ns trace-all $tracefile

#Open the NAM trace file
set namfile [open out.nam w]
$ns namtrace-all $namfile
$ns namtrace-all-wireless $namfile $val(x) $val(y)
set chan [new $val(chan)];#Create wireless channel

#===================================
#     Mobile node parameter setup
#===================================
$ns node-config -adhocRouting  $valrp \
                -llType        $val(ll) \
                -macType       $val(mac) \
                -ifqType       $val(ifq) \
                -ifqLen        $val(ifqlen) \
                -antType       $val(ant) \
                -propType      $val(prop) \
                -phyType       $val(netif) \
                -channel       $chan \
                -topoInstance  $topo \
                -agentTrace    ON \
                -routerTrace   ON \
                -macTrace      ON \
                -movementTrace ON

#===================================
#        Nodes Definition        
#===================================
#Create 10 nodes
set n(0) [$ns node]
$n(0) set X_ 284
$n(0) set Y_ 380
$n(0) set Z_ 0.0

 $ns initial_node_pos $n(0) 20
set n(1) [$ns node]
$n(1) set X_ 343
$n(1) set Y_ 195
$n(1) set Z_ 0.0

 $ns initial_node_pos $n(1) 20
set n(2) [$ns node]
$n(2) set X_ 411
$n(2) set Y_ 308
$n(2) set Z_ 0.0

 $ns initial_node_pos $n(2) 20
set n(3) [$ns node]
$n(3) set X_ 468
$n(3) set Y_ 460
$n(3) set Z_ 0.0

 $ns initial_node_pos $n(3) 20
set n(4) [$ns node]
$n(4) set X_ 567
$n(4) set Y_ 363
$n(4) set Z_ 0.0

 $ns initial_node_pos $n(4) 20
set n(5) [$ns node]
$n(5) set X_ 586
$n(5) set Y_ 194
$n(5) set Z_ 0.0

 $ns initial_node_pos $n(5) 20
set n(6) [$ns node]
$n(6) set X_ 698
$n(6) set Y_ 343
$n(6) set Z_ 0.0

 $ns initial_node_pos $n(6) 20
set n(7) [$ns node]
$n(7) set X_ 698
$n(7) set Y_ 467
$n(7) set Z_ 0.0

 $ns initial_node_pos $n(7) 20
set n(8) [$ns node]
$n(8) set X_ 783
$n(8) set Y_ 186
$n(8) set Z_ 0.0

 $ns initial_node_pos $n(8) 20
set n(9) [$ns node]
$n(9) set X_ 843
$n(9) set Y_ 361
$n(9) set Z_ 0.0

 $ns initial_node_pos $n(9) 20


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

set tcp($i) [new Agent/TCP]

$ns attach-agent $n($i) $tcp($i)
set sink($i) [new Agent/LossMonitor]

$ns attach-agent $n($i) $sink($i)

}
#===================================
#        Agents Definition        
#===================================

#===================================
#        Applications Definition        
#===================================
proc attach-CBR-traffic { node sink size interval } {

#Get an instance of the simulator

   set ns [Simulator instance]

#Create a CBR  agent and attach it to the node

   set cbr [new Agent/CBR]

   $ns attach-agent $node $cbr

   $cbr set packetSize_ $size

   $cbr set interval_ .05

#Attach CBR source to sink;

   $ns connect $cbr $sink

   return $cbr
}
set cbr00 [attach-CBR-traffic $n(0) $sink(9) 512 $interval]
$ns at 1.21 "$cbr00 start"


$ns at 0.86 "$n(0) add-mark MARK darkgreen square"  


$ns at 0.86 "$n(0) label Sender"


$ns at 0.86 "$n(9) add-mark MARK magenta circle"  


$ns at 0.86 "$n(9) label Receiver"

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

set timemin 1
set timemax 10
    set timemaxFactor [expr [expr $timemax + 1] - $timemin]
    set timevalue [expr int([expr rand() * 100])]
    set timevalue [expr [expr $timevalue % $timemaxFactor] + $timemin]


set xmin 500
set xmax 1200
    set xmaxFactor [expr [expr $xmax + 1] - $xmin]
    set xvalue [expr int([expr rand() * 100])]
    set xvalue [expr [expr $xvalue % $xmaxFactor] + $xmin]


set ymin 50
set ymax 800
    set ymaxFactor [expr [expr $ymax + 1] - $ymin]
    set yvalue [expr int([expr rand() * 100])]
    set yvalue [expr [expr $yvalue % $ymaxFactor] + $ymin]


$ns at $timevalue "$n($i) setdest $xvalue $yvalue $speed"
}
#===================================
#        Termination        
#===================================
#Define a 'finish' procedure
proc finish {} {
    global ns tracefile namfile
    $ns flush-trace
    close $tracefile
    close $namfile
exec sed -i "/d -t /d" out.nam
    exec nam out.nam &
exec awk -f pdf.awk out.tr > Results
exec awk -f e2edelay.awk out.tr >> Results
exec awk -f throughput.awk out.tr >> Results
exec awk -f control_overhead.awk out.tr >> Results
    exit 0
}
for {set i 0} {$i < $val(nn) } { incr i } {
    $ns at $val(stop) "\$n($i) reset"
}
$ns at $val(stop) "$ns nam-end-wireless $val(stop)"
$ns at $val(stop) "finish"
$ns at $val(stop) "puts \"done\" ; $ns halt"
$ns run
#===================================
#仿真参数设置
#===================================
设置ns_uu源
设置路径/home/bony/ns-2.34/ns-allinone-2.34/ns-2.34
设置val(chan)频道/无线信道通道类型
设置val(道具)传播/TwoRayGround;#无线传播模型
设置值(netif)物理/无线物理;#网络接口类型
设置val(mac)mac/802#11;#MAC类型
设置val(ifq)队列/DropTail/PriQueue;#接口队列类型
设置值(ll)ll;#链路层类型
设置val(ant)天线/全向天线;#天线模型
设置val(ifqlen)50;#ifq中的最大数据包
设定值(nn)10;#移动节点数
设置valrp aodv;#路由协议
设定值(x)943;#地形的X维
设定值(y)567;#地形的Y维
设置值(停止)20.0;#模拟结束时间
设定速度10
$ns_$path.$valrp
设置数据包大小512#包装尺寸
#===================================
#初始化
#===================================
#创建一个ns模拟器
设置ns[新模拟器]
#设置地形对象
设置地形[新地形]
$topo负载\平面网格$val(x)$val(y)
创建上帝$val(nn)
#打开NS跟踪文件
设置跟踪文件[open out.tr w]
$ns跟踪所有$tracefile
#打开NAM跟踪文件
设置namfile[openout.nam w]
$ns namtrace所有$namfile
$ns namtrace所有无线$namfile$val(x)$val(y)
set chan[新$val(chan)]#创建无线通道
#===================================
#移动节点参数设置
#===================================
$ns节点配置-adhocRouting$valrp\
-llType$val(ll)\
-macType$val(mac)\
-ifq类型$val(ifq)\
-ifqLen$val(ifqLen)\
-antType$val(ant)\
-道具类型$val(道具)\
-phyType$val(netif)\
-陈元频道\
-topo实例$topo\
-代理竞逐\
-罗特特顿赛马会\
-麦克特雷森\
-移动跟踪
#===================================
#节点定义
#===================================
#创建10个节点
设置n(0)[$ns节点]
$n(0)套X_284
$n(0)套Y_u380
$n(0)集Z_u0.0
$ns初始节点位置$n(0)20
集合n(1)[$ns节点]
$n(1)套X_343
$n(1)套Y_u195
$n(1)集Z_u0.0
$ns首字母\节点\位置$n(1)20
集合n(2)[$ns节点]
$n(2)套X_411
$n(2)套Y_u308
$n(2)集Z_u0.0
$ns首字母\节点\位置$n(2)20
集合n(3)[$ns节点]
$n(3)套X_468
$n(3)套Y_460
$n(3)组Z_u0.0
$ns首字母\节点\位置$n(3)20
集合n(4)[$ns节点]
$n(4)套X_567
$n(4)套Y_363
$n(4)集Z_u0.0
$ns首字母\节点\位置$n(4)20
集合n(5)[$ns节点]
$n(5)套X_586
$n(5)套Y_u194
$n(5)组Z_u0.0
$ns首字母\节点\位置$n(5)20
集合n(6)[$ns节点]
$n(6)套X_698
$n(6)套Y_343
$n(6)组Z_u0.0
$ns首字母\节点\位置$n(6)20
集合n(7)[$ns节点]
$n(7)套X_u698
$n(7)套Y_467
$n(7)组Z_u0.0
$ns首字母\节点\位置$n(7)20
集合n(8)[$ns节点]
$n(8)套X_783
$n(8)套Y_u186
$n(8)组Z_u0.0
$ns首字母\节点\位置$n(8)20
集合n(9)[$ns节点]
$n(9)套X_843
$n(9)套Y_361
$n(9)集Z_u0.0
$ns首字母\节点\位置$n(9)20
对于{set i 0}{$i<$val(nn)}{incr i}{
设置tcp($i)[新代理/tcp]
$ns附加代理$n($i)$tcp($i)
设置接收器($i)[新代理/损失监视器]
$ns附加代理$n($i)$sink($i)
}
#===================================
#代理定义
#===================================
#===================================
#应用程序定义
#===================================
proc attach CBR流量{节点接收器大小间隔}{
#获取模拟器的一个实例
设置ns[模拟器实例]
#创建CBR代理并将其附加到节点
设置cbr[新代理/cbr]
$ns附加代理$node$cbr
$cbr set packetSize\$size
$cbr设置间隔0.05
#将CBR源连接到接收器;
$ns connect$cbr$sink
返回$cbr
}
设置cbr00[附加CBR流量$n(0)$sink(9)512$间隔]
1.21“$cbr00开始时为$ns”
$ns位于0.86“$n(0)添加标记暗绿色方形”
$ns位于0.86“$n(0)标签发送者”
$ns位于0.86“$n(9)添加标记洋红色圆圈”
$ns位于0.86“$n(9)标签接收器”
对于{set i 0}{$i<$val(nn)}{incr i}{
设置时间最小值1
设置时间上限为10
设置timemaxFactor[expr[expr$timemax+1]-$timemin]
设置时间值[expr int([expr rand()*100])]
设置时间值[expr[expr$timevalue%$timemaxFactor]+$timemin]
设置xmin 500
设置xmax1200
设置xmaxFactor[expr[expr$xmax+1]-$xmin]
设置xvalue[expr int([expr rand()*100])]
设置xvalue[expr[expr$xvalue%$xmaxFactor]+$xmin]
将ymin设置为50
设置ymax 800
设置ymaxFactor[expr[expr$ymax+1]-$ymin]
设置yvalue[expr int([expr rand()*100])]
设置yvalue[expr[expr$yvalue%$ymaxFactor]+$ymin]
$n$n$i)设置目标$xvalue$yvalue$speed时的$ns
}
#===================================
#终止
#===================================
#定义“完成”过程
过程完成{}{
全局ns跟踪文件
$ns刷新跟踪
关闭$tracefile
关闭$namfile
执行sed-i“/d-t/d”out.nam
执行长nam out.nam&
exec awk-f pdf.awk out.tr>结果
exec awk-f e2edelay.awk out.tr>>结果
exec awk-f throughput.awk out.tr>>结果
exec awk-f control_header.awk out.tr>>结果
出口0
}
对于{set i 0}{$i<$val(nn)}{incr i}{
$val时的$ns(停止)“\$n($i)重置”
}
$ns at$val(停止)“$ns nam end无线$val(停止)”
$ns