利用NS3部署不同拓扑无线网络
实验题目
利用NS2/NS3部署一个星型无线网络(一个AP,不少于5个接入点)、一个多跳无线网络(不少于6个网络节点)。并测量两种网络拓扑下的网络链路吞吐量,用图表表示。
实验目的
理解不同无线网络拓扑对性能的影响。
实验环境
操作系统 Linux Ubuntu 7.5.0
网络仿真软件 NS3-3.29
可视化程序 NetAnim
绘图软件 gnuplot
程序运行方法
一、将两个主程序放至NS3主程序waf同目录(ns-3.29)的文件夹scratch下,这个目录是NS3默认的脚本存放目录
启动waf来进行编译:
./waf --run scratch/star
./war --run scratch/hoc
二、编译成功后进行代码可视化,进入ns-allinone-3.29/netanim-3.108目录,使用Qt5的编译器qmake进行编译,执行指令make生成可执行文件NetAnim,运行./NetAnim
qmake ./NetAnim.pro
./NetAnim
打开编译所生成的.xml查看仿真图像即可查看可视化效果。
三、利用.awk脚本求吞吐量,将之前生成的.tr文件用gawk编译:
gawk -f throughout.awk star.tr > star
gawk -f throughout.awk hoc.tr > hoc
使用gnuplot来画图查看吞吐量:
gnuplot
plot "star" with lines
plot "hoc" with lines
实验内容及步骤
星型拓扑网络
星型网络的拓扑结构图如下:
创建网络节点
它用一个节点作为中心节点,其他节点直接与中心节点相连。整个网络由中心节点进行集中式管理,各节点的通信都要经过中心节点。AP,也就是无线接入点,就是本实验中网络的中心节点。 STA站点,每一个连接到无线网络中的终端(如笔记本电脑、PDA及其它可以联网的用户设备)都可称为一个站点。 这里设置了6个接入点:
uint32_t nSta = 6;
NodeContainer staNodes;
staNodes.Create(nSta);
NodeContainer apNodes;
apNodes.Create(1);
配置信道属性
设置通信信道和物理层,使用的是默认的信道和PHY模型:
YansWifiChannelHelper channel=YansWifiChannelHelper::Default();
YansWifiPhyHelper phy=YansWifiPhyHelper::Default();
phy.SetChannel(channel.Create());
利用WiFi中的远程基站管理WifiRemoteStationManager,该函数的第一个参数就是设置速率控制方法,可选的参数如下图:
这里选择了AarfWifiManager(AARF速率控制算法&