(⼀)Ns3⽹络仿真软件简单介绍
(⼀)Ns3⽹络仿真软件简单介绍
1. 什么是NS-3?
NS是⼀个开源离散事件驱动⽹络模拟器。官⽅定义:(from/)
ns-3 is a discrete-event network simulatorfor Internet systems, targeted primarily for research and educational use. ns-3is free software, licensed under the GNU GPLv2 license, and is publiclyavailable for research, development, and use.
ns-3 is intended as an eventual replacementfor the popular ns-2 simulator. The project acronym “nsnam”deriveshistorically from the concatenation of ns (network simulator) and nam (networkanimator).
适⽤平台:Linux/MacOS/Cygwin
Latest release version:ns-3.22 (5 February,2015)
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中,我们使⽤的是C++和OTcl,两种语⾔都得懂。
NS-3的功能模块仍旧在开发补充中,因此它远没有NS-2完善(当然NS-2的维护也在进⾏中)。NS-3并不包含⽬前所有NS-2的功能,但它具有某些新的特性:正确的多⽹卡处理、IP寻址策略的使⽤、更详细的802.11模块等等。vs编程软件
Lateststable release: ns-3.2.2 (5 February,2015)
3. NS-3的⼀些名词解释
Doxygen:DocumentationGenerator
⽀持C++、C、Java、Objective-C、Python、IDL、Fortran、VHDL、PHP、C#等各种语⾔的⽂档⽣成器,⽤于从源代码中⽣成说明⽂档。(类似于我之前使⽤过的Sandcastle,貌似更加强⼤些,有必要得学习⼀下。)
PyViz
⼀个利⽤Python开发的ns-3在线可视化⼯具,不需要使⽤tace⽂件。
NetAnim
⼀个独⽴的、基于Qt4的离线动画演⽰⼯具,在ns-3仿真过程中⽣成XML格式的trace⽂件,仿真结束后NetAnim读取⽂件显⽰⽹络拓扑和节点间数据分组流等动画过程。
Waf
NS-3项⽬使⽤的新⼀代的基于Python的编译系统(BuildSystem)
WireShark
⼀种GUI包嗅探器。由于NS-3能⽣成.pcap⽂件,因此可以使⽤类似于WireShark的软件对数据进⾏分析
tcpdump
另⼀种包嗅探器。在Linux下使⽤CLI进⾏数据分析
Mercurial
NS-3代码维护使⽤的源码版本控制管理系统
4. 基础知识要求
· C++(类,继承/多态/聚合,模版)
· 套接字编程(基本的套接字API)
· Ubuntu/Debian/Fedora/Redhat/Mac OS
· 编译系统Waf
· 调试(GDB,eclipse等)
学习资料
· Source code
· ns-3 Tutorial
· ns-3 Mannual
·
Doxygen
· Internet
5. NS3 ⽹络架构
NS-3的架构较NS-2更为清晰。NS-3中把⽹络构件分为四类。
通信基本过程:发送节点从上往下由应⽤层产⽣数据,利⽤类socket编程实现数据分组的向下传递,数据分组通过协议栈—TCP/IP向下传递给⽹络设备,⽹络设备包括MAC层、物理层协议,这样数据分组像真实⽹络中流动⼀样,有数据帧转换成⼆进制流,最终变成信号通过媒介信道传输到⽬的节点;⽽⽬的节点与此相反,收到数据分组后从下往上逐层转交。
6. Ns3⽹络仿真基本流程:
1) 选择和开发相应模块;
根据实际仿真对象和仿真场景选择相应的仿真模块;如果搭建的⽹络⽐较新,读者就需要开发⾃⼰设计的协议。
2) 编写⽹络仿真脚本;
⽣成节点node;
安装信道Channel和相应的⽹络设备NetDevice,
安装协议栈
安装应⽤层协议
其他配置等
启动仿真
3) 仿真结果分析;
4) 根据结果调试⽹络配置参数和修改源代码;
参考⽂献:
[1] blog.sina/s/articlelist_1923709774_8_1.html
[2] ns-3project. ns-3 Software Tutorial. ns-3 project. 2015年2⽉26⽇
[3] ns-3project. ns-3 Reference Manual. ns-3 project. 2015年2⽉26⽇
[4]《ns-3⽹络模拟器基础及应⽤》,⼈民邮电出版社,马春光 姚建盛,2014年1⽉部分参考⽹络资料,未⼀⼀列举,敬请原谅!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论