CN101159680A - 一种延长网络存活时间的多播树生成方法 - Google Patents
一种延长网络存活时间的多播树生成方法 Download PDFInfo
- Publication number
- CN101159680A CN101159680A CNA2007101684094A CN200710168409A CN101159680A CN 101159680 A CN101159680 A CN 101159680A CN A2007101684094 A CNA2007101684094 A CN A2007101684094A CN 200710168409 A CN200710168409 A CN 200710168409A CN 101159680 A CN101159680 A CN 101159680A
- Authority
- CN
- China
- Prior art keywords
- node
- message
- multicast
- network
- rreq
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种延长网络存活时间的多播树生成方法,所采用的方法是:1.选择链路损耗最小的链路传送数据包;2.传送数据包一段时间后,由源节点发送探测包;3.发起一回复报文到源节点,在节点收到报文时,建立AODV路由算法;4.收到RREQ-J报文的时候,从能量值队列中找到本节点在队列中的位置;5.采取延时后,再转发该RREQ请求包。本发明考虑了网络传送数据包的初始阶段和后半阶段的不同特点,对于剩余能量大的节点不延时转发请求包,对于剩余能量较小的节点才延时转发,对于剩余能量很小的节点,不转发请求包的策略,有效的保证了多播树的生成,提高了传送数据包的效率和整个网络的性能,较好的延长了网络的存活时间。
Description
技术领域
本发明属于网络计算、通信技术领域,特别是一种延长网络存活时间的多播树生成方法。
背景技术
目前,Ad hoc中延长网络的存活时间有两种方法:第一种是使发送每个数据包耗费的能量最小,通过节省能量来延长存活时间。第二种就是通过保护剩余能量小的节点来达到推迟网络分裂,延长网络存活时间的目的。第一个思路的路由算法通过发现最小发射功率的路由,使发送每个数据包所耗费的能量最小,达到节省能量的目的。但是它还是保留了原先路由算法中的一个问题,就是在选定了一条路由后,会一直用下去,直到数据发完或是拓扑变化触动路由更新,这样,同最小跳数路由协议一样,容易使某些关键节点因为过度使用而能量耗尽,导致网络过早分裂;第二个思路是对于剩余能量较大的节点转发的请求包采取的是立即转发,而对于剩余能量较小的节点转发的数据包采取的是延时一段时间后转发的策略,这样由于每个节点只接受较早到达的报文,丢弃以后收到的重复报文,节点能量级别较低的节点因为延时请求报文时间相对较长,经过它们转发的请求包就容易被其他接收的节点丢弃。这样以来,当目的节点收到第一个请求包的时候,该请求包遍历的节点能量级别相对较高,能量级别相对较低的节点就不再参与该路由,因此保护了能量级别相对较低的节点。
在整个网络传送数据包的初始阶段,由于各个节点的能量大致相当,即使采用了延时机制,对于能量的节约也不是太明显,反而由于加大了延时,造成请求超时或TTL值为0,不得不进行重发,加大了负载和网络的拥塞程度,而这一现象在节点个数增多时,尤为明显。
发明内容
本发明的目的是提供一种从节省节点能量的角度出发,在网络开始转发数据包的初始阶段,采取通过发现最小发射功率的路由,使发送每个数据包所耗费的能量最小,达到节省能量目的的延长网络存活时间的多播树生成方法,以克服上述的不足。
为了实现上述目的,本发明所采用的方法是:
第一步骤:在每个数据包中增加一个域,标志节点发射该包的功率P1,相邻节点在接收到数据包时,估算出接收到的该数据包的功率P2。根据P1和P2这两个值,估算出这条链路的损耗。选路的时候,这个损耗值被考虑作为链路代价。在网络开始传送数据包的初始阶段,对估算出的若干条链路的损耗进行比较,选择链路损耗最小的那条链路传送数据包,达到节省能量延长网络存活时间的目的;
第二步骤:整个网络按照第一步骤传送数据包一段时间后,由源节点发送探测包,探测包以泛洪方式向全网广播,如果探测到有些节点的能量即将耗尽,则由探测包根据网络中每一个节点的能量值记录下一个队列,该队列根据节点的能量值按从小到大的顺序排序,队列的长度为L;
第三步骤:当一个节点要加入到某多播组时,如果自己是多播树上的一个节点,或自己的多播路由表中存在该多播组的路由表项,则发起一回复报文RREP到源节点。在节点收到RREQ-J报文或RREP报文时,建立反向链路或正向链路的策略同AODV路由算法;
第四步骤:如果第三步骤中的条件不满足,则查找自己的多播路由表,查看是否有到该多播组的路由表项,如果存在,则按其下一跳的信息进行单播转发,如果不存在,则以多播的形式发起RREQ-J请求报文,该请求报文中包含有第二步骤中的能量值队列;
第五步骤:中间节点在收到RREQ-J报文的时候,首先从能量值队列中找到本节点在队列中的位置;
第六步骤:如果该位置位于长度为L的队列中前三分之一内,则认为该节点的能量即将耗尽,为了延长网络的存活时间,不再转发该RREQ请求包;
第七步骤:如果该位置位于长度为L的队列中后三分之一内,则认为该节点的剩余能量较大,立即转发该RREQ请求包;
第八步骤:如果该位置位于长度为L的队列中间的三分之一内,则认为该节点的剩余能量较小,采取延时t时刻后,再转发该RREQ请求包。
经过这样的转发延时处理,形成源节点到多播组的一条多播树的分枝,并且该分枝上的节点剩余能量较多,有利于维护多播树的相对稳定。
本发明提出了一种延长网络存活时间的多播树生成方法。该方法考虑了网络传送数据包的初始阶段和后半阶段的不同特点,分别从使发送每个数据包所耗费的能量最小和保护剩余能量较小的节点出发,对于如何保护剩余能量较小的节点,又不同于以往的方法,而是对于剩余能量大的节点不延时转发请求包,对于剩余能量较小的节点才延时转发,对于剩余能量很小的节点,不转发请求包的策略,有效的保证了多播树的生成,提高了传送数据包的效率和整个网络的性能,较好的延长了网络的存活时间。
附图说明
图1为MAODV多播树图。
图2为RREQ报文帧格式图。
图3为一个能量级别模型图。
图4为本发明的流程图。
具体实施方式
下面结合附图对本发明作进一步的详细描述。
在描述本发明之前,首先对一些定义作出解释:
一、MAODV算法:MAODV算法(Multicast Ad Hoc On-Demand DistanceVector Routing Protocol)是单播路由算法AODV的多播扩展,它是通过广播路由发现机制的基于树的按需多播路由算法。它为每一路由表项使用了目的地序列号,序列号确保无路由环路,并解决了计数到无穷问题。MAODV是采用双向共享树(Bi-direction Shared Tree)的多播分发机制,多播分发树是按需创建的,而且MAODV多播树中的组成员都可以受理加入组申请。“双向”是指多播树中的节点同时设置指向上游节点(父母节点)和下游节点(子节点)的指针。MAODV的多播树所有节点可分为三类:组成员(隶属于多播树中相应的多播组的端节点)、路由器(能够将组成员连入多播树但不是多播组成员的中间节点)和组长(特殊组成员),见图1。
MAODV算法的控制报文格式:MAODV算法的路由控制报文主要有以下几种类型:RREQ、RREP、RERR、MACT、GRPH和HELLO。除RERR(路由错误通知),HELLO(邻居发现)两种较为简单,其余四种较为复杂。
(1)RREQ路由请求报文(Route Request)格式:
<JRGDU RREQ ID源IP地址源序列号目的IP地址目的序列号跳数>RREQ报文的帧格式(见图2),其中:
J:加入标志,当源节点请求加入多播组时设置该位;
R:路由修复标志,当节点需要对多播树不可用链路进行修复时设置该位;
G:免费RREP标记,指出是否将免费RREP发至目的IP地址域中列出的节点;
D:目的节点标志,当且仅当目的节点响应RREQ时设置该位;
U:未知序列号标志,表示节点没有收到目的序列号信息;
保留:保留字段,默认值为0;
跳数:从源IP地址到处理该请求的节点的跳数;
RREQ ID:RREQ ID和源IP地址联合起来标志一个独一无二的RREQ报文;
目的序列号:目的节点收到的来自源节点的所有序列号中的最新(最大)值;
源序列号:源节点路由表项中的当前序列号。
(2)主要报文控制字段说明:
RREQ-J:加入多播树请求;
RREQ-R:多播树修复请求;
RREQ-JR:多播树合并请求。
RREP路由回答报文(Route Reply)格式:
<RA目的IP地址目的序列号跳数生存时间>
其中:
R:修复标志,当节点响应修复多播树的的不可用链路时设置该位;
A:当节点发送ACK消息时设置该位;
生存时间:节点收到RREP后考虑的路由有效时间。这个值是在目的节点/中继节点应答RREP时确定的,当源节点收到该RREP时利用该值设置对应路由表项的超时时间,以和目的节点/中继节点的路由表项生存期保持一致。
主要报文控制字段说明:
RREP-J:加入多播树请求回复;
RREP-R:多播树修复请求回复;
RREP-JR:多播树合并请求回复。
(3)MACT多播激活报文(Multicast Activation)格式:
<JPGUR源IP地址多播组IP地址源序列号跳数>
其中:
J:加入标志,当节点加入多播组时设置该位,对应于RREQ-J的激活报文;
P:剪除标志,当节点自己要从多播树中分离时设置该位,当节点处于一条激活的路径上时不设置该位;
G:组长标志。当多播组的成员节点修复断开链路失败,它向组的其他成员发消息,告知自己为组的新组长时,设置该位;
U:更新标志,当多播组成员成功修复断开链路并有一个到组长的新的路由时设置该位;
R:重新启动标志;
跳数:从组长到发送节点的距离,当U标志置位时使用,否则设为0。
二、RDRP算法:RDRP算法是一种根据节点能量级别采取不同转发策略的路由算法,在算法的实现过程中采用了一种简单的延时机制,当一个节点收到路由请求报文的时候(RREQ),如果自己不是目的节点,自身的路由表中也没有到达目的节点的路由信息,节点不是采取立即转发该RREQ报文,而是根据自己当前的能量级别延时一段时间。延时时间的长短反比与节点的能量级别。即剩余能量多的节点,延时时间短,剩余能量少的节点,延时时间长。经过这一段的延时时间之后,节点再对RREQ进行转发。由于每个节点只接受较早到达的报文,丢弃以后收到的重复报文,节点能量级别较低的节点因为延时RREQ报文时间相对较长,经过它们转发的RREQ就容易被其他接收的节点丢弃。这样以来,当目的节点收到第一个RREQ的时候,该RREQ遍历的节点能量级别相对较高,能量级别相对较低的节点就不再参与该路由,因此保护了能量级别相对较低的节点。图3中的数字表示节点能量的级别,数字越大表示剩余能量越多。S-A-B-T为没有采用延时机制时的路由,在采用延时机制后,相应的路由变为S-A-D-E-T,即路由经过能量级别较高的节点。不过由图中也可以看到,路由的跳数和延时也相应增加。
本发明的多播树生成方法是从节省节点能量的角度出发而采取的一种策略。在网络开始转发数据包的初始阶段,整个网络中各节点的能量相差不大,此时,为了提高多播树生成的效率,采取的是通过发现最小发射功率的路由,使发送每个数据包所耗费的能量最小,达到节省能量的目的。而当全网按照这种方式转发数据包一段时间后,网络中的部分节点的能量会急剧的下降,这时,为了延长网络的存活时间,采取一种延时策略,对于能量大的节点转发的请求包是立即转发,不进行延时,而对于能量较小的节点转发的数据包,要进行一定的延时后才转发请求包,即剩余能量多的节点,延时时间短,剩余能量少的节点,延时时间长。经过这一段的延时时间之后,节点再对请求包进行转发。由于每个节点只接受较早到达的报文,丢弃以后收到的重复报文,节点能量级别较低的节点因为延时请求报文时间相对较长,经过它们转发的请求包就容易被其他接收的节点丢弃。这样以来,当目的节点收到第一个请求包的时候,该请求包遍历的节点能量级别相对较高,能量级别相对较低的节点就不再参与该路由,因此保护了能量级别相对较低的节点。
本发明多播树的分裂方法是:当某一条链路发生中断,并且其下游节点不能进行修复时,下游节点判断网络已经分裂。在这种情况下,如果该下游节点是多播树中的成员节点,它自己将生成一个新的多播树并且成为多播组的组头。然后发起GROUP HELLO报文,设置U标志位,通知网络中其他的组头节点,网络中有新的多播树生成,组头节点更新各自的组头表,其他非组头节点更新各自的多播路由表。如果该下游节点不是多播树中的成员节点,此时有两种可能:第一,如果它只有一个下游节点,则发起MACT报文,设置P标志位,剪除自己。收到MACT报文的节点如果自己是多播树的成员节点,则成为新的多播树的组头,如果不是,同样地,发起MACT报文,设置P标志位,剪除自己,直到该MACT报文到达一原来多播树的成员节点为止。第二,如果该节点有多于两个的下游节点,则不能剪除自己,将首先选择一个剩余能量较多的节点,单播MACT报文,设置G标志位,如果收到该报文的节点是多播树的成员节点,该节点自己将成为新的多播树的组头,如果不是多播树的成员节点,转发MACT报文,直到收到MACT报文的是原来多播树的一个成员节点为止。
本发明多播树的合并方法是:如果两棵多播树中的两个成员节点知道对方组头的相关信息,则剩余能量小的节点(称为G1)将发起一RREQ-JR报文,到另外一棵多播树的组头(称为G2)。如果G2所在的多播树的成员节点收到该报文,则将该报文转发给G2。G2比较它自己的序列号和收到的关于G1的序列号,选择二者之间较大的,加1之后发起RREP报文,G2成为合并后的多播树的新组头。当G1中的成员节点收到RREP报文时,修改各自到G2的跳数信息,修改到G1的链路的方向为DOWNSTREAM,到向自己发送RREP报文的节点的链路方向为UPSTREAM。当G1收到该报文时,更新自己到G2的组头的跳树及多播路由表中的表项。这样以来,新的多播树形成。之后G2发起GROUP HELLO报文,设置U标志位,通知其他的组头网络中有新的多播树形成,其他组头节点更新自己的多播组头表,非组头节点更新自己的多播路由表。多播树的剪枝过程同MAODV。
本发明是上述背景技术的一种折衷的办法,在初始阶段,本发明为了提高数据包传输的效率和延长网络存活时间,采取使发送每个数据包耗费的能量最小的方法来传送数据包,而为了避免在选定了一条路由后,会一直用下去,导致某些节点能量耗尽的后果,在传送数据包一段时间后,又采取保护能量级别相对较低的节点的方法来延长网络存活时间。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (4)
1.一种延长网络存活时间的多播树生成方法,所采用的方法是:
第一步骤:在每个数据包中增加一个域,标志节点发射该包的功率P1,相邻节点在接收到数据包时,估算出接收到的该数据包的功率P2,根据P1和P2这两个值,估算出这条链路的损耗,选路的时候,这个损耗值被考虑作为链路代价,在网络开始传送数据包的初始阶段,对估算出的若干条链路的损耗进行比较,选择链路损耗最小的那条链路传送数据包;
第二步骤:整个网络按照第一步骤传送数据包一段时间后,由源节点发送探测包,探测包以泛洪方式向全网广播,如果探测到有些节点的能量即将耗尽,则由探测包根据网络中每一个节点的能量值记录下一个队列,该队列根据节点的能量值按从小到大的顺序排序,队列的长度为L;
第三步骤:当一个节点要加入到某多播组时,如果自己是多播树上的一个节点,或自己的多播路由表中存在该多播组的路由表项,则发起一回复报文RREP到源节点,在节点收到RREQ-J报文或RREP报文时,建立反向链路或正向链路的策略同AODV路由算法;
第四步骤:中间节点在收到RREQ-J报文的时候,首先从能量值队列中找到本节点在队列中的位置;
第五步骤:如果该位置位于长度为L的队列中间的三分之一内,采取延时t时刻后,再转发该RREQ请求包。
2.如权利要求1所述的延长网络存活时间的多播树生成方法,其特征在于:如果第三步骤中的条件不满足,则查找自己的多播路由表,查看是否有到该多播组的路由表项,如果存在,则按其下一跳的信息进行单播转发,如果不存在,则以多播的形式发起RREQ-J请求报文,该请求报文中包含有第二步骤中的能量值队列。
3.如权利要求1所述的延长网络存活时间的多播树生成方法,其特征在于:如果第四步骤中位置位于长度为L的队列中前三分之一内,不再转发该RREQ请求包。
4.如权利要求1所述的延长网络存活时间的多播树生成方法,其特征在于:如果第四步骤中位置位于长度为L的队列中后三分之一内,立即转发该RREQ请求包。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101684094A CN101159680A (zh) | 2007-11-22 | 2007-11-22 | 一种延长网络存活时间的多播树生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2007101684094A CN101159680A (zh) | 2007-11-22 | 2007-11-22 | 一种延长网络存活时间的多播树生成方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101159680A true CN101159680A (zh) | 2008-04-09 |
Family
ID=39307605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101684094A Pending CN101159680A (zh) | 2007-11-22 | 2007-11-22 | 一种延长网络存活时间的多播树生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101159680A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335717B (zh) * | 2008-07-18 | 2012-03-28 | 西安交通大学 | Ad Hoc网络中能量均衡路由协议的实现方法 |
CN101784093B (zh) * | 2009-01-15 | 2012-12-05 | 财团法人工业技术研究院 | 无线通信网络以及路由方法 |
CN101771941B (zh) * | 2008-12-31 | 2013-09-25 | 财团法人工业技术研究院 | 多播通讯方法及使用此方法的中继节点与无线网络系统 |
CN104394203A (zh) * | 2014-11-13 | 2015-03-04 | 安徽师范大学 | 一种多级元数据按需小费用传输方法及系统 |
CN106686659A (zh) * | 2017-02-14 | 2017-05-17 | 重庆邮电大学 | 一种基于aomdv的能量感知节点不相交多路径路由算法 |
CN109788522A (zh) * | 2019-02-14 | 2019-05-21 | 中国联合网络通信集团有限公司 | 一种路由发现方法、装置 |
CN112423356A (zh) * | 2020-10-28 | 2021-02-26 | 大连交通大学 | 基于能量均衡的无人装备集群aodv路由方法 |
-
2007
- 2007-11-22 CN CNA2007101684094A patent/CN101159680A/zh active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101335717B (zh) * | 2008-07-18 | 2012-03-28 | 西安交通大学 | Ad Hoc网络中能量均衡路由协议的实现方法 |
CN101771941B (zh) * | 2008-12-31 | 2013-09-25 | 财团法人工业技术研究院 | 多播通讯方法及使用此方法的中继节点与无线网络系统 |
CN101784093B (zh) * | 2009-01-15 | 2012-12-05 | 财团法人工业技术研究院 | 无线通信网络以及路由方法 |
CN104394203A (zh) * | 2014-11-13 | 2015-03-04 | 安徽师范大学 | 一种多级元数据按需小费用传输方法及系统 |
CN104394203B (zh) * | 2014-11-13 | 2018-08-17 | 安徽师范大学 | 一种多级元数据按需小费用传输方法及系统 |
CN106686659A (zh) * | 2017-02-14 | 2017-05-17 | 重庆邮电大学 | 一种基于aomdv的能量感知节点不相交多路径路由算法 |
CN106686659B (zh) * | 2017-02-14 | 2020-02-11 | 重庆邮电大学 | 一种基于aomdv的能量感知节点不相交多路径路由算法 |
CN109788522A (zh) * | 2019-02-14 | 2019-05-21 | 中国联合网络通信集团有限公司 | 一种路由发现方法、装置 |
CN112423356A (zh) * | 2020-10-28 | 2021-02-26 | 大连交通大学 | 基于能量均衡的无人装备集群aodv路由方法 |
CN112423356B (zh) * | 2020-10-28 | 2022-10-18 | 大连交通大学 | 基于能量均衡的无人装备集群aodv路由方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101179919B1 (ko) | 센서 네트워크에서의 다중 경로 소스 라우팅 방법 | |
Abd Elmoniem et al. | Ant colony and load balancing optimizations for AODV routing protocol | |
CN101159680A (zh) | 一种延长网络存活时间的多播树生成方法 | |
CN102447686A (zh) | 一种aodv应用路由协议 | |
Abdel-Moniem et al. | An ant colony optimization algorithm for the mobile ad hoc network routing problem based on AODV protocol | |
CN110650511A (zh) | 一种基于能耗和负载的改进aodv路由协议 | |
Tamilarasi et al. | Integrated energy-aware mechanism for MANETs using on-demand routing | |
Zhaoxiao et al. | Modified energy-aware AODV routing for ad hoc networks | |
Ferdous et al. | Randomized energy-based AODV protocol for wireless ad-Hoc network | |
Margaryan et al. | Development of an Adaptive Routing Algorithm in MANET | |
Mule et al. | Proactive source routing protocol for opportunistic data forwarding in MANETs | |
Guo et al. | Performance of backup source routing in mobile ad hoc networks | |
Ahmed et al. | Simulation, analysis and performance comparison among different routing protocols for wireless sensor network | |
Patil et al. | Extended ECDSR protocol for energy efficient MANET | |
Barange et al. | Review paper on implementation of multipath reactive routing protocol in manet | |
Nehra et al. | Routing with load balancing in ad hoc network: A mobile agent approach | |
Alahdal et al. | Performance of standardized routing protocols in ad-hoc networks | |
Li et al. | Research on the improvement of multicast Ad Hoc On-demand Distance Vector in MANETS | |
Javaid et al. | Modeling routing overhead of reactive protocols at link layer and network layer in wireless multihop networks | |
Varaprasad et al. | Implementing a power aware QoS constraints routing protocol in MANETs | |
Li et al. | Improved MAODV link repair technique for group team communication in MANET | |
Oh | A hybrid routing protocol for wireless Mesh Networks | |
Kumar et al. | An enhancement of dynamic source routing by efficient load balancing in wireless ad hoc networks | |
Benslimane et al. | EM2NET: An energy-saving explicit multicast protocol for MANETs | |
Chang et al. | On the reliability and utilization enhancement for local repair in on demand 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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080409 |