一种基于路由条目数的RPL路由负载均衡方法

文档序号:34158475发布日期:2023-05-14 18:17阅读:185来源:国知局
一种基于路由条目数的RPL路由负载均衡方法

本发明属于ipv6无线传感器网络,具体涉及一种基于路由条目数的rpl路由负载均衡方法。


背景技术:

1、无线传感器网络的现代协议有效地支持从多个传感器到采集点的多跳上行流量,这是实现监控应用的关键功能。然而,涉及低功率无线设备的场景越来越需要对下行流量的支持,例如,使控制器能够基于所监测的数据发出制动命令。用于低功耗和有损网络的ietf路由协议(rpl)是解决这两种业务模式的少数协议之一。与上行流量相比,它对下行流量的支持非常不可靠,效率也很低。

2、对于下行流量,rpl确定了两种截然不同的操作模式:存储和非存储。在非存储模式中,根是网络中唯一具有路由表的节点,该路由表维护网络上的全局视图,从包含每个节点的dao父级的dao数据包中学习。当发送数据包时,采用源路由;根计算端到端路由路径,并将其作为转发器的完整列表附加到数据包。相反,在存储模式中,路由状态分布在整个网络中;每个节点都维护一个路由表,列出从接收到的dao中学习到的所有后代(子dodag中的节点)的下一跳转发器。

3、然而,这两种模式都存在一定的限制,存储模式允许选择更可靠的路由路径,但在资源受限设备的大型网络中会受到影响。非存储模式改善了这个问题,但由于与源路由相关的大量报头,导致了开销和不可靠性。因此,本发明基于rpl存储模式进行改进,设计相应的dodag构建方案,期望通过构建负载相对平衡的网络来平衡节点的资源消耗,以构建更为可靠的下行路由路径。


技术实现思路

1、为无线传感器网络路由协议rpl协议能够更好的支持下行流量,保证下行流量的可靠性和效率,缓解存储模式下因负载失衡导致的路由资源提前耗尽问题,本发明提出一种基于路由条目数的rpl路由负载均衡方法,具体包括以下步骤:

2、s1.已加入dodag的节点xi向其所有邻居节点广播dio控制报文xi,i=1,2,...,n,n表示dodag中节点总数,节点xi广播的dio控制报文中携带有自身的目标函数、路由条目数、路径度量信息和rank值;

3、s2.邻居节点α接收dio控制报文xi,并判断自己是否已加入dodag;若不是,则执行步骤s3,若是,则执行步骤s6;

4、s3.将节点xi作为邻居节点α的父集成员,并在邻居节点α的邻居表中添加节点xi的ip地址,然后执行步骤s4;

5、s4.结合dio控制报文xi携带的路径度量信息更新邻居节点α的rank值,再更新邻居节点α的路由条目数,然后执行步骤s5;

6、s5.采用目标函数确定邻居节点α的最优父节点和次优父节点,再采用负载平衡方法使邻居节点α与最优父节点或次优父节点建立连接加入dodag,实现路由节点间的负载平衡;

7、s6.若邻居节点α的目标函数与dio控制报文xi中的目标函数一致,则结合dio控制报文xi携带的路径度量信息更新邻居节点α的rank值;

8、s7.若邻居节点α更新后的rank值小于更新前的rank值,则采用父节点切换方法进一步优化路由节点间的负载平衡。

9、进一步的,采用目标函数确定邻居节点α的最优父节点和次优父节点的过程包括:

10、s11.邻居节点α根据目标函数计算自身与每一个父集成员的目标函数值;

11、s12.将所有目标函数值升序排列,选择最小目标函数值对应的父集成员作为邻居节点α的最优父节点,选择次小目标函数值对应的父集成员作为邻居节点α的次优父节点;

12、s13.将最优父节点与次优父节点的ip地址添加到邻居节点α的路由表中。

13、进一步的,邻居节点α采用基于路由条目数设计的目标函数lbofre(pnα),其表示为:

14、

15、其中,pm(pnα)表示邻居节点α与其某一父集成员间的路径度量信息,表示邻居节点α的某一父集成员的祖先节点所储存的路由条目数,表示邻居节点α的祖先节点所储存的路由条目数;r表示邻居节点α的rank值。

16、进一步的,采用负载平衡方法使邻居节点α与最优父节点或次优父节点建立连接加入dodag的过程:

17、s21.获取邻居节点α的祖先节点所存储的路由条目数;

18、s22.获取邻居节点α最优父节点的祖先节点所存储的路由条目数;

19、s23.获取邻居节点α次优父节点的祖先节点所存储的路由条目数;

20、s24.基于s21-s23获取的结果,采用父节点概率公式计算邻居节点α的最优父节点和次优父节点分别被选做父节点的概率;邻居节点α结合概率选择最优父节点或次优父节点建立连接加入dodag。

21、进一步的,父节点概率公式表示为:

22、

23、其中,p(lbofre(pnα))表示邻居节点α的父节点被选做父节点的概率,表示邻居节点α的父节点的祖先节点所储存的路由条目数,表示邻居节点α的祖先节点所储存的路由条目数。

24、进一步的,假设邻居节点α已加入dodag,且接收到两个及以上的已加入dodag的节点发送的dio控制报文,将邻居节点α连接的父节点称为第一父节点,未被连接的父节点称为第二父节点,步骤s7中采用父节点切换方法优化路由节点间的负载平衡的过程包括:

25、s31.计算邻居节点α与自身接收到的dio控制报文的发送节点间的目标函数值,得到第一数值集合;

26、s32.获取邻居节点α与其当前的第一父节点间的目标函数值y1,判断第一数值集合中是否存在小于目标函数值y1的目标函数值,若存在,则执行步骤s33,若不存在,则执行步骤s34;

27、s33.邻居节点α在路由表中移除当前的第一父节点及其相连子节点的信息,并采用第一数值集合中最小目标函数值对应的发送节点做邻居节点α的第一父节点,并建立连接关系;在第一数值集合中删除最小目标函数值得到第二数值集合,然后执行步骤s35;

28、s34.获取邻居节点α与其当前的第二父节点间的目标函数值y2;若第二数值集合中存在小于目标函数值y2的目标函数值,则采用第二数值集合中最小目标函数值对应的发送节点做邻居节点α的第二父节点,邻居节点α在路由表中更新第二父节点的ip地址;

29、s35.获取邻居节点α与其当前的第二父节点间的目标函数值y2;若第一数值集合中存在小于目标函数值y2的目标函数值,则采用第一数值集合中最小目标函数值对应的发送节点做邻居节点α的第二父节点,邻居节点α在路由表中更新第二父节点的ip地址。

30、进一步的,rank值的计算公式为:

31、

32、rank(α)=rankbase(α)+rankinc(α)

33、其中,c表示人为设定的固定常量,p=null表示邻居节点α没有父节点,pnbr=null表示邻居节点α的父节点没有邻居节点,lm表示邻居节点α与其父节点间的路径度量信息,rankinc(α)表示邻居节点α相对于其父节点的rank增加值,rankbase(α)表示邻居节点α的父节点的rank值,rank(α)表示邻居节点α更新后的rank值。

34、本发明的有益效果:

35、本发明基于rpl存储模式进行改进,设计相应的dodag构建方案,通过构建负载相对平衡的网络来平衡节点的资源消耗,以构建更为可靠的下行路由路径。

36、本发明能够在一定程度上减缓节点路由资源的提前耗尽,避免因路由资源提前耗尽导致的下行路由建立失败,避免节点同时被多个节点选择为最优父节点导致的网络拥塞,同时建立一个负载相对均衡的无线传感器网络以延长整个网络的平均寿命。

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