无线分布式网络中基于辅助链路的多播路由方法
【技术领域】:
[0001] 本发明属于通信技术领域,尤其设及一种多播路由方法,可用于无线自组织网络。 技术背景:
[0002] 无线自组织网络是一种复杂的分布式网络系统,由于其自组织、无需固定基础设 施、节点可移动W及良好的抗毁性等优点而在军事指挥、紧急救援等军用和民用领域得W 广泛应用。多播作为一种一点对多点或多点对多点的通信方式,具有较高的分组发送和传 播效率。由于无线自组织网络的应用场合常常要求支持多播业务,因此对无线自组织网络 的多播路由协议进行研究显得尤为重要。近年来,国内外已经提出了一系列的无线自组织 网络多播路由协议,比如基于树的组播路由协议包括组播自组网按需距离矢量路由协议 MODV,使用递增标号的组播路由协议AMRIS,基于网格的按需组播路由协议孤MRP,无状态 型的差异目标组播路由协议孤M。
[0003] 在W上该些路由协议中,基于树形拓扑的MAODV和AMRIS结构简单并能确保路由 无环路,但树形链路的限制使得网络转发效率低下;基于网格的ODMRP结构灵活且提供冗 余链路作为备用,但是维护开销较大;孤M协议支持无状态模式,使得数据转发路径中的节 点不需要维护组播转发状态,该协议一般用于小规模自组织网络,当节点数量过多时,会产 生效率的降低。
【发明内容】
:
[0004] 本发明的目的在于针对上述已有技术的不足,提供一种无线分布式网络中基于辅 助链路的组播路由方法,W提高多播数据在多播树内部传输的效率,并减少遍历所有组成 员所需要的转发次数。
[0005] 为实现上述目的,本发明的技术方案包括如下步骤:
[0006] (1)建立跳数为H〉=1的辅助链路:
[0007] (la)多播树上除组长节点外的每个节点广播发送生存时间TTL=H的hello报 文,该报文携带源节点拓扑地址T,用来表示本节点在多播树中的拓扑位置,其中T由多播 地址M和节点序列L共同构成,节点序列L包括上游节点序列Lu和本节点号N,即;T=M+L =M+Lu+d+N,其中字母d表示节点号N之前插入的间隔信息,根据拓扑地址T中字母d的个 数能够直接计算出节点的网络深度D;
[000引 仙)当一个节点收到hello报文时,首先判断报文是否重复,若是,则丢弃,否则, 提取报文携带的生存时间ITL和多播M并判断:若TTL= 1且该节点属于M,则执行步骤 (Ic);若TTL〉1且该节点不属于M,则从TTL中减一,并在建立反向路径之后继续广播转发; 否则,丢弃报文;
[0009] (Ic)提取hello报文携带的源节点拓扑地址T,统计T与本节点拓扑地址TO二者 之间重合部分中字母d出现的次数,即共同祖先节点的网络深度DO;分别统计T与TO中字 母d出现的次数,得到源节点网络深度D1和收到hello报文节点网络深度D2,并进行如下 判断:
[0010] 若满足(D1 -DO) +值2-DO) < =H,则丢弃报文,否则,本节点执行(Id);
[0011] (Id)收到hello报文的节点向hello报文的源节点发送一个多播探测报文,设探 测报文的生存时间ITL=H,并通过监测在一段时间内能否收到hello报文源节点的回复来 判断拓扑中是否存在跳数小于H的路径:若能够收到回复,说明存在跳数小于H的路径,贝U 丢弃hello报文;否则,沿反向路径建立辅助链路,即沿反向路径向hello报文的源节点发 送build报文;
[0012] (le)当一个节点收到build报文时,首先判断是否存在build报文重复或者本节 点非反向路径的下一跳接收节点的情况;若是则丢弃报文,否则,将build报文中携带的发 送节点Send添加进本地多播路由表相应表项的接收节点集合Receive中,W刷新多播路由 表,并进行如下判断;若收到build报文的节点不是build报文的目的节点,则继续沿反向 路径转发build报文,否则停止转发;
[0013] (2)在某节点收到多播报文之后,提取多播报文所携带的目标多播M,并在刷新后 的本地多播路由表中查找有无其对应表项;若无对应表项,则表示该节点既不属于多播M, 也不是多播M的辅助节点,丢弃该报文;若有对应表项,则进一步判断报文是否重复;若重 复,则丢弃该报文,否则,通过查询刷新后的多播路由表,得到多播M表项中的接收节点集 合Receive ;
[0014] (3)提取多播报文所携带发送地址Send,并在本地邻节点表中查找其对应表项, 得到覆盖节点集合Cover ;
[0015] (4)根据覆盖节点集合Cover,发送地址Send和接收节点集合Receive之间的关 系进行判断;若Receive - Send - CovernReceive!=Null,n代表求交集运算,!=代 表不等于关系,Null代表空集,即Receive中除了发送地址Send和Cover中已包含的属于 Receive的节点之外还存在其他节点,则表示一跳范围内仍存在需要接收报文的节点,故将 报头中发送地址Send替换为本节点地址并转发;反之,则表示周围所有需要接收报文的节 点已被覆盖,停止转发。
[0016] 本发明由于充分利用了无线信道的广播特性,使用邻节点和多播拓扑树外部节点 搭建辅助链路,使得多播报文突破了多播树链路的限制,可同时沿原有链路和辅助链路进 行多播报文转发;同时由于本发明使用了辅助链路,因而减小了多播报文的转发次数和转 发跳数,进而提高了多播报文覆盖所有组成员的效率。
【附图说明】
[0017] 图1是本发明的实现流程图;
[001引图2是本发明中处理hello报文的流程图。
【具体实施方式】
[0019] 下面结合附图对做进一步详细说明。
[0020] 本发明的实施是在假设多播共享树的已经采用M0DV协议构建好的场景下,多播 共享树中的节点包括=种类型:组长节点,组成员节点和中转节点;另外,本发明特别应用 了多播共享树的外部节点作为辅助节点,该些辅助节点只用于多播报文的转发。
[0021] 本发明使用的多播路由表结构如表1:
[00。] 表1多播路由表
[0023]
【主权项】
1. 一种无线分布式网络中基于辅助链路的多播路由方法,其特征在于:包括如下步 骤: (1) 建立跳数为H(H> = 1)的辅助链路: (la) 多播树上除组长节点外的每个节点广播发送生存时间TTL=H的hello报文, 该报文携带源节点拓扑地址T,用来表示本节点在多播树中的拓扑位置,其中T由多播地址 M和节点序列L共同构成,节点序列L包括上游节点序列Lu和本节点号N,即:T=M+L= M+Lu+d+N,其中字母d表示节点号N之前插入的间隔信息,根据拓扑地址T中字母d的个数 能够直接计算出节点的网络深度D; (lb) 当一个节点收到hello报文时,首先判断报文是否重复,若是,则丢弃,否则,提取 报文携带的生存时间TTL和多播M并判断:若TTL= 1且该节点属于M,则执行步骤(Ic); 若TTL>1且该节点不属于M,则从TTL中减一,并在建立反向路径之后继续广播转发;否则, 丢弃报文; (lc) 提取hello报文携带的源节点拓扑地址T,统计T与本节点拓扑地址TO二者之 间重合部分中字母d出现的次数,即共同祖先节点的网络深度DO;分别统计T与TO中字母 d出现的次数,得到源节点网络深度Dl和收到hello报文节点网络深度D2,并进行如下判 断: 若满足(D1 -D0) + (D2-D0)〈 =H,则丢弃报文,否则,本节点执行(Id); (ld) 收到hello报文的节点向hello报文的源节点发送一个多播探测报文,设探测报 文的生存时间TTL=H,并通过监测在一段时间内能否收到hello报文源节点的回复来判 断拓扑中是否存在跳数小于H的路径:若能够收到回复,说明存在跳数小于H的路径,则丢 弃hello报文;否则,沿反向路径建立辅助链路,即沿反向路径向hello报文的源节点发送 build报文;对于跳数H= 1的情况,则直接回复build报文,略去发送探测报文的步骤; (le) 当一个节点收到build报文时,首先判断是否存在build报文重复或者本节点非 反向路径的下一跳接收节点的情况:若是则丢弃报文,否则,将build报文中携带的发送节 点Send添加进本地多播路由表相应表项的接收节点集合Receive中,以刷新多播路由表, 并进行如下判断:若收到buiId报文的节点不是buiId报文的目的节点,则继续沿反向路径 转发build报文,否则停止转发; (2) 在某节点收到多播报文之后,提取多播报文所携带的目标多播M,并在刷新后的本 地多播路由表中查找有无其对应表项:若无对应表项,则表示该节点既不属于多播M,也不 是多播M的辅助节点,丢弃该报文;若有对应表项,则进一步判断报文是否重复:若重复, 则丢弃该报文,否则,通过查询刷新后的多播路由表,得到多播M表项中的接收节点集合 Receive; (3) 提取多播报文所携带发送地址Send,并在本地邻节点表中查找其对应表项,得到 覆盖节点集合Cover; (4)根据覆盖节点集合Cover,发送地址Send和接收节点集合Receive之间的关系进 行判断:若Receive-Send-CoverPlReceive!=Null,Pl代表求交集运算,!=代表 不等于关系,Null代表空集,即Receive中除了发送地址Send和Cover中已包含的属于 Receive的节点之外还存在其他节点,则表示一跳范围内仍存在需要接收报文的节点,故将 报头中发送地址Send替换为本节点地址并转发;反之,则表示周围所有需要接收报文的节 点已被覆盖,停止转发。
【专利摘要】本发明公开了一种无线分布式网络中基于辅助链路的多播路由方法,主要解决现有基于树形拓扑的无线多播路由协议数据传输效率低的问题。其实现步骤是:首先利用邻节点和多播树外部节点构建辅助链路,并刷新多播路由表;然后在收到多播报文时查找多播路由表和邻节点表,判断是否符合转发条件;最后利用原有链路和辅助链路同时进行多播报文转发。本发明能够减小多播报文的转发次数和转发跳数,进而提高了多播报文覆盖所有组成员的效率,可用于无线自组织网络。
【IPC分类】H04W40-02
【公开号】CN104703243
【申请号】CN201510112308
【发明人】史琰, 盛敏, 孙大江, 张琰, 程冬水, 张强, 刘渊
【申请人】西安电子科技大学
【公开日】2015年6月10日
【申请日】2015年3月14日