Sconfig 0.00000 点击:开启监听:rts?犯错?在

Posted

技术标签:

【中文标题】Sconfig 0.00000 点击:开启监听:rts?犯错?在【英文标题】:Sconfig 0.00000 tap: on snoop: rts? on errs? on 【发布时间】:2021-09-04 04:05:23 【问题描述】:

我正在 Mobile Ad Hoc Network(MANET) 中的一个项目上工作,使用 ns.35 并在使用 DSR 执行此代码时

# Define options
set val(chan)           Channel/WirelessChannel    ;# channel type
set val(prop)           Propagation/TwoRayGround   ;# radio-propagation model
set val(netif)          Phy/WirelessPhy            ;# network interface type
set val(mac)            Mac/802_11                 ;# MAC type
set val(ifq)            CMUPriQueue             ;# interface queue type
set val(ll)             LL                         ;# link layer type
set val(ant)            Antenna/OmniAntenna        ;# antenna model
set val(ifqlen)         100000                         ;# max packet in ifq
set val(nn)             38                         ;# number of mobilenodes
set val(rp)             DSR                       ;# routing protocol
set val(x)              800                ;# X dimension of topography
set val(y)              800                ;# Y dimension of topography 
set val(seed)           0.0
set val(cp)             "cbrNCR"
set val(sc)             "set38"
set val(stop)       200.0              ;# time of simulation end

set ns_       [new Simulator]
set tracefile       [open DSR.tr w]
#set windowVsTime2 [open win.tr w] 

$ns_ trace-all $tracefile
$ns_ use-newtrace 
#$ns_ namtrace-all-wireless $namtrace $val(x) $val(y)

# set up topography object
set topo       [new Topography]

$topo load_flatgrid $val(x) $val(y)
#Open the NAM trace file
set namfile [open manet.nam w]
$ns_ namtrace-all $namfile
$ns_ namtrace-all-wireless $namfile $val(x) $val(y)


set god_ [create-god $val(nn)]
set chan_1_ [new $val(chan)]
#
#  Create nn mobilenodes [$val(nn)] and attach them to the channel. 
#

# configure the nodes
        $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) \
             -channel $chan_1_ \
             -topoInstance $topo \
             -agentTrace ON \
             -routerTrace ON \
             -macTrace ON \
-energyModel "EnergyModel" \
        -initialEnergy 100.0 \
        -txPower 2.0522 \
        -rxPower 0.0591 \
        -idlePower 0.00006 \
        -sleepPower 0.000003 \


            
             
    for set i 0 $i < $val(nn)   incr i  
        set node_($i) [$ns_ node]
                $node_($i) random-motion 0  ;# disable random motion
    

puts "Loading connection pattern..."
source $val(cp)

puts "Loading scenario file..."
source $val(sc)
proc finish  
    global ns_ tracefile namfile
    $ns_ flush-trace
    close $tracefile
    close $namfile
    exec nam manet.nam &
    exit 0


 for set i 0 $i < $val(nn)  incr i 
    $ns_ initial_node_pos $node_($i) 20

 
for set i 0 $i < $val(nn)  incr i 
    $ns_ at $val(stop).000000001 "$node_($i) reset";

$ns_ at $val(stop) "$ns_ nam-end-wireless $val(stop)"
$ns_ at $val(stop).000000001 "puts \"NS EXITING...\"; $ns_ halt"
puts "Start Simulation..."
$ns_ run

它显示在 tr 文件中。为什么?怎么处理?

Sconfig 0.00000 tap: on snoop: rts?犯错?在 Sconfig 0.00000打捞:在!bd回复?在 Sconfig 0.00000 grat 错误:on grat 回复:on Sconfig 0.00000 $reply for props: on ring 0 search: on Sconfig 0.00000 使用 MOBICACHE

【问题讨论】:

Sconfig 是一个设置。跟踪线告诉您哪些 Sconfig 处于打开状态。 ... 参见Sconfig.jpg 等跟踪文档drive.google.com/drive/folders/…(这些年NS2 文档从网上消失了。) 【参考方案1】:

Sconfig 是一个 DSR 设置。跟踪线告诉您哪些 Sconfig 处于打开状态。 ...请看Sconfig.jpg等trace dochttps://drive.google.com/drive/folders/1X_SaZcTYF2tI5XGVClImBvAZY1_QOrDj?usp=sharing

Sconfig.jpg 显示来自 'NS-2 Trace Formats - nsnam.html' = NS-2_TraceFormats-nsnam.html 的 sn-p

$ cd ns-2.35
$ grep -nR Sconfig *
dsr/dsragent.cc:468:  trace("Sconfig %.5f tap: %s snoop: rts? %s errs? %s",
dsr/dsragent.cc:473:  trace("Sconfig %.5f salvage: %s !bd replies? %s",
dsr/dsragent.cc:477:  trace("Sconfig %.5f grat error: %s grat reply: %s",
dsr/dsragent.cc:481:  trace("Sconfig %.5f $reply for props: %s ring 0 search: %s",
dsr/linkcache.cc:309:   trace("Sconfig %.5f using LINKCACHE %d", Scheduler::instance().clock(),
dsr/mobicache.cc:209:   trace("Sconfig %.5f using MOBICACHE", Scheduler::instance().clock());
dsr/simplecache.cc:204: trace("Sconfig %.5f using MOBICACHE", Scheduler::instance().clock());

这意味着grep已经在ns2、所有目录和所有子目录中搜索了Sconfig这个词。

【讨论】:

非常感谢您的回复,但我现在不明白该怎么办? 做什么? .......... 所有 DSR 模拟都会在跟踪文件中显示类似的信息。tr drive.google.com/file/d/1xmJ8GwGuFGTo2zVpWoE1QdngVAjuFknc/…【参考方案2】:

当我使用此代码时 $ cd ns-2.35 $grep -nR Sconfig *. 出现以下内容:

dsr/simplecache.cc:204: trace("Sconfig %.5f using MOBICACHE", Scheduler::instance().clock());
Binary file dsr/mobicache.o matches
dsr/linkcache.cc:309:   trace("Sconfig %.5f using LINKCACHE %d", Scheduler::instance().clock(),
dsr/dsragent.cc:468:  trace("Sconfig %.5f tap: %s snoop: rts? %s errs? %s",
dsr/dsragent.cc:473:  trace("Sconfig %.5f salvage: %s !bd replies? %s",
dsr/dsragent.cc:477:  trace("Sconfig %.5f grat error: %s grat reply: %s",
dsr/dsragent.cc:481:  trace("Sconfig %.5f $reply for props: %s ring 0 search: %s",
Binary file dsr/dsragent.o matches
dsr/mobicache.cc:209:   trace("Sconfig %.5f using MOBICACHE", Scheduler::instance().clock());
Binary file ns matches
Binary file nstk matches

【讨论】:

当然任何代码/任何信息都会被编译成对象,并且可以执行。 我还有一个问题,请问使用DSR协议时如何提取每个节点的请求数和回复数

以上是关于Sconfig 0.00000 点击:开启监听:rts?犯错?在的主要内容,如果未能解决你的问题,请参考以下文章

使用 Sconfig.cmd 配置服务器核心服务器

iOS - self.view.frame.size.width 为 0.00000

在android中怎样给整个页面设置监听事件

监听按钮的点击事件的三种实现方式

如何禁用图像视图android上的点击监听器

将子列表列表分成不同的行