1.一种应用于水声传感器网络的地理路由协议方法,其特征在于:包括如下步骤S1,邻居信息获取:利用每个节点的广播和接收请求包来获取邻居节点的位置信息;
S2,计算ETX:通过接收请求包的个数来计算自身的ETX,计算得到的ETX被用于划分高丢包率区域和低丢包率区域;
S3,路由转发:节点采用分区域转发的方式将数据包从源节点路由到目的节点;根据转发偏离角公式求取θ值,来确定转发区域和非转发区域,再根据节点距离计算公式求取L值,来确定低丢包率区域和高丢包率区域,在低丢包率区域中的各节点采取机会路由转发方式,在高丢包率区域的各节点采取泛洪转发方式;所述转发偏离角公式为将偏离角小于θ的区域划分为转发区域,大于θ的区域划分为非转发区域,其中θmax,θmin表示具有正向进度节点集合中的所有邻居节点的最大偏离角θmax和最小偏离角θmin,|SPADV|为|SPADV|集合中元素的个数,α由整个传感器网络的密度决定,α=γM/D,其中M为传感器网络的总节点数,D为传感器网络的拓扑体积,γ为任意大于0的实数,α越大,θ随正向节点度的增加而减少的越快;
所述节点距离计算公式为
其中Distmin为距离最短的邻居节点,Rc为通信范围, 表示平均期望转发次数,β由总体估计丢包率决定,β≥0,β越大,L随 增加的越缓慢;
其中计算 的过程为:
在获取邻居信息的同时,节点通过获得Req包的个数,来估算期望转发次数为了保证节点计算的ETX准确,需要预留出信号单程传播时间和抖动时间,在每个周期Treq的基础上,延时TETX后计算ETX,ETX计算周期,最大传播时间和最大抖动时间需满足下面条件:TETX≥Tmaxtt+Tmaxjit
其中Tmaxtt和Tmaxjit分别为最大传播时间和最大抖动时间,由于Tmaxtt与Tmaxjit远小于Treq拓扑变化时间,取TETX≥1/2Treq,节点在定时时间TETX到达后,首先将Req发送的总轮数N加1,之后由公式rj=nj/N计算mi与各个邻居节点的单程收包率,nj表示mi接收到来自邻居节点mj的Req数,每接收到一次,mi自身存储的对于mj的计数器加1;
在路由协议中,当一个节点mi广播的数据包被其邻居节点mj转发后,mj需要广播一个应答包Ack,当mi收到Ack时,即知道数据包已被其他节点成功转发,不再重传该包,因此只有当mi成功接收到Ack时,才可认为数据包已被邻居节点成功转发,考虑到同构的水下传感器网络,单程收包率rj的平方才可表示平均往返收包率;
将每个邻居节点的平均往返收包率计算出来后,利用下面公式求出平均往返收包率,其中|SPADV|表示|SPADV|集合中的节点个数,将 取倒数后算出平均期望转发次数
2.根据权利要求1所述的一种应用于水声传感器网络的地理路由协议方法,其特征在于:所述机会路由转发方式公式为其中E(mj)表示节点当前的能量值,Emax表示节点的最大能量值, 表示节
点的进度比,当节点的剩余能量越大,节点的进度比越大时,节点的优先级越高。