收藏 分销(赏)

传感器网络有效工作寿命的模拟实现论文.doc

上传人:仙人****88 文档编号:8714966 上传时间:2025-02-27 格式:DOC 页数:39 大小:473.50KB 下载积分:10 金币
下载 相关 举报
传感器网络有效工作寿命的模拟实现论文.doc_第1页
第1页 / 共39页
传感器网络有效工作寿命的模拟实现论文.doc_第2页
第2页 / 共39页


点击查看更多>>
资源描述
毕业论文 第 30 页 毕业设计(论文) 设计论文题目: 传感网络有效工作寿命的模 拟与实现 学生姓名: 学生学号: 专业班级: 学院名称: 指导老师: 学院院长: 年5月28日 传感器网络有效工作寿命的模拟与实现 摘要 传感器网络是当今国际上备受关注的问题,可以广泛应用与军事、交通、环境监视和预报、卫生保健、空间探索等领域。由于每个传感器的能量负载有限,针对传感器网络节点能量难以补充,如何延长传感器网络寿命成为关键问题。所谓传感器网络的有效工作寿命在本文是指整个网络第一个耗尽能量的传感器节点的寿命。 由于传感器网络实际的工作环境很难按人们的理想状态进行,且其实际的工作环境又很难人为控制到恰到好处。所以本文首先学习网络仿真,对主流的仿真软件加以介绍,给出传感器网络寿命的定义并对路由算法进行研究。在这个方面,针对无线传感器网络的特点,对转发和路由选择的问题进行处理,从而得到更加高效,低能耗的算法。除此之外学习网络模拟工具ns2的安装、用和配置以及ns2用到的脚本语言tcl,otcl,tclcl,之后在ns2上开始进行网络模拟实验练习,对wsn路由协议进行研究模拟并添加新协议,实现传感器网络的单跳多跳路由协议,对能耗的不均衡问题进行模拟。通过对能耗的研究和模拟,提出自己的关于能耗的新假设,即结合单跳多跳协议的优缺点给出一个能量二分的延长网络寿命的方法,并进行模拟来延长传感器网络寿命。 关键词: 传感器网络;能量有效性;路由协议;NS2;能量二分;寿命 The Simulation and Implementation of Sensor Networks’ Effective Working Life Abstract Sensor networks are contemporary international issue of great concern , It can be widely used in the military, transportation, environmental monitoring and forecasting, health, space exploration and other fields. As each sensor' energy load is limited,and it is difficult to add energy, how to extend the life of sensor networks becomes aney issue. The so-called sensor networks' effective work life in this paper is the span of the first sensor node that deplets its energy. There are other explainations of networks’ effective working life,this paper will introduce them one by one. Sensor networks' actual work environment is not easy to the ideal state, and the actual work environment is very difficult to control to the perfection artificial . So this paper firstly introduces network simulation, and the main network simulator. This paper give Sensor networks' definition of life as well as research of routing algorithm . Considering wireless sensor networks'characteristics of the transmitting and routing issues, obtian a more efficient algorithm.It introduces network simulation tools' installation, configuration and using of the tcl,otcl, tclcl script language and makes practice of network simulator. After simulating wsn routing protocol it adds new protocol to it , and implements the sensor network' Single-hop and multi-hop routing protocolon the energy unbalance simulation. Based on energy research and simulation, proposes a new assumptions of the energy consumption , that the combination the advantages of multi-hop and single-hop to extend the life of sensor networks. Keywords: Sensor Network; Effective of Energy; Routing Protocol;NS2; Energy divide 目录 1绪论 1 1.1课题的来源及研究意义 1 1.2 本文所作的主要工作 1 1.3 本文的结构 2 2预备内容 2 2.1 网络仿真 2 2.1.1 主流的仿真软件 2 2.1.2 五种仿真软件的比较 3 2.2 NS2的介绍 4 2.2.1 NS2的架构 4 2.2.2 NS2使用的基本流程 5 2.2.3 NS2的体系结构 5 2.3 什么是无线传感网(WSN) 6 2.3.1无线传感器网络体系结构 6 2.3.2无线通讯网络路由协议 6 2.4网络寿命的几种定义 7 3.路由协议的模拟实现 7 3.1 NS2的安装 7 3.1.1安裝cygwin 7 3.1.2安裝ns2 7 3.2 单跳协议的模拟 8 3.2.1 单跳的定义 9 3.2.2 模拟场景的设定 10 3.2.3 sink结点的定义 10 3.2.4创建sink nodes 11 3.2.5创建common nodes 12 3.2.6定义模拟参数 12 3.2.7建立相关档案 13 3.2.8设定连接 13 3.2.9结束模拟 14 3.3多跳协议的模拟 15 3.3.1多跳的定义 15 3.3.2模拟场景的设定 15 3.3.3 sink结点的定义 16 3.3.4创建sink nodes 17 3.3.5创建common nodes 17 3.3.6 定义模拟参数 17 3.3.7 执行模拟程序 18 4模拟结果的分析 18 4.1 模拟结果nam 的分析 18 4.1.1 单跳nam 的分析 18 4.1.2 多跳nam 的分析 19 4.1.3 两种分析的对比 20 4.2本章模拟结论 21 5能量二分法的路由模型 22 5.1能量二分的描述 22 5.1.1能量二分的提出 22 5.1.2 能量二分的路由路径 22 5.1.3能量二分的一般推导 23 5.2能量二分的实现 24 5.2.1创建sink结点 24 5.2.2创建普通结点 24 5.2.3指定要发送数据的sink结点 25 5.2.4 执行模拟程序 25 5.3网络寿命的分析 27 5.3.1网络寿命的比较 27 5.3.2模拟缺陷 27 结束语 28 致 谢 29 参考文献 30 1绪论 1.1课题的来源及研究意义 随着微电子科技的迅速发展,微型传感节点的体积在不断变小,生产成本在不断降低,这便导致了无线传感器网络(Wireless Sensor Network)的发展在近年来极为迅速,从而使无线传感器网络成为当今国际上备受关注的,有多学科交叉的新兴前沿研究热点领域。无线传感器网络是由部署在检测区域内大量的廉价微型传感节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作的感知,采集和处理网络覆盖区域中感知对象的信息,并发送给观察者。 由于传感器节点一般体积都非常小,通常携带的能量十分有限,当它们散布在网络中的时候,由于部署的环境的复杂性,我们很难通过更换电池的方式补充能量,所以节点只有依靠自身的电池提供探测数据和传输数据的能量。如何使整个传感器网络在有限能量供给条件下,获得最大的生存期,这就需要考虑传感器网络的能耗均衡策略,使网络不因为部分节点的能量提前耗尽而导致网络生命周期提前结束。 无线传感器网络与传统的无线网络相比有自己的特点。例如:大部分节点都是静止不动的,且放在恶劣环境中工作,能源一般情况下很难替代。因此,关于无线传感器网络的能源研究成为核心问题。如何利用现有能量资源,延长网络的生命周期,研究出优化的路由通信协议是无线传感器网络技术的一个关键问题。 1.2 本文所作的主要工作 a.学习网络仿真,对主流的仿真软件加以介绍,给出传感器网络寿命的定义; b.对路由算法的研究,在这个方面,针对无线传感器网络的特点,对转发和路由选择的问题进行处理,从而得到更加高效,低能耗的算法; c.学习网络模拟工具ns2的安装,使用和配置和ns2用到的脚本语言tcl,otcl,tclcl; d.在ns2上开始进行网络模拟实验练习,对wsn路由协议进行研究并模拟; e.添加新协议,实现传感器网络的单跳多跳路由协议,对能耗的不均衡问题进行模拟; f.通过对能耗的研究和模拟,提出自己的关于能耗的新假设,即结合单跳多跳协议的优缺点给出一个能量二分的延长网络寿命的方法,并进行模拟。 1.3 本文的结构 本文除了摘要和目录部分外,正文部分分为五章: 第一章 绪论:介绍课题的来源及研究的意义和完成本论文所做的主要工作。 第二章 预备内容:介绍完成毕业实验和论文之前需要预备的内容,介绍主流的仿真软件和本论文要用到的NS2软件,给出网络寿命的定义。 第三章 路由协议的模拟实现:首先介绍NS2的安装,在此基础上实现单跳协议的模拟和多跳协议的模拟,给出具体的实现细节和结果。 第四章 模拟结果的分析:对第三章中实验的数据进行分析和对比,得到相关的实验结论 第五章 能量二分法的路由模型:针对第4章的实验的结果分析,给出一种适当运用能量的解决方案,即能量二分发路由模型。来延长网络寿命。 2预备内容 2.1 网络仿真 2.1.1 主流的仿真软件 当前有许多优秀的网络仿真软件,主流的有Opnet、NS2、Matlab等,本文将对其一一进行简单介绍,并作出表格进行分析对比。 OPNET Modeler:OPNET Modeler是OPNET Technology公司的四个系列网络仿真软件产品的其中之一,它主要面向的用户为网络设计专业人士,能够满足大型复杂网络的仿真需要,它提供三层建模机制,最底层为Process模型,其次为Node模型,最上层为网络模型。OPNET Modeler 还提供了一个比较齐全的的基本模型库,包括路由器、交换机、服务器、客户机、ATM设备、DSL设备、ISDN设备等等。并采用离散事件驱动的模拟机理(discrete event driven),与时间驱动相比,计算效率得到很大提高。 NS2:NS2(Network Simulator, version 2)是一种面向对象的网络仿真器,本质上是一个离散事件模拟器。它有一个虚拟时钟,所有的仿真都由离散事件驱动的。目前NS2可以用于仿真各种不同的IP网,已经实现的一些仿真有:网络传输协议,业务源流量产生器,路由队列管理机制,路由算法。NS2也为进行局域网的仿真而实现了多播以及一些MAC子层协议。当仿真完成以后,NS将会产生一个或多个基于文本的跟踪文件。只要在Tcl脚本中加入一些简单的语句,这些文件中就会包含详细的跟踪信息。这些数据可以用于下一步的分析处理,也可以使用NAM将整个仿真过程展示出来。 Matlab:MATLAB软件是由美国Mathworks公司推出的用于数值计算和图形处理的科学计算系统环境。MATLAB环境下,用户集成了程序设计、数值计算、图形绘制、输入输出、文件管理等各项功能。 MATLAB提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩陈对象时,不要求作明确的维数说明。与利用C语言或FORTRAN语言作数值计算的程序设计相比,利用MATLAB可以节省大量的编程时间。MTALAB系统由MATALB语言体系,MATLAB工作环境,图形图像系统,MATLAB数学函数库,MATLAB应用程序接口五个主要部分组成。 SPW:SPW仿真软件是Cadence公司的产品,它提供了面向电子系统的模块化设计、仿真及实施环境,是进行算法开发,滤波器设计,C代码生成,硬/软件结构联合设计和硬件综合的理想环境。SPW的一个显著特点是他提供了HDS接口和Matlab接口。Matlab里面的很多模型可以直接调入SPW,然后利用HDS生成C语言仿真代码或者是HDL语言仿真代码。SPW通常可以应用于无线和有线载波通信、多媒体和网络设计与分析等领域。 2.1.2 四种仿真软件的比较 通过对以上四种仿真软件的介绍,制定表格做出比较,如2.1图所示: 表2.1常用仿真软件的比较 软件条目 OPNET NS-2 MATLAB SPW 界面友好性 GUI、代码 Tcl script 主要是代码 GUI、代码 拓扑结构配置 GUI,配置方便 Tcl script 代码编程 GUI?代码 GUI、代码 支持的构件库 丰富的构 件库 比较丰富 丰富的工具箱 丰富的构件库 配置灵活性 一般 非常灵活 比较灵活 比较灵活 执行效率 较高 较高 低 较低 支持语言 Proto-C C++/OTcl C/FORTRAN C/HDL 可扩展性 差 好 比较好 一般 兼容性 差 一般 一般 与MATLAB兼容 使用成本 高 开源免费 较高 高 入门难度 难度大 较难 一般 难 通用性 差 一般 较好 差 基于上述比较,本文选择免费开源软件NS2。 2.2 NS2的介绍 2.2.1 NS2的架构 图2.1 NS2的架构 该图为一个简单的NS结构说明。一般我们会选择使用OTcl这个脚本语言来设定网络拓扑的部分,而OTcl其实就是架构在Tcl之上的Object-Oriented 后所延伸过来的。在Event Scheduler 和Network Component 这二个部分,主要是以C++所写出来的东西,NS是以event-driven的概念在做模拟 。至於 Network Component 则是 NS 中的 Agent (TCP、UDP...)、Traffic Generator (FTP、CBR...)这部分。C++ 写在最底层则是表示 NS 的核心主要就是C++。最后就是一个用来构通 OTcl 及 C++ 的桥梁:Tclcl最后搭配一个 User Interface, 这就构成了NS本身。 2.2.2 NS2使用的基本流程 图2.2 NS2的基本流程 图2.2为使用NS2的基本流程,假设今天我们的问题是:观察 FTP 传送封包的情况。那我们可以来个情境模拟, 想象有简单的二个节点要做 FTP 数据的传输, 这时候我们就得做点事:写个OTcl Script,在这个 Script 中撰写什么是node、什么是link、挂上什么样的Agent、Traffic Generator, 这就是个简单的情境模拟.,之后将这个OTcl Script 交给 NS2 去做模拟, 产生结果后, 利用 Nam, Xgraph 来帮我们做进一步的分析, 并重复这些步骤直到我们认为可以了为止。 2.2.3 NS2的体系结构 图2.3 NS2的体系结构 图2.4简单地说明了 C++ 和 OTcl 是怎么沟通。我们可以看到在左图的部分有一些像树状的东西, 这就是 OTcl 这部分的 Object Hierarchy, 而右边的部分也是类似的道理, 属于 C++ 的 Object Hierarchy。而中间有虚线箭头相连的部分, 就是OTcl 和 C++ 共享, 可以互相存取的对象。使用2种主要的语言:C++、OTcl使用 2 种语言的原因在于, 像一些比较底层架构的东西, 或者是封包传送、绕送方法...等, 这些是属于比较需要考虑时间、速度的部分, 选择用 C++ 来处理是比较适当的做法。通常这些底层的东西也不太常常会变动, 所以利用编译式的语言也比较恰当, 只需编译过一次就可以一直使用。除非当有需要新增或修改这些底层的架构时, 才会另外再做编译的动作。而OTcl则主要用来处理网络情境仿真的部分, 也就是大部分时间在写的script, 虽然这OTcl Script在每次要执行时可能会花一点时间, 但是因为情境模拟的部分会比较常在改变, 若用 C++ 这类要做编译动作的语言并不合适。另外OTcl主要还有负责一些设定档, 及使用编译过的C++ Objects。整理如下: 用 C++ : 1. 处理封包传送; 2. 更改一些底层或新增 protocols 之类的 C++ Class; 3. 不常更动, 执行速度快。 用 OTcl : 1. 负责设定档部分; 2. 运作已编译过的 C++ Objects; 3. 常会更动, 执行时需花一点直译的时间。 2.3 什么是无线传感网(WSN) 2.3.1无线传感器网络体系结构 无线传感器网络通常包括传感器节点,汇聚节点和管理节点。传感器节点任意的分布在某一监测区域内,节点以自组织的形式构成网络,通过多跳中继方式将监测数据传送到汇聚节点,最后通过Internet或其他网络通讯方式将监测信息传送到管理节点。同样的,用户可以通过管理节点进行命令的发布,告知传感器节点收集监测信息。 2.3.2无线通讯网络路由协议 无线通讯网络的路由协议包括:泛洪协议,Gossiping协议 ,SPIN协议 ,定向扩散(Directed Diffusion)协议 ,LEACH协议。 2.4网络寿命的几种定义 当前,学术界对传感器网寿命的定义尚未形成统一的认识,针对不同的研究问题往往采用不同的寿命定义方法。当前,对无线传感器网络寿命存在多种不同的定义方法: 一:将第一个耗尽能量的传感器节点的寿命定义为网络的寿命,其缺点是没有考虑传感器网络的容错性。容错性是传感器网设计的一个基本要求,在节点密集布设的情况下 ,少量节点的失效将不会对系统的正常工作造成太大影响。因此 ,将第一个耗尽能量节点的寿命定义为网络的寿命比较牵强。 二:当网络中存活节点的数量所占比例低于某一门限值时候,则认为其寿命已经到期,其缺点是它虽然比定义方法一在实用性方面有了一定改善,但仍存在很大的局限性。传感器网以监测并获取数据为主要目的,定义方法二以剩余存活节点的数量来体现网络获取信息的能力,但事实未必如此。 三:当网络不能再提供可以接受的事件探测率或不能再完成某项任务的时候,则认为其寿命已经到期[9] 。 由于本文采用的NS2模拟主要涉及的传感器网络节点的模拟与实现,传感器节点数量有限,所以本文中提到的传感器网络寿命都指定义一中的寿命。 3.路由协议的模拟实现 3.1 NS2的安装 3.1.1安裝cygwin NS2是一个网络模拟器,NS2是OpenSource的,最早的版本是在linux/unix下运行的,后来有了windows下用vc编译运行的版本,但从2.26以后就放弃了对vc的支持,所以现在装NS2只有两条路,要么装个linux,要么就在windows下装个cygwin,然后再在cygwin上装ns2。为简便起见,我决定先装cygwin,再安装ns2。 安装说明如下:首先去 from Internet”,接下来选择安装的位置可以自己选择一个目录安装。现在的cygwin版本跟NTFS完全兼容,所以不用担心,可以放心的把它装在NTFS分区。至于Test File Type,建议最好设成unix,虽然我没试过用dos格式,但是鉴于OpenSource的软件原本都是linux/unix下的,所以最好还是用unix。继续下一步,选择一个保存package的地方,我们要用到的package大小大概是60M。当然,如果选择的是Install From Local Directory,那么这一步就会变成“指定package所在的位置”。继续下一步,指定代理服务器。教育网内的机器是没办法直接上国外网的,所以要指定代理。这里我们选择Direct Connection,在所出现的界面中选择镜像站点。cygwin有很多镜像站点,可以选择其中一个下载package。也可以自己指定一个站点。比如,如果要用ftp:// URL中填这个地址,然后点add,就能将这个地址加到上面的镜像列表中,然后可以选择这个镜像进行安装。继续下一步,选择要安装的软件包。这里我只列出ns2需要的包,其中不包括安装程序默认安装的包:gcc,gcc-g++,gnuplot,make,patch,perl,tar,X-startup-scripts,xorg-x11-base,xorg-x11-bin,xorg-x11-devel,xorg-x11-bin-dlls,xorg-x11-bin-lndir ,xorg-x11-etc, xorg-x11-fenc ,xorg-x11-fnts,xorg-x11-libs-data ,xorg-x11-xwin。 点右上角的view,使它旁边的状态显示为Full,你就能看到按字母顺序排序的package列表,在这些包前点鼠标,使它们处于非“Skip”的状态。下一步,开始下载文件,准备安装。下载完成后,系统会自动开始安装,一段时间后,就完成了cygwin的安装。 3.1.2安装ns2 先去http://www.isi.edu/nsnam/dist/ns-allinone-2.28.tar.gz..下载ns-allinone安装包。下载完后,用winrar把里面的文件都解压到 cygwin安装目录下的 home目录的子目录下,如在我这里就是c:\cygwin\home\hct 。启动cygwin,cd /home/hct/ns-allinone-2.28,./install安装过程是很漫长的,因为我们下载的是源文件,机器还得先编译,安装完成后会出现提示,这时还需要修改路径信息,把可执行文件的路径加到PATH环境变量中打开 c:\cygwin\home\hct\.bashrc,在文件末尾加入这些信息: exportNS_HOME=/home/hct/ns-allinone-2.28 exportPATH=$NS_HOME/nam-1.11:$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/bin:$PATH exportLD_LIBRARY_PATH=$NS_HOME/tcl8.4.5/unix:$NS_HOME/tk8.4.5/unix:$NS_HOME/otcl-1.9:$NS_HOME/lib:$LD_LIBRARY_PATH export TCL_LIBRARY=$NS_HOME/tcl8.4.5/library.bashrc 现在我们的工作就基本完成了。保存.bashrc,打开cygwin,运行 startxwin.bat在出现的窗口上运行cd /home/hct/ns-allinone-2.28/ns-2.28/ns-tutorial/examples,ns example.tcl会出现nam图形界面,表示安装成功。 3.2 单跳协议的模拟 3.2.1 单跳的定义 图 3.1 节点拓扑图 如图3.1所表示,假定网络的拓扑结构为一圆形分布,基站在圆心的位置,每一跳的半径为 l,所有数据都均匀分布在网络所涉及到的区域中。虚线为多跳路由的数据传送路径,实线箭头所示为单跳直接传送的路由方式,同心圆表示传感器节点的分布,BS(base station)表示基站。经过这样的假定后,每个传感器可以直接把数据发送到基站。 3.2.2模拟场景的设定 我们按照上面章节中的拓扑图给出在NS2下的Tcl脚本代码中一系列参数的设定,参数设定的表格如下 表3.1参数表格 参数得到 取值 传感器初始化能量 20 J 传送单位数据能耗 2w 接收单位数据能量消耗 2w 传输的数据单位长度 200 bit 第一环节点个数K=1 1 第二环节点个数K=2 1 第三环节点个数K=3 1 第四环节设备点个数K=4 1 传感器的通信半径 50 为了简便起见,我们假设的是每环的节点数为1,即不同的K值对应的节点数都取1,这样除了视觉效果直观外,也避免了因为同环的普通节点间发送数据,照成了对sink节点的干扰。 3.2.3 sink结点的定义 上节已经对模拟场景进行了设定,接下来我们对sink节点进行定义,面是TCL脚本中定义Sink节点的过程函数: proc create_sink {iniEnergy x y z start stop} { global ns_ val node_ sink_ contador_nodos topo app_ udp_ trace rng Phy/WirelessPhy set Pt_ 0.2818 $ns_ node-config -sensorNode ON \ -adhocRouting $val(rp) \ -llType $val(ll) \ -macType $val(mac) \ -ifqType $val(ifq) \ -ifqLen $val(ifqlen) \ -antType $val(antenna) \ -propType $val(prop) \ -energyModel $val(en) \ -phyType $val(netif) \ -channelType $val(chan) \ -topoInstance $topo \ -agentTrace $trace(agent) \ -routerTrace $trace(router) \ -macTrace $trace(mac) \ -initialEnergy $iniEnergy \ -movementTrace $trace(movement) set node_($contador_nodos) [$ns_ node] $node_($contador_nodos) random-motion 0 set sink_(0) [new Agent/LossMonitor] $node_($contador_nodos) attach $sink_(0) $val(port) 3.2.4创建sink nodes 设定之后我们来创建sink节点,具体过程如下: set node_($contador_nodos) [$ns_ node] $node_($contador_nodos) random-motion 0 set sink_(0) [new Agent/LossMonitor] $node_($contador_nodos) attach $sink_(0) $val(port) puts "* Sink Node [$node_($contador_nodos) node-addr] = $contador_nodos created in ($x, $y, $z)" $node_($contador_nodos) set X_ $x $node_($contador_nodos) set Y_ $y $node_($contador_nodos) set Z_ $z 3.2.5创建common nodes Sink 节点是我们所要模拟的中心节点,外环上的普通节点也需要创建,具体创建过程如下 #建立第0个Node set node_(0) [$ns node] $node_(0) set X_ 272 $node_(0) set Y_ 744 $node_(0) set Z_ 0.0 $ns initial_node_pos $node_(0) 20 #建立第1个Node set node_(1) [$ns node] $node_(1) set X_ 446 $node_(1) set Y_ 668 $node_(1) set Z_ 0.0 $ns initial_node_pos $node_(1) 20 ……… …… …… 3.2.6定义模拟参数 节点设定之后,我们就要定义模拟参数,具体过程如下 set val(chan) Channel/WirelessChannel ;# channel type set val(prop) Propagation/TwoRayGround ;# radio-propagation model set val(netif) Phy/WirelessPhy ;# network interface type set val(mac) Mac/802_11 ;# MAC type set val(ifq) Queue/DropTail/PriQueue ;# interface queue type set val(ll) LL ;# link layer type set val(ant) Antenna/OmniAntenna ;# antenna model set val(ifqlen) 50 ;# max packet in ifq set val(nn) 5 ;# number of mobilenodes set val(rp) DSDV ;# routing protocol set val(x) 1000 ;# X dimension of topography set val(y) 1000 ;# Y dimension of topography set val(stop) 10.0 ;# time of simulation end 其中关键字符代表的网络术语解释如下: 1)链路层LL:把分组传送给IFQ,并通过ARP模块将IP地址转换成MAC地址(2)ARP模块:地址解析协议模块,从U接收分组井转换成物理(MAC)地址。 2)接口队列IFQ:由PriQueue(优先队列)类实现,用于优先处理路由协议分组。 3)MAC层 :实现了IEEE802.11的DCF(分布式协调功能 )。 4)网络接口NetlF:通过碰撞和RPM(无线传播模块)来接收来自Channel(信道)上的分组。 5)天线Antenna:移动节点采用单一增益的全向天线,NS2支持FreeSpace、TwoRayGround和Shadowing三种天线模型。 3.2.7建立相关档案 ns网络模拟器执行tcl脚本,并将所有的模拟结果以trace文件的格式输出,还有nam将ns的输出结过可视化,如下代码将对结果生成trace和nam文件。 #设定trace file set ns [new Simulator] ;#产生ns simulator set tracefd [open mac_802_11_node_5_ftp_4_cbr_0_ping_0.tr w] ;#产生trace file set ns [open out.nam w] set namtrace [open mac_802_11_node_5_ftp_4_cbr_0_ping_0.nam w] ;#产生nam trace file $ns trace-all $tracefd $ns namtrace-all-wireless $namtrace $val(x) $val(y) set topo [new Topography] ;#产生topography object $topo load_flatgrid $val(x) $val(y) 开启一个NAM trace file set ns[open out.nam w] w是指写入out.nam 这个档案当中。 所谓ns的对象都是专门为了某些事情而建的,所以名字都没关析ns也可叫别的名子。当需要使用trace file来做效能分析时,就需要这个指令,若不用分析时,也可以不写。这个指令会把相关的事件记录到out.tr中(内容可以参考Tool Introduction)。请不要跟namtrace-all弄混,因为namtrace-all是用来记录动态仿真过程所需要的事件。 3.2.8设定连接 Sink node 和commom node之间要传送数据,在每个commom node 和Sink node之间建立连接,实现如下: set tcp0 [new Agent/TCP/Newreno] $tcp0 set class_ 2 set si
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 小学其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服