一种基于节点能量划分的AOMDV协议节能方法与流程

文档序号:11930129阅读:380来源:国知局
一种基于节点能量划分的AOMDV协议节能方法与流程

本发明属于通信技术领域,尤其涉及一种基于节点能量划分的AOMDV协议节能方法。



背景技术:

网络路由协议通常分为主动式路由协议和被动式路由协议两种。主动路由协议是路由器在互联网上动态找寻所有网络,确保所有路由器拥有相同路由表的协议。被动路由协议是路由器不自动搜寻网络,需要手工配置,一旦所有的路由器了解了所有的网络,被动路由协议便可用来发送用户数据,通过互联网络被动路由协议被分派到接口上并决定数据包的传送方式。主动式路由协议需要大量的路由控制报文,协议开销较大,与被动协议相比消耗更多的资源,所以被动式路由协议是目前使用得比较多的一种。目前,自组织网络被动多路径距离矢量路由协议AOMDV作为应用最广泛的多路径路由协议,通过获取链路不相交或结点不相交路径和多条无环路来维持有效容错和实现路由快速恢复。但是AOMDV协议没有真正考虑到移动节点的能源有限性的特点,无法真正根据网络的能耗与节点的剩余能量做到平衡全网的能量消耗。在自组织网络中,节点可以是计算机,手机或者是传感器,PDA等设备,通常由电池供电,能量有限,而节点的能量有限性是制约网络生存时间的关键因素,关键节点的能量过早耗尽并被从网络中删除,将影响网络的工作效率并降低网络的生存时间。



技术实现要素:

针对上述问题,本发明的目的在于提出一种基于节点能量划分的AOMDV协议节能方法。本方法通过将节点根据剩余能量进行分类,从而形成能量水平更均匀的传输路径,有利于平衡网络中各节点的能量消耗,从而延长网络的生存时间。

为实现上述目的,本发明所述方法的技术方案如下:

种基于节点能量划分的AOMDV协议节能方法,包括以下步骤:

步骤一:源节点需要发送数据时检索自身路由表;

步骤二:接收路由请求报文RREQ的节点处理报文中的信息;

步骤三:接收路由请求报文RREQ的节点判断自己是否为目的节点;

步骤四:目的节点获取能量划分第一阈值、能量划分第二阈值并对节点分类;

步骤五:目的节点根据能量划分第一阈值、能量划分第二阈值选择路由应答报文RREP的传输路径;

步骤六:根据能量划分第一阈值、能量划分第二阈值选择数据包的传输路径。

进一步根据所述基于节点能量划分的AOMDV协议节能方法,步骤一中源节点需要发送数据时检索自身路由表:

网络中节点的路由表包括,目的节点IP地址、目的节点序列号、广播跳数及路径列表,路径列表包括下一跳、跳数、w(u)和marked_node,其中w(u)表示节点u的剩余能量,marked_node用于记录节点是否被反向路径选中;若当前路径中下一跳节点被marked_node域标记为已被反向链路选中,则节点在转发数据时不会使用该路径,从而确保链路不相交来维持有效容错和实现路由快速恢复;

源节点需要向目的节点传输数据时,源节点首先检查当前节点路由表中是否有到达目的节点的路径;

若源节点路由表中有到达目的节点的路径,则按照该路径信息将数据包传输至指定的下一跳节点;

若路由表中没有到达目的节点的路径,则源节点广播一个路由请求报文RREQ至它的所有邻节点,路由请求报文RREQ在AOMDV路由请求报文的基础上增加额外的字段:sum和P,sum的值等于esum(Pi(u0,un)),其中Pi(u0,un)为从源节点u0到目的节点un的所有路径中的第i条路径,esum(Pi(u0,un))则表示此路径上所有节点的剩余能量和,P用于记录路由请求报文RREQ经过的所有节点的剩余能量信息;

在源节点检索路由表,sum值等于源节点剩余能量,P仅拥有源节点的剩余能量信息。

