ns2无法连接到现有的nam实例

时间:2017-03-24 11:47:07

标签: tcl ns2 nam

我正在尝试使用nam运行以下代码。

set ns [new Simulator]

set nf [open lab1.nam w]
$ns namtrace-all $nf

set f [open lab1.tr w]

proc record {} {

global sink f
set ns [Simulator instance]

set time 0.12

set bw [$sink set bytes_]

set now [$ns now]

puts $f "$now [expr (($bw/$time)*8/1000000)]"

$sink set bytes_ 0

$ns at [expr $now+$time] "record"
}


proc finish {} {
    global ns nf f
    $ns flush-trace
    close $nf
    close $f
    exit 0
}


set n0 [$ns node]
set n1 [$ns node]

$ns duplex-link $n0 $n1 4Mb 10ms DropTail


set udp0 [new Agent/UDP]
$udp0 set packetSize_ 1500
$ns  attach-agent $n0 $udp0

set traffic0 [new Application/Traffic/CBR]

$traffic0 set packetsize_ 1500
$traffic0 set interval_ 0.01
$traffic0 attach-agent $udp0

set sink [new Agent/LossMonitor]
$ns attach-agent $n1 $sink

$ns connect $udp0 $sink


$ns at 0.0 "record"
$ns at 2.0 "$traffic0 start"
$ns at 10.0 "$traffic0 stop"

$ns at 12.0 "finish"
$ns run

我正在尝试使用带有Windows 7 32位的VirtualBox在虚拟机上运行它。

首先在cmd上执行命令ns lab1.tcl 在此尝试打开nam之后,使用命令nam lab1.nam。 当我这样做时,我收到消息

enter image description here

Nam实际上正在运行但不正确,这意味着它总是创建210字节的数据包,而且我的代码不会影响我给出的任何数据包大小。

1 个答案:

答案 0 :(得分:0)

  

无法连接到现有的nam实例

不是错误。当没有nam窗口时,Nam会随时显示该消息。

我的测试:$ ns235-64-orig user7375077.tcl ...结果:lab1.nam 288.5kB,lab1.tr 3.3kB。

$ nam lab1.nam:好的......

enter image description here

使用了股票ns-2.35。没有修补。 ....可能是你添加了一些可能使nam工作不佳的变化? (或者可能是Cygwin创建的nam被腐败了?)

建议:使用正版Linux操作系统使“ns2正常工作”。易于安装:1)安装'VirtualBox'。 2)将Linux OS()安装到VirtualBox中。安全的操作系统选择:Redhat CentOS 6.8 http://ftp.funet.fi/pub/mirrors/centos.org/6.8/isos/x86_64/CentOS-6.8-x86_64-LiveCD.iso