实验指导书-实验八:NS3基础仿真实验.docx

上传人:王** 文档编号:653501 上传时间:2023-12-08 格式:DOCX 页数:13 大小:106.80KB
下载 相关 举报
实验指导书-实验八:NS3基础仿真实验.docx_第1页
第1页 / 共13页
实验指导书-实验八:NS3基础仿真实验.docx_第2页
第2页 / 共13页
实验指导书-实验八:NS3基础仿真实验.docx_第3页
第3页 / 共13页
实验指导书-实验八:NS3基础仿真实验.docx_第4页
第4页 / 共13页
实验指导书-实验八:NS3基础仿真实验.docx_第5页
第5页 / 共13页
实验指导书-实验八:NS3基础仿真实验.docx_第6页
第6页 / 共13页
实验指导书-实验八:NS3基础仿真实验.docx_第7页
第7页 / 共13页
实验指导书-实验八:NS3基础仿真实验.docx_第8页
第8页 / 共13页
实验指导书-实验八:NS3基础仿真实验.docx_第9页
第9页 / 共13页
实验指导书-实验八:NS3基础仿真实验.docx_第10页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《实验指导书-实验八:NS3基础仿真实验.docx》由会员分享,可在线阅读,更多相关《实验指导书-实验八:NS3基础仿真实验.docx(13页珍藏版)》请在优知文库上搜索。

1、近兵机网络实验实验能导行实验名称NS3基础仿真实验一、实验目的1 .了解网络仿真的意义2 .熟悉NS-3的基本语句3 .安装并熟悉使用NS-34 .用NS-3搭建最基本的网络仿真场景二、实验背景(一)网络仿真技术近年来,随着计算机和网络通信技术的不断发展,网络技术的研究也进入到了一个飞速发展的时期。研究人员不断开发出新的网络协议、算法和应用,以适应日益增长的网络通信需要。然而由于网络的不可控、易变和不可预测等特性的存在,给新的网络方案的验证、分析和比较带来了极大的困难。目前网络通信的研究一般分为以下3种方法。1)分析方法:在理论和协议层面上对网络通信技术或系统进行研究分析,抽象出数学分析模型,

2、利用数学分析模型对问题进行求解。如采用数学建模、协议分析、状态机、集合论以及概率统计等对多种理论分析手段和方法对通信网络及其算法、协议、网络性能等各个方面进行研究。2)网络模拟:即计算机模拟仿真算法。网络模拟日益成为分析、研究、设计和改善网络性能的强大工具,它通过在计算机上建立一个虚拟的网络平台,来实现真实网络环境的模拟,网络技术研究人员在这个平台上不仅能对网络通信、网络设备、协议以及网络应用进行设计研究,还能对网络的性能进行分析和评价。3)实验网方法:对网络协议、网络行为和网络性能采用建立实验室测试网络、网络测试平台(networktestbed)和小规模商用实验网络的方式对网络进行实战检验

3、。就是设计出研究所需要的合理硬件和软件配置环境,建立测试床和实验室,在现实的网络上进行研究。以上3种方法有利有弊,相辅相成并各有侧重点。理论研究适用于早期研究与设计阶段,对新算法和新技术进行理论准备和验证,除了人力和知识,几乎不需要什么额外成本。实验网方法是网络和系统在投入实际应用前的一次系统的演练,能够发现网络设计与用户需求之间的相合度以及检验网络实际使用的效用和性能。该阶段建设成本很高,要求技术和设备开发相对成熟,网络系统基本成型,主要是对业务、系统稳定性能和服务性能的检验。而网络模拟阶段可以说是理论方法和实验网方法的中间阶段,它可以对新协议进行初步实现和验证,并有助于新协议的及时调整和改

4、进。网络模拟阶段由于采用计算机软件进行模拟,使得很多研究工作人员能够研究大规模网络和学习新协议新算法的设计和实现,并且能够在网络实用钱对其进行检验和改进。此外,它还可以在各种新老系统和算法之间进行比较而不必花费巨资去建立多个实际系统。因此,网络模拟是网络通信研究中一种非常重要的方法。(二)NS-3简介俗话说“工欲善其事必先利其器二为了方便网络研究人员的研究工作,一款好的网络模拟软件是必不可少的。它必须具备以下特点:1)能够提供简单易用的使用界面,能方便快捷地建立和修改模拟环境和模拟配置;2)能够提供常用的绝大部分网络协议、算法和应用模块;3)能够方便地进行配置和扩展,有利于添加新的协议和算法。

5、当前有许多优秀的网络模拟软件,如NS-2(networksimulatorversion2)、OPNET(optimizedperformancenetworkengineeringtool)、OMNet+(objectivemodularnetworktestbedinC+)GIoMoSim(globalmobileinformationsystemsimulator等,这为网络研究和开发人员提供了很好的网络模拟平台。相比于以上提到的网络仿真软件,NS-3是比较年轻的网络仿真工具。NS-3是尽量吸取现有网络模拟工具的优点并避开其缺点,应用现代软件工程思想和网络仿真技术而设计开发的新一代网络模

6、拟工具。NS-3不是NS-2的扩展,而是一个全新的网络模拟器,是由美国华盛顿大学的ThomaSRHenderson教授及其研究小组在美国自然科学基金(NFS)的支持下,于2006年开始应用现代网络模拟技术和软件开发技术设计并开发的一个全新网络模拟工具。NS-3广泛汲取了现有优秀开源网络模拟器如NS-2、GTNetS.YanS等的成功技术和经验,专门用于教育和研究用途的离散事件模拟器,它基于GNUGPLV2许可,可以免费地获取、使用和修改。NS-3相对简单易学、可扩展性好、节省资源,并且能提供高性能的,与真实网络相近的网络仿真,尤其能够集成到实验床和虚拟机环境,逐渐得到学术界的认可,在和仿真相关

7、的国际会议如SlMUTools、SPringSim、ICST-NSTOOIS等,以及网络方面的顶级会议如SigComm、InfoCom等研究和使用NS-3的文献逐渐增多,详http:/WWW.nsnam.org/OVerVieW/publications。三、实验原理(一)NS3仿真基本流程使用NS-3进行网络仿真时,一般经过以下4个步骤。D选择或开发相应模块根据实际仿真对象和仿真场景选择相应的模块:如是有线局域网络(CSMA)还是无线局域网络(Wi-Fi);节点是否需要移动(mobility);使用何种应用程序(application);是否需要能量(energy)管理;使用何种路由协议(i

8、nternet、aodv等);是否需要动画演示等可视化界面(visualizernetanim)等。2)编写网络仿真脚本有了相应的模块,就可以搭建网络仿真环境,NS-3仿真脚本支持2种语言:C+和PythOn,但是2种语言的APl接口是一样的,部分APl可能还没有提供Python接口。编写NS-3仿真脚本的大体过程如下。 生成节点:NS-3中节点相当于一个空的计算机外壳,接下来要给这个计算机安装网络所需要的软硬件,如网卡、应用程序、协议栈等。 安装网络设备:不同的网络类型有不同的网络设备。从而提供不同的信道、物理层和MAC层,如CSMA、Wi-Fi、WiMAX和POint-to-point等。

9、 安装协议栈:NS-3网络中一般是TCP/IP协议栈,依据网络选择具体协议,如是UDP还是TCP,选择何种不同的路由协议(OLSRAODV和GIObal等)并为其配置相应的IP地址,NS-3既支持IPv4也支持IPV6。 安装应用层协议:依据选择的传输层协议选择相应的应用层协议,但有时需要自己编写应用层产生网络数据流量的代码。 其他配置:如节点是否移动,是否需要能量管理等。 启动仿真:整个网络场景配置完毕,启动仿真。图3-1NS-3基本模型NS-3仿真的基本模型如图3-1所示,搭建NS-3网络仿真场景和搭建实际网络类似,首先需要网络节点,NS-3中使用节点的概念;节点需要有网络设备,类似于网络