进一步根据所述基于节点能量划分的AOMDV协议节能方法,步骤二中接收路由请求报文RREQ的节点处理报文中的信息:

邻节点接收到路由请求报文后,做如下处理:

更新该邻节点的路由表:将该邻节点路由表中所有下一跳为路由请求报文来源节点的路径中的w(u)更新为路由请求报文来源节点的剩余能量;

更新路由请求报文:将该邻节点剩余能量加入路由请求报文中的字段P;将路由请求报文中的字段sum更新为当前节点的剩余能量与未更新前的sum之和。

进一步根据所述基于节点能量划分的AOMDV协议节能方法,步骤三中接收路由请求报文RREQ的节点判断自己是否为目的节点:

若接收路由请求报文RREQ的节点检查出报文中的目的地址与自身地址不相符,则检查该节点路由表中是否有到达目的节点的路径,若有,则按照该路径将路由请求报文传输至下一跳节点;若没有,则将路由请求报文转发至该节点除来源节点以外的所有邻节点,直到将路由请求报文发送到目的节点;

若接收路由请求报文RREQ的节点检查出报文中的目的地址与自身地址相符,即该接收节点为目的节点,则目的节点首先等待一段长为RREQ_Wait_time的时间,以便在这段时间内收到所有路由请求报文,目的节点将报文中的信息更新至自身的路由表中;

此时目的节点拥有从源节点到达目的节点的所有路径中节点的剩余能量信息与剩余能量和信息。

进一步根据所述基于节点能量划分的AOMDV协议节能方法,步骤四中目的节点获取能量划分第一阈值、能量划分第二阈值并对节点分类:

目的节点根据收到所有的报文中的sum值以及节点总数得出能量划分第一阈值、能量划分第二阈值,通过以下方式具体获取两个参数的值:

(1)能量划分第一阈值:

其中Pi(u0,un)为从源节点u0到目的节点un中的所有路径中的第i条路径,esum(Pi(u0,un))即此路径上所有节点的剩余能量和,因此可得esum(P(u0,un))为从源节点u0到目的节点un中的所有路径上节点的剩余能量和,能量划分第一阈值eaverageNet(P(u0,un)),有:

其中为从源节点u0到目的节点un中的所有路径上节点的总数,因此能量划分第一阈值实际上为这所有节点的平均剩余能量;

(2)能量划分第二阈值:

目的节点在RREQ_Wait_time时间内共收到M个路由请求报文,目的节点将所有节点按照其剩余能量从大到小排序;

能量划分第二阈值为所有节点中剩余能量第M小的节点的剩余能量值;

得到能量划分第一阈值和能量划分第二阈值后,对节点进行分类,节点剩余能量小于能量划分第二阈值的节点为低能量类,剩余能量高于能量划分第一阈值的节点为高能量类,而剩余能量在两个能量划分阈值之间的节点为中能量类;

能量划分第一阈值是网络中所有节点的平均剩余能量,因此任何剩余能量高于能量划分第一阈值的节点被认为是适合于传输的节点,将被优先用于数据传输。

进一步根据所述基于节点能量划分的AOMDV协议节能方法,步骤五中目的节点根据能量划分第一阈值、能量划分第二阈值选择路由应答报文RREP的传输路径:

目的节点向源节点发送一个路由应答报文,路由应答报文携带能量划分第一阈值和能量划分第二阈值,同时在传输过程中将路由应答报文到达节点的剩余能量更新到路由应答报文下一跳节点中,从而帮助节点更新自身邻节点的剩余能量;

转发路由应答报文时,节点会根据节点类型,将RREP报文转发至节点类型与当前节点类型相同的节点;若所有相邻节点的类型与当前节点的类型均不相同,则选择类型最低但高于当前节点类型的节点进行转发;若没有比当前节点类型更高的邻节点,则选择剩余节点中类型最高的节点;

