您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 无线传感器网络的路由算法
AODV协议1.概述Nokia研究中心开发,自组网路由协议的RFc标准,它是DSR和DSDV的综合,借用了DSR中路由发现和路由维护的基础程序,及DSDV的逐跳(Hop-by-HoP)路由、目的节点序列号和路由维护阶段的周期更新机制,以DSDV为基础,结合DSR中的按需路由思想并加以改进。它应用于无线自组织网络中进行路由选择的路由协议,它能够实现单播和多播路由。该协议是自组织网络中按需生成路由方式的典型协议。用于特定网络中的可移动节点。它能在动态变化的点对点网络中确定一条到目的地的路由,并且具有接入速度快,计算量小,内存占用低,网络负荷轻等特点。它采用目的序列号来确保在任何时候都不会出现回环,避免了传统的距离向量协议中会出现的很多问题。AODV最初提出的目的是为了建立一个纯粹的按需路由的系统。网络中的节点完全不依赖活动路径,既不维护任何路由信息,也不参与任何定期的路由表交换。节点不需要发现和维护到其他节点的路由,除非两个节点需要通讯或者节点是作为中间转发节点提供特定的服务来维护另外两个节点的连接性。提出:Withthegoalsofminimizingbroadcastsandtransmissionlatencywhennewroutesareneeded,wedesignedaprotocoltoimproveupontheperformancecharacteristicsofDSDVinthecreationandmaintenanceofad-hocnetworks.2.特点优点:(1)基本路由算法为距离向量算法,但有所改进,思路简单、易懂。(2)按需路由协议,而且节点只存储需要的路由,减少了内存的需求和不必要的复制。。(3)采用UDP封装,属于应用层协议。(4)支持中间节点应答,能使源节点快速获得路由,有效减少了广播数,但存在过时路由问题。(5)通过使用目的序列号来避免路由环路,解决了传统的基于距离向量路由协议存在的无限计数问题。(6)具有网络的可扩充性。(7)快速响应活跃路径上断链。缺点:在无线个域网中,拓扑结构相对简单,网络的规模相对较小,节点的位置不固定,对它的设计首先要考虑的因素是简单、节能等问题。3.路由发现(a)广播RREQ路由请求帧(b)中间节点更新各自到源节点的路由表(c)如果收到RREQ的节点不是目的节点,并且没有到达目的节点的更新的有效路由,则转发该RREQ(d)中间节点维护指向路由发起节点(源节点)的反向路由(e)目的节点或存在到目的节点有效路由的中间节点产生RREP路由应答帧(f)RREP通过之前建立的反向节点单播至源节点(g)源节点收到RREP应答帧,至此源节点可以向目的节点发送数据包4.路由维护Hello消息Hello消息帧其实就是TTL=1时的RREP帧。TTL(Time-To-Live)为IP数据包字段,表示该帧的传播跳数。Hello消息帧用于监测活跃路径上相邻节点的链接状况。例如:当活跃路径上某节点ALLOWED_HELLO_LOSS*HELLO_INTERVAL毫秒时间内没有收到该路径上的邻居节点发送来的Hello消息帧或其他任何帧时,该节点就认为与它与邻居节点的链路已断。并且只有当某节点位于某活跃路径之上时,它才能发送Hello消息帧。5.路由信息新旧判断AODV依赖网络中每个节点维护自身的序列号,源节点在广播路由请求帧RREQ之前要先更新自己的序列号,即将序列号加1,目的节点在产生RREP应答帧之前也要将自身的序列号加1,每个节点在对各自的序列号加1的时候是将其视为无符号数进行的。通过比较来自目的节点路由控制帧中的序列号SN1和本节点维护的目的节点的序列号SN2就可以确定本链路的新旧程度,进而做相应处理。如果SN2-SN10(有符号数相减),说明路由表中维护的信息已过时,应将路由信息更新至路由控制帧中最新的路由信息。6.拥塞控制源节点在发送RREQ后,在规定的时间内没有收到来自目的节点的RREP时,它可以选择再次发送RREQ路由请求帧。在尝试了RREQ_RETRIES次之后,如果依然收不到RREP,则在路由表中标记该目的节点不可达,并通知应用层。每次重新发送RREQ请求帧时,等待RREP应答帧的时间要在原来时间的基础上乘以2,避免拥塞。DSR协议1.概述动态源路由协议是一种按需路由协议,它允许节点动态地发现到达目的节点的多跳路由。源路由是指在每个数据分组的头部携带有在到达目的节点之前所有分组必须经过的节点的列表,即分组中含有到达目的节点的完整路由。用于Ad-hoc网络中,一个移动节点需要通过其他节点的帮助把数据包传到目的节点,能快速适应节点移动时路径的变化,能耗低2.特点优点:(1)采用源路由机制、避免了路由环路。(2)通过采用路由缓存技术,避免了在每次路由中断时都需要进行路由发现,减少路由请求信息对信道的占用(3)中间节点不必存储转发分组所需的路由信息,网络开销较少缺点:(1)随着路经跳数的增加,分组头长度线性增加、开销大(2)路由请求分组RREQ采用洪泛发向全网扩散,导致网络负荷大(3)来自邻居节点的RREQ分组在某个节点可能会发生碰撞,解决办法是:在发送RREQ分组时引入随机时延(4)当源节点发送路由请求分组RREQ时,可能会收到多个节点缓存的到达目的节点的路由信息,引起竞争。解决办法:若某节点听到其它节点发出的RREQ分组中路由信息含有较少跳数,此节点停止发送。(5)当源节点发送路由请求分组RREQ时,可能会收到多个节点缓存的到达目的节点的路由信息,但有些路由信息可能是过时的。解决办法:引入定时器、链路断的情况应进行全网洪泛。3.路由发现(洪泛路由)当节点要传送数据分组时,源节点先检查缓存中是否有到信宿的路由信息,若有非过期的路由则可直接采用,否则泛洪广播发送路由请求分组。(1)初始广播路由请求(2)中间节点接收后,都进行以下的处理:如果之前收到过请求,丢弃请求;如果本节点地址在请求中,丢弃请求;如果到达目的节点,返回路由应答。否则,将自己的地址加入分组的路由记录并转发给相邻节点(3)若是目的节点则返回路由应答分组,当源节点接收到路由回复后,路由发现过程结束。若RREQ分组在最近收到的“历史RREQ列表”中存在、或路由纪录中包括本节点,此节点将删除该“路由请求”分组,防止循环处理和出现路由环路。4.路由维护建立路由后,源节点将进行数据传送,在此过程中需要对已建立的路由进行维护。源节点通过路由维护机制可以检测出网络拓扑的改变,从而知道到目的节点的路由是否可用。当路由维护探测到某条使用中的路由出现了问题时,就会发送RERR(路由错误报文)给源节点,源节点在收到该RERR后,就会从它的路由缓存中删除所有包含该故障链路的路由,并重新发起一个路由发现过程。DSR与ADOV的比较1算法基本类型:AODV采用逐跳路由的算法,每一个节点仅仅是记住下一跳;DSR使用源路由算法,每一个节点记住整个路由。2路径支持:AODV单一路径;DSR多路径支持,一条路径损坏可以使用路由缓存中其他路径。3周期性广播:AODV为了维护路由还周期性地发送Hello分组;DSR不需要周期性广播。4逻辑结构:二者均是平面式路由,协议中所有节点地位平等。5单向链路支持:AODV依赖于对称性的链路;DSR可以处理非对称性链路的网络。6路由获取时机:DSR首先检查缓存是否存在未过期的到目的节点的路由,如果存在,则直接使用可用的路由,否则启动路由发现过程;AODV只要需要到新节点的路径就启动路由发现过程。Flooding(洪泛法)1.概述Flooding是指从任何节点通过一个路由器发送的信息包会被发送给与该路由器相连的所有其他节点(除了发送信息包出来的那个节点)。源节点首先通过网络将数据副本传送给它的每个邻居节点,每个邻居节点再将数据传送给各自的除发送数据来的节点之外的其他。如此继续下去,直到数据传送目标节点或者数据设定的生存期限(TTL)为0为止。2.特点优点:实现简单,容错能力强,不需要为保持网络拓扑信息和实现复杂的路由发现算法而消耗计算资源,适用于健壮性要求高的场合。缺点:(1)存在信息爆炸问题,即出现一个节点可能得到一个数据多个副本的现象(2)会出现部分重叠现象,如果处于同一观测环境的两个相邻同类传感器同事对一个事件作出反应,二者采集的数据性质相同,数值相近,那么,这两个节点周围的邻居节点将收到双份数据副本(3)造成盲目使用资源,即扩散法不考虑各节点能量可用状况,因而无法做出相应的自适应路由选择。3.算法模型任一节点ni接收到报文的动作可用如下伪代码描述。每个报文都包含TTL(报文存活时间)、DATA(数据)等内容。(1)Sink和其他节点广播自己的位置信息和序列号;(2)源节点广播报文;(3)若收到报文的节点为Sink则报文已传送到目的地了;否则转(4);(4)若报文的TTL-1=0或节点已收到过该报文,则转(5),否则转(6);(5)节点丢弃该报文;(6)节点将报文转发给它所有的邻居节点。Gossiping协议1.概述Gossiping协议是对Flooding协议的改进,节点将产生或收到的数据随机转发给一个或者若干个相邻节点,避免了以广播形式进行信息传播的能量消耗,避免了内爆,但增加了时延,且无法避免重叠问题。在每次选取下一跳节点时,并没有采用路径优化相关算法,因此所选择的路由往往不理想,这将导致数据包的端到端延时增加或者生命周期在没到达目的节点之前就结束.2.算法节点n通过将消息m发送给随机选择的B个邻居来完成本次消息的传播:When(nodepreceivesamessagemfromnodeq)If(phasreceivedmnomorethanFtimes)psendsmtoBuniformlyrandomlychosenneightborsthatpknowshavenotyetseenmB表示消息在一次传播中最多可以转发的邻居节点的数目;参数F决定了节点向它的邻居转发同一消息的次数,例如F为1,节点只向它的B个邻居转发第一次收到的消息m,随后到达的消息m将被忽略。通过B和F的调整,可以在效率和代价之间寻找平衡点,适应不同的需要。当F为1,B为网络中节点最大度数,即为Flooding协议。SPIN协议1.概述SPIN(sensorprotocolforinformationvianegotiation)是一种以数据为中心的自适应通信路由协议。它通过使用节点间的协商制度和资源自适应机制,解决了传统协议所存在的内爆,重叠以及盲目使用资源问题。SPIN协议有3种数据包类型,即ADV、REQ和DATA。ADV用于元数据(元数据指数据的属性)的广播,REQ用于请求发送数据,DATA为传感器采集的数据包。对Flooding进行改进,考虑到WSN数据的冗余性,临近节点感知的数据具有相似性,通过节点间协商方式减少数据传输量,只广播其他节点没有的数据。2.路由过程传感器节点采用SPIN协议交互的基本过程:(1)结点A采集到数据m。向外广播带有m元数据(元数据指数据的属性)的adv数据包。(2)邻居结点B收到A的adv数据包,根据其携带的元数据判断自身是否需要数据m。如果不需要,则销毁adv数据包。需要则生成相应的req数据包,向外广播。(3)结点A收到B的req数据包请求,生成相应的data数据包相外广播。(4)结点B收到A的data数据包,进行数据m的存储。(5)结点B继续向外广播带有m元数据的adv数据包,从而数据m在网络中被传递。3.特点优点:(1)简单,节点仅需要知道它的邻居节点,无需其他拓扑信息(2)节点只广播其他节点没有的数据以减少冗余数据,从而有效降低能耗。(3)利用三步握手机制解决内爆(4)利用数据融合,部分解决重叠问题(5)不需要进行路由维护(6)对网络拓扑编号不敏感缺点:(1)本质上还是向全网扩散新消息,开销比较大(2)当多个节点向同一个节点同时发送REQ消息时,需要退避算法DirectedDiffusion协议1.概述定向扩散(DirectedDiffusion,DD)路
本文标题:无线传感器网络的路由算法
链接地址:https://www.777doc.com/doc-3607636 .html