ns-3模拟基本流程
1)选择或开发相应的模块
根据实际仿真对象和仿真场景选择相应的仿真模块:如是有线局域网络(CSMA)还是无线局域网络(Wi-Fi);节点是否需要移动(mobility);使用何种应用程序(application);是否需要能量(energy)管理;使用何种路由协议(internet、aodv等);是否需要动画演示等可视化界面(visualizer、netanim)等。
2)编写网络仿真脚本
有了相应的模块,就可以搭建网络仿真环境。ns-3仿真脚本支持在2种语言:C++和python,但是2种语言的API接口是一样的(部分API还没有提供python接口)。
编写ns-3仿真脚本的大体过程如下:
- 生成节点:ns-3中节点相当于一个空的计算机外壳,接下来要给这个计算机安装网络所需要的软硬件,如网卡,应用程序,协议栈等。
- 安装网络设备:不同的网络类型有不同的网络设备,从而提供不同的信道,物理层和MAC层,如CSMA,Wi-Fi,WiMAX和point-to-point等。
- 安装协议栈:ns-3网络中一般是TCP/IP协议栈,依据网络选择具体协议,如是UDP还是TCP,如何选择不同的路由协议(OLSR、AODV、Global等)并为其配置相应的IP地址,ns-3既支持IPv4也支持IPv6。
- 安装应用层协议:依据选择的传输层协议选择相应的应用层协议,但有时需要自己编写应用层产生网络数据流量的代码。
- 其他配置:如节点是否移动,是否需要能量管理。
- 启动仿真:整个网络场景配置完毕,启动仿真。
API(Application Programming Interface,应用程序编