每一个中间节点重复此过程直至路由应答报文到达源节点,源节点接收第一个路由应答报文RREP时,等待一段长为RREP_Wait_time的时间,以便在这段时间内收到所有路由应答报文,从而确定存在到达目的节点的路径,进而向目的节点传输数据。

进一步根据所述基于节点能量划分的AOMDV协议节能方法,步骤六中根据能量划分第一阈值、能量划分第二阈值选择数据包的传输路径:

源节点收到路由应答报文后,源节点将获得到达目的节点的所有路径上的节点更新过的剩余能量,当源节点需要传输数据包至这些节点中的任意一个时,路径中节点的类型均已知,数据包的传输路径选择可以到达目的节点的路径中下一跳剩余能量类型最高的进行转发,所有中间节点同样选择可以到达目的节点的路径中下一跳剩余能量类型最高的进行转发,直至数据包到达目的节点。

本发明与现有技术相比,具有如下有益效果:

1.本发明通过对节点进行分类,建立起能量水平更加平均的传输路径,从而有效提高传输的质量,降低了能量消耗的同时有效改善了端到端的时延。

2.更高能量水平的传输路径将被优先使用,从而有效在全网中平衡能量的消耗。高能量的传输路径将被用于传输更多的数据,而低能量的路径则尽可能少地参与传输。从而避免了低能量的节点过早耗尽自身的能量而被从网络中删除,导致网络拓扑结构发生剧烈变化,从而有效提高了各节点的生存时间从而延长了整个网络的生存时间。

附图说明

图1为本发明所述一种基于节点能量划分的AOMDV协议节能方法;

图2为本发明所述路由方法中改进的路由表项结构;

图3为验证本发明实际有效所进行的仿真实验中参数的值;

图4为仿真实验中得到的不同路由方法的能量耗尽的节点数与模拟时间的关系;

图5为仿真实验中得到的不同路由方法的能量消耗与模拟时间的关系;

图6为仿真实验中得到的不同路由方法的在节点移动速度为(0,2.5]情况下不同节点数量与平均端到端时延的关系;

图7为仿真实验中得到的不同路由方法的在节点移动速度为(2.5,5]情况下不同节点数量与平均端到端时延的关系。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图对本发明所述方案和效果作进一步详细描述。

本发明所述一种基于节点能量划分的AOMDV协议节能方法,包括以下步骤:

步骤一:源节点需要发送数据时检索自身路由表。

网络中节点的路由表结构如图2所示,其中w(u)表示节点u的剩余能量,marked_node用于记录节点是否被反向路径选中。若当前路径中下一跳节点被marked_node域标记为已被反向链路选中,则节点在转发数据时不会使用该路径,从而确保链路不相交来维持有效容错和实现路由快速恢复。

当某一源节点需要向目的节点传输数据时,源节点首先检查当前节点路由表中是否有到达目的节点的路径。

(1)如果源节点路由表中有到达目的节点的路径,则按照该路径信息将数据包传输至指定的下一跳节点。

(2)如果路由表中没有到达目的节点的路径,则源节点广播一个路由请求报文RREQ至它的所有邻节点。路由请求报文RREQ在AOMDV路由请求报文的基础上增加额外的字段:sum和P。sum的值等于esum(Pi(u0,un)),其中Pi(u0,un)为从源节点u0到目的节点un的所有路径中的第i条路径。esum(Pi(u0,un))则表示此路径上所有节点的剩余能量和。P用于记录路由请求报文(RREQ)经过的所有节点的剩余能量信息。在源节点检索路由表,sum值等于源节点剩余能量,P仅拥有源节点的剩余能量信息。

步骤二:接收路由请求报文RREQ的节点处理报文中的信息。

邻节点接收到路由请求报文后,做如下处理:

(1)更新该邻节点的路由表:将该邻节点路由表中所有下一跳为路由请求报文来源节点的路径中的w(u)更新为路由请求报文来源节点的剩余能量。

(2)更新路由请求报文:将该邻节点剩余能量加入路由请求报文中的字段P;将路由请求报文中的字段sum更新为当前节点的剩余能量与未更新前的sum之和。

