CN104703243B - 无线分布式网络中基于辅助链路的多播路由方法 - Google Patents
无线分布式网络中基于辅助链路的多播路由方法 Download PDFInfo
- Publication number
- CN104703243B CN104703243B CN201510112308.XA CN201510112308A CN104703243B CN 104703243 B CN104703243 B CN 104703243B CN 201510112308 A CN201510112308 A CN 201510112308A CN 104703243 B CN104703243 B CN 104703243B
- Authority
- CN
- China
- Prior art keywords
- node
- multicast
- message
- address
- hello packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/20—Support for services
- H04L49/201—Multicast operation; Broadcast operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
- H04L45/026—Details of "hello" or keep-alive messages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/248—Connectivity information update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种无线分布式网络中基于辅助链路的多播路由方法,主要解决现有基于树形拓扑的无线多播路由协议数据传输效率低的问题。其实现步骤是:首先利用邻节点和多播树外部节点构建辅助链路,并刷新多播路由表;然后在收到多播报文时查找多播路由表和邻节点表,判断是否符合转发条件;最后利用原有链路和辅助链路同时进行多播报文转发。本发明能够减小多播报文的转发次数和转发跳数,进而提高了多播报文覆盖所有组成员的效率,可用于无线自组织网络。
Description
技术领域:
本发明属于通信技术领域,尤其涉及一种多播路由方法,可用于无线自组织网络。
技术背景:
无线自组织网络是一种复杂的分布式网络系统,由于其自组织、无需固定基础设施、节点可移动以及良好的抗毁性等优点而在军事指挥、紧急救援等军用和民用领域得以广泛应用。多播作为一种一点对多点或多点对多点的通信方式,具有较高的分组发送和传播效率。由于无线自组织网络的应用场合常常要求支持多播业务,因此对无线自组织网络的多播路由协议进行研究显得尤为重要。近年来,国内外已经提出了一系列的无线自组织网络多播路由协议,比如基于树的组播路由协议包括组播自组网按需距离矢量路由协议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报文结构
Type | H | TTL | 序号 | 源地址 | 发送地址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.2)多播树上除组长节点外的每个节点广播发送生存时间TTL=H的hello报文;
(1.3)处理hello报文;
参照图2,本步骤实现如下:
(1.3a)当一个节点收到hello报文时,首先判断报文是否重复,若是,则丢弃,否则,提取报文携带的生存时间TTL和多播M并判断:若TTL=1且该节点属于M,则执行步骤(1.3b);若TTL>1且该节点不属于M,则从TTL中减一,并在建立反向路径之后继续广播转发;否则,丢弃报文;
(1.3b)提取hello报文携带的源节点拓扑地址T,统计T与本节点拓扑地址T0二者之间重合部分中字母d出现的次数,即共同祖先节点的网络深度D0;分别统计T与T0中字母d出现的次数,得到源节点网络深度D1和收到hello报文节点网络深度D2,并进行如下判断:若满足(D1–D0)+(D2-D0)<=H,则丢弃报文,否则,本节点执行(1.3c);
(1.3c)收到hello报文的节点向hello报文的源节点发送一个多播探测报文,设探测报文的生存时间TTL=H,并通过监测在一段时间内能否收到hello报文源节点的回复来判断拓扑中是否存在跳数小于H的路径:若能够收到回复,说明存在跳数小于H的路径,则丢弃hello报文;否则,执行步骤(1.3d);
(1.3d)设计build报文结构如表3:
表3 build报文结构
Type | 序号 | 源地址 | 目的地址 | 发送地址Send | 接收地址 | 多播M |
(1.3e)沿反向路径建立辅助链路,即沿反向路径向hello报文的源节点发送build报文;
(1.4)当一个节点收到build报文时,首先判断是否存在build报文重复或者本节点非反向路径的下一跳接收节点的情况:若是,则丢弃报文,否则,将build报文中携带的发送节点Send添加进本地多播路由表相应表项的接收节点集合Receive中,以刷新多播路由表,并进行如下判断:若收到build报文的节点不是build报文的目的节点,则继续沿反向路径转发build报文,否则停止转发。
步骤2,接收多播报文,判断是否从多播路由表中提取接收节点集合Receive。
(2.1)在某节点收到多播报文之后,提取多播报文所携带的目标多播M,并在刷新后的本地多播路由表中查找有无其对应表项:若无对应表项,则表示该节点既不属于多播M,也不是多播M的辅助节点,丢弃该报文;否则,执行步骤(2.2);
(2.2)判断报文是否重复:若重复,则丢弃该报文,否则,通过查询刷新后的多播路由表,得到多播M表项中的接收节点集合Receive。
步骤3,判断是否继续转发多播报文。
(3.1)提取多播报文所携带发送地址Send,并在本地邻节点表中查找其对应表项,得到覆盖节点集合Cover;
(3.2)根据覆盖节点集合Cover,发送地址Send和接收节点集合Receive之间的关系进行判断:若Receive–Send–Cover∩Receive!=Null,即Receive中除了发送地址Send和Cover中已包含的属于Receive的节点之外还存在其他节点,则表示一跳范围内仍存在需要接收报文的节点,故将报头中发送地址Send替换为本节点地址并转发,其中∩代表求交集运算,!=代表不等于关系,Null代表空集;反之,则表示周围所有需要接收报文的节点已被覆盖,停止转发。
Claims (1)
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报文;否则,沿反向路径建立辅助链路,即沿反向路径向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替换为本节点地址并转发;反之,则表示周围所有需要接收报文的节点已被覆盖,停止转发。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510112308.XA CN104703243B (zh) | 2015-03-14 | 2015-03-14 | 无线分布式网络中基于辅助链路的多播路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510112308.XA CN104703243B (zh) | 2015-03-14 | 2015-03-14 | 无线分布式网络中基于辅助链路的多播路由方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104703243A CN104703243A (zh) | 2015-06-10 |
CN104703243B true CN104703243B (zh) | 2018-05-04 |
Family
ID=53349917
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510112308.XA Active CN104703243B (zh) | 2015-03-14 | 2015-03-14 | 无线分布式网络中基于辅助链路的多播路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104703243B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113824720B (zh) * | 2021-09-18 | 2023-07-18 | 恒安嘉新(北京)科技股份公司 | 报文处理方法、装置、设备及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103703727A (zh) * | 2011-07-29 | 2014-04-02 | 瑞典爱立信有限公司 | 用于分体式架构系统中控制业务的弹性路由的方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130272711A1 (en) * | 2012-04-13 | 2013-10-17 | Nec Laboratories America, Inc. | Light-Tree Provisioning for Multicast Traffic in Flexible Optical WDM Networks |
-
2015
- 2015-03-14 CN CN201510112308.XA patent/CN104703243B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103703727A (zh) * | 2011-07-29 | 2014-04-02 | 瑞典爱立信有限公司 | 用于分体式架构系统中控制业务的弹性路由的方法和设备 |
Non-Patent Citations (2)
Title |
---|
Optimal sub-graph selection over coded networks with delay and limited-size buffering;H.Ghasvari,等;《IEEE Xplore Library》;20110801;全文 * |
移动Ad Hoc中基于位置辅助的链路稳定性预测算法;许炳昆,等;《计算机测量与控制》;20150225;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN104703243A (zh) | 2015-06-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sarafijanovic-Djukic et al. | Island hopping: Efficient mobility-assisted forwarding in partitioned networks | |
CN100591029C (zh) | 一种基于分区树的多跳无线自组织网络构建方法 | |
CN106131919B (zh) | 一种无中心自组织网络拓扑的同步方法 | |
CN102148756A (zh) | 一种基于6LoWPAN邻居发现的树状路由方法 | |
Wang et al. | PSR: Proactive source routing in mobile ad hoc networks | |
CN105763443A (zh) | 混合无线网状协议hwmp双路由协作方法 | |
CN107846706A (zh) | 一种拥塞避免的编码感知无线mesh网络多路径路由方法 | |
CN104469874B (zh) | 一种基于概率中心度的机会网络的消息转发方法 | |
CN104703243B (zh) | 无线分布式网络中基于辅助链路的多播路由方法 | |
CN109803342A (zh) | 一种面向能量均衡高可靠传输的无人机自组织网络路由方法 | |
CN103037436A (zh) | 一种基于HWMP的网络编码感知无线Mesh路由协议 | |
Mehfuz et al. | Energy aware probabilistic broadcasting for Mobile adhoc network | |
CN104320825A (zh) | 一种基于重复博弈的Ad hoc网络路由选择方法 | |
Yu et al. | Improved hierarchical routing over 6LoWPAN | |
Feng et al. | RBMulticast: Receiver based multicast for wireless sensor networks | |
CN104301963B (zh) | 一种基于ZigBee无线网洪泛路由算法改进优化的方法 | |
EP2482589A3 (en) | Method and system for flooding and multicast routing in an AD-HOC network | |
CN103685038A (zh) | 一种在无线自组织网中基于节点相对运动速度和节点密集程度的广播路由选择方法 | |
Bae et al. | Cross-layer QoS architecture with multipath routing in wireless multimedia sensor networks | |
Das | Multicast routing protocols in MANETS | |
Finke | SEREMA: Self-organized routing in heterogeneous mobile ad hoc networks | |
Dinesh et al. | Ultimate Video Spreading With Qos over Wireless Network Using Selective Repeat Algorithm | |
Cai et al. | An ad hoc multicast protocol based on passive data acknowledgement | |
Lakshmi et al. | Energy aware multicast opportunistic routing protocol (Eamor) to optimize lifetime of MANET | |
Wadhwani et al. | A Survey of multicast routing protocols in MANET |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |