1.一种基于跨层信息感知的无线多跳路由快速决策方法,其特征在于:包括以下步骤:步骤S1、路由发现步骤,各个节点发现邻居节点,组建Mesh网络;
步骤S2、路由维护步骤,当网络中某个节点发生故障或从网络中消失时,路由协议快速收敛;以及步骤S3、路由使用步骤,引入网络控制器,获取网络中所有节点状态信息,将网络动态性与业务动态性引入路由选择过程,根据不同业务类型按需路由;
步骤S1还包括以下步骤:
步骤S1.1、每个节点组建OGM广播包,广播包的内容主要包括ttl、序列号、源节点的MAC地址、上一跳节点的MAC地址、链路传输质量;
步骤S1.2、节点收到OGM包后更新路由表,主要更新内容为本地节点与一跳邻居之间的链路质量以及本地节点可达的源节点链表;以及步骤S1.3、根据收发OGM包的数量计算链路质量,链路质量分为RQ:接收链路状态、EQ:回环链路状态和TQ:传输链路状态三部分;
步骤S3还包括以下步骤:
步骤S3.1、控制器汇总所有节点的状态信息;
步骤S3.2、控制器汇总各个节点上传的信息,通过内存使用率、CPU利用率、网络负载信息得出所有节点的负载情况,对节点的负载情况从小到大排序,选出前30%负载较小的节点;
步骤S3.3、对于对时延要求较高的语音业务,选择走跳数最少的路径;以及步骤S3.4、对于对吞吐量要求较高的视频业务,选择走吞吐量较大的路径;
步骤S3.1还包括以下步骤:
步骤A3.1.1、通过Alfred服务器实现控制器与普通节点间的数据交互,控制器周期性的广播“priminary”消息来通告自己控制器的身份;
步骤A3.1.2、普通节点周期性的上传自身状态信息至控制器;其中,每隔10s上传MAC地址、内存使用率、CPU利用率、网络负载信息至控制器;
3
在步骤S3.2中,根据协议中传输链路质量的公式:TQlocal×TQOGM×(1‑(1‑RQ))×hop_penalty,控制器下发策略减小跳数惩罚系数hop_penalty来增大链路的TQ值,以增大这些空间节点被路由的概率;对于普通的物联网数据业务或TFP对网络状况要求不高的业务,将会在这几条空闲的链路上传输;
在步骤S3.3中,每个普通节点运行最短路径算法,得到去往其他节点的最短路径,并将获取的路径以ip的形式上传至控制器,控制器对每条路径上的节点下发策略,根据源ip、目的ip以及端口号,下发指令iptables‑t nat至各个节点;当有语音业务请求,将会根据控制器下发的路径路由;以及在步骤S3.4中,每个节点通过batctl指令测量与邻居节点之间的吞吐量,将测量到的吞吐量大小上报给控制器;当环境不发生变化时吞吐量的大小稳定,测量周期为3分钟;将吞吐量作为链路权值,获得去往每个节点的最佳路径,与获得最少跳数下发的控制信息相似,由控制器下发指令至各个节点;
RQ表示收到邻居接口的OGM包数量,本节点收到某个邻居节点发送的广播包时,首先检查报文中的序列号是否是最新的,如果是就把这个报文放入滑动窗口中,滑动窗口向前移动,最新位置为'1',移出滑动窗口外的报文就会被丢弃;在规定的时间内,通过滑动窗口中'1'的数量来统计本时间段内收到的来自该邻居的OGM报文数量,即可对所有邻居接口的RQ值进行计算;EQ也使用滑动窗口来计算;得到EQ和RQ后即可计算得本地的TQ值,本地的TQ计算公式为: 在考虑不对称链路的影响下,本地TQ计算公式为:TQlocal=3
TQlocal×(1‑(1‑RQ))。
2.根据权利要求1所述的方法,其特征在于:步骤S2还包括以下步骤:当节点发生故障或离开网络,将导致其他节点与该节点之间的传输链路质量变为0,则所有路由将不会经过该节点,因此节点的故障不会影响网络的正常运行;同时协议也给了故障节点恢复时间,当
200秒内重新收到该节点广播的数据包,将不从网络中删除该节点。
3.根据权利要求1所述的方法,其特征在于:在源节点进行消息发送时,设置TQ字段,这个字段是8位的,最大值为255;在本地节点接收到了邻居节点发送的广播包后,会计算出本地传输质量,同时会抽取出消息中的TQ字段;在重新广播时,本地节点根据本地传输质量和抽取出的TQ字段重新计算一个全局传输质量,放入重广播消息中向外传输,公式为:TQ=TQlocal×TQOGM;最后考虑跳数对链路质量的影响,每经过一跳就乘上跳数惩罚系数hop_3
penalty,从而获得协议TQ的计算公式为:TQ=TQlocal×TQOGM×(1‑(1‑RQ))×hop_penalty。
4.一种实施如权利要求1‑3任意一项所述的基于跨层信息感知的无线多跳路由快速决策方法的系统。