1.一种基于深度与能量加权和转发区域划分的水下机会路由,其特征在于,包括以下步骤:
获取接收到的数据包的深度和能量信息,并判断所述数据包类型,所述数据包类型包括邻居请求数据包、应答数据包和转发数据包;
根据所述数据包中是否有潜在节点,判断是否更新邻居表;
根据对应的所述数据包类型,进行转发区域和权限的划分;
基于深度和能量加权策略计算对应的加权保活时间,并基于所述保活时间转发对应的所述数据包;
根据对应的所述数据包类型,进行转发区域和权限的划分,包括:根据邻居表信息不为空的所述转发数据包,利用三个半径相同的三个圆相交对转发区域进行划分,得到三个转发区域,三个所述转发区域包括一个主转发区域和两个辅助转发区域,其中,节点的传输距离为R,主转发区域S0是由三个半径为R的三个圆相交得到的Reuleaux三角形;根据Reuleaux的性质,Reuleaux三角形内两点之间最大距离为R,S1和S2是S0的两个辅助转发区域;S1和S2也是两个宽度为R的Reuleaux三角形的一部分,在S0内的节点可以从S0内的任何其它节点接收到数据包,S2内的节点同样可以从S2内的任何其它节点接收到数据包,并且S1和S2相互独立,根据节点密度对三个所述转发区域进行权限划分,自适应选择辅助区域是否参与数据转发;
基于深度和能量加权策略计算对应的加权保活时间,并基于所述保活时间转发对应的所述数据包,包括:
数据包转发优先级通过计算转发时间ST来实现,节点ST越早则转发优先级越高;每个节点接收到数据包后,首先要计算出数据包的发送时间ST和包的保活时间HT,当节点接收到数据包后并不是马上转发出去,而是先保持HT再发送,其中,ST与HT的关系为:ST=接收到数据包的时间+HT。
DEWFAD使用深度和能量加权策略选择最佳下一跳节点,加入权值后的HT计算如公式(1)。
其中,R表示传感器的最大传输距离,v0表示水声传播速度,Ecur和Einit分别表示当前节点剩余能量和节点的初始能量,δ1和δ2是可随具体环境要求取值,H表示深度差,如式(2)计算得;
H=αhcur+(1‑α)hnext (2)其中,α表示深度加权系数,hcur表示当前节点的深度,hnext表示可能下一跳节点的深度,可从存放在节点中的邻居表取得;
基于加权后的所述保活时间,判断在加权后的所述保活时间内是否接收到相同的所述转发数据包,并将相同的所述转发数据包丢弃后,直至到达所述转发时间时,将对应的所述转发数据包转发至下一跳节点。
2.如权利要求1所述的基于深度与能量加权和转发区域划分的水下机会路由,其特征在于,根据所述数据包中是否有潜在节点,判断是否更新邻居表,包括:判断所述数据包中是否有潜在节点,若没有潜在节点,则丢弃当前所述数据包,若具有潜在节点,则分别对所述数据包中的邻居请求数据包、应答数据包和转发数据包中的邻居表信息进行更新。