您的位置:首页 > 其它

2、NS3-目录结构和相关模块

2014-06-20 11:17 85 查看
Waf是基于Python开发的编译工具,ns-3系统本身和将要写的仿真代码都由waf负责编译运行。

Scratch目录一般存放用户脚本文件,也可以把要运行的例子拷贝到该目录下。

Example是ns-3提供的关于如何使用ns-3的例子,包含许多模块的使用。

Doc目录是帮助文档,可以使用./waf --doxygen编译本地Doxygen文档。

Build目录是ns-3编译目录,包含编译文件时使用的共享库和头文件(build/ns3)。

Src是ns-3源码目录。





模块里面的wscript文件结构是固定的,用来注册模块中包含的源码和使用其他模块情况。Model目录包含模块代码的.cc和.h文件。Helper目录存放的是模块对应的helper类代码的源文件。Test目录包含的是模块设计者编写的模块测试代码,而examples目录存放的是应用该模块的实例代码。Doc是帮助文档,bindings目录是模块用来绑定Python语言的。





常用模块:

Core:ns-3的内核模块,实现了ns-3的基本机制,如智能指针(Ptr)、属性(attribute)、回调(callback)、随机变量(random ariable)、日志(logging)、追踪(tracing)和事件调度(event scheduler)等内容。

Network:网络数据分组(packet)的模块,一般仿真会用到。

Internet:实现了关于TCP/IPv4和IPv6的相关协议族,包括IPv4、IPv6、ARP、UPP、TCP、邻居发现和其他相关协议,目前大多数网络都是基于Internet协议栈的。

Applications:集中常用的应用层协议

Mobility:移动模型模块

Topolopy-read:读取指定轨迹文件数据,按照指定格式生成相应的网络拓扑。网络协议时能量不得不考虑。

Status:统计框架模块,方便ns-3仿真的数据收集、统计和分析。

Tools:统计工具,包括统计作图工具gnuplot的接口和使用。

Visualizer:可视化界面工具PyViz

Netanim:动画演示工具Netnim

Propagation:传播模型模块

Flow-monitor:流量监控模块。

下面是几种典型的网络模块。

Point-to-point:实现点对点通信的网络

CSMA:实现了基于IEEE802.3的以太网络,包括MAC层、物理层和媒体信道。

Wifi:如何实现基于IEEE 802.11 a/b/g的无线网络,可以是有基础设施的也可以是ad hoc网络。

Mesh:实现基于IEEE 802.11s的无线mesh网络。

Wimax:实现了基于IEEE802.16标准的无线城域网络。

LTE:(long term evolution,长期演进)是第三代合作伙伴计划(3GPP,3rd generation partnership project )主导的通用移动通信系统(UMTS,universal mobile telecommunications system)技术的长期演进。

UAN:ns-3的水声通信网络(UAN,underwater acoustic network)模块,能仿真水下网络场景。实现了信道、物理层和MAC层。

对新技术:

Click:ns-3中集成的可编程模块化的软件路由(the click modular router)。

Openflow:在ns-3中仿真OpenFlow交换机。

MPI:并行分布式离散事件仿真,ns-3实现了标准的信息传递接口(MPI,message passing interface)。

Emu:ns-3可以集成到实验床和虚拟机环境下。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: