无线分布式网络中基于辅助链路的多播路由方法技术

技术编号:11589833 阅读:119 留言:0更新日期:2015-06-10 22:39
本发明专利技术公开了一种无线分布式网络中基于辅助链路的多播路由方法,主要解决现有基于树形拓扑的无线多播路由协议数据传输效率低的问题。其实现步骤是:首先利用邻节点和多播树外部节点构建辅助链路,并刷新多播路由表;然后在收到多播报文时查找多播路由表和邻节点表,判断是否符合转发条件;最后利用原有链路和辅助链路同时进行多播报文转发。本发明专利技术能够减小多播报文的转发次数和转发跳数,进而提高了多播报文覆盖所有组成员的效率,可用于无线自组织网络。

【技术实现步骤摘要】

:本专利技术属于通信
,尤其涉及一种多播路由方法,可用于无线自组织网络。技术背景:无线自组织网络是一种复杂的分布式网络系统,由于其自组织、无需固定基础设施、节点可移动以及良好的抗毁性等优点而在军事指挥、紧急救援等军用和民用领域得以广泛应用。多播作为一种一点对多点或多点对多点的通信方式,具有较高的分组发送和传播效率。由于无线自组织网络的应用场合常常要求支持多播业务,因此对无线自组织网络的多播路由协议进行研究显得尤为重要。近年来,国内外已经提出了一系列的无线自组织网络多播路由协议,比如基于树的组播路由协议包括组播自组网按需距离矢量路由协议MAODV,使用递增标号的组播路由协议AMRIS,基于网格的按需组播路由协议ODMRP,无状态型的差异目标组播路由协议DDM。在以上这些路由协议中,基于树形拓扑的MAODV和AMRIS结构简单并能确保路由无环路,但树形链路的限制使得网络转发效率低下;基于网格的ODMRP结构灵活且提供冗余链路作为备用,但是维护开销较大;DDM协议支持无状态模式,使得数据转发路径中的节点不需要维护组播转发状态,该协议一般用于小规模自组织网络,当节点数量过多时,会产生效率的降低。
技术实现思路
:本专利技术的目的在于针对上述已有技术的不足,提供一种无线分布式网络中基于辅助链路的组播路由方法,以提高多播数据在多播树内部传输的效率,并减少遍历所有组成员所需要的转发次数。为实现上述目的,本专利技术的技术方案包括如下步骤:(1)建立跳数为H>=1的辅助链路:(1a)多播树上除组长节点外的每个节点广播发送生存时间TTL=H的hello报文,该报文携带源节点拓扑地址T,用来表示本节点在多播树中的拓扑位置,其中T由多播地址M和节点序列L共同构成,节点序列L包括上游节点序列Lu和本节点号N,即:T=M+L=M+Lu+d+N,其中字母d表示节点号N之前插入的间隔信息,根据拓扑地址T中字母d的个数能够直接计算出节点的网络深度D;(1b)当一个节点收到hello报文时,首先判断报文是否重复,若是,则丢弃,否则,提取报文携带的生存时间TTL和多播M并判断:若TTL=1且该节点属于M,则执行步骤(1c);若TTL>1且该节点不属于M,则从TTL中减一,并在建立反向路径之后继续广播转发;否则,丢弃报文;(1c)提取hello报文携带的源节点拓扑地址T,统计T与本节点拓扑地址T0二者之间重合部分中字母d出现的次数,即共同祖先节点的网络深度D0;分别统计T与T0中字母d出现的次数,得到源节点网络深度D1和收到hello报文节点网络深度D2,并进行如下判断:若满足(D1–D0)+(D2-D0)<=H,则丢弃报文,否则,本节点执行(1d);(1d)收到hello报文的节点向hello报文的源节点发送一个多播探测报文,设探测报文的生存时间TTL=H,并通过监测在一段时间内能否收到hello报文源节点的回复来判断拓扑中是否存在跳数小于H的路径:若能够收到回复,说明存在跳数小于H的路径,则丢弃hello报文;否则,沿反向路径建立辅助链路,即沿反向路径向hello报文的源节点发送build报文;(1e)当一个节点收到build报文时,首先判断是否存在build报文重复或者本节点非反向路径的下一跳接收节点的情况:若是则丢弃报文,否则,将build报文中携带的发送节点Send添加进本地多播路由表相应表项的接收节点集合Receive中,以刷新多播路由表,并进行如下判断:若收到build报文的节点不是build报文的目的节点,则继续沿反向路径转发build报文,否则停止转发;(2)在某节点收到多播报文之后,提取多播报文所携带的目标多播M,并在刷新后的本地多播路由表中查找有无其对应表项:若无对应表项,则表示该节点既不属于多播M,也不是多播M的辅助节点,丢弃该报文;若有对应表项,则进一步判断报文是否重复:若重复,则丢弃该报文,否则,通过查询刷新后的多播路由表,得到多播M表项中的接收节点集合Receive;(3)提取多播报文所携带发送地址Send,并在本地邻节点表中查找其对应表项,得到覆盖节点集合Cover;(4)根据覆盖节点集合Cover,发送地址Send和接收节点集合Receive之间的关系进行判断:若Receive–Send–Cover∩Receive!=Null,∩代表求交集运算,!=代表不等于关系,Null代表空集,即Receive中除了发送地址Send和Cover中已包含的属于Receive的节点之外还存在其他节点,则表示一跳范围内仍存在需要接收报文的节点,故将报头中发送地址Send替换为本节点地址并转发;反之,则表示周围所有需要接收报文的节点已被覆盖,停止转发。本专利技术由于充分利用了无线信道的广播特性,使用邻节点和多播拓扑树外部节点搭建辅助链路,使得多播报文突破了多播树链路的限制,可同时沿原有链路和辅助链路进行多播报文转发;同时由于本专利技术使用了辅助链路,因而减小了多播报文的转发次数和转发跳数,进而提高了多播报文覆盖所有组成员的效率。附图说明图1是本专利技术的实现流程图;图2是本专利技术中处理hello报文的流程图。具体实施方式下面结合附图对做进一步详细说明。本专利技术的实施是在假设多播共享树的已经采用MAODV协议构建好的场景下,多播共享树中的节点包括三种类型:组长节点,组成员节点和中转节点;另外,本专利技术特别应用了多播共享树的外部节点作为辅助节点,这些辅助节点只用于多播报文的转发。本专利技术使用的多播路由表结构如表1:表1 多播路由表其中,M1代表节点所属的多播,M2代表节点作为辅助节点能过转发的多播,Null代表该部分内容为空。参照图1,本专利技术的实现步骤如下:步骤1,建立跳数为H>=1的辅助链路。(1.1)设计hello报文结构如表2:表2 hello报文结构TypeHTTL序号源地址发送地址Send多播M拓扑地址T其中,Type为报文类型,H为该hello报文要建立的辅助链路的跳数,TTL为生存时间,拓扑地址T用来表示本节点在多播树中的拓扑位置,T由多播地址M和节点序列L共同构成,节点序列L包括上游节点序列Lu和本节点号N,即:T=M+L=M+Lu+d+N,其中字母d表示节点号N之前插入的间隔信息,根据拓扑地址T中字母d的个数能够直接计算出节点的网络深度D;(1.本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/62/CN104703243.html" title="无线分布式网络中基于辅助链路的多播路由方法原文来自X技术">无线分布式网络中基于辅助链路的多播路由方法</a>

【技术保护点】
一种无线分布式网络中基于辅助链路的多播路由方法,其特征在于:包括如下步骤:(1)建立跳数为H(H>=1)的辅助链路:(1a)多播树上除组长节点外的每个节点广播发送生存时间TTL=H的hello报文,该报文携带源节点拓扑地址T,用来表示本节点在多播树中的拓扑位置,其中T由多播地址M和节点序列L共同构成,节点序列L包括上游节点序列Lu和本节点号N,即:T=M+L=M+Lu+d+N,其中字母d表示节点号N之前插入的间隔信息,根据拓扑地址T中字母d的个数能够直接计算出节点的网络深度D;(1b)当一个节点收到hello报文时,首先判断报文是否重复,若是,则丢弃,否则,提取报文携带的生存时间TTL和多播M并判断:若TTL=1且该节点属于M,则执行步骤(1c);若TTL>1且该节点不属于M,则从TTL中减一,并在建立反向路径之后继续广播转发;否则,丢弃报文;(1c)提取hello报文携带的源节点拓扑地址T,统计T与本节点拓扑地址T0二者之间重合部分中字母d出现的次数,即共同祖先节点的网络深度D0;分别统计T与T0中字母d出现的次数,得到源节点网络深度D1和收到hello报文节点网络深度D2,并进行如下判断:若满足(D1–D0)+(D2‑D0)<=H,则丢弃报文,否则,本节点执行(1d);(1d)收到hello报文的节点向hello报文的源节点发送一个多播探测报文,设探测报文的生存时间TTL=H,并通过监测在一段时间内能否收到hello报文源节点的回复来判断拓扑中是否存在跳数小于H的路径:若能够收到回复,说明存在跳数小于H的路径,则丢弃hello报文;否则,沿反向路径建立辅助链路,即沿反向路径向hello报文的源节点发送build报文;对于跳数H=1的情况,则直接回复build报文,略去发送探测报文的步骤;(1e)当一个节点收到build报文时,首先判断是否存在build报文重复或者本节点非反向路径的下一跳接收节点的情况:若是则丢弃报文,否则,将build报文中携带的发送节点Send添加进本地多播路由表相应表项的接收节点集合Receive中,以刷新多播路由表,并进行如下判断:若收到build报文的节点不是build报文的目的节点,则继续沿反向路径转发build报文,否则停止转发;(2)在某节点收到多播报文之后,提取多播报文所携带的目标多播M,并在刷新后的本地多播路由表中查找有无其对应表项:若无对应表项,则表示该节点既不属于多播M,也不是多播M的辅助节点,丢弃该报文;若有对应表项,则进一步判断报文是否重复:若重复,则丢弃该报文,否则,通过查询刷新后的多播路由表,得到多播M表项中的接收节点集合Receive;(3)提取多播报文所携带发送地址Send,并在本地邻节点表中查找其对应表项,得到覆盖节点集合Cover;(4)根据覆盖节点集合Cover,发送地址Send和接收节点集合Receive之间的关系进行判断:若Receive–Send–Cover∩Receive!=Null,∩代表求交集运算,!=代表不等于关系,Null代表空集,即Receive中除了发送地址Send和Cover中已包含的属于Receive的节点之外还存在其他节点,则表示一跳范围内仍存在需要接收报文的节点,故将报头中发送地址Send替换为本节点地址并转发;反之,则表示周围所有需要接收报文的节点已被覆盖,停止转发。...

【技术特征摘要】
1.一种无线分布式网络中基于辅助链路的多播路由方法,其特征在于:包括如下步骤:
(1)建立跳数为H(H>=1)的辅助链路:
(1a)多播树上除组长节点外的每个节点广播发送生存时间TTL=H的hello报文,该
报文携带源节点拓扑地址T,用来表示本节点在多播树中的拓扑位置,其中T由多播地址M
和节点序列L共同构成,节点序列L包括上游节点序列Lu和本节点号N,即:T=M+L=
M+Lu+d+N,其中字母d表示节点号N之前插入的间隔信息,根据拓扑地址T中字母d
的个数能够直接计算出节点的网络深度D;
(1b)当一个节点收到hello报文时,首先判断报文是否重复,若是,则丢弃,否则,提
取报文携带的生存时间TTL和多播M并判断:若TTL=1且该节点属于M,则执行步骤(1c);
若TTL>1且该节点不属于M,则从TTL中减一,并在建立反向路径之后继续广播转发;否
则,丢弃报文;
(1c)提取hello报文携带的源节点拓扑地址T,统计T与本节点拓扑地址T0二者之间
重合部分中字母d出现的次数,即共同祖先节点的网络深度D0;分别统计T与T0中字母d
出现的次数,得到源节点网络深度D1和收到hello报文节点网络深度D2,并进行如下判断:
若满足(D1–D0)+(D2-D0)<=H,则丢弃报文,否则,本节点执行(1d);
(1d)收到hello报文的节点向hello报文的源节点发送一个多播探测报文,设探测报文
的生存时间TTL=H,并通过监测在一段时间内能否收到hello报文源节点的回复来判断拓
扑中是否存在跳数小于H的路径:若能够收到回复,说明存在跳数小于H的路径,则丢弃
hello报文;否则,沿反向路径建立辅助链路,即沿反向路径向he...

【专利技术属性】
技术研发人员:史琰盛敏孙大江张琰程冬水张强刘渊
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1