我正在用ns2生成无线广播模拟的跟踪文件,但我只关心两个特定的节点,如何只跟踪这两个节点,以减少结果文件所占的硬件空间?怎样才能只跟踪这两个节点,以减少结果文件所占的硬件空间?
我在网上找不到解决办法......
我使用的部分代码如下所示。
set ns_ [new Simulation]
set topo [new Topography]
set tracefile [open "results.tr" w]
$ns_ trace-all $tracefile
例如,有300个节点在模拟中, 但我只想在节点1和节点2上发送,接收或丢弃数据包的结果。而且只在结果文件中跟踪这种信息,以节省硬件空间。
你可以重新设置 "node-config "来配置不同的节点。比如说
# =============================================
# settings for node_(0), turn on some of the trace
$ns_ node-config -adhocRouting $val(rp) \
-llType $val(ll) \
-macType $val(mac) \
-ifqType $val(ifq) \
-ifqLen $val(ifqlen) \
-antType $val(ant) \
-propType $val(prop) \
-phyType $val(netif) \
-channelType $val(chan) \
-topoInstance $topo \
-agentTrace ON \
-routerTrace ON \
-macTrace OFF \
-movementTrace OFF
set node_(0) [$ns_ node]
$node_(0) random-motion 0 ;# disable random motion
# ============================================
# settings for node_(1), turn off all of the trace
$ns_ node-config -adhocRouting $val(rp) \
-llType $val(ll) \
-macType $val(mac) \
-ifqType $val(ifq) \
-ifqLen $val(ifqlen) \
-antType $val(ant) \
-propType $val(prop) \
-phyType $val(netif) \
-channelType $val(chan) \
-topoInstance $topo \
-agentTrace OFF \
-routerTrace OFF \
-macTrace OFF \
-movementTrace OFF
set node_(1) [$ns_ node]
$node_(1) random-motion 0 ;# disable random motion