一种移动自组织网络系统的多播路由方法

文档序号:7599170阅读:174来源:国知局
专利名称:一种移动自组织网络系统的多播路由方法
技术领域
本发明属于移动通讯技术领域,具体涉及一种移动自组织网络系统路由方法。
背景技术
对于传统的无线自组织网络来说,节点通常处于静止或低速运动的状态。在这种 情况下,网络拓扑结构变化较为缓慢,对路由的选择和节点通信带宽以及传输的时延要求 较低。但是在如无人机移动自组织移动网络系统中,无人机网络节点将高速移动飞行,且无 人机群组成的移动自组织网络所处例如战场等环境情况较为恶劣,整个网络的正常稳定运 行情况较差。在这种情况下,诸如网络数据传输能耗等指标已经不是约束整个网络路由算 法设计研究的主要方面。在无人机移动自组织网络系统中,节点移动速度的快速,网络拓 扑频繁的变化,直接导致很高的数据丢包率和网络路由的重新选择频率的提高和难度的增 加。先前建立的路由有可能还没来得及传输数据,就需要重新发送链路控制信息,重新建立 路由链路,这样,势必加剧网络阻塞和影响数据的传输时延。为了保证自组织网络的高效可 用性,改善自组织网络通信质量,必须提高网络数据传输的使用效率,改善网络链路的选择 策略,加强路由管理,从而提高整体网络的健壮性和实用性。为了研究适合于在节点高速运动情况下移动自组织网络使用的多播路由方法,通 过对国内外相关研究内容的分析,通过理论分析以及相关实验,可知有结构和无结构的多 播协议都只能在一定程度上满足某方面的性行能要求,而且对于其他方面性能的牺牲是较 大的。如,在具有拓扑结构的协议中,满足了网络对于低时延的要求,牺牲了数据交付率; 无拓扑结构的协议则正好相反。它们对于节点高速运动情况下自组织网络来说都是不合适 的。