步骤三:接收路由请求报文RREQ的节点判断自己是否为目的节点。

(1)若接收节点检查出报文中的目的地址与自身地址不相符,则检查该节点路由表中是否有到达目的节点的路径。若有,则按照该路径将路由请求报文传输至下一跳节点;若没有,则将路由请求报文转发至该节点除来源节点以外的所有邻节点,直到将路由请求报文发送到目的节点。

(2)若接收节点检查出报文中的目的地址与自身地址相符,即该接收节点为目的节点,则目的节点首先等待一段长为RREQ_Wait_time的时间,以便在这段时间内收到所有路由请求报文,目的节点将报文中的信息更新至自身的路由表中。此时目的节点拥有从源节点到达目的节点的所有路径中节点的剩余能量信息与剩余能量和信息。

步骤四:目的节点获取能量划分第一阈值、能量划分第二阈值并对节点分类。

目的节点根据收到所有的报文中的sum值以及节点总数得出能量划分第一阈值、能量划分第二阈值。通过以下方式具体获取两个参数的值:

(1)能量划分第一阈值:

其中Pi(u0,un)为从源节点u0到目的节点un中的所有路径中的第i条路径。esum(Pi(u0,un))即此路径上所有节点的剩余能量和,因此可得esum(P(u0,un))为从源节点u0到目的节点un中的所有路径上节点的剩余能量和。能量划分第一阈值eaverageNet(P(u0,un)),有:

其中为从源节点u0到目的节点un中的所有路径上节点的总数,因此能量划分第一阈值实际上为这所有节点的平均剩余能量。

(2)能量划分第二阈值:

目的节点在RREQ_Wait_time时间内共收到M个路由请求报文,目的节点将所有节点按照其剩余能量从大到小排序。

能量划分第二阈值=所有节点中剩余能量第M小的节点的剩余能量值。

得到能量划分第一阈值和能量划分第二阈值后,对节点进行分类,节点剩余能量小于能量划分第二阈值的节点为低能量类,剩余能量高于能量划分第一阈值的节点为高能量类,而剩余能量在两个能量划分阈值之间的节点为中能量类。能量划分第一阈值是网络中所有节点的平均剩余能量,因此任何剩余能量高于能量划分第一阈值的节点被认为是适合于传输的节点,将被优先用于数据传输。

步骤五:目的节点根据能量划分第一阈值、能量划分第二阈值选择路由应答报文RREP的传输路径。

目的节点向源节点发送一个路由应答报文,路由应答报文携带能量划分第一阈值和能量划分第二阈值,同时在传输过程中将路由应答报文到达节点的剩余能量更新到路由应答报文下一跳节点中,从而帮助节点更新自身邻节点的剩余能量。转发路由应答报文时,节点会根据节点类型,将RREP报文转发至节点类型与当前节点类型相同的节点。如果所有相邻节点的类型与当前节点的类型均不相同,则选择类型最低但高于当前节点类型的节点进行转发;如果没有比当前节点类型更高的邻节点,则选择剩余节点中类型最高的节点。每一个中间节点重复此过程直至路由应答报文到达源节点,源节点接收第一个路由应答报文RREP时,等待一段长为RREP_Wait_time的时间,以便在这段时间内收到所有路由应答报文,从而确定存在到达目的节点的路径,进而向目的节点传输数据。

步骤六:根据能量划分第一阈值、能量划分第二阈值选择数据包的传输路径。

源节点收到路由应答报文后,源节点将获得到达目的节点的所有路径上的节点更新过的剩余能量,当源节点需要传输数据包至这些节点中的任意一个时,路径中节点的类型均已知,数据包的传输路径选择可以到达目的节点的路径中下一跳剩余能量类型最高的进行转发,所有中间节点同样选择可以到达目的节点的路径中下一跳剩余能量类型最高的进行转发,直至数据包到达目的节点。

