一种针对数据收集的多跳无线网络路由方法与流程

文档序号:19688645发布日期:2020-01-14 18:37阅读:333来源:国知局
一种针对数据收集的多跳无线网络路由方法与流程
本发明涉及无线通信
技术领域
,具体涉及一种针对数据收集的多跳无线网络路由方法。
背景技术
:在无线传感器网络中,路由协议是数据收集的关键问题。在该网络中,通常有一个或多个根节点,数据收集节点将传感器收集来的数据,以多跳的方式传输给根节点。然而,当数据源(如被跟踪或监视的囚犯、病人)是高度动态时,会造成不断变化的拥塞节点,会使关键数据无法及时地传输到根节点。现有的数据收集路由协议主要分为距离矢量和链路状态这两种。基于距离矢量算法的路由协议根据到目的地的远近来决定最好的路径,链路状态协议是根据链路的变化,例如带宽,延迟,可靠性和负载等决定路径。然而上述两种路由协议,在当网络流量变化以及网络出现较大拥塞时,网络的适应性不足,端到端的时延较大,网络丢包率增大。这对端到端时延要求低、可靠性要求高的应用场景,显然不能满足需求。针对上述问题,本发明提出了一种针对数据收集的多跳无线网络路由方法,通过建立数据收集节点到根节点的多条路径,选择拥塞程度较低的节点转发数据包,在网络拥塞的情况下,能大大降低端到端时延,同时保证高可靠性,并且对网络的流量变化具有适应性。技术实现要素:本发明提出一种针对数据收集的多跳无线网络路由方法,旨在解决避免数据收集网络出现拥塞,尽量减少端到端时延,提高网络交付率。为了实现上述目的,本发明提出一种针对数据收集的多跳无线网络路由方法,所述方法包括:步骤1:数据收集节点周期性发起或由特定事件触发发起通向它本身的路径告知过程,即该节点广播一个路径通知包,头部包含序列号、节点拥塞状态和跳数等信息,节点拥塞状态nodecl根据公式(1)计算,其中μ表示在时间t内进入该节点队列数据包的数量,λ表示在时间t内从节点队列中离开数据包的数量;步骤2:当一中继节点收到上述路径通知包时,根据序列号判断是否首次收到该通知包,如果是,将告知包中信息更新到路由表中,跳数加一,再广播给该包的非发送节点;如果不是,根据序列号判断通知包的新旧程度,节点丢弃序列号小于路由表中当前序列号的通知包,否则将通知包中信息记录到路由表;步骤3:当一中继节点收到一以数据收集节点为目的点的数据包时,节点计算通往目的节点所有路径的拥塞状态pathcl,选择拥塞级别最小的路径转发数据包,路径拥塞级别pathcl根据公式(2)计算,其中nodecli表示路径中第i个节点的拥塞级别,n为路径中节点的个数;步骤4:当一中继节点发现其邻居无法正常工作时,向根节点报告,根节点触发路径告知过程。附图说明图1为数据收集节点发起的路径告知流程图;图2为中继节点向数据收集节点转发数据流程图;具体实施方式下面结合附图1、附图2和实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进。这些都属于本发明的保护范围。实施例本发明一种针对数据收集的多跳无线网络路由方法,通过如下步骤实现:步骤1:数据收集节点以t为周期,广播一个路径告知包,告知包中的ttl值根据网络直径设置,ttl即剩余时间,该字段指定ip包被节点丢弃之前允许通过的最大跳数。网络直径表示网络中节点到数据收集节点的最大跳数。初始时sn=1,nodecl=0,hn=0。数据收集节点每广播一个路径告知包,sn=sn+1。路径告知包的结构如表1所示:表1告知包报文结构告知包编sn拥塞状态nodecl跳数hn其中,sn:表示告知包的序列号,用来区分新旧告知包,由数据收集节点设置;nodecl:表示节点的拥塞状态;hn:表示到数据收集节点的跳数;步骤2:如图1所示,当一中继节点收到告知包时,首先查看ttl值是否大于0,若等于0,则丢弃,否则根据告知包中的序列号sn1和自身路由表记录中的序列号sn2的大小判断是否首次收到。节点的路由表结构如表2所示。若sn1>sn2或路由表记录为空,则中继节点将告知包中的跳数hn=hn+1,将告知包中的sn、hn和nodecl记录至自身路由表后,将自身拥塞状态nodecl更新至告知包中,ttl=ttl-1,再广播给非发送节点;若sn1<sn2,节点将丢弃该告知包;若sn1=sn2,节点将告知包中跳数hn=hn+1,将告知包中的sn、hn和nodecl记录至自身路由表;节点拥塞状态nodecl根据公式(1)计算,其中μ表示在时间t内进入该节点队列数据包的数量,λ表示在时间t内从节点队列中离开数据包的数量;表2节点路由表序列号sn邻居节点id跳数hn拥塞状态nodecl其中,sn:表示路由表中的序列号,用来标志路由表中记录的新旧;id:表示邻居节点的ip地址;nodecl:表示邻居节点的拥塞状态;hn:表示通过邻居节点到数据收集节点的跳数;步骤3:如图2所示,当一中继节点收到一以数据收集节点为目的点的数据包时,该节点遍历路由表,从路由表记录项中选择拥塞级别最低的路径转发数据包;如果有多条路径拥塞状态相同且最低,选择其中跳数最小的路径转发数据包;如果所有路径拥塞级别达到最大,则延迟时间t1后重复上述操作,直到找到一路径转发数据;路径拥塞级别pathcl根据公式(2)计算,其中nodecli表示路径中第i个节点的拥塞级别,n为路径中节点的个数;步骤4:当一节点发现一邻居节点超过时间t2后未向自身回应,则判断该节点无法正常工作,向数据收集节点发送报告,触发路径告知过程。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1