我是NS2(甚至是Linux)的完全初学者。我的任务是演示一个非常基本的仿真示例,只是为了表明可以使用ns2来模拟。我去过 试图让任何简单的仿真脚本在过去的几周内工作,但是 失败了。我相信只需几分钟即可到达专家 写几行代码来做到这一点。我读过的大多数解释都是 类似的问题对我的理解来说甚至太高级了 NS2或Linux。如果有人可以帮助我在学生级别上 非常感激。
我正在使用Linux机器,到目前为止我已经下载并安装了 allinone ns-2.34。我还搜索了一些简单的示例模拟 脚本。
例如,我找到了这个:
# Create simulator
set ns [new Simulator]
$ns use-scheduler RealTime
# Emulator address
set me [exec hostname]
# Packet input
set bpf0 [new Network/Pcap/Live]
$bpf0 set promisc_ true
set nd0 [$bpf0 open readonly fxp0]
set filt "(not ip host $me)"
$bpf0 filter $filt
# Packet output
set ipnet [new Network/IP]
$ipnet open writeonly
# Input agent
set pfa [new Agent/Tap]
$pfa network $bpf0
# Output agent
set ipa [new Agent/Tap]
$ipa network $ipnet
# ICMP ECHO agent
set echoagent [new Agent/PingResponder]
set n0 [$ns node]
set n1 [$ns node]
set n2 [$ns node]
$ns simplex-link $n0 $n2 100Mb 1000ms DropTail
$ns simplex-link $n2 $n1 100Mb 1000ms DropTail
$ns attach-agent $n0 $pfa
$ns attach-agent $n1 $ipa
$ns attach-agent $n2 $echoagent
$ns simplex-connect $pfa $echoagent
$ns simplex-connect $ipa $echoagent
# Wait for ping to come in...
$ns run
当我尝试运行此脚本时,我收到一条消息:
无效的命令名称“Network / Pcap / Live” 执行时 “网络/ Pcap / Live创建o_11” 从内部调用 “catch”$ className create $ o $ args“msg” (程序“新”第3行) 在内部调用 “新网络/ Pcap / Live” 从内部调用 “set bpf0 [new Network / Pcap / Live]” (档案“./vince/emu1.tcl”第12行)
有人可以帮我解决这个问题吗?因为我还不是ns2 专家,我不太清楚该代码是如何工作的。我相信这是一个ping 响应者。我只需要一个非常简单的仿真示例来展示它 因此任何其他建议或示例脚本都会很棒!
由于
答案 0 :(得分:2)
你需要转到ns的目录并编译模拟器。
make nse
您可以在模拟目录中看到文件README_TCP_EMULATE
如果make nse
无效:
当您运行模拟器时,您需要从根目录运行:./nse