发明内容
本发明的目的是为解决现有的移动自组织网络系统的多播路由方法在节点高速 运动情况下存在的问题,提出了一种移动自组织网络系统的多播路由方法。为了解决上述问题,本发明的技术方案是一种移动自组织网络系统的多播路由 方法,具体包括如下步骤S1.节点定期发出HELLO消息,包括本节点ID及位置信息,进行邻居节点探测及 更新,HELLO消息的最大中继跳数为1,即HELLO消息不能被转发,仅一跳可达的节点能收到 HELLO消息,收到HELLO消息的节点根据其包含的节点ID及位置信息建立和更新自身邻居 表;S2.源节点利用节点地理位置进行路由方位预测,由于节点仅知本节点及邻居节 点位置信息,因此在此基础上其他节点利用源节点所得的预测信息选定路由,源节点仅在 需要进行数据发送时进行目标节点位置探测过程;S3.源节点在得到多播组目标节点的位置信息后,在数据头部目标节点域中加入 目标节点ID及位置信息,发送DATA消息,DATA消息包含了需要传递的信息,中间节点根据其头部信息决定如何转发数据。上述步骤S2的具体过程如下S21.当源节点有数据需要发送时,向外广播RM消息;S22.若节点收到重复的RM消息,则丢弃;S23.若多播组成员节点收到非重复RM消息若RM消息不为空,处理RM消息;否 则,丢弃;若RM消息中包含本节点信息,则从RM消息中删除本节点信息,且发送一个RERM 信息;若此时RM消息不为空且其TTL不为0,则继续广播,否则丢弃;S24.若其他节点收到非重复RM消息,并且RM消息不为空且TTL不为0,则广播此 RM消息;否则,丢弃;S25.若节点收到非重复RERM消息,判断本节点是否此多播组的源节点若本节点 为源节点,则接收RERM消息中多播组成员节点信息;否则,计算本节点与源节点的距离1 ; 计算邻居节点与源节点距离Vj, j为正整数,表示邻居节点个数,若任意Vj小于1且其TTL 不为0,转发此RERM消息;否则,丢弃;如此,源节点可以收集到所有多播组成员信息。上述步骤S3的具体过程如下S31.源节点广播DATA信息;S32.当节点收到DATA信息,判断是否重复,若重复,则丢弃;否则,进行以下步 骤;S33.判断本节点ID是否存在于DATA信息的目标节点域,若存在,接收DATA中的 数据,在DATA信息目标节点域删除本节点信息;S34.若此DATA信息TTL大于0,且此时其目标节点域不为空,即还存在其它目标 节点信息,执行步骤S35-S38 ;否则,丢弃该DATA信息;S35.计算本节点与DATA目标域中节点i的距离(Ii以及上一跳节点与节点i的距 离Ii,其中i = 1,2,L,D-Size,D-size表示目标域中节点信息个数;S36.当Cli小于节点通信范围,但节点i不在本节点邻居表中时,生成DT信息等待 节点i与本节点相遇,即检测到节点i出现在本节点通信范围时发送;S37.当Cli > 1 i时,删除DATA消息目标域中节点i的信息;S38.执行步骤S35-S37,直至DATA信息目标节点域被遍历;S39.判断此时DATA信息的目标节点域是否为空,若不为空,则发送此信息;否则, 丢弃此信息。在上述方法中,为了减少数据丢失、提高数据交付率,引入了 DT队列,将暂时不能 交付和发送的DATA信息放入了 DT队列中,利用历史信息及队列中表项生存时间确定队列 中每个表项的优先级,具体过程如下S41.每次更新邻居表后,若队列中表项剩余生存时间为T,便将它的相遇次数η增 加1,并将邻居表更新次数N加1 ;S42.利用此参数和DT表项剩余生存时间t,计算队列优先级P,队列优先级P = n/N+k*t/T,k为权重系数。在确定队列表项优先级的基础上,对于DT队列的操作如下S51.当邻居节点更新时,检查更新项,若更新项匹配DT队列中某项,则将该项发 送至匹配邻居节点;
S52.更新队列表项剩余生存时间T ;S53.当表项超时,删除该项;S54.当队列溢出时,按照优先级从低到高删除表项;本发明的有益效果本发明针对具有高速移动及拓扑剧烈变化环境下的移动自组 织网络,提出了一种适应于高速移动环境的简单高效的多播路由方法,解决了现有的移动 自组织网络系统的多播路由方法在节点高速运动情况下存在的问题。与已有其他研究成 果相比,主要贡献在于以下几个方面1)提出了一种基于位置信息预测的数据传输导向机 制;2)将延迟容忍技术应用于网络。通过对多种多播组节点数目及不同的节点移动速度等 情况进行了详细的分析,用大量的模拟实验数据验证了在节点快速移动与拓扑快速变化环 境下本发明方法的良好性能,在满足网络对于低时延的要求的前提下,提高了网络数据传 输的使用效率和数据交付率。


