NS2学习笔记---ns2模拟仿真的一般过程及要点
2012-03-06 22:32
260 查看
From:
http://www.cnitblog.com/hareed/archive/2008/10/18/50387.html
在这里简单介绍ns2模拟仿真中的一般过程及要点
1)添加ns2的新组件,TclCL机制的实现及新组件的C++实现
最为关键的一步,该步将研究的理论想法(新的协议)用c++实现,以组件的形式嵌入到ns2平台中去,TclCL机制是一些固定的套路,主要包括类的登记,变量绑定,command方法。
2)TCL脚本的编写,实现对模拟仿真场景的产生和控制
tcl脚本主要是对模拟仿真场景的设定,运动场景的产生,数据业务的产生,仿真流程的控制。在实际实现中,经常把运动场景的产生和数据业务的产生用独立的文件来表示,在tcl脚本中导入它们即可。随机运动场景的产生用ns2自带的setdest,数据业务场景用cbrgen来产生。
如果运动场景节点的布置和运动具有一定的特殊性,需要按作者意图来制定,可以从两方面入手,一方面是改写setdest,因为它实现的仅是rwp移动模型,并不适合各种移动场景的需要。另一方面是自已编写一个场景生成工具,并具有节点删除与移动(重新布置)功能,生成合适的拓扑结构的场景后,将其输出成ns2场景格式即可,主要是节点坐标的输出。
3)运行TCL脚本,生成.nam和.trace文件
用命令ns *.tcl来运行模拟仿真,但是,想运行成功而不出错是很难做到的,因此需要进行基于两个层面的调试,一方面为tcl脚本的调试,另一方面为底层新组件c++的调试,这个过程是非常痛苦而又漫长的过程。为了集中精力对底层新组件c++的调试,我们可以先编写一个简单的tcl脚本进行调试,如果新组件比较复杂,在文本界面上用gdb进行调试,会让人发疯的,笔者认为利用集成开发环境kdevelop来进行调试,非常方便,犹如windows系统下vc6.0的调试程序。
4)对.trace文件的分析,分析得到相关数据结果
对trace文件的分析,主要是掌握好trace文件的格式与含义,利用gawk对其进行统计分析,包括端到端时延、即时吞吐量、平均吞吐量、数据分组成功传送率、控制开销等等。
5)运行nam文件,查看模拟运行过程,利用gnuplot画图软件将数据结果用图直观地展示出来
主要掌握nam动画演示控制,看模拟仿真的过程是否正确。掌握gnuplot画图及输出图片的方法。
其要点有以下几个:
1 TclCL机制
2 新组件的c++实现
3 tcl脚本的编写
4 运动场景的生成
5 业务场景的生成
6 gawk分析脚本的编写
7 gnuplot画图方法
8 在kdevelop集成开发环境中进行调试
9 对移动模型的研究还需要重新编写setdest
http://www.cnitblog.com/hareed/archive/2008/10/18/50387.html
在这里简单介绍ns2模拟仿真中的一般过程及要点
1)添加ns2的新组件,TclCL机制的实现及新组件的C++实现
最为关键的一步,该步将研究的理论想法(新的协议)用c++实现,以组件的形式嵌入到ns2平台中去,TclCL机制是一些固定的套路,主要包括类的登记,变量绑定,command方法。
2)TCL脚本的编写,实现对模拟仿真场景的产生和控制
tcl脚本主要是对模拟仿真场景的设定,运动场景的产生,数据业务的产生,仿真流程的控制。在实际实现中,经常把运动场景的产生和数据业务的产生用独立的文件来表示,在tcl脚本中导入它们即可。随机运动场景的产生用ns2自带的setdest,数据业务场景用cbrgen来产生。
如果运动场景节点的布置和运动具有一定的特殊性,需要按作者意图来制定,可以从两方面入手,一方面是改写setdest,因为它实现的仅是rwp移动模型,并不适合各种移动场景的需要。另一方面是自已编写一个场景生成工具,并具有节点删除与移动(重新布置)功能,生成合适的拓扑结构的场景后,将其输出成ns2场景格式即可,主要是节点坐标的输出。
3)运行TCL脚本,生成.nam和.trace文件
用命令ns *.tcl来运行模拟仿真,但是,想运行成功而不出错是很难做到的,因此需要进行基于两个层面的调试,一方面为tcl脚本的调试,另一方面为底层新组件c++的调试,这个过程是非常痛苦而又漫长的过程。为了集中精力对底层新组件c++的调试,我们可以先编写一个简单的tcl脚本进行调试,如果新组件比较复杂,在文本界面上用gdb进行调试,会让人发疯的,笔者认为利用集成开发环境kdevelop来进行调试,非常方便,犹如windows系统下vc6.0的调试程序。
4)对.trace文件的分析,分析得到相关数据结果
对trace文件的分析,主要是掌握好trace文件的格式与含义,利用gawk对其进行统计分析,包括端到端时延、即时吞吐量、平均吞吐量、数据分组成功传送率、控制开销等等。
5)运行nam文件,查看模拟运行过程,利用gnuplot画图软件将数据结果用图直观地展示出来
主要掌握nam动画演示控制,看模拟仿真的过程是否正确。掌握gnuplot画图及输出图片的方法。
其要点有以下几个:
1 TclCL机制
2 新组件的c++实现
3 tcl脚本的编写
4 运动场景的生成
5 业务场景的生成
6 gawk分析脚本的编写
7 gnuplot画图方法
8 在kdevelop集成开发环境中进行调试
9 对移动模型的研究还需要重新编写setdest
相关文章推荐
- ns2模拟仿真中的一般过程和要点
- ns2模拟仿真的一般过程及要点
- 深入浅出MFC学习笔记:MFC六大关键技术仿真之MFC程序的初始化过程
- 深入浅出MFC学习笔记:MFC六大关键技术仿真之MFC程序的初始化过程
- NS2无线模拟课程学习笔记
- pspice学习笔记(7)--模拟电路分析计算基本过程
- 网络仿真技术-NS2(学习笔记)
- pspice学习笔记(2)----大概的电路模拟过程
- 第八周学习笔记——进程切换和一般执行过程
- 20135202闫佳歆--week 8 进程的切换和系统的一般执行过程--学习笔记
- http学习笔记(模拟http请求和响应过程)
- NS2学习笔记2:octl与c++对象的关联
- Android(java)学习笔记159:Dalivk虚拟机的初始化过程
- NS2学习笔记
- JVM学习笔记(二)------Java代码编译和执行的整个过程
- 学习笔记之深入浅出MFC 第9章 仿真MFC 之一
- ORACLE PL/SQL子程序--过程和函数学习笔记
- QTP 学习笔记——模拟录制、低级录制
- Spark计算Pi运行过程详解---Spark学习笔记4
- XMPP协议学习笔记四(Openfire服务器启动过程)