使用ns-2模拟实时网络

时间:2011-11-29 05:43:36

标签: ns2

我是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 响应者。我只需要一个非常简单的仿真示例来展示它 因此任何其他建议或示例脚本都会很棒!

由于

1 个答案:

答案 0 :(得分:2)

你需要转到ns的目录并编译模拟器。

make nse

您可以在模拟目录中看到文件README_TCP_EMULATE

如果make nse无效:

  1. apt-get install libpcap-dev
  2. 添加到make文件“-lpcap”中:emulate / net-pcap.o -lpcap \
  3. ./配置
  4. make nse
  5. 当您运行模拟器时,您需要从根目录运行:./nse