10、接口卡,NS-3中有相应网络设备的概念;网络设备通过传输媒体连接,NS-3中使用信道的概念来代表传输媒体,设置信道延迟等属性,并且和实际网络相似:信道和网络设备是对应的,CSMA网络设备对应CSMA的信道,Wi-Fi网络设备对应Wi-Fi的信道。以上概念使网络节点实现了物理连接,但要实现通信,还需要软件支持,也就是协议,应用层产生数据,利用类SOCket编程(和真实的BSDSOCket很像)实现数据分组的向下传递,数据分组通过协议栈一TCP/IP向下传递给网络设备(可以简单理解为网卡),该网络设备包括MAC层、物理层协议,于是数据分组就像在真实网络中流动一样,由数据帧转换成二进制流,最终变成信

11、号通过媒体信道传输到目的节点。目的节点收到数据分组后从下往上逐层转交,由媒体信号转换成二进制,由二进制转换成数据帧,再有数据帧转换成IP数据分组,然后经由传输层的端口号转交给相应的进程(应用程序application),至此在NS-3中完成了一次和真实网络极其相近的完整数据传输过程。3)仿真结果分析仿真结果一般有2种:一是网络场景,二是网络数据。网络场景如节点拓扑结构、移动模型等,一般通过可视化界面(PyViZ或NetAnim)可直观观测到;网络数据也可在可视化界面下有简单的统计,此外,可以通过专门的统计框架(status)或者自行通过NS-3提供的追踪(tracing)系统收集、统计和分析相

12、应的网络数据,如数据分组的延迟、网络流量、分组丢失率和节点消息缓存队列等。4)根据仿真结果调整网络配置参数或修改源代码有时实际结果和预期相差较远,这时我们要分析原因,是网络参数有问题,还是协议本身有出入等,然后再重新设计,重新仿真,如此反复,直到达到满意的结果。四、实验内容(一)NS-3基础实验示例示例first.cc所在位置为ns-3.16exampletutorial,该目录是学习编写NS-3脚本的基础示例。该脚本仿真的网络场景非常简单,只是在2个节点间创建一个简单的点到点通信,但是“麻雀虽小,五脏俱全”,下面大家一起逐行仔细学习,深入体会编写NS-3网络仿真脚本的方法和过程,相信从中会有

13、所收获,以下是对其分析。1 .代码规范首先看看NS-3的代码规范和基本结构:Mode:C+;c-file-style:*gnuR;indent-tabs-mode:nil;*/Thi3poraxn13freesoftware;youcanredistributeitand/ormodifyitunderCheCernISoftheGNUGeneralPublicLicenseversion2asPXiblishedbytheFreeSoftwareFoxmdation;Thisprograjnisdistributedinthehopethatitwillbeuseful,butWITHOUT

14、ANYWARRANTY;withouteventheimpliedwarrantyofMERCHANTABILITYorFITNESSFORAPARTICULARPURPOSE.SeetheGNUGeneralPublicLicenseformoredetails.YoushouldhavereceivedacopyoftheGNUGenezalPublicLicensealongWiththisprogram;ifnoz,writezotheFreeSoftwareFoundation,Inc.rS9TemplePlace,Suite330,BosronrMA02111-1307在文件中的第

15、一行是emacs模式行,这行告诉了源代码中使用的预定格式(代码风格)。下面的一大段(略去一部分)和许多大型的软件开发项目一样,NS-3项目采用了一套所有贡献代码必须遵守的代码风格。NS-3仿真器使用了GNUGeneralPublicLicense许可。在NS-3的每一个文件头看到相应的GNU法律条文。通常会在GPL内容的上方看到一个相关机构的版权声明,而在GPL内容的下方会有相应的作者列表。NS-3中好多代码在此都有作者列表和其联系方式(个人主页或邮箱等),这个信息使读者可以和原作者联系、交流,获得更多关于代码以外的信息,这也是学习NS-3的另外一个好方法,不能闭车造门,一定要开放、交流!2

16、.头文件1718192021includens3core-module.h#include Iincludens3necwork-module.hn3internet-module.h#includens3point-to-point-module.hincludens3applications-moiule.h为了帮助高层的脚本用户处理大量系统中的include文件,会把所有的文件根据模块功能进行大致的分类,提供了按大致功能分类的一组include文件,在使用时只需要选择包含几个头文件即可。在编译的过程中,每一个NS-3的include文件被放在build目录下一个叫NS-3的目录中,这样做可以避免include文

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

当前位置:首页 > IT计算机 > 网络与通信

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!