在这里,我们将完成一个简单的无线多跳场景

首先,定义的参数如下所示:

set val(chan)       Channel/WirelessChannel
set val(prop)       Propagation/TwoRayGround
set val(netif)      Phy/WirelessPhy
set val(mac)        Mac/802_11
set val(ifq)        Queue/DropTail/PriQueue
set val(ll)         LL
set val(ant)        Antenna/OmniAntenna
set val(x)              670   ;# X dimension of the topography
set val(y)              670   ;# Y dimension of the topography
set val(ifqlen)         50            ;# max packet in ifq
set val(seed)           0.0
set val(adhocRouting)   DSR
set val(nn)             3             ;# how many nodes are simulated
set val(cp)             "../mobility/scene/cbr-3-test"
set val(sc)             "../mobility/scene/scen-3-test"
set val(stop)           2000.0           ;# simulation time

在创建ns_(模拟器实例)后,打开一个文件(wireless1-out.tr)以获得无线跟踪。另外我们要设置nam曲线。

set tracefd  [open wireless1-out.tr w]      ;# for wireless traces
$ns_ trace-all $tracefdset namtrace [open wireless1-out.nam w]           ;# for nam tracing
$ns_ namtrace-all-wireless $namtrace $val(x) $val(y)

创建移动节点之后,定义源节点移动和连接模式文件,分别是val(sc)和val(cp)。

#
# Define node movement model
#
puts "Loading connection pattern..."
source $val(cp)#
# Define traffic model
#
puts "Loading scenario file..."
source $val(sc)

在节点移动文件scen-3测试中,我们看到节点移动命令,如

$ns_ at 50.000000000000 "$node_(2) setdest 369.463244915743 \
170.519203111152 3.371785899154"

这意味着在时刻50s,节点2以3.37m / s的速度开始向目的地(369.4,170.5)移动。

$god_ set-dist 1 2 2

上句用于加载具有最短跳信息的god对象的命令行。 这意味着节点1和节点2之间的最短路径是2跳。 通过提供这种信息,防止在模拟运行期间神对象在节点之间的最短距离的计算,能节省下来不少时间。

NS2相关学习——无线网(2)相关推荐

  1. NS2相关学习——在ns中模拟无线场景

    之前学习的都是有线场景下的NS2相关应用,现在开始,终于要学习无线啦!无线是我研究的重点,要好好学习呀! 在本节中,我们将学习使用ns中提供的移动无线仿真模型. 该部分由两部分组成. 在第一小节中,我 ...

  2. NS2相关学习——完成一个新的协议(1)

    接下来要进入对我来说老大难的环节了,从表面的TCL慢慢进入到后端的C++,一起加油学习吧~ 在本节学习中,将给出一个在ns中实现新的协议的例子.但是可以想见的是,如果由我们自己来完成这个工作,势必要对 ...

  3. NS2相关学习——可靠的MANET应用程序的Gossip协议分析

    好久不写,应该努力啦!老师把这篇论文给了我,现在还不知道它在讲什么,来边翻译边学习吧! 文章链接:https://www.researchgate.net/publication/316844643_ ...

  4. NS2相关学习——完成一个新协议(3)

    在前面已经基本学习了怎么完成一个新协议(一个神奇的ping协议,然鹅还是有点懵...) 接下来继续学习相关知识 接着上一部分从1开始 1.必要的修改 如果想要添加添加新的代理程序,就需要修改NS源文件 ...

  5. NS2相关学习——创建Xgraph的输出文件

    经过前面学习代码的编写,这一部分,我们要学会如何进行分析,一个很直观的方式就是将结果图形化表示出来. ns-allinone包的一部分是"xgraph",一个绘图程序,可用于创建模 ...

  6. NS2相关学习——完成一个新协议(2)

    在上节中,我们把教程要求的3.1-3.3过了一遍,这一次回到正途上来.看看到底是怎么完成一个新的协议的. 本节中的代码实现了一些简单的"ping"协议(灵感来自"ns注释 ...

  7. ns2相关学习——TCL脚本编写(3)

    在这里我们将学习动态网络的建立 1.建立拓扑 当节点很多的时候,我们可以使用循环的方式来建立拓扑. for {set i 0} {$i < 7} {incr i} {set n($i) [$ns ...

  8. ns2相关学习——TCL脚本编写(2)

    下面来学习更加复杂一点的TCL脚本的编写 简述:建立有4个节点的拓扑,其中一个节点作为路由器,用来将两个节点发出的数据包转发到第四个节点上面. 在这里将解释将两个节点的数据流区分开来的方法,展示如何去 ...

  9. ns2相关学习——tcl脚本编写(1)

    新建一个仿真实例: set ns [new Simulator] 为了让nam文件和trace文件有地方可以依托,我们要打开.nam文件进行写入,并且使用句柄nf set nf [open out.n ...

最新文章

  1. 外贸网络推广浅析新建网站该如何更快速进入搜索结果首页?
  2. 前端进阶之路:初涉Less
  3. redis通过pipeline提升吞吐量
  4. u-boot-2012.07 for FL2440
  5. POJ1220(高精度进制转换)
  6. ListCtrl控件着色
  7. 你真的懂js获取可视区宽高吗
  8. Python之数据聚合——aggregate()方法
  9. 格密码教程(二):格的基本定义,格基转换
  10. indexOf 方法
  11. 四川加油,中国人加油!我们永远不服输!
  12. 力扣501. 二叉搜索树中的众数(JavaScript)
  13. CentOS系统缺少库文件解决办法
  14. [新功能]文章预览功能
  15. sql注入工具的使用
  16. GPT和MBR有什么区别?
  17. android 壁纸制作教程,[教程]怎样制作Android手机壁纸/桌面
  18. javascript函数总结
  19. C语言全网最详细的分支和循环语句讲解
  20. class中的static

热门文章

  1. 模拟网页行为之实践篇二
  2. @Transactional事务生效条件与样例
  3. CoreAnimation编程指南(四)图层树结构
  4. 现代软件工程 作业 团队第一个作业
  5. mysql heartbeat lvs_CentOS 6.3 Mysql+heartbeat+drbd+LVS 的安装和配置(2)
  6. JAVA入门级教学之(方法-6)
  7. 既约分数蓝桥杯c语言,2021蓝桥杯C++第二届省赛
  8. linux编译lnx文件命令_linux命令dd
  9. websocket 压力测试_打造最强移动测试平台
  10. oracle 练习 50_萨克斯每天需要练习内容