图1是本发明方法的流程示意图。图2是本发明方法的DATA信息处理流程示意图。图3是本发明方法的节点层次划分示意图。图4是本发明方法的DT队列操作示意图。
具体实施例方式下面结合附图和具体实施例对本发明作进一步说明。本发明的一种移动自组织网络系统的多播路由方法,其流程示意图如图1所示, 具体展开如下Si.节点定期发出HELLO消息(包括本节点ID (Identity)及位置信息),进行邻 居节点探测及更新。HELLO消息的最大中继跳数为1,即HELLO消息不能被转发,仅一跳可 达的节点能收到HELLO消息。收到HELLO消息的节点根据其包含的节点ID及位置信息等 建立和更新自身邻居表。S2.源节点利用节点地理位置进行路由方位预测,由于节点仅知本节点及邻居节 点位置信息,因此在此基础上其他节点利用源节点所得的预测信息选定路由,源节点仅在 需要进行数据发送时进行目标节点位置探测过程。这里路由方位预测是通过目标节点位置 探测后得出的。S3.源节点在得到多播组目标节点的位置信息后,在数据头部目标节点域中加入 目标节点ID及位置信息,发送DATA消息(其中包含了需要传递的信息)。中间节点跟据其 头部信息决定如何转发数据。由于节点处于运动状态,当DATA信息发递交至目的节点时,目的节点的位置已经 与所探测到的位置相比发生了变化。因此,在数据传递过程中,若使用探测到的目的节点地 址作为路由指向则会发生误差,加大数据的传输时延,甚至发生数据丢失。因此,在发送数 据前,源节点需要依据得到的目的节点信息对目标节点的位置进行预测。由于无人机等移动自组织网络节点具有GPS等地理位置辅助系统,可以得知节点 自身当前准确的地理位置信息。因此,利用节点地理位置进行路由方位预测,又由于节点仅知本节点及邻居节点位置信息,因此在数据发送前需要进行目标节点位置探测。由于本方 法属于按需路由,源节点仅在需要进行数据发送时进行目标节点位置探测过程。具体如图 2所示,过程如下S21.当源节点有数据需要发送时,向外广播RM(Require Multicast,多播请求)消息。S21.当源节点有数据需要发送时,向外广播RM消息;S22.若节点收到重复的RM消息,则丢弃;S23.若多播组成员节点收到非重复RM消息若RM消息不为空,处理RM消息; 否则,丢弃;若RM消息中包含本节点信息,则从RM消息中删除本节点信息,且发送一个 RERM(Reply RM,多播请求应答)信息;若此时RM消息不为空且其TTL (Time to Live,剩余 中继跳数)不为0,则继续广播,否则丢弃;S24.若其他节点收到非重复RM消息,并且RM消息不为空且TTL不为0,则广播此 RM消息;否则,丢弃;S25.若节点收到非重复RERM消息,判断本节点是否此多播组的源节点若本节点 为源节点,则接收RERM消息中多播组成员节点信息;否则,计算本节点与源节点的距离1 ; 计算邻居节点与源节点距离Vj, j为正整数,表示邻居节点个数,若任意Vj小于1且其TTL 不为0,转发此RERM消息;否则,丢弃;如此,源节点可以收集到所有多播组成员信息。源节点在得到多播组目标节点的位置信息后,在数据头部目标节点域中加入目标 节点ID及位置信息,发送DATA消息(其中包含了需要传递的信息)。中间节点跟据其头部 信息决定如何转发数据,具体如图2所示,过程如下S31.源节点广播DATA信息;S32.当节点收到DATA信息,判断是否重复,若重复,则丢弃;否则,进行以下步 骤;S33.判断本节点ID是否存在于DATA信息的目标节点域,若存在,接收DATA中的 数据,从DATA信息目标节点域删除本节点信息;S34.若此DATA信息TTL大于0,且此时其目标节点域不为空,即还存在其它目标 节点信息,执行步骤S35-S38 ;否则,丢弃该DATA信息;S35.计算本节点与DATA目标域中节点i的距离(Ii以及上一跳节点与节点i的距 离Ii,其中i = 1,2,L,D-Size,D-size表示目标域中节点信息个数;S36.当屯小于节点通信范围R,但节点i不在本节点邻居表中时,生成DT(Delay Tolerant,延迟容忍)信息等待节点i与本节点相遇,即检测到节点i出现在本节点通信范 围时发送;S37.当Cli > 1 i时,删除DATA消息目标域中节点i的信息;S38.执行步骤S35-S37,直至DATA信息目标域所有节点被遍历;S39.判断此时DATA信息目标节点域是否为空。若不为空,则发送此信息;否则, 丢弃此信息。对源节点来说,将所有节点分为三个部分,如图3所示“c:::::V)表示1跳节点 域”,“ 表示2跳节点域”,“最外层代表多跳节点域”。最里层1跳节点域中的节点与源节点距离小于节点通信半径,2跳节点域中的节
Predict — time =
点与源节点距离在节点的1 2倍通信半径间,其余节点划分在多跳节点域。对源节点来 说1跳节点中域中的节点是直接可达的,而2跳节点域中的节点则至少需要两跳,以此类推 其余节点需要经过更多的中继次数才可达到,即数据从源节点到达这三部分节点所经过的 时间在理想状态下应该是递增的。因此,在选定节点位置的预测时间时,根据不同节点作适 当的选择,可以有效提高路由指向的准确度,减少数据时延。设time_Step是预测时间的单 位值,则本方法采取的方案如下
time step{dis < Sensor Range)
2*time step (Sensor Range <dis <2*Sensor Range) 3 * time step {dis > 2 * Sensor Range)每次在目标节点信息更新时,通过其现有位置信息确定其所属节点域。即,计算得 到目标节点与本节点的距离dis的值,通过将距离值dis与节点的通信半径Sensor_Range 相比较,利用公式得到相应的预测时间ft~ediCt_time的值。利用预测时间值ft~ediCt_time及现有位置信息,计算目标节点预测位置信息。在 产生DATA数据时,将预测位置信息放入数据头部用以路由。在本方法中,为了减少数据丢失、提高数据交付率,引入了 DT队列,将暂时不能交 付和发送的DATA信息放入了 DT队列中。即是DT队列中有若干DT表项,DT表项中存储DT 信息。但节点的缓存是有限的,即队列长度有限,因此一个良好的队列管理算法对于本方 法也十分重要,本方法利用历史信息及队列表项生存时间确定表项的优先级,具体过程如 下S41.每次更新邻居表后,若队列中表项剩余生存时间为T,便将它的相遇次数η增 加1,并将邻居表更新次数N加1。S42.利用此参数和DT表项剩余生存时间t,计算队列优先级P,队列优先级P = n/N+k*t/T,k为权重系数,这里为0. 6彡k彡1. 8。在确定队列表项优先级的基础上,对于DT队列的操作如图4所示,具体过程如 下S51.当邻居节点更新时,检查更新项,若更新项匹配DT队列中某项,则将该项发 送至匹配邻居节点;S52.更新队列表项剩余生存时间T ;S53.当表项超时,删除该项;S54.当队列溢出时,按照优先级从低到高删除表项。本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发 明的原理,应被理解为发明的保护范围并不局限于这样的特别陈述和实施例。凡是根据上 述描述做出各种可能的等同替换或改变,均被认为属于本发明的权利要求的保护范围。
权利要求
1.一种移动自组织网络系统的多播路由方法,具体包括如下步骤51.节点定期发出HELLO消息,包括本节点ID及位置信息,进行邻居节点探测及更新, HELLO消息的最大中继跳数为1,即HELLO消息不能被转发,仅一跳可达的节点能收到HELLO 消息,收到HELLO消息的节点根据其包含的节点ID及位置信息建立和更新自身邻居表;52.利用节点地理位置进行路由方位预测,由于节点仅知本节点及邻居节点位置信息, 在数据发送前需要进行目标节点位置探测;53.源节点在得到多播组目标节点的位置信息后,在数据头部目标节点域中加入目标 节点ID及位置信息,发送DATA消息,DATA消息包含了需要传递的信息,中间节点根据其头 部信息决定如何转发数据。
2.根据权利要求1所述的移动自组织网络系统的多播路由方法,其特征在于,所述步 骤S2的具体过程如下521.当源节点有数据需要发送时,向外广播RM消息;522.若节点收到重复的RM消息,则丢弃;523.若多播组成员节点收到非重复RM消息若RM消息不为空,处理RM消息;否则,丢 弃;若RM消息中包含本节点信息,则从RM消息中删除本节点信息,且发送一个RERM信息; 若此时RM消息不为空且其TTL不为0,则继续广播,否则丢弃;524.若其他节点收到非重复RM消息,并且RM消息不为空、TTL不为0,则广播此RM消 息;否则,丢弃;525.若节点收到非重复RERM消息,判断本节点是否此多播组的源节点若本节点为源 节点,则接收RERM消息中多播组成员节点信息;否则,计算本节点与源节点的距离1 ;计算 邻居节点与源节点距离Vj, j为正整数,表示邻居节点个数,若任意Vj小于1且其TTL不为 0,转发此RERM消息;否则,丢弃;如此,源节点可以收集到所有多播组成员信息。
3.根据权利要求1所述的移动自组织网络系统的多播路由方法,其特征在于,所述述 步骤S3的具体过程如下531.源节点广播DATA信息;532.当节点收到DATA信息,判断是否重复,若重复,则丢弃;否则,进行以下步骤;533.判断本节点ID是否存在于DATA信息的目标节点域,若存在,接收DATA中的数据, 在DATA信息目标节点域删除本节点信息;534.若此DATA信息TTL大于0,且此时其目标节点域不为空,即还存在其它目标节点 信息,执行步骤S35-S38 ;否则,丢弃该DATA信息;535.计算本节点与DATA目标域中节点i的距离Cli以及上一跳节点与节点i的距离 Ii,其中i = l,2,...D-size,D-size表示目标域中节点信息个数;536.当Cli小于节点通信范围,但节点i不在本节点邻居表中时,生成DT信息等待节点 i与本节点相遇,即检测到节点i出现在本节点通信范围时时发送;537.当Cli> Ii时,删除DATA消息目标域中节点i的信息;538.执行步骤S35-S37,直至DATA信息目标节点域被遍历;539.判断此时DATA信息的目标节点域是否为空,若不为空,则发送此信息;否则,丢弃 iftfn 息 ο
4.根据权利要求3所述的移动自组织网络系统的多播路由方法,其特征在于,将暂时不能交付和发送的所述DATA信息放入DT队列中,利用历史信息及队列表项生存时间确定 表项的优先级,具体过程如下/541.每次更新邻居表后,若队列中表项剩余生存时间为T,便将它的相遇次数η增加1, 并将邻居表更新次数NWl;/542.利用此参数和DT表项剩余生存时间t,计算队列优先级P,队列优先级P= n/ N+k*t/T,k为权重系数。
5.根据权利要求4所述的移动自组织网络系统的多播路由方法,其特征在于,对于所 述DT队列的具体操作过程如下/551.当邻居节点更新时,检查更新项,若更新项匹配DT队列中某项,则将该项发送至 匹配邻居节点;/552.更新队列表项剩余生存时间T;/553.当表项超时,删除该项;/554.当队列溢出时,按照优先级从低到高删除表项。
6.根据权利要求4所述的移动自组织网络系统的多播路由方法,其特征在于,所述k的 取值范围为0.6彡k彡1.8。
全文摘要
本发明公开了一种移动自组织网络系统的多播路由方法。本发明的方法是针对现有的多播路由方法不能满足节点高速运动情况下的自组织网络而提出的,包括节点定期发出HELLO消息,进行邻居节点探测及更新;源节点利用节点地理位置进行路由方位预测;源节点在得到多播组目标节点的位置信息后,在数据头部目标节点域中加入目标节点ID及位置信息,发送DATA消息,其他节点根据跟据其头部信息决定如何转发数据。本发明提出了一种基于位置信息预测的数据传输导向机制,并将延迟容忍技术应用于网络,在节点快速移动与拓扑快速变化环境下,使得本发明的方法在满足网络对于低时延的要求的前提下,提高了网络数据传输的使用效率和数据交付率。
文档编号H04W40/12GK102088666SQ201110052108
公开日2011年6月8日 申请日期2011年3月4日 优先权日2011年3月4日
发明者张伟, 张可, 朱秀莹, 李炜 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1