




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于ns2无线传感器网络mac协议的分析及改进摘 要 无线传感器网络(wsn)被称为全球未来的三大高科技产业之一,被广泛应用于军事、医疗、环保等方面。介质访问控制(mac)协议决定了无线通信信道的使用方式,由于无线传感器网络有自己的特性,传统的无线网络mac协议不能直接应用于无线传感器网络,所以设计良好的mac协议以减少网络的能量消耗和数据延迟成无线传感器网络亟待解决的问题。研究wsn的mac协议要考虑到其能量效率问题,本文针对现有的mac协议进行比较分析,提出了一种低时延低能耗的dmac协议改进方法。通过对dmac数据采集树算法的分析,对其数据传输方式进行研究,针对其负载不均衡,提出一种消息节点睡眠机制和退避策略,然后通过在ns2平台上的仿真,可发现对能量消耗和网络延迟有部分改善。关键词 无线传感器网络,介质访问控制协议,能量效率,ns2abstractwireless sensor networks(wsn) is one of the three high-tech industries of the world in the future. it is widely used in many fields such as military affairs, medical care, environmental protection. medium access control(mac) protocol directly controls the way of nodes using the wireless channel, because of the wireless sensor networks distinct characteristics, the mac protocol used in traditional wireless networks cant be used in wireless sensor networks directly, so design mac protocols to reduce energy consumption and latency becomes an urgent problem in wireless sensor networks. to study wireless sensor networks must think about its energy efficient. based on the compares and analysis in the existing mac, an improved low-latency and energy efficient dmac protocol was proposed. with the analysis of data gathering tree of dmac and the research of its data transmission, a node sleep scheduling mechanism and retreats strategy is proposed according to its imbalance load. with the simulation in the simulation environment of ns2, an improved low-latency and energy efficient could be found.key words: wsn, mac, energy efficient, ns2目 录1.绪 论11.1研究背景与研究意义11.2研究内容22.mac协议的原理及分析42.1mac协议原理42.1.1 无线传感器网络结构42.1.2 mac协议设计问题52.2mac协议理论分析62.2.1 基于竞争的mac协议分析72.2.2 基于调度算法的mac协议分析82.2.3 其它mac协议分析102.3mac协议比较102.4mac协议改进可行性分析112.4.1数据采集树调度机制112.4.2 采集树分析123.仿真实验及协议改进133.1仿真环境搭建133.2mac协议改进153.3ns2网络仿真173.3.1 参数设置183.3.2 协议的实现20总 结26参考文献28致 谢29291. 绪 论1.1 研究背景与研究意义近年来,随着半导体技术、通信技术、微系统技术和计算机技术的快速发展,无线传感器网络(wireless sensor networks,wsn) 1技术在世界范围内引起了人们的关注,它被广泛地应用于军事,医疗,工业,环保等各个领域,被称为影响人类未来生活的十大新兴技术之首2。随着无线传感器网络的深人研究和广泛应用,无线传感器网络将逐渐深入到人类生活的各个领域。在军事方面,军方可以在预定的监控区域散布大量微型廉价的传感器节点,通过这些传感器节点实时地监测周围环境的变化,如温度、湿度、人员活动密度等,然后可以通过卫星等方式将这些数据发送回基地,通过这些数据可以取到监控到敌军活动的情况;在医疗方面3,在人体身上安装特殊用途的传感器节点,如心率和血压监测设备,利用传感器网络,医生就可以随时了解被监护者的情况,进行病情的及时处理;在工业领域,监控工作地区环境的变化,如空气中瓦斯等有害气体的含量,以保障人员的财产及人身安全;在环保领域,检测空气质量的变化,监测大面积的海洋、森林的污染,监测保护动物的生活环境等。关于于无线网络的应用美国军方有包括网状传感器系统cec、c4kisr计划、smart sensor web、灵巧传感器网络通信等研究。我国也开展了这一领域的研究工作,具体内容包括无线传感器结点的覆盖控制技术、操作系统、节能技术、网络路由技术、硬件设计等。但仅限于有限的几间大学内所作的研究 ,而市场上并没有生产出成熟的产品。方面此技术的诞生始于2001年 ,国内了解此技术的人还不多,还处于研究和开发阶段,另外国内在移动终端用户的通信,比如说手机通信上做的开发研究比较多 ,在工商业方面无线技术开发较少。我国的经济正处在一个高速发展的阶段,对无线传感器网络的应用要求也越来越大,因而开展此类的研究,对我国的军事、经济各个领域都有重大的意义。1.2 研究内容在无线传感器网络当中,介质访问控制4(medium access control,mac)协议决定着使用无线通信信道的方式,在传感器的节点之间无线通信资源的分配是有限的,用这些有限资源来架构网络系统的底层结构,是保证网络高效通信的关键网络协议之一。传统的传感器网络设计过分注重节点节能而牺牲了整个网络性能,传感器网络mac协议在降低传感器节点能量消耗的目标下也应考虑网络性能。通过评价无线传感器网络性能方面的指标,可知节点高能效是mac协议要解决的重要问题。无线传感器网络mac层主要负责信道的接入,针对无线传感器网络的标准,以构建低能量消耗、低速率传输、低成本的无线网络。通过对mac层协议工作机制的分析,研究在不同网络环境下对mac层协议的要求,研究人员提出了许多mac协议,有基于竞争的,有基于调度的,针对网络的能量消耗和数据的传输延迟提出了dmac协议。通过研究mac层协议的数据通信机制,针对其中基于调度的dmac协议进行分析,可发现如果在节点采样频率加大的情况下,dmac协议会出现节点能耗和网络延迟加大,更多的冗余消息被发送的问题。为了确保可靠的数据通信,并减少时间延迟和节省能量开销,可以从降低节点冲突、提高链路利用率、流量自适应等方面进行优化。本文通过对mac协议的学习,通过对分析了无线传感器网络区别于其它传统网络的本质不同,指出mac 协议设计时要考虑的各个因素。研究分析了现有的经典传感器网络mac协议,分析了协议所采用的机制及其对网络性能的影响。从能量效率,延长网络生存期5的角度出发,鉴于数据采集树的网络拓扑本身存在的缺陷,经过仿真看到在网络节点采样频率过快,网络负载较大的情况下,低深度节点承载了过多的数据包,更容易发生碰撞,造成丢包现象。从而提出了一种节点睡眠调度机制,用它来均衡网络中的流量。当网络中负载较大的时候,调节源节点进入睡眠状态,尽量避免数据冲突,从而使全网负载均衡,延长了网络生存期。2. mac协议的原理及分析2.1 mac协议原理2.1.1 无线传感器网络结构无线传感器网络包括传感器节点(sensor node)、汇聚节点(sink node)和管理节点(manager node),如图2.1所示。图2.1 无线传感器网络体系结构无线传感器网络的协议栈采用5层的分层结构6,分别为:物理层、数据链路层、网络层、传输层和应用层。在网络协议栈中,mac子层位于数据链路层,直接与物理层接口,负责控制和接入物理介质,如图2.2所示。提供无线传感器网络中节点到节点的连接方式,确保传感器节点间通信资源分配的公平性和有效性。图2.2 无线传感器网络协议栈2.1.2 mac协议设计问题mac协议需要考虑节点的能量效率问题,节点计算、存储、通信能力都受到限制,节点只能根据局部网络的拓扑信息转发数据,因此,在设计mac协议时,要将节点的能量效率问题作为设计协议的重要原则。图2.3显示了传感器节点几种状态下的能量消耗。功耗/mw05101520传感器处理器发送接受空闲睡眠图2.3 无线传感器网络能量消耗传统考虑的网络性能主要是如何最小化降低时延、最大化提高吞吐量及公平性,因此传统的无线网络mac层协议无法满足传感器mac层设计的要求。而在无线传感器网络中,由于其节点的限制,mac层协议要更多考虑如何最大化能量有效利用率的问题。另外,无线传感器网络的不同应用也对mac层协议的设计有不同的要求。无线传感器网络mac层协议设计要解决以下一些主要问题:1. 能量效率,当节点能量耗尽时,节点便从网络中死亡,很难得以重复利用。在满足应用要求的前提下mac层协议应节省能源,提高节点能源有效利用率,以保证传感器网络的生命期。2. 可扩展性,由于无线传感器网络具有动态变化性,网络拓扑结构可能会因为新节点的加入,节点能量耗尽或其它原因发生变化。因此mac协议要具有自适应性以适应这种动态变化的拓扑结构。3. 网络效率,网络效率网络吞吐量、网络的实时性、公平性以及带宽利用率等。2.2 mac协议理论分析由于无线网络中的mac协议无法直接应用到传感器网络中,目前研究人员为传感器网络设计很多mac协议,主要按照以下三种方式进行划分7:(1)所用信道数:单信道体积小,成本低;双信道和多信有利于减少冲突和重传。(2)接收节点通知方式:按照数据包传递到接收节点时的通知方式可分为监听、唤醒和调度三种mac协议。(3)竞争方式:这是划分mac协议最重要的根据,即节点接入信道时是通过调度的还是随机竞争的。基于竞争的mac协议和基于调度算法的mac协议是无线传感器网络mac协议的两大分类。2.2.1 基于竞争的mac协议分析s-mac(sensor mac) 8协议是针对ieee802.11中节点处于侦听状态,消耗大量能量的问题,提出的周期性的休眠/活动调度机制。s-mac由一个开始的同步时间段开始,交换sync消息形成虚拟簇。相同虚拟簇下的节点可以传输数据。节点只有在活动阶段才发送消息,如图2.5 smac采用数据传递机制,通过这种周期性的修眠/活动工作机制,节点降低了闲置侦听,降低了能耗。图2.5 smac数据传递机制采用以上机制,smac协议有以下几点好处:(1)采用周期性睡眠 /侦听占空比,控制节点进入睡眠状态,降低了节点能耗;(2) rts / cts 机制降低通信范围节点间的碰撞概率 ;(3) nav避免串音现象,降低了能耗。 smac协议相比ieee802.11提高了能量的效率,但是也存在一些不足,节点采用周期性的侦听和睡眠调度机制,数据在发送时有延迟;邻居节点频繁交换sync信息会导致节点消耗更多的能量;当网络负载较低时,过高的占空比会导致空闲侦听会造成能量浪费,当负载较高时,又会造成网络延迟;节点为了节省能量进入睡眠状态,增大了睡眠延时。2. tmactmac (timeout mac)根据smac存在的不足,提出了自适应的占空比机制,在网络负载不均衡时,t-mac可以获得很好的网络性能。tmac中的数据发送时槽可以根据网络流量的情况自动调整自己的占空比,t-mac 和 s-mac 相比由于采用了适应网络流量的占空比,更大程度地减少了空闲侦听所消耗的能量,并且维持网络吞吐量。t-mac也存在一些问题,其中最为明显的就是早睡问题。当信道上有多个数据要发送的时候,当节点a首先赢得信道,获得发送时间,此时a首先发送一个rts请求帧,节点b收到rts后,如果处于空闲状态就返回一个cts应答给a。这时节点c也侦听到信道上的cts消息,并且知道a有数据要发送,将自己调度进入休眠状态,在nav结束时再醒来侦听信道。而c的后一跳节点d由于不知道链路中有数据的存在,调节自己进入睡眠状态,这样,节点c不能在这一周期内发送数据,造成了网络时间延迟。2.2.2 基于调度算法的mac协议分析无线网络中基于时隙调度的mac层协议主要有时分多址接入(timing division multiple access :tdma)和频分多址接入(frequency division multiple access :fdma)、码分多址接入(coding division multiple access :cdma)等等。在tdma中,节点在通信的时候使用整个信道,而fdma是将信道分成多个部分,不同节点可以同时在信道中进行通信,而不会产生通信冲突。就数据通信而言,tdma网络同步时间开销大,通信时间较短。1. deana协议分布式能量感知节点活动(distributed energy-aware node activation,deana) 9协议为每个节点分配了固定的时隙用于数据的传输,与传统、tdma协议不同,在每个节点的数据传输时隙前加入了短控制时隙,用于知相邻节点是否需要接收数据,如果不需要就进入休眠态。deana协议在节点得知不需要接收数据时,进入休眠状态,从而能够解决串音的问题,延长节点的休眠时间。但是,它对时间的同步精度要求高,可扩展性差。2. dmac协议gang lu等人提出的dmac协议,通过调度数据采集树中上下两层父子节点间的发送接收周期,避免了数据发送冲突。dmac 协议可以解决其他mac协议网络时延的问题,并且也取得了能量高效性。dmac 协议的数据采集树是在分析了s-mac 和t-mac 协议自适应工作/休眠策略基础上,发现了数据转发中断问题而提出来的。dmac协议的网络拓扑是基于从感知节点到汇聚节点形成一棵数据汇聚树,传感器节点感应到数据后,将要传送的数据直接发送给自己的父节点,父节点也知道子节点有数据要发送,保持在活动状态。因此, dmac协议对网络中时间同步的要求较高,并且对网络拓扑的变更不能良好地适应。3. trama协议trama协议是一种网络流量自适应协议(traffic adaptive medium access)。将时间划分为多个时隙,根据节点信息,选举分配给每个节点不同的时隙,从而避免冲突。trama协议可以根据网络流量的情况,将时隙分配给有数据流的节点,而没有数据要发送的节点和接收的节点进入睡眠状态从而节省能量。2.2.3 其它mac协议分析虽然实现方便,扩展性好,但是竞争碰撞增大了数据传输的能量消耗不利于网络性能的提升,在网络负载不大,节点竞争少的时候网络性能好。而基于调度的协议可以完全避免节点冲突,信道利用率高,但是网络扩展性不好。这就产生了基于两种接入方式混合的mac协议和跨层的mac协议的产生,如smacs/ear协议、aimrp协议、z-mac协议。2.3 mac协议比较在基于竞争的mac协议中,数据竞争共享信道,可能存在碰撞,处于同一通信范围内的节点可能同时有数据要发送,此时产生了碰撞。和基于调度的mac协议相比,基于竞争的mac协议由于要处理数据发送冲突导致的重传消耗了更多的能量和时间。表2.1 mac协议网络性能比较协议接入方式能量效率信道利用率同步要求延迟可扩展性适应性吞吐量smac竞争较好较好一般一般好较好较好tmac竞争较好较好一般高好较好好deana调度较好较好高较低较好较好较好dmac调度好较好高低差差较好trama调度好较好高高一般一般较好在基于调度的mac协议中,给每个节点都分配了接入时隙,节点按照事先分配好的时隙访问无线信道,节点之间可以无竞争共享信道。但是调度的mac协议实现比较复杂,而且簇头节点的能耗往往过大,节点能耗不均衡。网络的扩展性也不是很好。表2.1反映了各种mac层协议的网络性能。2.4 mac协议改进可行性分析2.4.1数据采集树调度机制由以上对mac协议的分析可知,相比传统的mac协议,dmac协议在网络时延和节能方面都有不错的表现。dmac在保证节点传输时延的前提下节省了网络能量消耗,从而达到了时延和能耗的平衡。但由于dmac协议是基于数据采集树的拓扑结构,在特定的网络环境下,低深度节点可能需要处理更多的数据,从而导致网络拥塞。当网络负载较高时,低深度节点会产生更多的数据冲突,从而导致数据丢失。如能够像tmac、smac或其他一些mac协议一样,数据在传输时能自动选择下一个网络状况较好的节点,就避免了额外的冲突。因此,在高负载情况下,数据采集树的拓扑结构降低了网络性能,通过控制网络中的数据流量,可以在不增加延迟的前提下节省网络能量,维持了dmac协议中时延和能耗的平衡,可改进网络性能。在树形结构的网络拓扑中,距离汇聚节点较近的中间节点要把从边缘节点采集到的数据转发传送给下一跳节点,因此,中间节点承担了更多的传输任务。由于在传感器网络中,传输数据消耗的能量对整个网络能量消耗占有很大比例,因此,距离汇聚节点较近的中间节点能量消耗更快,为了延长节点生命周期,保证网络拓扑的连通性,可以选定参考节点,当参考节点的剩余能量达到门限值时,启动采集树更新程序。流程如图2.7所示,图2.7 采集树流程图2.4.2 采集树分析本文是针对无线传感器网络的mac协议的研究,主要是针对dmac协议对节能和时延的要求。由此,在仿真中的网络为基于树形结构的网络拓扑,即所有子节点都能和其父节点进行通信,并且逐跳地将数据转发出去。为有效的考察mac协议的节能和时延的网络性能,对仿真条件提出假设:节点采用相同的配置且资源受限;不考虑节点的移动问题;节点能量是一固定值;节点能够知道自己的能量的剩余情况。节点传输数据冗余增大,dmac要消耗更多的能量;由于更改后的mac避免了过多的控制帧的开销,提高了链路信道的有效利用率,降低了能耗,并且在保证能量高效的同时也控制了网络中的时间开销,取得了时间和能耗的平衡。实验表明,更改后的在不增大网络延迟的基础上减少了节点能量消耗,能够在节点能耗和时间平衡方面得到一定的改善。3. 仿真实验及协议改进3.1 仿真环境搭建本实验采用的是windows xp+virtualbox3.2.0+ubuntu8.04+ns2-2.29环境,在xp系统中安装完乌邦图虚拟机之后,在ubuntu操作系统中安装ns2,搭建网络仿真平台。virtualbox 原先是德国一家软件公司innotek所开发的虚拟系统软件而且性能也很优异。virtualbox 可以在 linux 和 windows 主机中运行,并支持多种操作系统。 ubuntu10由马克舍特尔沃斯创立,是一个以桌面应用为主的linux操作系统,意思是“人性”,其首个版本于2004年10月20日发布,并以debian为开发蓝本。因为其主要使用自由与开源软件,而其他的发行版则会附带很多闭源的插件。ns11是一个由位于美国加州的劳伦斯伯克利(lawrenceberkeley)国家实验室于1989年开始开发的软件。它是一个完全免费的软件,主要用来对各种网络进行仿真。ns2是一个面向对象的网络仿真工具,对其系统中一些通用的实体进行了建模,因此,人们使用ns2丰富的构建库可以完整地仿真整个网络环境,从而大大提高了用户的效率。ns2已经自带了一些协议,如smac、tmac、ieee802.11等众多协议,人们也可以根据自己的研究需要添加自己的协议,现有的ns版本中并不带有dmac协议,需要添加dmac协议才能进行仿真。这里的dmac协议是在802.11mac协议上面修改来的。搭建虚拟机后,在ubuntu系统中搭建仿真平台,现在ubuntu和ns2都出现了高一些的版本但是ns2新版本对旧版本的兼容性不是很好,在低版本下修改的协议如果使用高版本的ns2仿真会有很多错误,一般make后在linux终端会报错,根据错误提示可以修改成功。安装的主要过程如下:(1)安装库文件sudo apt-get install build-essential(2)安装tk,tclsudo apt-get install tcl8.4sudo apt-get install tcl8.4-devsudo apt-get install tk8.4sudo apt-get install tk8.4-dev(3)sudo apt-get install libxmu-dev,是和nam有关的东西。(4)安装g+包sudo apt-get install make gcc g+(5)安装ns2.29$ tar xzf ns-allinone-2.29.tar.gz$ cd ns-allinone-2.29$ ./install设置环境变量:安装提示成功之后,会出现环境变量的路径,在终端运行sudo gedit /.bashrc ,将出现的路径拷贝到文件末即可。安装过程当中会出现一些问题,如无声明变量、有多余限定成员的问题,可根据安装提醒用linux命令回到相应文件当中进行更改。修改后保存即可。可以运行一个例子检验是否安装正确,在终端运行命令 ns home/lsl/ns-allinone-2.29/ns-2.29/ns-tutorial/examples/example2.tcl 出现模型图即安装正确。3.2 mac协议改进针对上一章节的理论分析及仿真分析结果,在此提出了一种能量高效机制,让数据发生节点具有周期性的睡眠循环来减轻树节点中的网络流量。在该机制中,当网络流量过大时,节点调整自己进入一个周期的睡眠状态,而不是持续发送数据到网络中去。通过调整一部分节点进入睡眠状态,从而降低网络中数据包的碰撞,降低了节点能源消耗。由于在无线传感网络中,数据总是从源节点经过树形拓扑汇聚到sink节点,从而造成离根节点深度较低的节点网络负载过重,根据节点在数据生成树中的不同深度,调整节点竞争窗口,有效地减轻了低深度节点间的数据碰撞,平衡网络负载,避免了数据因为重传而过多消耗能量。当网络负载过大时,节点转换到睡眠模式,每隔n个周期节点就调整自己进入一个睡眠状态。这样,节点通过减少发送的数据量,降低了网络中的负载,对发送频率更高的低深度的中间节点来说,降低了占空比,减少了节点通信碰撞概率和丢包概率,提高了网络性能。本协议中网络流量根据排队的分组数来变化。当节点中队列分组数目达到阈值时,节点判断网络中数据流量变大,更新时间表,看链路是否处于繁忙状态,如果此时链路繁忙,则告诉该节点需要进入睡眠状态,启动睡眠模式来调整网络中的流量,减少碰撞冲突。此时,节点每隔n个侦听睡眠周期进入一个额外的完全睡眠周期,如图3.1所示。 图3.1 节点睡眠调度机制同时针对协议当中的调度机制,产生的无法完全避免数据包的冲突的问题。优化mac协议中的退避算法,使其可以有效地减少网络中的碰撞概率和能量损失,从而平衡网络中的负载,达到提高网络性能的目的,退避算法可以根据各节点的实时性要求或流量负载等因素等的不同而变化,基于数据采集树的拓扑结构,本文提出一种基于节点深度的退避时隙改进策略,每个节点都知道在其树中的深度。随机退避时间如公式3.1所示: 退避时间=random()*aslottime (3.1)其中,random()是计算机生成的一个随机分布的整数,他的取值在 (0 ,cw )之中。cw为竞争窗口的大小,aslottime为一个时隙的时间长度。在 dmac中,cw 值是固定的 ,所以当竞争频繁时,冲突会很大,从而增加重传次数,增加能量消耗。而当竞争过小时,由于退避时间又相对过长,导致时延的增加和能量的消耗,采用了动态竞争窗口调整的方法,当节点在拓扑中的深度为d时,竞争窗口为公式3.2所示:cw=(1-d/n+e)cwmax, (3.2)其中cwmax为最大窗口值,n为数据采集树的深度,e是一个固定的数且e1/n,d=n。当d=n时,cw有最小值,即越远离sink节点的节点竞争窗口值越小,因为在网络边缘,网络流量较小,不会因为网络负载过重而发生数据碰撞现象。3.3 ns2网络仿真仿真场景如图3.2所示,在1000m*1000m的范围内,采用随机分布的方式布置了一个49个固定节点和一个sink节点构成的较大规模的网络拓扑,在网络模型中,假设所有节点都能侦听到整个网络的通信情况,即没有考虑隐藏节点问题。图3.2 节点随机分布生成网络模型的部分tcl代码如下:for set i 0 $i dh_scontrol = sta_seqno_; ) packet:free(pktrx_);set_nav(usec(phymib_.geteifs();goto done;if(dst != (u_int32_t)index_) set_nav(mh-dh_duration);修改send函数,首先检查是否有mts数据包,如果收到mts数据包,说明节点有数据要发送,数据发送成功。流程图如图3.3图3.3 数据发送检测流程图函数程序如下:mac802_11:send(packet *p, handler *h)double rtime;struct hdr_mac802_11* dh = hdr_mac802_11(p);energymodel *em = netif_-node()-energy_model();if (em & em-sleep() em-set_node_sleep(0);em-set_node_state(energymodel:inroute);callback_ = h; if(pkttx_ = 0)return -1;else senddata(p); check_pktmts(); timeout = txtime(pkttx_); settxstate(mac_send);if(mhwakeup_.status()=smac_send)startsend(); else fprintf(stderr, errorn);exit(1); 对packet.h进行修改,在ns-allinone-2.29/ ns-2.29/ common文件夹下,添加定义访问协议报头的指针:#define hdr_namac(p) (hdr_namac *)hdr_mac:access(p)增加na-mac包类型(协议标志),所有的包类型都是pt_开头,如pt_tcp,pt_udp等,在枚举类型enum packet_t中增加:pt_namac在类class p_info的构造函数添加标志,这样就可以通过协议标识寻找协议对应的字符串:name_pt_namac=namac修改缺省类型,在/ns-allinone-2.29/ns-2.29/tcl/lib目录下修改ns-lib.tcl文件,添加路由协议: simroute set ragent $self create-simroute-agent $node if $routingagent_ = simroute $ragent port-dmux $node demux$node instvar ll_$ragent add-ll $ll_(0)$ragent use-ll 0在ns-mobilenode.tcl中添加ifq队列和trace对象:$mac ifq $ifq$mac trace-target $rcvtif $imepflag != set rcvt $self mobility-trace recv mac else set rcvt cmu-trace recv mac $self $mac trace-target $rcvt绑定c+和otcl。otcl对象中调用对应的c+对象方法,ns是通过command()函数实现的。将c+ 中新用到的方法添加到command()方法中,使得otcl能够正常调用,修改如下:else if(strcmp(argv1, trace-target)=0) tracetarget_ = (nsobject*)tclobject:lookup(argv2);if(tracetarget_=0)return tcl_error;return tcl_ok; else if(strcmp(argv1, ifq) = 0) ifq = (priqueue*)tclobject:lookup(argv2);if(ifq=0)return tcl_error;return tcl_ok; else if(strcmp(argv1, level) = 0) level_ = atoi(argv2); mhwakeup_.sched(level_*recvtime+recvtime);return tcl_ok; 修改ns2的编译文件,以便对经过上述修改后的ns2重新进行编译,修改makefile文件:mac/channel.o mac/mac.o mac/ll.o mac/mac-802_11-mts.o 建立模型之后,运行ns-2.29/mac/下的tcl文件,图3.4 数据发送检测图如下为在根据生成的.tr的trace文件,dmac基础上修改的mac协议的仿真结果图。能量/j0204060801001201400.20.40.60.811.21.4发包间隔/sdmac改后mac图3.5 能量消耗延迟/s0123456780.20.40.60.80.11.21.4发包间隔/sdmac改后mac图3.6 网络时延由仿真结果可知,在不增大网络延迟的情况下,当网络负载较大时,在dmac协议中,数据包发送频率过大,导致碰撞冲突,消耗了过多的能量,而改后的mac由于采用了节点周期性休眠机制和退避策略,有效地减少了碰撞冲突,减少了能量消耗,而在网络负载较低的情况下,消耗的能量相当。总 结无线传感器网络发展的历史还很短暂,对其mac协议的研究正是现在无线传感器网络的一个热点。对于应用网络需求的不同,传感器网络对mac协议的考虑也不同,适用于所有无线传感器网络的mac协议是不存在的。本文先对现有的mac协议进行比较分析,突出dmac协议在能量效率方面的优势,dmac的核心思想是采用交错调度机制,是根据数据采集树这种通信模式提出来的。围绕这种通信方式,对dmac协议进行研究分析,在原来的基础上进行进一步改进,在ns2仿真平台上对无线传感器网络进行仿真分析,通过仿真结果可以发现,在数据采集树采用了节点周期性休眠机制和退避策略,有效地减少了碰撞冲突,减少了能量消耗,而在网络负载较低的情况下,消耗的能量相当。现把实现毕设中遇到的问题总结如下:(1)对dmac协议数据采集树的建立过程中,可发现无线传感器网络中的数据包较小,网络中冗余控制帧占用了网络资源,导致网络延迟问题。对采集树的算法实现低深度节点需要转发多次数据包的问题,引入源节点睡眠机制和退避策略,使得数据包可以作为前一个跳节点的ack应答,提高wsn的能量效率 (2)在使用的仿真平台中有winxp+cywin+ns2的平台,使用过程较ubuntu环境较繁琐,另外实现的库文件的安装也是一个问题,还有一个是ubuntu10.04+ns2-2.34的版本,这个是比较新的版本,但由于ns2中本身没有dmac协议,需要在ieee802.11协议上面进行修改,完成dmac协议,所以新版本没有什么优势,反而没有旧版本稳定,这里ubuntu使用的是8.04的版本,较新版本性能稳定,实现ns2搭建环境中安装库文件较方便,ns2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 【正版授权】 IEC 60704-2-2:2023 EXV-RLV EN Household and similar electrical appliances - Test code for the determination of airborne acoustical noise - Part 2-2: Particular requirements
- 【正版授权】 IEC 60383-2:1993 FR-D Insulators for overhead lines with a nominal voltage above 1000 V - Part 2: Insulator strings and insulator sets for a.c. systems - Definitions,test m
- 与书的故事写物作文(15篇)
- 农业生产要素供给合作合同书
- 医疗行业工作表现及职务证明书(8篇)
- 音乐听力考试试题及答案
- 彝语考试试题及答案
- 医学综合考试试题及答案
- 六一奶茶活动方案
- 六一小活动策划方案
- 生产车间现场改善计划方案
- 生命科学导论(中国农业大学)智慧树知到期末考试答案2024年
- 植物的花粉与传粉
- T-CEA 7027-2024 轨道交通用电梯数据采集智能分析预警系统及智慧运维大数据管理平台功能要求
- 《变压器保护培训》课件
- 湖南省长郡中学、雅礼中学等四校2024届数学高二下期末调研试题含解析
- 水上交通行业安全培训
- 《院感培训护士》课件
- 医院污泥处置管理制度
- 培训中心管理规定范文
- 大气污染控制工程第四版(郝吉明马广大王书肖编)复习重点资料
评论
0/150
提交评论