如何用NS2模拟一个MESH网络
1.在Linux下的安装 申明:我的pc上安装的是Ubuntu版本,个人用户名为ryan首先下载软件包ns-allinone-2.31.tar.gz(目前最新版本).具体步骤如下:(1)到自家目录下确定软件包的所在ryan@Ubuntu:~$cdryan@Ubuntu:~$ls -l ns-allinone-2.31.tar.gz(2)解压软件包,使用tar命令解压为.gz结尾的软件包ryan@Ubuntu:~$tar zxf ns-allinone-2.31.tar.gzzxf为解压.gz专用参数,如果想看到解压输出的过程,也可以加上V,即用vzxf参数解压,详细的tar命令的参数和使用方法可以参加linux的有关资料.(3)运行安装命令ryan@Ubuntu:~$cd ns-allinone-2.31ryan@Ubuntu:~/ns-allinone-2.31 $./install执行./install命令后,会出现很多编译过程的结果输出,主要没有错误信息并停止,不用去管它,不出意外,等待一段时间后会正常退出到提示符.(4)设置全局路径变量上一步的安装成功后,最后输出部分会提示你必须设置三个全局变量path,ld_library_path和tcl_library.在自己的家目录下编辑终端配置文件 .bashrc,注意要带"."开头, .bashrc是bash终端的配置文件,每次打开一个终端窗口,该文件中的脚本就会自动运行.在Linux中它是隐藏文件,一般用ls命令看不出来,没关系,采用vi命令编辑该文件:ryan@Ubuntu:~$cdryan@Ubuntu:~$vi .bashrc将光标移动到文件的最后一行,按"ins"键进行插入,在此文件中添加一下三行:export path=$path:~/ns-allinone-2.31/bin:/home/ryan/ns-allinone-2.31/tcl8.4.13/unixexport ld_library_path=$ld_library_path:/home/ryan/ns-allinone-2.31/otcl-1.12:/home/ryan/ns-allinone-2.30/libexport tcl_library=$tcl_library:/home/ryan/ns-allinone-2.31/tcl.4.13/library编辑完成后,按"esc"键退出插入模式,再按":wq"存盘退出.重新打开新的终端,脚本运行生效.(5)简单测试重新打开新的终端,环境变量的设置才会生效,如果.bashrc文件中有什么错误,这时在新开的终端中会有提示信息显示出来.如果没有错误,则在终端提示符下输入ns命令进行测试.操作步骤如下:A)打开一个新的终端B)输入ns并回车ryan@Ubuntu:~nsC)输入一段测试用的tcl脚本代码进行测试%puts "hello world"回车如下所示显示则表示安装成功.hello world%2.如何快速入门ns中两个语言是c++和tcl,所以懂得这两种语言的语法是入门的关键.c++我就不多说了,很多关于这方面的书籍,而且个人觉得作为一名计算机专业的学生,学好c++是根本吧.只有tcl,感觉语法和网络编程语言php比较类似,个人以前用它开发过网站,感觉很熟悉,也容易理解.即使不懂,我感觉半天就可以上手.这里还推荐一本书,主要看看第4,5,7章就ok了,最后分析数据的时候再看看第6章.在自己动手之前,认真研究mflood的例子,这是一个原型的东西,看懂了基本就可以下一步了.如果以后遇到不懂的,可以重新回头看.3.如何开发,讲讲自己的经验.开发工具非常重要,本人采用eclipse作为开发工具,感觉非常好用.至于...安装就不需要我讲解了吧-_-#必要的插件是必须的.用eclipse建立ns的工程,开发自己的源代码(c++文件).基本就是.h和.cc文件的code,需要一定的c++基础(ps:好久不写代码,犯了很多幼稚的错误)调试c++代码时,可以使用eclipse工具,非常方便,而且定位错误也准确,我想使用过这个平台的人都深有体会吧. 编译通过之后,编写tcl脚本,开始模拟测试...
NS是Network Simulator的英文缩写,字面翻译即为网络模拟器,又称网络仿真器. NS2则是网络仿真器的第2版.NS2是一款开放源代码的网络仿真软件,它也是目前网络研究领域应用最广泛的网络仿真软件之一.毕业论文中刚好用到了这个软件.在模拟完毕之后,花点时间来写点入门级的东东.1.在Linux下的安装申明:我的pc上安装的是Ubuntu版本,个人用户名为ryan首先下载软件包ns-allinone-2.31.tar.gz(目前最新版本).具体步骤如下:(1)到自家目录下确定软件包的所在ryan@Ubuntu:~$cdryan@Ubuntu:~$ls -l ns-allinone-2.31.tar.gz(2)解压软件包,使用tar命令解压为.gz结尾的软件包ryan@Ubuntu:~$tar zxf ns-allinone-2.31.tar.gzzxf为解压.gz专用参数,如果想看到解压输出的过程,也可以加上V,即用vzxf参数解压,详细的tar命令的参数和使用方法可以参加linux的有关资料.(3)运行安装命令ryan@Ubuntu:~$cd ns-allinone-2.31ryan@Ubuntu:~/ns-allinone-2.31 $./install执行./install命令后,会出现很多编译过程的结果输出,主要没有错误信息并停止,不用去管它,不出意外,等待一段时间后会正常退出到提示符.(4)设置全局路径变量上一步的安装成功后,最后输出部分会提示你必须设置三个全局变量path,ld_library_path和tcl_library.在自己的家目录下编辑终端配置文件 .bashrc,注意要带"."开头, .bashrc是bash终端的配置文件,每次打开一个终端窗口,该文件中的脚本就会自动运行.在Linux中它是隐藏文件,一般用ls命令看不出来,没关系,采用vi命令编辑该文件:ryan@Ubuntu:~$cdryan@Ubuntu:~$vi .bashrc将光标移动到文件的最后一行,按"ins"键进行插入,在此文件中添加一下三行:export path=$path:~/ns-allinone-2.31/bin:/home/ryan/ns-allinone-2.31/tcl8.4.13/unixexport ld_library_path=$ld_library_path:/home/ryan/ns-allinone-2.31/otcl-1.12:/home/ryan/ns-allinone-2.30/libexport tcl_library=$tcl_library:/home/ryan/ns-allinone-2.31/tcl.4.13/library编辑完成后,按"esc"键退出插入模式,再按":wq"存盘退出.重新打开新的终端,脚本运行生效.(5)简单测试重新打开新的终端,环境变量的设置才会生效,如果.bashrc文件中有什么错误,这时在新开的终端中会有提示信息显示出来.如果没有错误,则在终端提示符下输入ns命令进行测试.操作步骤如下:A)打开一个新的终端B)输入ns并回车ryan@Ubuntu:~nsC)输入一段测试用的tcl脚本代码进行测试%puts "hello world"回车如下所示显示则表示安装成功.hello world%2.如何快速入门ns中两个语言是c++和tcl,所以懂得这两种语言的语法是入门的关键.c++我就不多说了,很多关于这方面的书籍,而且个人觉得作为一名计算机专业的学生,学好c++是根本吧.只有tcl,感觉语法和网络编程语言php比较类似,个人以前用它开发过网站,感觉很熟悉,也容易理解.即使不懂,我感觉半天就可以上手.这里还推荐一本书,主要看看第4,5,7章就ok了,最后分析数据的时候再看看第6章.在自己动手之前,认真研究mflood的例子,这是一个原型的东西,看懂了基本就可以下一步了.如果以后遇到不懂的,可以重新回头看.3.如何开发,讲讲自己的经验.开发工具非常重要,本人采用eclipse作为开发工具,感觉非常好用.至于...安装就不需要我讲解了吧-_-#必要的插件是必须的.用eclipse建立ns的工程,开发自己的源代码(c++文件).基本就是.h和.cc文件的code,需要一定的c++基础(ps:好久不写代码,犯了很多幼稚的错误)调试c++代码时,可以使用eclipse工具,非常方便,而且定位错误也准确,我想使用过这个平台的人都深有体会吧.编译通过之后,编写tcl脚本,开始模拟测试...ps:如果你的协议有逻辑错误,那我就无话可说了.我的毕业论文做的是无线mesh网络的QoS组播路由协议,基于MAODV协议的改进,增加了QoS的参数约束! 全部协议实现共18个文件,代码量在5k的样子,开发时间为1个星期,后期模拟5*10个场景...效果满意...
