无线传感器网络路由协议的分析与评价资料.docx
《无线传感器网络路由协议的分析与评价资料.docx》由会员分享,可在线阅读,更多相关《无线传感器网络路由协议的分析与评价资料.docx(35页珍藏版)》请在冰豆网上搜索。
![无线传感器网络路由协议的分析与评价资料.docx](https://file1.bdocx.com/fileroot1/2023-2/5/f52e643d-f1bb-4bb4-b350-859ec508761c/f52e643d-f1bb-4bb4-b350-859ec508761c1.gif)
无线传感器网络路由协议的分析与评价资料
无线传感器网络路由协议的分析与评价
数学计算机学院软件工程专业2012届黑敏星
摘要:
无线传感器网络综合了传感器技术、嵌入式计算技术、无线网络通信技术、分布式信息处理技术,能够实时监测和采集网络分布区域内的各种检测对象的信息,并发送给观测者。
传感器网络具有硬件资源有限、动态拓扑、电源能量有限、无中心基站、多跳路由、以数据为中心等特点,能够应用于军事、环境检测、机械监控等领域。
本文首先概述了无线传感器网络的概念、特点、体系结构、协议栈、应用领域和关键技术。
接着通过对无线传感器网络路由协议的分类,对几种典型的无线传感器网络路由协议进行了详细的介绍。
最后对几种典型的协议在分类和性能上进行了比较。
其次,本文先对洪泛协议(MFlood)进行了简单的介绍,然后详细介绍了网络模拟器NS2,并且了解了NS2的层次结构、组成部分、NS2仿真模拟的步骤。
最后,利用NS2对MFlood协议进行仿真,并由仿真得到的trace文件对MFlood协议的端到端延时、节点间的传说速率、延时的抖动率和网络吞吐量进行了分析。
关键词:
无线传感器网络;路由协议;MFlood;trace;NS2
中图分类号:
TP393
无线传感器网络路由协议的分析与评价
1引言
近年来,随着传感器技术、嵌入式计算技术、无线通信技术的快速发展,由具有感知能力、计算能力、通信能力的微型传感器自组织而成的无线传感器网络(WSN)引起了人们的极大关注。
国内外对无线传感器网络有着一些特定的研究。
在国外,1996年,美国学者straser、Kiremidjian提出运用无线技术替代结构监测有线系统的思想,开辟了无线传感技术在结构监测领域中应用,并研制了一套实时的损伤识别结构健康监测系统:
以上述学者的工作为基础,Lynch等运用标准的集成电路开发了一个无线传感器的模型:
整个传感器节点包括一个八位微处理器,检测单元采用微加速度芯片构成,并且所集成的无线传感器在实验室中得到了验证。
比如日本大型机械监控技术应用研究主要利用移动通信技术与智能传感器技术相结合,实现了对集装箱装卸设备的远程监控;马来西亚港口设备监控与调度管理系统;德国基于非线性神经网络的钢板厚度监控系统;荷兰基于GIS和无线通信的港口智能化信息管理系统等等。
在我国,无线传感器网络研究起步较早,中科院、哈尔滨工业大学、清华大学、北京邮电大学、西北工业大学、天津大学、国防科技大学较早开展了无线传感器网络方面的研究工作[1]。
如上海交通大学基于移动通信技术的港口起重机远程监控系统;天津港基于短信平台的起重机动态监测装置;华中科技大学网络化远程监控等等[2]。
2无线传感器网络概述
2.1无线传感器网络概念
无线传感器网络[3](wirelesssensornetwork,WSN)是一项新兴的网络技术,它是由大量随机分布的包括集成传感器、数据处理段元和通信单元的微小节点通过自组织方式构成的无线网络,所有网络节点协同合作完成特定的任务。
它综合了传感器技术、嵌入式计算技术、现代网络技术、无线通信技术和分布式信息处理技术等多种技术。
2.2无线传感器网络的特点
无线传感器网络与传统的无线通信网络有着不同的设计目标和技术要求。
前者以数据位中心,而后者则以传输数据为目的。
无线传感器网络因其所应用的特殊性决定了无线传感器网络具有以下的一些特征:
(1)硬件资源有限
无线传感器网络传感器节点的数量较大,往往需要投放在特定的检测区域。
由于受体积及成本等因素的限制,其计算能力、对数据的处理能力、存储能力都相当的有限。
(2)动态拓扑
无线传感器网络的拓扑是动态变化的,节点是可以随处移动的,并且有多节点可能受到自然或人为的破坏,有的节点可能由于电池耗尽而退出网络,还有的节点则可能是新加入的节点。
这些原因都会使整个网络的拓扑结构随时发生变化,因此网络具有动态拓扑的特点。
(3)电源能量有限
由于传感器节点往往被投放在一些不适合进行电源补给的环境和无人区域,所以一般都为一次性供电,一旦电池耗尽,很难再给电池充电或者更换电池。
(4)无中心基站
无线传感器网络没有像传统网络中的基站之类的控制中心,所以节点都是平等的,是一个对等式网络。
(5)多跳路由
无线传感器网络的传感器节点散布的检测区域往往比较大,而由于受到节点能量的限制以及对等网络无中心的特点,网络数据的转发往往采取多跳转发的方式,不仅可以节省发射功率,还可以不用专门设置路由器,同时每个节点都有附加路由转发的功能。
(6)以数据为中心
无线传感器网络是用来检测各种感兴趣的被测量的数据,其主要目的是为了获得检测区域的检测数据。
在网络设计过程中,主要考虑如何高效处理感知数据,并将获取的数据传送到用户节点,因此无线传感器网络的特点是以数据为中心。
同时无线传感器网络还具有组网快捷、灵活,且不受有线网络约束的特点。
2.3无线传感器网络体系结构
无线传感器网络体系结构[4]如图2.1所示。
无线传感器网络系统通常包括传感器节点、汇聚节点和监控中心主机(包括服务器和用户访问管理终端)。
大量的传感器节点随机散步在指定检测区域内。
传感器节点将检测到的信息以多跳中继的方式传送到汇聚节点。
汇聚节点是一个固定的或可以移动的节点,一般具有更多的能量、更强大的数据处理能量和存储能力。
汇聚节点将从外部网络接收到的控制命令发送到检测区域内的传感器节点,以及传感器节点的数据信息传送到外部网络,再由外部网络传送给服务器。
服务器用于接收检测区域内的数据,用户可以远程访问服务器,从而获得检测目标的状态信息以及实现对传感器网络进行配置和管理、发布检测任务等功能。
图2.1无线传感器网络体系结构
2.4无线传感器网络协议栈
无线传感器网络协议栈[5]主要包括物理层、数据链路层、网络层、传输层和应用层,与互联网的五层协议相对应。
如图2.2所示:
图2.2无线传感器网络协议栈
另外,无线传感器网络协议栈同时还包括能量管理平台、移动管理平台和任务管理平台。
这种管理平台使得传感器节点能够按照能量高效的方式协同工作,在节点移动的传感器网络中转发数据,并支持多任务与资源共享。
各层协议和平台的相关功能如下:
1)物理层提供简单和健壮的信号调制和无线收发技术;
2)数据链路层负责数据成帧,帧控制,媒体访问和差错控制;
3)网络层负责路由的生成和路由选择
4)传输层负责数据流的传输控制,使保证通过通讯服务质量的重要部分;
5)应用层包括一系列基于检测任务的应用层软件
6)能量管理平台管理传感器节点如何使用资源,在各个协议层都要考虑节省能量;
7)移动管理平台检测并注册传感器节点的移动,维护到汇聚节点的路由,使得传感器节点能够动态跟踪其邻居节点的位置;
8)任务管理平台在一个给定的区域平衡和调度检测任务。
2.5无线传感器网络的应用
随着研究的深入,无线传感器网络的应用领域非常广泛。
目前,随着传感器技术、通信技术、嵌入式技术及分布式信息处理技术的快速发展,无线传感器网络正被广泛应用在人们生活的各种领域,例如:
军事领域、工业领域、农业领域、生态环境监测、家具生活领域、医疗健康领域、城市交通领域等等,总之,无线传感器网络已经是当今科学领域最具有代表性的通信技术性支持,已经渗透到千家万户、各行各业。
2.6无线传感器网络的关键技术
在无线传感器网络研究的过程中,存在着一些关键技术问题,主要的问题有:
路由技术、安全问题、时间同步、数据融合、能量问题等等。
(1)路由技术
由于传感器节点的计算能量,存储能力、自身能量有限,大部分节点并不能直接将数据发送到汇聚节点,而要采用多跳路由方式向汇聚节点发送数据,因此,每个节点不仅要进行数据的采集和传输,还要具有转发数据的能力。
(2)安全问题
在无线传感器网络中,大量的传感器节点密集分布在一个区域里面,消息可能需要经过若干节点才能达到目的地,而且传感器网络具有动态性和多跳结构,要求每个节点都应该具有路由功能。
由于每个节点都是潜在的路由节点,因此更容易受到攻击,使网络部安全。
网络层路由协议为整个无线传感器网络提供了关键的路由服务,安全路由算法可以直接影响无线传感器网络的安全性和可用性。
(3)时间同步[4]
时间同步技术是完成实时信息采集的基本要求,也是提高定位精度的关键手段。
常用方法是通过时间同步协议完成节点间的对时。
同时传感器节点需要相互合作,完成复杂的检测和感知任务,这样往往需要各节点保持时间上的一致性,方便出来一些与时间有关的操作。
(4)数据融合
由于无线传感器网络的资源有限,电池能量、出来能力、存储容量及通信带宽都要统筹使用,在满足用户需求的情况下,需要对众多传感器节点的检测数据进行融合出来,从而节省通信带宽的能量,提高信息收集的效率。
(5)能量问题
在多数情况下,传感器网络中的节点都是由电池供电,电池容量非常有限,并且对于成千上万节点的无线传感器网络来说,更换电池非常困难,甚至是不可能的。
如果网络中的节点因为能力耗尽而不能工作,会带来网络拓扑结果的改变以及路由的重新建立等问题,甚至可能是网络分成不连通的部分,造成通信的中断。
因此,如何在不影响功能的前提下,尽可能地节约无线传感器网络的电池容量成为无线传感器网络软硬件设计中的核心问题。
3无线传感器网络路由协议概述
3.1无线传感器网络路由协议的分类
无线传感器网络路由协议从驱动机制的角度可以分为主动式路由协议、按需式路由协议和混合式路由协议:
主动式路由协议,所有的路由在使用之前已经形成;按需式路由协议只有在需要使用的时候才形成;混合式路由协议是将上述两种思想结合起来的一种新的路由协议。
由于无线传感器节点资源受限,且传感器网络中节点数目众多,传感器节点没有足够的空间来存储大量的路由表,因此在实际应用中,按需式路由协议和混合式路由协议更加受青睐。
无线传感器网络路由协议从网络拓扑结构的角度可以分为:
平面路由协议和层次路由协议,如图3.1所示。
在平面路由协议中,所有节点的地位都是平等的,通过局部操作和反馈信息来生成路由。
平面路由协议的优点是简单、以扩展,其缺点是缺乏对通信资源的规范化管理,每一个节点都需要知道到达其它所有节点的路由,维护动态变化的路由需要大量的控制信息。
在层次路由协议中,网络通常被划分为簇,每个簇由一个簇头和多个簇成员节点组成,簇成员节点负责采集数据,并将采集到的数据转发给簇头,簇头节点负责簇内部数据的接收和数据融合,然后将数据转发给更高层的簇。
簇成员的功能比较简单,不需要维护复杂的路由信息,不同层次的节点的作用不同。
这大大减少了网络中路由控制信息的数量,具有良好的可扩充性,其缺点是簇头节点能量消耗大,可能会成为整个网络的瓶颈。
图3.1无线传感器网络按拓扑结构的路由协议分类
3.2平面路由协议
在平面路由协议中,各网络中的各节点在路由功能上地位相同,没有引入分层管理机制。
平面结构路由的优点是网络中没有特殊的节点,网络流量均匀的分布在网络中,路由算法易于实现。
缺点是可扩展性小,在一定程度上限制了网络的规模,对网络动态变化的反应速度较慢。
以数据位中心的典型平面路由协议主要有:
泛洪(Flooding)、SPIN(SensorProtocolsforInformationviaNegotiation)、定向扩散DD协议(DirectedDiffusion)等。
3.2.1洪泛路由协议
洪泛协议(Flooding)是以中传统的网络路由协议,不需要任何路由算法,也不需要维护网络拓扑结构。
在该协议中,节点向它的所有邻居节点广播接收到的数据,如此反复,直到数据到达目的节点或者所有节点拥有此数据副本为止。
洪泛协议所具有的优点是:
①实现简单;②不需要为保持网络拓扑信息和实现复杂的路由发现算法而消耗计算资源;③适用于健壮性要求高的场合。
洪泛协议存在的问题有[5]:
①存在消息内爆问题,即出现一个节点收到一个数据的多个副本现象。
如图3.2(a)所示,节点S要将数据发送给节点D,首先节点S要将数据发送到它的所有邻居节点A、B、C。
A、B、C再将数据广播给各自的邻居节点(除了发送此数据给自己的邻节点外),这样节点D就会收到很多份一样的数据。
②存在信息重叠的问题,即处于同一观测环境的相邻同类传感器节点同时向一个节点发送数据,从而收到双份数据副本的想象。
如图3.2(b)所示,节点A收到节点B、C对同一区域R2的检测数据。
③盲目利用资源,即节点不考虑自身能力状况,只要接收数据就进行转发。
图3.2(a)消息“内爆”现象图3.1(b)消息“重叠”现象
针对以上提到的消息内爆和重叠现象,S.hedetniemi等人提出了闲聊(Gossping)协议。
避免洪泛协议的内爆问题,节点随机选取一个邻居节点转发数据包,而不是向所有邻居节点广播数据包。
然而,这却增加了数据端到端的传输延迟。
3.2.2SPIN
SPIN(SensorProtocolsforInformationviaNegotiation)[6]是一种以数据为中心的自适应通信路由协议,其目标是通过使用节点间的协商机制和资源自适应机制,从而解决泛洪协议存在的数据内爆问题和重叠现象。
传感器节点在传送数据之前彼此进行协商,协商制度可确保传输有用数据。
节点间通过发送元数据,而不是采集的整个数据进行协商。
由于元数据大小小于采集的数据,所以传输元数据消耗的能量相对较少。
SPIN协议有3种数据包类型,即ADV、REQ和DATA。
ADV用于元数据的广播,REQ用于请求发送数据,DATA为传感器采集的数据包。
数据发送之前,节点要进行“元数据协商”,协商是通过发送端广播ADV包告知邻居节点自己有数据要发送,如果邻居节点愿意接受数据中转,就会返回REQ信号来完成握手过程,握手完成后就进行DATA的传输,DATA可以经过多个节点的中转最后到达目的节点,这样就保证了网络中没有冗余数据。
3.2.3定向扩散DD路由协议
定向扩散(DirectedDiffusion)[7]是一种以数据位中心且基于查询的路由机制,其最大的特点就是引入了网络梯度概念,并将局部算法相结合应用于无线传感器网络的路由通信机制。
网络梯度[7]的思想本身源于生物学中的蚂蚁种群模型,一般定义为属性值和方向。
属性值可以依据数据速率、功率或者地理信息确定,方向由接收节点指向发送兴趣的邻居节点,引导数据扩散。
定向扩散路由机制分为兴趣的洪泛,双向梯度的建立,探测分组的洪泛,路径的选择与将强,数据的发送五个阶段组成。
3.3层次路由协议
与平面路由协议相对应的是分层结构的路由协议。
分层路由协议采用簇的概念对传感器节点进行层次划分。
若干个相邻节点构成一个簇,每一个簇有一个簇首。
簇与簇之间可以通过网关通信。
网关可以是簇首也可以是其它簇成员。
网关之间的连接构成上层骨干网,所以簇间通信都通过骨干网转发。
分层路由协议[8]包括成簇协议、簇维护协议、簇内路由协议和簇间路由协议四个部分。
成簇协议解决如何在动态分布式网络环境下使移动节点高效地聚集成簇,它是分层路由协议的关键。
簇维护协议要解决在节点移动过程中的簇结构维护,其中包括移动节点的退出和加入簇,簇的产生和消亡等功能。
分层路由协议比较适合于无线传感器网络,但成簇过程会产生一定的能源消耗。
分层路由协议主要有:
低功耗自适应聚类路由协议LEACH、门限敏感的高效能耗传感器网络协议TEEN等。
3.3.1低功耗自适应聚类路由协议LEACH(lowenergyadaptiveclusteringhierarchy)
LEACH[9]协议是有MIT的Heinzelman等人提出,它是第一种基于分簇结构和分层技术的无线传感器网络协议,在无线传感器网络路由协议中占有重要地位。
LEACH协议的基本思想是通过随机循环地选择簇首节点将整个网络的能量负载平均分配到每个传感器节点,从而达到降低网络能源消耗、提高网络整体生存时间的目的。
与一般的基于平面结构的路由协议和静态的基于多簇结构的路由协议相比,具有以上的优点。
在数据通信阶段,簇内节点把数据发送给簇头,簇头进行数据融合并把结果发送给汇聚节点。
由于簇头需要完成数据融合、与基站通信等工作,所以能量消耗大。
LEACH算法能够保证各节点等概率地担任簇头,使得网络中的节点相对均衡地消耗能量。
3.3.2TEEN
TEEN协议就是为反应式无线传感器网络而设计的路由策略,它具有实时性,可以对突发事件作出快速反应。
TEEN和LEACH的实现机制非常相似,只是前者是响应型的,而后者属于主动型传感器网络。
TEEN协议的优点:
协议适合于需要实时感知的应用环境中;通过设置硬阀值和软阀值2个参数,TEEN可以大大减少数据传送的次数,比LEACH节约能量等。
缺点:
不适合应用在需要周期性采集的应用系统中,这是因为如果网络中的节点没有收到相关的阀值,那么节点就不会与汇聚节点进行通信,用户也就完全得不到网络的任何数据。
3.4各路由协议之间的比较
平面路由协议的优点在于实现简单,但是它也存在着可扩展性差的缺点,无线传感器网络拓扑结构通常是由分布在一点区域内的成千上万个节点所构成的,网络的规模非常之大。
相比之下,分层路由协议由于它的可扩展性好的优点,能够适合大型的无线传感器网络。
分层路由协议之所以要优于平面路由协议的原因在于:
分层路由协议把所有的节点分为多个簇,每个簇拥有一个簇首和多个成员节点。
成员节点在收集有效的信息后,不是无目的的传输信息,而是在簇首节点分配给自己的时隙内发送信息,信息发送完成后,该节点可以进入睡眠状态,等待信息收集的开始或传输时隙的到来。
同时各种路由协议还有以下的比较:
表3.1无线传感器网络路由协议的分类比较
路由协议
多跳
单跳
平面型
分层型
数据融合
Flooding
是
是
SPIN
是
是
有
DD
是
有
LEACH
是
是
有
TEEN
是
是
有
表3.2无线传感器网络路由协议的性能比较
路由协议
性能比较
以数据位中心
生命周期
传输延迟
路径容错
可扩展性
Flooding
短
短
好
差
否
SPIN
短
长
好
差
是
DD
长
较短
好
较好
是
LEACH
长
较短
较好
较好
否
TEEN
长
较短
较好
较好
是
说明:
这些路由协议都是基于特定的应用环境下而设计,在不同的条件下,不同的协议表现出不同的性能,因此,不能绝对说哪种协议最优。
4洪泛(MFlood)协议的仿真分析与评价
无线路由通讯协议MFlood路由算法是一种传统的广播式路由协议[10]。
它不需要维护网络的拓扑结构和路由计算,每个节点都使用广播转发收到的数据分组,若收到重复的分组则进行丢弃处理。
通过设定合适的TTL值来避免由于大面积的扩散而占用过多的网络资源,使扩散收敛,保证数据分组只经过有限跳路由;此外为了进行重复分组检测,每个节点需要维护一个数据分组序号SEQ和一张路由表,原节点每发送一个分组则将SEQ加1,并将该SEQ添加到数据分组的IP头部,其余节点受到数据分组后会将该SEQ记录到路由表并根据该SEQ进行重复分组检测。
由于洪泛算法会产生大量的分组,占用网络资源,所有效率很低。
但是它是一个最简单又有效的路由算法
4.1NS2简介
4.1.1NS-2概述
NS-2[11]的全称为NetworkSimulatorVersion2。
是美国加州大学伯克利分校(UniversityofCaliforlia,Berkley)开发的一个事件驱动的网络仿真器。
由于具有开放源代码、可扩展性强、仿真速度快效率高等优点,目前NS2已被研究者广泛地用于各种网络的仿真。
NS-2是面向对象的,离散事件驱动的网络环境模拟器,主要用于解决网络研究方面的问题。
NS-2提供在无线或有线网络上,TCP、路由、多播等多种协议的模拟。
NS具有开放性好、扩展性强、适用于Windows和Linux系统平台的特点,是一个出色的研究网络拓扑结构、分析网络传输的仿真工具。
与其他的网络仿真工具相比,NS对相应数据流的仿真能量尤为突出。
NS仿真环境中有两种分工不同的开发语言:
C++和Otcl(ObjectTcl,即Tcl面向对象的扩展)。
C++描述网络协议的细节,Otcl提供面向对象的接口,通过配置仿真活动中的各种参数,建立仿真的整体框架,C++和OTCL之间通过TclCL关联起来。
C++运行速度快,使模拟具有高性能;而用Otcl进行模拟配置,可以不必重新编译情况下随意修改模拟参数和模拟过程,提高了模拟的效率。
4.1.2NS-2的层次结构
NS2是一个用C++编写的面向对象的仿真器,它的前端是一个OTcl解释器仿真器内核定义了有层次结构的多种类,称为编译类结构;OTcl解释器中有相似的类结构,称为解释类结构。
NS2内核的层次结构[9]如下图所示。
图4.1NS2的层次结构
如上图所示:
NS2用到了六种TCL类,分别是:
(1)Tcl类:
封装了OTcl解释器实例,向外界提供方法来访问解释器。
(2)TclObject类:
它是两种类结构中的大多数的基类。
(3)Tclclass类:
把用户通过类TclObject在解释器中建立的类结构映射到编译类结构,提供方法来实例化新的对象
(4)TclCommand类:
提供一种机制使NS2内核向解释器输出简单的命令。
(5)EmbededTcl类:
允许用户以编译代码或解释代码来扩展NS2功能。
(6)Instvar类:
定义了一些方法和机制,在编译类结构对象的成员变量和对应的解释类结构对象的成员变量之间建立映射,使两类变量一致共享。
4.1.3NS-2模块概述
NS2功能非常强大,由12个模块组成,下面分别介绍各模块的功能:
(1)Tcl:
Tcl提供了一个强有力的平台,可以生成面向多种平台的应用程序,协议,驱动程序等等。
它与TK(toolkit)协作,可生成GUI应用程序,可在PC、Unix和Macintosh上运行。
Tcl还可用来完成与网页的相关任务,或是为应用程序提供强有力的命令语言。
(2)TK:
与Tcl协调工作的图形工具包。
(3)OTcl:
MITObjectTcl的简称,是Tcl/TK面向对象编程的扩展。
(4)Tclcl:
此目录下含有tcl/C++的接口,vic、vat、ns、rtp_play和nam都会用到。
(5)NS:
NS的主体代码,内含一个节点移动产生器、两个传输事件产生器。
(6)TclDebug:
Tcl调试工具包。
(7)Nam:
即UCB/LBNLNetworkAniMator,它与NS协同工作,将NS仿真过程动态的表现出来。
(8)Xgraph:
Xgraph是X-Windows应用程序,包含:
交互式测量和绘制和动画效果。
4.1.4NS-2的组成部分
(1)离散事件调度器(Scheduler):
调度器是仿真器的心脏,它记录当前时间,调度网络事件链表中的事件。
它有一个静态成员变量instance,供所有的类访问同一个调度器,提供函数产生新事件,指定事件发生的时间。
目前NS2支持四种事件调度器,分别为链表式(linked-list)、堆式(heap)、时间队列式(calendar)和实时(real-time)调度器,其中时间队列式为默认的事件调度器。
(2)事件处理器(Handler):
Handle是所有处理事件类的基类,它只是一个虚拟函数,每个继承类实现自己的功能。
(3)节点(Node):
节点是对实际网络中分布在不同地理位置的主机、交换机