我无法在NS2 2.35中定义cbr代理

时间:2017-06-19 07:05:30

标签: ns2

我尝试编写一些准备好的脚本来学习ns2,但是我遇到了一个问题。这是我在某处找到的代码:

set ns [new Simulator]
set nf [open out.nam w]
$ns namtrace-all $nf
proc finish {} {
global ns nf
$ns flush-trace
close $nf
exec nam out.nam &
exit 0
}

set n0 [$ns node]
set n1 [$ns node]
$ns duplex-link $n0 $n1 1Mb 10ms DropTail

set udp0 [new Agent/UDP]
$ns attach-agent $n0 $udp0
set null0 [new Agent/Null]
$ns attach-agent $n1 $null0

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

$ns connect $udp $null0

$ns at 1.0 "$cbr0 start"
$ns at 4.5 "$cbr0 stop"

$ns at 5.0 "finish"

$ns run

运行脚本后,我看到了这个错误:

invalid command name "cbr0"
while executing
"cbr0 set packetSize_ 500"
(file "ex2.tcl" line 23)

因为我只是从书中复制这些,我认为我不应该犯错误,问题就在其他地方。

1 个答案:

答案 0 :(得分:0)

  

设置cbr0 [新申请/交通/ CBR]

使用set cbr0 [new Application/Traffic/CBR]

定义正常

定义后,cbr0必须用作$cbr0,就像使用ns / $ns一样:

$cbr0 set packetSize_ 500
$cbr0 set interval_ 0.005
$cbr0 attach-agent $udp0

其他错误:udp0已定义,但未使用:

  

$ ns connect $ udp $ null0

必须:

$ns connect $udp0 $null0

基本示例https://www.isi.edu/nsnam/ns/tutorial/→example1 https://www.isi.edu/nsnam/ns/tutorial/nsscript1.htmlhttps://www.isi.edu/nsnam/ns/tutorial/nsscript2.html