NS2学习指南(资源索引)

说明关于NS2网络模拟的学习资源汇总,包括本人原创的文章、视频教程,以及NS2学习的参考网站。本页面所涉及的内容归原创作者所有,本人会尽量注明原创作者、出处等相关信息。

NS2简介:NS2是目前应用最广泛的网络模拟工具,是网络研究人员的必不可少的工具。NS2采用开放源代码的方式发布,开发语言采用C++和Otcl。NS2是高度可扩展的,任何人都可以贡献自己的代码来扩充NS2的功能,这也是NS2的生命力所在。目前,已经有很多NS2的模块可以使用(几乎涵盖了计算机网络的所有研究方向或领域)。

哪些人在学习(研究)NS2:学习NS2的人员主要是网络研究人员,就国内而言,大部分的学习者都是计算机网络或者通信相关的研究生(硕士生、博士生),当然也有一部分是企业或者研究机构中研究人员(包括大学教师)。

如何学习NS2
        1.因为NS2是用来研究网络的,所以学习NS2之前首先要学习好《计算机网络》这门课程,其中的原理和概念都必须学习的很清楚很透彻。
        2.NS2的主要运行平台是Linux操作系统平台,所以要学好用好NS2,最好熟悉Linux操作系统。可以选择一款流行的Linux发行版学习(本人推荐Fedora,应为他软件多、更新快、升级方便,当然很多人喜欢Ubuntu,反正各需所爱吧),掌握Linux操作系统的基本概念和相关操作。其实,NS2也可以运行在Windows操作系统平台上,但是本人并不推荐,因为在Windows操作系统下编译和运行NS2代码是比较费功夫的,要做很多的工作,因为我们的目的是利用NS2搞网络研究,没有必要把大把的时间花费在这上面。
        3.学习C++语言和Otcl语言。通常,大学课程中都会开设C++课程,这应该不是什么问题。如果原来没有学习过C++语言,其实在刚开始学习NS2时也是不影响的,只有到学习深入后,需要添加新功能或者扩展NS2时才需要用到C++,所以C++在刚开始学习NS2时不是必须的,但是要将NS2学好,C++是必须的,学习者可以根据自己的实际情况而定。Otcl是开始学习NS2必须掌握的,Otcl源于TCL语言,并进行了面向对象的扩充,Otcl语言兼容TCL语言,可以在网上找到很多介绍TCL语言的资料,如果具有Linux/Unix下的脚本编程(例如:bash脚本编程)经验的话,学习TCL和Otcl将会很容易的。
        4.开始学习NS2,关键的第一步是理解NS2的运行机制和整个NS2进行网络模拟的整个流程要搞清楚。网上有很多介绍文章和资源,但是,初学者刚开始对NS2一窍不通,无法领会所讲的内容。这个时候千万不要着急,有人说学习NS2的周期为半年(也就是6个月),不管是否夸张或者低估了学习周期,最起码,那些NS2专家们至少是花了很多时间才把NS2搞定的,所以不要想着一夜之间就把NS2全搞懂了。其实,这个时候只要比葫芦画瓢就行,别人的或者网上经典资料中的Otcl脚本自己照着敲下来(注意千万不要复制下载直接运行,要记住复制永远不能代替自己敲代码。当然,这是对新手说的),运行后看看结果。不要怕自己学习的慢,只要天天有进步就行。代码不理解也不要紧,多敲几篇肯定收获颇丰,当然还要反复看资料。这个阶段最重要的就是坚持、坚持、坚持。。。。。,你会发现慢慢的对NS2有了一点点认识了。
        5.找一本好的经典的NS2书(纸质的或者网络版的电子书都可以),认认真真的从头到尾的看完,熟悉NS2的主要网络模块,加深对NS2工作机制的理解。
        6.高手进阶,尝试着阅读NS2的源码,为NS2添加扩充功能。这是NS2的终极目标,如果这个阶段搞定了,那么NS2就会在你的计算机网络研究中大放异彩,NS2将会称为你的论文(当然是计算机网络相关的论文了)中不可或缺的一部分。

目录索引

1.原创NS2教程和文章
2.原创NS2视频教程
3.NS2推荐免费书籍教程
4.NS2应用于高校计算机网络课程教学方面的资源链接
5.NS2相关工具资源链接
 

【NS2推荐免费书籍教程】
1.NS By Example(学习NS2必读):http://nile.wpi.edu/NS/
2.NS Simulator for Beginners(学习NS2必读):http://www-sop.inria.fr/maestro/personnel/Eitan.Altman/COURS-NS/n3.pdf(PDF文档),http://www-sop.inria.fr/members/Eitan.Altman/ns.htm(网页版,可以下载所有书中脚本,与PDF一同使用)
3.NS Tutorial(学习NS2必读):http://isi.edu/nsnam/ns/tutorial/index.html
4.《NS2仿真实验—多媒体和无线网络通信》随书光盘下载:http://www.osedu.net/software/tools/scientific-research/2011-08-15/55.html

【NS2应用于高校计算机网络课程教学方面的资源链接】
1.A Quick Tour Around TCP:http://web.eecs.utk.edu/~dunigan/tcptour/  (介绍使用NS2讲述TCP协议,NS2官方网站上有这篇文档的连接,但是已无法访问,这里的链接是可以访问的。包含了TCP以重点和难点)
 

【NS2相关工具资源链接】
1.使用Java实现的NAM动画工具(Javis is a Java based version of NAM):http://www.cs.technion.ac.il/~gabik/Jist-Swans/javis/index.htmlhttp://warriors.eecs.umich.edu/viz_tools/nam.html
2.用java语言开发的网络模拟程序jns:ftp://cs.ucl.ac.uk/nets/src/jns
3.NSG2:NS2脚本生成工具。(需要翻墙):http://sites.google.com/site/pengjungwu/nsg


最后更新:2011-8-2
联系信息:
       马玉军(mayu8758 at 163.com)  南阳理工学院计算机网络中心    websit:http://www.osedu.net