声明:引用和转载相关内容,请尊重作者、翻译者和审稿者的辛勤付出,我们坚信开源的思想,我们希望自己的工作可以为更多的人提供帮助,我们不希望成为随意粘贴和任意复制的对象。
(由于NS3出来没多久,材料还都没有中文的版本, 本人和网友正着手翻译相关文档, 欢迎有意为中国学术界网络协议研究做贡献的网友的参与, 邮件我: , 以便分工和汇总
或加入翻译的QQ交流群:Nsto3 21930554 )
(翻译的过程,不仅是一个深入了解NS3机制的机会,更加是一个锻炼你英语能力的实践, 将有益于你阅读更多的英文材料和写出更好的英语论文!)
1. 什么是NS-3?
NS是一个离散事件驱动网络模拟器。官方定义:(from )
ns-3 is a discrete-event network simulator for Internet systems, targeted primarily for research and educational use. ns-3 is free software, licensed under the GNU GPLv2 license, and is publicly available for research, development, and use.
ns-3 is intended as an eventual replacement for the popular ns-2 simulator. The project acronym “nsnam” derives historically from the concatenation of ns (network simulator) and nam (network animator).
2. NS-3 vs NS-2
NS-3虽然冠以一个“3”,但事实上跟它广泛流行的前任NS-2并非一脉相承,或者从使用角度上说,仅仅继承了一个名称而已。NS-3基本上是一个新的模拟器,不支持NS-2的API。NS-3是完全用C++编写的(也有可选的Python接口),而NS-2一部分模块使用C++而另一部分使用 OTcl。因而NS-3最大的特点就是脚本可以C++或Python语言,而在NS-2中,我们使用的是OTcl。
NS-3的功能仍旧在开发中,因此它远没有NS-2完善(当然NS-2的维护也在进行中)。NS-3并不包含目前所有NS-2的功能,但它具有某些新的特性:正确的多网卡处理、IP寻址策略的使用、更详细的802.11模块等等。
Latest stable release: ns-3.2.1 (November 20, 2008)
3. NS3的结构:
据说NS-3的架构看起来比NS-2清晰得多?覰S-3 Tutorial看起来确实是这样。
NS-3中把网络构件分为四类:
·Node:终端节点,能够添加应用、协议、外部接口等。
·NetDevice:网卡及其驱动,有各种不同类型的网卡:CsmaNetDevice、PointToPointNetDevice、WifiNetDevice。
·Channel:通道,有各种不同类型的介质通道:CsmaChannel、PointToPointChannel、WifiChannel。
·Application:应用程序,包括UdpEchoClientApplication、UdpServerApplication等。
此外,NS-3中提供了一类称为Topology Helper的模块,对应每种拓扑连接有不同的Helper(例如CsmaNetHelper等),使用这些类来模拟现实中的安装网卡、连接、配置链路等过程,来简化工作。
4. NS-3的一些名词解释
POSIX:Portable Operating System Interface
一组操作系统API的协议/标准族,最开始为了Unix系统上的可移植性而开发的,也适用于其他操作系统。
Doxygen:Documentation Generator
支持C++、C、Java、Objective-C、Python、IDL、Fortran、VHDL、PHP、C#等各种语言的文档生成器,用于从源代码中生成说明文档。(类似于我之前使用过的Sandcastle,貌似更加强大些,有必要得学习一下。)
nam:Network Animator
基于Tcl/TK的网络动画演示工具,能提供拓扑和包级别的动画以及数据流观察。(参考)
Mercurial
NS-3代码维护使用的源码版本控制管理系统
Waf
NS-3项目使用的新一代的基于Python的构建系统(Build System)
WireShark
一种GUI包嗅探器。由于NS-3能生成.pcap文件,因此可以使用类似于WireShark的软件对数据进行分析
tcpdump
另一种包嗅探器。在Linux下使用CLI进行数据分析
阅读(3776) | 评论(0) | 转发(0) |