在创建移动节点之前需要定义移动节点的移动范围,也就是说设定移动节点运动的范围。
(1)创建一个拓扑对象,设定移动节点运动的范围。
set
topo [new Topography]
$topo load_flatgrid $opt(x) $opt(y)
(2)运用node
-config配置节点。
$ns node -config
-adhocRouting $opt(adhocRouting)
-llType
$opt(ll)
-macType
$opt(mac)
-ifqType
$opt(ifq)
-ifqLen
$opt(ifqlen)
-antType
$opt(ant)
-propInstance [new
$opt(prop)]
-phyType
$opt(optnetif)
-topoInstance $topo
-channelType [new
$opt(chan)]
-wiredRouting
OFF
-agentTrace
ON
-routerTrace
OFF
-macTrace
OFF
参数的具体的含义见http://blog.sina.com.cn/s/blog_4c8287230100hjmc.html。
(3)创建一个God对象,动态的保存各移动节点之间的连接关系。
set god [create - god $val(nn)]
(4)调用node{}内部过程创建移动节点
for {set j 0} { $j < $opt(nn)} {incr j} {
set node( $j ) [ $ns node ]
node( $j ) random -
motion
;#节点不能随机移动
}
(5)调用set - dist{}过程,设置各节点之间的最短跳数。
(6)引发节点运动
$mobilenode start
相关NS命令:
$topo load_flatgrid $opt(x)
$opt(y)
#
设定拓扑范围
$ns namtrace-all-wireless
<namtrace>
<X>
<Y> #
记录移动节点的移动过程
$ns nam-end-wireless
<stoptime>
# 在stoptime停止运行nam
$ns initial-node-pos
<node> <size> #
初始化移动节点
$mobilenode random - motion
<0/1>
# 节点是否随机移动
$mobilenode setdest
<X> <Y>
<s>
$mobilenode reset
# 重置节点属性
|
本文是作者原创,转载必须保证文章的完整性并标明出处,请尊重作者,支持原创。
加载中,请稍候......