CN101489276B - 一种移动Ad Hoc网络多播路由方法 - Google Patents

一种移动Ad Hoc网络多播路由方法 Download PDF

Info

Publication number
CN101489276B
CN101489276B CN2009100765322A CN200910076532A CN101489276B CN 101489276 B CN101489276 B CN 101489276B CN 2009100765322 A CN2009100765322 A CN 2009100765322A CN 200910076532 A CN200910076532 A CN 200910076532A CN 101489276 B CN101489276 B CN 101489276B
Authority
CN
China
Prior art keywords
multicast
node
group
group leader
message
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.)
Expired - Fee Related
Application number
CN2009100765322A
Other languages
English (en)
Other versions
CN101489276A (zh
Inventor
李旭
袁凯
惠博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Jiaotong University
Original Assignee
Beijing Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Jiaotong University filed Critical Beijing Jiaotong University
Priority to CN2009100765322A priority Critical patent/CN101489276B/zh
Publication of CN101489276A publication Critical patent/CN101489276A/zh
Application granted granted Critical
Publication of CN101489276B publication Critical patent/CN101489276B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及一种移动AdHoc网络多播路由方法,包括多播路由的消息广播、多播路由的建立、多播路由的应用、多播路由的修复、多播路由的合并与销毁。在多播组内,通过多播组长实时维护多播共享树,场景内节点通过Group Hello消息定期更新路由表。一个节点想要加入多播组,则在广播消息中选择到多播组长的最短路径发送加入请求;节点加入多播组之后,在多播组内最短路径上发送、转发和接收消息。本发明的移动Ad Hoc网络多播路由方法易于实现,能减少多播建立时的消息发送,减少了多播路径维护的消息,同时增加了数据包发送的准确性。

Description

一种移动Ad Hoc网络多播路由方法 
技术领域
本发明涉及一种移动Ad Hoc网络多播路由方法(MAODV-MM路由方法),属于无线通信领域。 
背景技术
MAODV-MM路由方法的主要目的是为实现移动Ad Hoc网络产品提供一个易于实现的多播路由算法方案,因此路由算法的改进是在基于已有的物理层和MAC层基本架构的基础上提出的,与现有的一些通过更改物理层和MAC层具体参数来实现的高性能路由算法设计思路有所不同,它需要更多地考虑路由算法的复杂度,优化网络层的分组投递率和网络能耗等性能。 
基于网的多播路由协议通过一个共享网络传输数据包,共享网络上包含多播内从发送节点到接收节点的所有路径。由于网格多播路由协议每个发送节点到每个多播接收节点有多条路径,因此某条传输路径的断开对多播传输产生的影响不大。但是为了维护共享网格,网格多播路由协议需要发送大量的冗余信息来维护网络的稳定性。因此,当多播节点数目过多,传输负载很大时,大量的冗余信息和数据包副本会造成网络资源消耗过大。此外,无线自组网采用ALOHA信道,当自组网内分组数据包过多时,容易使一些需要发送的分组包丢失,大大降低了网络的分组投递率。 
MAODV多播协议是一种按需的多播树路由协议,传输路径比较短,存储的路由参数较少,并且以单播AODV协议为基础,易于在原有的单播路由基础上进行改进。综合考虑现有硬件的一些性能,为更好地实现路由方案,选用了以MAODV协议为基础进行多播路由协议的改进。 
MAODV通过链路层通告机制和节点向邻居节点周期性地广播HELLO消息这两种机制来检测链路的有效性。节点一旦发现链路断开,就向信源发送 RERR消息,如果网络结构过大,就会造成路由的维护信息过多,导致网络拥塞。在大规模动态变化的网络中,这种机制会极大地损害网络的性能。在MAODV多播路由协议建立多播树时,如果网络中一个节点想要加入多播组,就要洪泛地随机发送JOIN RREQ加入消息,请求加入该多播组;在网络内,如果同时申请加入多播组的节点过多时,请求加入信息就会瞬间增多,而无线自组网是一个信道受限系统,过多的路由控制信息会造成网络的阻塞,大大降低网络的信道利用率。因此,在基于树的多播路由协议中,研究如何减小因修复链路给网络带来的冲击对网络性能的提高有很重要的意义。 
发明内容
本发明的目的在于针对上述现有技术中的不足之处而提供一种移动AdHoc网络多播路由方法(MAODV-MM)。 
本发明的目的可以通过以下措施来达到: 
一种移动Ad Hoc网络多播路由方法,包括多播路由的消息广播、多播路由的建立、多播路由的应用、多播路由的修复、多播路由的合并与销毁; 
所述的多播路由消息广播步骤为: 
(1).多播树通过多播组长发送Group Hello消息维护多播树结构; 
(2).中间节点接收到Group Hello消息后,通过Group Hello消息的消息ID号来判断是否接收过该消息; 
(3).如果是第一次收到,则根据消息的序列号大小,更新节点多播路由表信息和多播组长的单播路由表信息,并将转发数据包中到多播组长的跳数加1,然后继续转发该Group Hello消息,以及 
如果已接收过该消息,则将其丢弃; 
所述的多播路由的建立步骤为: 
(1).接收节点向上游节点发送Group Hello消息; 
(2).上游的中间节点收到该消息之后,首先判断该节点是否已经是多播树上的成员节点,如果不是成员节点,则首先把该节点的多播标识改成多 播树上的成员节点;如果已经是,则不做处理; 
(3).上游节点处理完多播树标识之后,在多播路由表中添加或更新到上游节点的正向链路及到下游节点的反向链路; 
(4).上游节点继续选择通往多播组长的最优路径,并继续向它的上游节点发送Group Join消息; 
所述的多播路由的应用步骤为: 
(1).通过多播组长定时地发送Group Hello消息,发送节点不断更新到多播组长的单播路由信息和多播路由信息; 
(2).发送节点发送分组数据包之后,如果在一定时间内,没有收到多播组长路径的上游节点发回来的数据反馈消息,则认为该条传输链路不能发送数据,并在多播组长的连接实体中删除该路径,继续选择次优路径发送分组数据包; 
所述的多播路由的修复步骤为: 
当发送节点到多播组长的最优路径断开时,改进的路由协议将会在到多播组长的多播连接实体中选择次优的路径,作为继续传输的最优路径; 
所述的多播树的合并与销毁步骤为: 
当一个中间节点接收到两个多播组长的广播消息之后,如果发现两个多播组长发送的广播消息中携带的多播组长地址相同,则中间节点判断多播组长的IP地址大小; 
如果接收的多播组长IP地址小于上次收到的广播消息中多播组长的IP地址,自动丢弃该信息,否则更新多播路由信息,把多播组长设定成该值; 
如果一个多播组的组长收到另外一个多播组长发来的具有相同多播地址的广播消息,则判断该广播消息的组长IP地址的大小; 
如果接收的广播IP地址大于本组的IP地址,则把本节点身份从多播组长变成普通节点,且中间节点和原多播组长根据新多播组长的广播消息,分别更新多播路由和到多播组长的反向路由。否则丢弃该多播消息; 
当多播树销毁时,多播树的组长就会发送Group Destroy消息,其他节点收到该消息后,自动删除与该多播组相关的一切消息。 
Group Hello消息包括:消息ID号,多播组的IP地址,组长的IP地址,到多播组长的跳数,多播组的序列号。 
所述的更新节点多播路由表的步骤为: 
中间节点转发该Group Hello消息之前,首先判断该广播消息中多播组的序列号,如果小于当前存储的该多播组的序列号,则不进行处理;如果大于存储的多播组序列号,则更新中间节点的该多播路由表信息,删除旧的该多播路由信息;同时,更新到多播组长的单播路由信息,删除原信息;如果消息序列号等于多播组的序列号,则在到多播组长的单播路由上添加新的连接实体;连接实体的主要功能是让多播组内的接收节点可以有多条路径到达多播组长,并接收多播消息,增强多播路由的健壮性。 
所述的连接实体包括:多播组的序列号,下一跳地址,到多播组长的跳数;这些实体按照节点到组长的跳数进行排序,最优的路径放在实体链表的前面;当中间节点定时接收到组长发送的Group Hello消息之后,都会更新节点的连接实体。 
所述的最优路径选择指首先选择多播序列号较大的,然后选择到多播组长中转跳数较少的,选定完最优路径之后,在该路径上发送数据包。 
本发明与现有技术相比具有如下优点: 
(1)易于实现 
MAODV多播路由方法是基于单播的AODV路由协议进行改进的,结构清晰简单,易于实现,易于改进。MAODV-MM路由方法是以MAODV为基础,减少了一些模拟流程的开发,提高了多播路由协议的性能。 
(2)减少多播建立时的消息发送 
MAODV-MM多播路由方法通过定时地发送广播消息来更新节点的多播路由信息,节点可以按需加入多播组中,发送节点不需要发送加入请求,减少 了加入控制包的洪泛发送。 
(3)减少了多播路径维护的消息 
MAODV-MM多播路由方法充分利用了多播路由冗余的广播消息,多播节点只需从树的分支上发送维护信息,减少了原有的大量维护消息,也减小了网络冲突,大大增强了整个网络的健壮性。 
(4)增加了数据包发送的准确性 
MAODV-MM多播路由方法采用反馈确认的方式发送消息,大大提高了多播路由数据分组发送的可靠性。 
附图说明
图1多播路由消息广播; 
图2多播树形成图 
图3路由协议应用图; 
图4是本发明的程序步骤框图; 
图5是本发明Group Hello消息广播的流程图; 
图6是本发明更新多播路由表及到多播组长的单播路由表的流程图; 
图7是本发明节点发送多播数据的流程图; 
图8是本发明多播路由建立的流程图; 
图9本发明多播树的合并与销毁的流程图; 
图10本发明多播树的合并与销毁的流程图; 
图11本发明的分组投递率数据变化比较图; 
图12本发明多播路由协议中控制分组的个数变化比较图; 
图13本发明MAODV-MM与MAODV协议中分组端到端平均延时变化比较图; 
图14本发明数据的分组投递率变化比较图; 
图15本发明多播路由协议控制分组的个数变化比较图; 
图16本发明MAODV-MM与MAODV协议分组端到端平均延时变化比较图; 
图17本发明数据的分组投递率变化比较图; 
图18本发明多播路由协议控制分组的个数变化比较图; 
图19本发明MAODV-MM与MAODV协议分组端到端平均延时变化比较图。 
具体实施方式
本发明结合无线移动自组网的具体特征设计了一种改进的多播路由算法MAODV-MM。MAODV-MM路由算法以MAODV路由协议为基础,应用了一些网格多播路由的思想,例如OMDRP,CAMP等多播路由协议,从而减小了MAODV协议的链路修复带来的影响。同时将原有的MAODV多播路由协议忽略的一些广播冗余信息利用起来,减少了链路修复消息的发送,增强了网络的性能。 
MAODV-MM的思想是:在多播组内,通过多播组长实时维护多播共享树,场景内节点通过Group Hello消息定期更新路由表。一个节点想要加入多播组,则在广播消息中选择到多播组长的最短路径发送加入请求;节点加入多播组之后,在多播组内最短路径上发送、转发和接收消息。该路由算法又结合了网格多播路由协议的思想,把原有的多播树路由协议的一些广播冗余信息利用起来,在多播组内,每个发送或接收节点都会建立多条到多播组长的可用路径。这样就减少了传输链路断开对多播树路由产生的影响;而当传输路径断开时,该新型协议减少了修复断开路径的消息,相应地减少了网络阻塞。其包括多播路由的消息广播、多播路由的建立、多播路由的应用、多播路由的修复、多播树的合并与销毁。 
所述的多播路由的消息广播具体内容包括:多播树通过多播组长发送Group Hello消息定期维护树结构。Group Hello消息包括:消息ID号、多播组的IP地址、组长的IP地址、到多播组长的跳数、多播组的序列号等。中间节点接收到Group Hello消息后,通过Group Hello消息的消息ID号来判断是否接收过该消息,如果是第一次收到,则根据消息的序列号大小,更新节点多播路由表信息和多播组长的单播路由表信息,并将转发数据包中到多播组长的跳数加1,然后继续转发该Group Hello消息。 
更新路由表的具体过程是:中间节点转发该Group Hello消息之前,首 先判断该广播消息中多播组的序列号,如果小于当前存储的该多播组的序列号,则不进行处理;如果大于存储的多播组序列号,则更新中间节点的该多播路由表信息,删除旧的该多播路由信息;同时,更新到多播组长的单播路由信息,删除原信息。如果消息序列号等于多播组的序列号,则在到多播组长的单播路由上添加新的连接实体。连接实体的主要功能是让多播组内的接收节点可以有多条路径到达多播组长,并接收多播消息,增强多播路由的健壮性。 
连接实体的具体内容包括:多播组的序列号,下一跳地址,到组长的跳数。这些实体按照节点到组长的跳数进行排序,最优的路径放在实体链表的前面。因此,多播组的每个节点都有一条相对最优的到达多播组长的路径。当中间节点定时接收到组长发送的Group Hello消息之后,都会更新节点的连接实体。 
如图1所示,多播组长定时发送Group Hello消息,每个节点收到该消息之后,更新自己到多播组长的单播路由表信息,并添加到组长的连接实体。因此每个节点可以拥有多条路径连接到多播组长。从节点7的拓扑结构上看,节点7有如表1所示的连接实体列表。 
从表1可以看出,节点7可以选择最优的路径向多播组长发送或者接收数据分组。算法实现时,还可以根据需要设定每个节点到每个多播组长的连接实体长度,以优化节点的存储量。 
表1组长连接实体表 
Table 1 The Connect List of The Group Leader 
Figure G2009100765322D00071
当发送节点要发送多播数据时,首先会查看多播路由的连接实体,查找 是否有该多播组的具体信息。如果有则在该多播路由上发送数据。如果没有具体信息,该节点将会发送JOIN RREQ信息,希望加入该多播组,如果在一段时间内没有收到确认消息,则该发送节点认为自己是该多播组的组长,接下来在自组网内定时发送Group Hello消息,建立多播树。 
所述的多播路由的建立具体内容包括:MAODV-MM路由协议是一种按需的多播路由协议,接收节点如果想要成为多播组成员,需要定时向能到达多播组长的上游节点发送Group Join消息;发送该条消息之前,节点首先在该节点到多播组长的连结实体链表中,根据多播序列号和到组长的跳数,选择一条到组长的最优路径;在最优路径上,向上游节点发送Group Join消息,该消息包括接收节点的IP地址和到多播组长的最优路径的下一跳地址。 
上游的中间节点收到该消息之后,首先判断该节点是否已经是多播树上的成员节点,如果不是成员节点,则首先把该节点的多播标识改成多播树上的成员节点。上游节点处理完多播树标识之后,在多播路由表中添加或更新到上游节点的正向链路及到下游节点的反向链路。上游节点继续选择通往多播组长的最优路径,并继续向它的上游节点发送Group Join消息。如果上游节点在一段时间内没有收到从下游节点发来的Group Join消息,就认为下游节点不再需要该链路转发分组数据包,在多播路由表中,删除到该节点的链路。而当有多播树的数据包转发时,上游节点就不再向该节点发送数据。 
如果中间节点在定时器超时之前没有收到到多播组长的最优路径的下一跳节点发送的Group Hello消息,则节点认为该上游节点已经不在该节点的传输范围之内,所以在多播组长的连接实体中删除该条链接。同时,节点继续选出最优路径,发送Group Join消息。 
如图2所示,接收节点R7,R8,R9,R10定时向上游发送消息,分别通过节点1,2,3,4连接到多播组长,通过共享多播树发送和接收数据。 
所述的多播路由的应用具体内容包括:通过多播组长定时地发送GroupHello消息,发送节点不断更新到多播组长的单播路由信息和多播路由信息。 当节点想要发送数据时,如果已经通过Group Hello消息在多播组长的连接实体上建立了最优路径,则可以通过该路径发送分组数据包。 
发送节点发送分组数据包之后,如果在一定时间内,没有收到多播组长路径的上游节点发回来的数据反馈消息,则认为该条传输链路不能发送数据,并在多播组长的连接实体中删除该路径,继续选择次优路径发送分组数据包。 
如图3所示,节点A首先通过节点B发送数据,在一段时间内没有节点B的确认消息,则从节点C向多播组长发送分组数据包 
所述的多播路由的修复具体内容包括:当发送节点到组长的最优路径断开时,改进的路由协议将会在到组长的多播连接实体中选择次优的路径,作为继续传输的最优路径。选择路径的标准是,首先选择多播序列号较大的,然后选择到组长的中转跳数较少的,选定完最优路径之后,在该路径上发送数据包。 
因为移动Ad Hoc网络拓扑的特殊性,在多播路由中,如果发送节点查找不到多播路由,则缓存需要发送的数据,并发送RREQ消息。当收到RREP回复消息之后,节点回复MACT等消息去修复发送节点到多播组的路由。如果在一段时间内收不到回复消息,则该发送节点以自己为多播组长继续建立多播树,在多播树上发送广播消息,维护多播路由,继续传送多播数据。 
所述的多播树的合并与销毁具体内容包括:当一个中间节点接收到两个多播组长的广播消息之后,如果发现两个组长发送的广播消息中携带的多播组地址相同,则中间节点判断组长的IP地址大小,如果接收的组长IP地址小于上次收到的广播消息中组长的IP地址,自动丢弃该信息,否则更新多播路由信息,把多播组长设定成该值。如果一个多播组的组长收到另外一个组长发来的具有相同多播地址的广播消息,则判断该广播消息的组长IP地址的大小,如果接收的广播IP地址大于本组的IP地址,则把本节点身份从组长变成普通节点。中间节点和原组长根据新组长的广播消息,更新多播路 由和到多播组长的反向路由。 
当多播树销毁时,多播树的组长就会发送Group Destroy消息,其他节点收到该消息后,自动删除与该多播组相关的一切消息。 
下面结合附图和实施例对本发明做进一步的说明。 
如图4所示,本路由方法由多播路由的消息广播、多播路由的建立、多播路由的应用、多播路由的修复、多播树的合并与销毁五个方面组成。 
1、多播路由的消息广播步骤 
多播树通过多播组长发送Group Hello消息定期维护树结构。如图5所示,中间节点接收到Group Hello消息后,通过Group Hello消息的消息ID号来判断是否接收过该消息,如果是第一次收到,则根据消息的序列号大小,更新节点多播路由表信息和多播组长的单播路由表信息,并将转发数据包中到多播组长的跳数加1,然后继续转发该Group Hello消息。如果已接收过该消息,则将其丢弃。 
如图6所示,更新路由表的具体过程是:中间节点转发该Group Hello消息之前,首先判断该广播消息中多播组的序列号,如果小于当前存储的该多播组的序列号,则不进行处理;如果大于存储的多播组序列号,则更新中间节点的该多播路由表信息,删除旧的该多播路由信息;同时,更新到多播组长的单播路由信息,删除原信息。如果消息序列号等于多播组的序列号,则在到多播组长的单播路由上添加新的连接实体。连接实体的主要功能是让多播组内的接收节点可以有多条路径到达多播组长,并接收多播消息,增强多播路由的健壮性。 
连接实体的具体内容包括:多播组的序列号,下一跳地址,到组长的跳数。这些实体按照节点到组长的跳数大小进行排序,最优的路径放在实体链表的前面。因此,多播组的每个节点都有一条相对最优的到达多播组长的路径。当中间节点定时接收到组长发送的Group Hello消息之后,都会更新节点的连接实体。 
如图7所示,当发送节点要发送多播数据时,首先会查看多播路由的连接实体,查找是否有该多播组的具体信息。如果有则在该多播路由上发送数据。如果没有具体信息,该节点将会发送JOIN RREQ信息,希望加入该多播组,如果在一段时间内没有收到确认消息,则该发送节点认为自己是该多播组的组长,接下来在自组网内定时发送Group Hello消息,建立多播树。若收到确认,则加入该多播组。 
2、多播路由的建立 
MAODV-MM路由协议是一种按需的多播路由协议,接收节点如果想要成为多播组成员,需要定时向能到达多播组长的上游节点发送Group Join消息;发送该条消息之前,节点首先在该节点到多播组长的连结实体链表中,根据多播序列号和到组长的跳数,选择一条到组长的最优路径;在最优路径上,向上游节点发送Group Join消息,该消息包括接收节点的IP地址和到多播组长的最优路径的下一跳地址。 
如图8所示,上游的中间节点收到该消息之后,首先判断该节点是否已经是多播树上的成员节点,如果不是成员节点,则首先把该节点的多播标识改成多播树上的成员节点。如果已经是,则不做处理。上游节点处理完多播树标识之后,在多播路由表中添加或更新到上游节点的正向链路及到下游节点的反向链路。上游节点继续选择通往多播组长的最优路径,并继续向它的上游节点发送Group Join消息。如果上游节点在一段时间内没有收到从下游节点发来的Group Join消息,就认为下游节点不再需要该链路转发分组数据包,在多播路由表中,删除到该节点的链路。而当有多播树的数据包转发时,上游节点就不再向该节点发送数据。 
如果中间节点在定时器超时之前没有收到到多播组长的最优路径的下一跳节点发送的Group Hello消息,则节点认为该上游节点已经不在该节点的传输范围之内,所以在多播组长的连接实体中删除该条链接。同时,节点继续选出最优路径,发送Group Join消息。 
3、多播路由的应用 
通过多播组长定时地发送Group Hello消息,发送节点不断更新到多播组长的单播路由信息和多播路由信息。当节点想要发送数据时,如果已经通过Group Hello消息在多播组长的连接实体上建立了最优路径,则可以通过该路径发送分组数据包。 
发送节点发送分组数据包之后,如果在一定时间内,没有收到多播组长路径的上游节点发回来的数据反馈消息,则认为该条传输链路不能发送数据,并在多播组长的连接实体中删除该路径,继续选择次优路径发送分组数据包。 
4、多播路由的修复 
当发送节点到组长的最优路径断开时,改进的路由协议将会在到组长的多播连接实体中选择次优的路径,作为继续传输的最优路径。选择路径的标准是,首先选择多播序列号较大的,然后选择到组长的中转跳数较少的,选定完最优路径之后,在该路径上发送数据包。 
因为移动Ad Hoc网络拓扑的特殊性,在多播路由中,如果发送节点查找不到多播路由,则缓存需要发送的数据,并发送RREQ消息。当收到RREP回复消息之后,节点回复MACT等消息去修复发送节点到多播组的路由。如果在一段时间内收不到回复消息,则该发送节点以自己为多播组长继续建立多播树,在多播树上发送广播消息,维护多播路由,继续传送多播数据。 
5、多播树的合并与销毁 
如图9所示,当一个中间节点接收到两个多播组长的广播消息之后,如果发现两个组长发送的广播消息中携带的多播组地址相同,则中间节点判断组长的IP地址大小,如果接收的组长IP地址小于上次收到的广播消息中组长的IP地址,自动丢弃该信息,否则更新多播路由信息,把多播组长设定成该值。如图10所示,如果一个多播组的组长收到另外一个组长发来的具有相同多播地址的广播消息,则判断该广播消息的组长IP地址的大小,如 果接收的广播IP地址大于本组的IP地址,则把本节点身份从组长变成普通节点,且中间节点和原组长根据新组长的广播消息,分别更新多播路由和到多播组长的反向路由。否则丢弃该多播消息。 
当多播树销毁时,多播树的组长就会发送Group Destroy消息,其他节点收到该消息后,自动删除与该多播组相关的一切消息。 
以下是仿真场景及仿真结果分析: 
仿真场景内节点移动速度对路由算法性能的影响的主要目的:在网络拓扑不断变化情况下,验证新的路由算法适应拓扑变化的性能,通过改变仿真场景中节点移动的随机速度构造不同的仿真环境。 
(1)仿真条件 
表2仿真实例参数设置 
Figure G2009100765322D00131
(2)结果分析 
从图11可以看出,随着节点的速度变大,协议的分组投递率逐渐降低,改进的路由协议的分组投递率一直高于MAODV。当节点的速度高于15时,MAODV的分组投递率下降很快,但是改进的路由协议的分组投递率却很平稳。分析原因为,当节点的速度不断增大时,网络拓扑的变化加快。为了修复断开的链路,MAODV需要不断发送消息去修复链路,缓存的数据容易丢失,大大降低了分组投递率。但是新的路由协议因为路径修复时间较短,缓存的数据丢失不多,对分组投递率影响不大。 
从图12中可以看出随着速度的增长,一个接收数据包对应发送的控制 包数量逐渐变大,当节点的速度大于10时,两条曲线开始平滑。新路由协议的控制包数量始终小于MAODV的控制包数量。因为MAODV协议为了修复路由和维护控制包,始终要发送修复和维护消息。当拓扑变化较快时,控制消息数量也随之逐渐变多。MAODV-MM因为在组长链路上有多条路径,减小了控制包的发送数量。 
从图13可以看出,随着节点移动速度变快,端到端的平均延时变大。因为随着拓扑的不断变化,需要不断维护链路,使得节点的端到端延时也逐渐增加。MAODV-MM协议的平均延时始终大于MAODV协议的平均延时,因为MAODV-MM协议要在多跳路径上选择一条最优的路径发送数据,增加了节点计算的时间复杂度和空间复杂度,并且需要发送数据接收确认包,产生了一定的延时。 
仿真多播节点个数对路由算法性能的影响的主要目的:在多播节点数目不断增加的情况下,验证新的路由算法适应网络规模变化的性能,通过改变仿真场景中多播组成员节点个数构造不同的仿真环境。 
(1)仿真条件 
表3仿真实例参数设置 
Figure G2009100765322D00141
(2)结果分析 
从图14可以看出随着多播节点数量的增大,分组投递率逐渐降低。当多播节点的个数大于15时分组投递率下降很快。改进的多播路由协议的分组投递率一直高于MAODV。因为随着节点数目的增多,当节点想要加入多播 组,MAODV的节点就要发送大量的加入信息,网络中的流量会增大,降低了分组投递率。MAODV-MM协议节点加入多播组时,因为利用了系统的广播信息,节点可以直接加入该多播组,减少了网络阻塞,提高了网络的性能。 
从图15可以看出随着多播节点数量的增大,数据包对应的控制包数量开始增加。多播节点的控制包的数量是平滑增长的。因为随着节点数目的增多,当节点想要加入多播组,MAODV的节点就要发送大量的加入信息,网络中的控制包流量会增大。改进的路由协议节点加入多播组时,因为利用了系统的广播信息,节点可以直接加入该多播组,减少了控制包的数量。 
从图16可以看出,随着组内节点的成员变多,端到端的平均延时变大。随着组内节点增加,需要转发的数据增多,拓扑结构也很复杂,节点的端到端延时也逐渐增加。MAODV-MM协议的平均延时始终大于MAODV协议的平均延时,MAODV-MM协议要在多跳路径上选择一条最优的路径发送数据,增加了节点计算的时间复杂度和空间复杂度,并且需要发送数据接收确认包。因此,随着转发包数量的增加,延时在多播节点数大于20时急剧增加。 
仿真场景内网络负载对路由算法性能的影响的主要目的:在网络负载不断变化情况下,验证新的路由算法适应负载变化的性能,通过改变仿真场景中节点数据包的发送率构造不同的仿真环境。 
(1)仿真条件 
表4仿真实例参数设置 
Figure G2009100765322D00151
(2)结果分析 
从图17可以看出随着节点单位时间数据包的发送量的增加,网络负载变大,网络性能受到很大影响,分组投递率随着负载变大严重降低。当发送数据包数量变大时,需要不断维护链路,保证节点间能够很好的收发数据。MAODV如果链路断开,则节点需要重新修复链路,需要很长时间,但是改进的路由协议可以利用多余的连接链路发送数据,可以减小新的链路发现时间,从而提高了网络性能。 
从图18可以看出随着节点单位时间数据包的发送量增加,网络负载变大,控制包发送数量却降低,因为随着数据包的发送量变大,在一条链路发送的数据量就会增大,建链路的需求也随之减小,控制包的数量相对数据包的数量就会变小。 
从图19可以看出,随着单位时间发送数据包的增加,端到端的平均延时变大。随着数据包发送的增加,需要等待的中转时间增多,节点的端到端延时也逐渐增加。MAODV-MM协议的平均延时始终大于MAODV协议的平均延时,MAODV-MM协议要在多跳路径上选择一条最优的路径发送数据,增加了节点计算的时间复杂度和空间复杂度,并且需要发送数据接收确认包。因此,MAODV-MM的延时要比MAODV协议性能差。 

Claims (5)

1.一种移动Ad Hoc网络多播路由方法,其特征在于,包括多播路由的消息广播、多播路由的建立、多播路由的应用、多播路由的修复、多播树的合并与销毁;
所述的多播路由消息广播步骤为:
(1).多播树通过多播组长发送Group Hello消息维护多播树结构;
(2).中间节点接收到Group Hello消息后,通过Group Hello消息的消息ID号来判断是否接收过该消息;
(3).如果是第一次收到,则根据消息的序列号大小,更新节点多播路由表信息和多播组长的单播路由表信息,并将转发数据包中到多播组长的跳数加1,然后继续转发该Group Hello消息,以及如果已接收过该消息,则将其丢弃;
所述的多播路由的建立步骤为:
(1).接收节点向上游节点发送Group Join消息;
(2).上游节点收到该消息之后,首先判断该上游节点是否已经是多播树上的成员节点,如果不是成员节点,则首先把该上游节点的多播标识改成多播树上的成员节点;如果已经是,则不做处理;
(3).上游节点处理完多播树标识之后,在多播路由表中添加或更新到上游节点的正向链路及到下游节点的反向链路;
(4).上游节点继续选择通往多播组长的最优路径,并继续向它的上游节点发送Group Join消息;
所述的多播路由的应用步骤为:
(1).通过多播组长定时地发送Group Hello消息,发送节点不断更新到多播组长的单播路由信息和多播路由信息;
(2).发送节点发送分组数据包之后,如果在一定时间内,没有收到多播组长路径的上游节点发回来的数据反馈消息,则认为该条传输链路不能发 送数据,并在多播组长的连接实体中删除该路径,继续选择次优路径发送分组数据包;
所述的多播路由的修复步骤为:
当发送节点到多播组长的最优路径断开时,改进的路由协议将会在到多播组长的多播连接实体中选择次优的路径,作为继续传输的最优路径;
所述的多播树的合并与销毁步骤为:
当一个中间节点接收到两个多播组长的广播消息之后,如果发现两个多播组长发送的广播消息中携带的多播组长地址相同,则中间节点判断多播组长的IP地址大小;
如果接收的多播组长IP地址小于上次收到的广播消息中多播组长的IP地址,自动丢弃该信息,否则更新多播路由信息,把多播组长设定成该值;
如果一个多播组的组长收到另外一个多播组长发来的具有相同多播地址的广播消息,则判断该广播消息的组长IP地址的大小;
如果接收的广播IP地址大于本组的IP地址,则把本节点身份从多播组长变成普通节点,且中间节点和原多播组长根据新多播组长的广播消息,分别更新多播路由和到多播组长的反向路由,否则丢弃该多播消息;
当多播树销毁时,多播树的组长就会发送Group Destroy消息,其他节点收到该消息后,自动删除与该多播组相关的一切消息。
2.根据权利要求1所述的一种移动Ad Hoc网络多播路由方法,其特征在于,Group Hello消息包括:消息ID号,多播组的IP地址,组长的IP地址,到多播组长的跳数,多播组的序列号。
3.根据权利要求1所述的一种移动Ad Hoc网络多播路由方法,其特征在于,所述的更新节点多播路由表的步骤为:
中间节点转发该Group Hello消息之前,首先判断该广播消息中多播组的序列号,如果小于当前存储的该多播组的序列号,则不进行处理;如果大于存储的多播组序列号,则更新中间节点的该多播路由表信息,删除旧的该 多播路由信息;同时,更新到多播组长的单播路由信息,删除原信息;如果消息序列号等于多播组的序列号,则在到多播组长的单播路由上添加新的连接实体;连接实体的主要功能是让多播组内的接收节点可以有多条路径到达多播组长,并接收多播消息,增强多播路由的健壮性。
4.根据权利要求1所述的一种移动Ad Hoc网络多播路由方法,其特征在于,所述的连接实体包括:多播组的序列号,下一跳地址,到多播组长的跳数;这些实体按照节点到组长的跳数进行排序,最优的路径放在实体链表的前面;当中间节点定时接收到组长发送的Group Hello消息之后,都会更新节点的连接实体。
5.根据权利要求1所述的一种移动Ad Hoc网络多播路由方法,其特征在于,所述的最优路径选择指首先选择多播序列号较大的,然后选择到多播组长中转跳数较少的,选定完最优路径之后,在该路径上发送数据包。 
CN2009100765322A 2009-01-06 2009-01-06 一种移动Ad Hoc网络多播路由方法 Expired - Fee Related CN101489276B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009100765322A CN101489276B (zh) 2009-01-06 2009-01-06 一种移动Ad Hoc网络多播路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009100765322A CN101489276B (zh) 2009-01-06 2009-01-06 一种移动Ad Hoc网络多播路由方法

Publications (2)

Publication Number Publication Date
CN101489276A CN101489276A (zh) 2009-07-22
CN101489276B true CN101489276B (zh) 2011-01-05

Family

ID=40891897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009100765322A Expired - Fee Related CN101489276B (zh) 2009-01-06 2009-01-06 一种移动Ad Hoc网络多播路由方法

Country Status (1)

Country Link
CN (1) CN101489276B (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101986727B (zh) * 2010-11-18 2013-07-31 北京交通大学 网络按需距离矢量多播路由协议的多路径改进方法和装置
CN102075869B (zh) * 2011-02-25 2013-05-15 北京交通大学 基于网络按需距离矢量多播路由的多播树更新方法及系统
CN102111845B (zh) * 2011-02-25 2013-12-18 北京交通大学 基于网络按需距离矢量的多播路由方法及系统
CN104205777B (zh) * 2012-03-31 2017-07-18 英特尔公司 用于ad‑hoc资源选择的方法、设备和系统
CN103024854A (zh) * 2012-12-25 2013-04-03 北京银易通网络科技有限公司 无线自组织与传感网中的基于中继团和地理位置的组播方法
CN104023317B (zh) * 2014-06-17 2019-02-01 中国科学院计算技术研究所 一种低功耗多播路由网络及其多播路由方法
CN104796334A (zh) * 2015-04-30 2015-07-22 无锡市崇安区科技创业服务中心 一种数据传输路径选择方法
CN105578553B (zh) * 2015-12-23 2019-12-13 北京奇虎科技有限公司 数据通信发起、中继、接收方法及其装置
CN107370716B (zh) * 2016-05-12 2022-04-19 中兴通讯股份有限公司 组播信息的处理方法及装置
CN106330731B (zh) * 2016-09-12 2019-05-28 北京交通大学 一种无线自组网的多播树建立方法
CN107248955A (zh) * 2017-07-19 2017-10-13 西安奇妙电子科技有限公司 通信方法及通信装置
CN107453996A (zh) * 2017-07-19 2017-12-08 西安奇妙电子科技有限公司 消息应答方法、消息转发方法及通信装置
CN107196859B (zh) * 2017-07-19 2020-11-06 西安奇妙电子科技有限公司 消息转发方法、广播方法、消息应答方法及通信设备
EP3808126B1 (en) * 2018-06-18 2022-07-06 Hitachi Energy Switzerland AG Route selection in a wireless communication system
KR20220044305A (ko) * 2019-08-09 2022-04-07 케이디디아이 가부시키가이샤 라우팅 신호 전송을 위한 중계 및 단말 디바이스
CN112737956A (zh) * 2019-10-28 2021-04-30 华为技术有限公司 报文的发送方法和第一网络设备
US11516115B2 (en) * 2020-08-18 2022-11-29 Juniper Networks, Inc. Weighted multicast join load balance

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731762A (zh) * 2005-08-05 2006-02-08 武汉理工大学 一种基于Steiner的QoS约束的多播路由的方法
CN101068203A (zh) * 2007-06-11 2007-11-07 北京交通大学 一种分群自组路由方法与装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1731762A (zh) * 2005-08-05 2006-02-08 武汉理工大学 一种基于Steiner的QoS约束的多播路由的方法
CN101068203A (zh) * 2007-06-11 2007-11-07 北京交通大学 一种分群自组路由方法与装置

Also Published As

Publication number Publication date
CN101489276A (zh) 2009-07-22

Similar Documents

Publication Publication Date Title
CN101489276B (zh) 一种移动Ad Hoc网络多播路由方法
JP2008533809A (ja) ハイブリッド型メッシュ・ルーティング・プロトコル
CN104754688A (zh) 用于基于纠缠态的无线Mesh量子通信网络的路由方法
CN101945432A (zh) 一种用于无线mesh网络的多速率机会路由方法
CN1878074A (zh) 一种基于广播中继的Ad hoc网络多播路由的建立方法
CN103108374A (zh) 一种混合结构矿井应急救援无线网状网的节能路由算法
JP5004999B2 (ja) ハイブリッド型メッシュ・ルーティング・プロトコル
CN103974365A (zh) 一种Ad Hoc移动网络路由修复方法
Haraty et al. MANET with the Q-Routing Protocol
CN106686680B (zh) 一种用于车联网的路由优化系统及方法
CN105847150B (zh) 一种无线与电力载波有线混合路由选择方法
CN104219156B (zh) 一种适用于层次化空中自组织网络的组播路由方法
Xia et al. An improved AODV routing protocol based on the congestion control and routing repair mechanism
Margaryan et al. Development of an Adaptive Routing Algorithm in MANET
CN105657774A (zh) 无线自组织网络中自适应核心转发网络的建立方法和系统
Raghavendra et al. Congestion adaptive routing in ad hoc networks
CN110167095A (zh) 一种基于费马点的移动Ad-Hoc网络路由算法
Li et al. Improved MAODV link repair technique for group team communication in MANET
Zhou et al. DRMR: Dynamic-ring-based multicast routing protocol for Ad hoc networks
Li et al. Research on the improvement of multicast Ad Hoc On-demand Distance Vector in MANETS
Shekhar et al. Mobile agents aided multicast routing in mobile ad hoc networks
Mhatre et al. Performance analysis of prediction and priority based routing protocol for MANET's
Nagaratna et al. Performance evaluation of mesh-based multicast routing protocols in MANET’s
EffatParvar et al. Quality of service support and local recovery for odmrp multicast routing in ad hoc networks
Agarwal et al. Enhanced AODV routing protocol for ad hoc networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110105

Termination date: 20130106

CF01 Termination of patent right due to non-payment of annual fee