基于NS3的无线自组网仿真实现的策略分析.docx

上传人:rrsccc 文档编号:8927137 上传时间:2021-01-25 格式:DOCX 页数:4 大小:13.82KB
返回 下载 相关 举报
基于NS3的无线自组网仿真实现的策略分析.docx_第1页
第1页 / 共4页
基于NS3的无线自组网仿真实现的策略分析.docx_第2页
第2页 / 共4页
基于NS3的无线自组网仿真实现的策略分析.docx_第3页
第3页 / 共4页
基于NS3的无线自组网仿真实现的策略分析.docx_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《基于NS3的无线自组网仿真实现的策略分析.docx》由会员分享,可在线阅读,更多相关《基于NS3的无线自组网仿真实现的策略分析.docx(4页珍藏版)》请在三一文库上搜索。

1、基于NS3的无线自组网仿真实现的策略分析近年来,随着计算机和网络通信技术的迅速发展,研究人员不断开发新的网络协议、算法和应用,以适应日益增长的网络通信需要。因此,网络仿真日益成为分析、研究、设计和改善网络性能的强大工具,它通过在计算机上建立一个虚拟的网络平台,来实现真实的网络环境的仿真。网络技术研究人员在仿真环境中不仅能对网络通信、网络设备、协议以及网络应用进行设计研究,还能对网络的性能进行分析和评估。目的是在网络项目实施的过程前期和实施过程中提供指导。相对于其它的网络模拟软件而言,NS3是比较年轻的网络工具。NS3避免了一些其它网络模拟软件的缺点,尽量吸收其他模拟软件的优点。NS3是应用现代

2、软件工程技术和网络仿真技术而设计开发的新一代网络模拟工具。本文介绍了在Fedora20环境下,安装NS3.20模拟软件的具体方法,并在此基础上开发了一套无线自组网的仿真程序,对从事这方面的科研人员及教学人员具有一定的指导作用。1 Fedora20及NS3.20环境的安装1.1 Fedora20的下载与环境安装首先在WINDOWS下安装虚拟机VMware8.0版本,然后到网站http:/fedoraproject.org/get-fedora下面免费下载镜像Fedora-20-i386-DVD.iso,在虚拟机VMware8.0中安装此镜像,将fedora系统安装好。NS3内核是是使用C+语言开

3、发的,并提供Python接口,因此,安装NS3之前需要安装许多安装包,安装软件包一定要将自己的系统与外网连接,有些依赖软件包系统直接从外网下载并安装。使用下列命令安装软件包:yum install gcc gcc-c+ python python-develyum install mercurialyum install bzryum install gsl gsl-develyum install gtk2 gtk2-develyum install gdb valgrindyum install doxygen graphviz ImageMagickyum install python-

4、sphinx dia texlive texlive-latexyum install flex bisonyum install tcpdumpyum install sqlite sqlite-develyum install libxml2 libxml2-develyum install uncrustifyyum install openmpi openmpi-develyum install boost-develyum install graphviz graphviz-devel python-setuptools-devel python-kiwi pygoocanvasea

5、sy_install pygraphvizyum install cmake glibc-devel.i686 glibc-devel.x86_64在运行命令yum install graphviz graphviz-devel python-setuptools-devel python-kiwi pygoocanvas 时,系统提示有错误信息,与某些软件发生冲突;这时候,要先用下列命令删除冲突的软件:rpm e vim-minimalrpm -e sudo然后,再安装上述命令后,再完成后续命令的安装。1.2 NS3.20网络模拟器的安装在网站http:/www.nsnam.org上免费下载

6、软件包ns-allinone-3.20.tar.bz2,然后拷贝到虚拟机Fedora20的系统/root目录下,然后用命令:tar jxvf ns-allinone-3.20.tar.bz2进行解压缩。解压缩完成后,用以下命令进入相关目录:cd /root/ns-allinone-3.20/ns-3.20/然后执行:. /waf configure enable-examples enable-tests最后执行命令:./waf执行完后,如果出现如图1的画面,即编译安装成功。2 无线自组网IP地址的分配和拓扑结构设计2.1 无线自组网的IP地址分配我们将16个无线自组网都当成一个独立的节点,既

7、可以充当路由器,又可以充当终端节点。它们的IP地址都位于同一个网络10.1.1.0中,如图1所示。2.2 无线自组网拓扑结构图无线自组网节点作为一个独立的无线节点,可以再空间中自由移动,同时,在一范围内可进行互相通信。其拓扑结构如图2所示。无线自组网络可以互相之间通信,每个节点既充当路由器,又充当终端。我们假定节点n0与节点n15通信,来模拟数据在无线自组网中的通信过程。3 用NS3仿真无线自组网3.1 用NS3创建16个独立的无线节点我们首先创建16个无线节点,并配置无线节点通信所需要的参数。最主要的代码如下:NodeContainer wifiAdhocNodes;wifiAdhocNod

8、es.Create (16); /创建16无线自组网节点WifiHelper wifi = WifiHelper:Default ();NqosWifiMacHelper wifiMac = NqosWifiMacHelper:Default (); /配置Mac与PhywifiMac.SetType (ns3:AdhocWifiMac);YansWifiPhyHelper wifiPhy = YansWifiPhyHelper:Default ();YansWifiChannelHelper wifiChannel = YansWifiChannelHelper:Default (); /创

9、建无线节点互连通道wifiPhy.SetChannel (wifiChannel.Create ();NetDeviceContainer wifiAdhocDevices = wifi.Install (wifiPhy, wifiMac, wifiAdhocNodes); /创建节点的无线设备(无线网卡)InternetStackHelper stack; /安装协议栈stack.Install (wifiAdhocNodes);Ipv4AddressHelper address; /设置无线节点的IP地址address.SetBase (10.1.1.0, 255.255.255.0);I

10、pv4InterfaceContainer AdhocInterfaces;AdhocInterfaces = address.Assign (wifiAdhocDevices);3.2 应用层模拟1) 服务端节点设置16个节点创建并配置完后,我们在最后一个节点n15放置echo服务端程序,其主要代码为:UdpEchoServerHelper echoServer (9); /设置服务器端口号9ApplicationContainer serverApps = echoServer.Install (wifiAdhocNodes.Get (15); /服务端程序安装在节点n15。serverA

11、pps.Start (Seconds (1.0); /服务端程序在1秒生效serverApps.Stop (Seconds (10.0); /服务端程序在10秒停止。2) 客户端节点设置我们将回显客户端放在节点n0上,其主要代码为:UdpEchoClientHelper echoClient (AdhocInterfaces.GetAddress (15), 9);/让客户端与服务端及其端口关联echoClient.SetAttribute (MaxPackets, UintegerValue (100); /设置通信时参数echoClient.SetAttribute (Interval,

12、TimeValue (Seconds (1.0);echoClient.SetAttribute (PacketSize, UintegerValue (1024);ApplicationContainer clientApps =echoClient.Install (wifiAdhocNodes.Get (0); /客户端程序安装在节点n0clientApps.Start (Seconds (2.0);/客户端在 2秒中生效clientApps.Stop (Seconds (10.0); /客户端在10秒钟停止4 用NS3仿真无线自组网运行效果4.1 节点之间数据流向显示在 Fedora2

13、0操作系统中,运行:./waf run scratch/adhoctest则可以看出,移动节点n0与n15节点,可正常通信;显示的数据流向如图4所示,客户端与服务端之间的数据传送和应答顺利。4.2 节点之间通信效果显示:用Pyviz工具,可以查看节点之间互相通信的效果图,运行以下命令:./waf run scratch/adhoctest vis则可以看出,刚开始,在路由选择阶段,数据流向多个节点,如图5所示。一旦两个节点之间明确了路由,数据流向比较稳定,如图6所示。5 结束语本文主要仿真了无线自组网传送数据的过程。在仿真过程中,设计了无线自组网络节点,并仿真了数据传送的过程。可在此基础上,进一步研究不同算法对不同环境下的数据传送效果。希望对从事这方面的研究者有所启发。参考文献:【1】 ns-3 documentation. http:/www.nsnam.org/docs/doxygen/index.html.【2】 ns-3 developers.http:/www.nsnam.org/developers/overview.【3】 马春光,姚建盛.ns-3网络模拟器基础与应用.北京:人民邮电出版社,2014.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1