以上仅是对本发明的优选实施方式进行了描述,并不将本发明的技术方案限制于此,本领域技术人员在本发明的主要技术构思的基础上所作的任何公知变形都属于本发明所要保护的技术范畴,本发明具体的保护范围以权利要求书的记载为准。

本发明的效果可通过以下模拟实验进一步说明:

1.实验条件

本实验使用网络模拟器ns-2对本发明所述路由方法进行评估,每次模拟器均运行300秒的时间。每次模拟中产生恒定的比特速率,每秒运输4个大小为512字节的数据包。RREQ_Wait_Time和RREP_Wait_Time的值均设置为1.0秒,与AOMDV中的参数相同。

模拟在一个840×840米的环境中使用从30到190的不同的网络节点数量以获取不同的场景。使用随机路径点模型来模拟节点的运动,每个节点移动速度从0到5米/秒随机选择。无线电模型使用的特征类似于商业无线接口朗讯的WaveLAN,一种比特率为2Mbit/s,广播范围为250米的共享媒体广播,符合IEEE 802.11的标准。性能指标的获得是在一个随机选择的源节点和目的节点之间平均20多次的模拟运行得到的。假设节点在接受或传输时功率均为281.8mW。由于没有真正的节点能量优化可以在能源消耗空闲或过大的状态下达到,所以在模拟过程中不考虑能源消耗空闲或过大的状态。在模拟中,随机初始化节点使节点的能量在10到60焦耳之间均匀分布。模拟参数值如图3所示。

2.实验内容

通过比较本发明所述路由方法与AOMDV和ZD-AOMDV路由协议来评估本发明所述路由方法的性能。这是因为AOMDV已经被证明是一种健壮的路由协议而且在大多数模拟场景中表现得更好,而选择ZD-AOMDV则是因为它旨在改善自组织网络的生存时间,同时也与本发明所述路由方法有相同的特征,即反应性、多路径的特性,和使用AOMDV作为基本的协议。

三种不同的路由方法在网络节点数量等于190时的能量耗尽的节点数与模拟时间的关系如图4所示,相同时长下,本发明所述路由方法下能量耗尽节点的节点数量低于AOMDV和ZD-AOMDV协议。

图5显示了本发明所述路由方法,ZD-AOMDV,AOMDV协议的能量消耗状况与模拟时长的关系。本发明所述路由方法在模拟的开始阶段能耗相对另外两个协议而言并不好,但随后得到了提高。它虽然并不比ZD-AOMDV,AOMDV好,但是由于此时大部分数据尚未发送,此时发送和接收的数据包所消耗的总能量并不重要。在后一个阶段,随着时间的增加,一些节点的能量失调开始出现,本发明所述路由方法的开始体现出优势。可以看到,本发明所述路由方法消耗的能量小于ZD-AOMDV和AOMDV。

图6和图7显示了三种协议的平均端到端时延的对比。随着网络规模的不断扩大,三种协议的平均端到端延迟均有所增加,但本发明所述路由方法的平均端到端延迟低于ZD-AOMDV与AOMDV。图6和图7中可见,当节点的数量小于70时,使用相同路径的情况下ZD-AOMDV协议的平均端到端时延略优于本发明所述路由方法。而一旦网络规模的增加,本发明所述路由方法无论对于什么样的节点速度都将有更好的时延表现。

综合来看,本发明所述路由方法与ZD-AOMDV和AOMDV协议相比更有效地减少了能量耗尽的节点的数量。同时由于本发明所述路由方法在组建传输路径时选择能量更高的节点进行传输,从而有效的提高了传输质量,降低了平均端到端时延。本发明所述路由方法能够通过降低能耗和平衡网络中所有节点的能量消耗有效地延长节点生存时间,从而延长整个网络的生存时间。与此同时本发明所述路由方法也能降低端到端时延,提高数据传输的质量。

上述仅仅是为清楚地说明本发明所作的举例,并非对实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其他不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举,而由此所引申出的显而易见的变化或变动仍处于本发明的保护范围之中。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1