1.一种基于rssi的改进型olsr路由协议的实现方法,其特征在于,在一跳邻居表和两跳邻居表项中扩展rssi值字段,一跳邻居表用于记录节点与邻居节点之间rssi值,两跳邻居表用于记录邻居节点与该邻居节点的其他邻居节点之间的rssi值;
具体包括以下步骤:
步骤s1,遍历一跳邻居表,根据节点与其邻居节点链路情况,计算每个节点与其邻居节点之间的最佳一跳路径或者最佳一跳路径和最佳二跳路径,并创建最佳路由表;
如果节点与其邻居节点是双向对称邻居,则根据一跳邻居表项中的rssi值做判定:
如果节点与其邻居节点的rssi值低于最低门限值,则不能将该邻居节点直接加入到最佳路由表中,而是在该节点的两跳邻居表中查找是否存在能够到达该邻居节点的其他邻居节点,将能够到达该邻居节点的其他邻居节点记为待选其他邻居节点,如果存在待选其他邻居节点,则从一跳邻居表中获取该节点到待选其他邻居节点的rssi值,记为待选一跳rssi值,从二跳邻居表中获取该邻居节点到待选其他邻居节点的rssi值,记为待选二跳rssi值,将待选其他邻居节点的待选一跳rssi值与待选二跳rssi值输入到优选其他邻居节点判断条件中进行判断:
如果某一待选其他邻居节点符合优选其他邻居节点判断条件,则将该待选其他邻居节点作为优选其他邻居节点,并将该节点到优选其他邻居节点再到其邻居节点之间的路径作为该节点到其邻居节点之间的最佳二跳路径,并记录到最佳路由表中;
如果所有待选其他邻居节点都不符合优选其他邻居节点判断条件,则该节点与其邻居节点的rssi值作为一跳最佳rssi值,将该节点与其邻居节点之间的路径作为该节点到其邻居节点之间的最佳一跳路径,并记录到最佳路由表中;
遵循如上规则,遍历每个节点,计算该节点到其邻居节点之间的最佳一跳路径和最佳二跳路径,并记录到最佳路由表中;
步骤s2,遍历两跳邻居表,找到该节点的绝对两跳邻居,所谓绝对两跳邻居为,该节点的邻居节点的邻居节点但不是该节点自身的邻居节点,将能够到达绝对两跳邻居的邻居节点记为待选一跳邻居,从最佳路由表中获取待选一跳邻居对应的一跳最佳rssi值、最佳一跳路径,从两跳邻居表中获取待选一跳邻居到绝对两跳邻居的rssi值,由一跳最佳rssi值和待选一跳邻居到绝对两跳邻居的rssi值计算得到待选绝对两跳rssi值;选取所有待选绝对两跳rssi值中最大的待选绝对两跳rssi值作为最佳绝对两跳rssi值,则最佳绝对两跳rssi值所对应的待选一跳邻居为优选一跳邻居,则该节点到优选一跳邻居再到绝对两跳邻居之间的路径为最佳二跳路径,并记录到最佳路由表中;
步骤s3,最后根据拓扑表,依次遍历两跳以上的路由表,直至计算网内所有节点的可达路径,结束最佳路由表的计算,产生全部的路由表。
2.如权利要求1所述的基于rssi的改进型olsr路由协议的实现方法,其特征在于,所述一跳邻居表中节点与邻居节点之间rssi值由本节点从底层测量直接获取,两跳邻居表中的rssi值是通过hello消息广播获取。
3.如权利要求1所述的基于rssi的改进型olsr路由协议的实现方法,其特征在于,在步骤s1中,如果节点与其邻居节点的rssi值不低于最低门限值,则该节点与其邻居节点的rssi值作为一跳最佳rssi值,将该节点与其邻居节点之间的路径作为该节点到其邻居节点之间的最佳一跳路径,并记录到最佳路由表中。
4.如权利要求1所述的基于rssi的改进型olsr路由协议的实现方法,其特征在于,在步骤s1中,如果不存在待选其他邻居节点,则该节点与其邻居节点的rssi值作为一跳最佳rssi值,将该节点与其邻居节点之间的路径作为该节点到其邻居节点之间的最佳一跳路径,并记录到最佳路由表中。
5.如权利要求1所述的基于rssi的改进型olsr路由协议的实现方法,其特征在于,在步骤s1中,优选其他邻居节点判断条件如下:
条件1,如果待选其他邻居节点的待选一跳rssi值低于最低门限值,则该待选其他邻居节点不是优选其他邻居节点;
条件2,如果待选其他邻居节点的待选二跳rssi值低于最低门限值,则该待选其他邻居节点不是优选其他邻居节点;
条件3,如果待选其他邻居节点的待选一跳rssi值和待选二跳rssi值都不低于最低门限值,则计算该节点到待选其他邻居节点再到其邻居节点之间的相对rssi值,并选取最大的相对rssi值所对应的待选其他邻居节点作为优选其他邻居节点。
6.如权利要求5所述的基于rssi的改进型olsr路由协议的实现方法,其特征在于,相对rssi值计算公式如下:rssi(z)=arssi(x)+brssi(y);
其中,rssi(z)为相对rssi值,rssi(x)为待选一跳rssi值,rssi(y)为待选二跳rssi值,a、b为比例系数。
7.如权利要求5所述的基于rssi的改进型olsr路由协议的实现方法,其特征在于,优选其他邻居节点的相对rssi值为一跳最佳rssi值。
8.如权利要求1所述的基于rssi的改进型olsr路由协议的实现方法,其特征在于,在步骤s2中,从两跳邻居表中获取待选一跳邻居到绝对两跳邻居的rssi值低于最低门限值,则该待选一跳邻居不是优选一跳邻居。
9.如权利要求1所述的基于rssi的改进型olsr路由协议的实现方法,其特征在于,在步骤s3中,遍历两跳以上的路由表,选取节点与两跳以上目标节点之间的所有能够到达路径中rssi值最大的路径作为节点与两跳以上目标节点之间的两跳以上最佳路径,并将两跳以上最佳路径记录在路由表中。
10.如权利要求9所述的基于rssi的改进型olsr路由协议的实现方法,其特征在于,选取两跳以上最佳路径时,将该节点到前一跳节点的最佳rssi值,记为前一跳最佳rssi值,该节点到前一跳节点的最佳路径记为最佳前一跳路径,前一跳节点到目标节点之间的最佳rssi值记为目标最佳rssi值,并根据前一跳最佳rssi值与目标最佳rssi值计算两跳以上最佳rssi值,并所有的两跳以上最佳rssi值进行比较。