1.一种基于拥塞控制的无线传感器网络分簇式路由协议跨层优化方法,其特征是,它包括的内容有:基于缓冲区队列长度的拥塞检测策略、基于控制信息帧结构的拥塞通告策略、基于邻节点剩余能量与功率控制的拥塞解除策略,
1)所述基于缓冲区队列长度的拥塞检测策略:在拥塞检测过程中利用簇头节点以及其下一跳节点缓冲区队列长度进行拥塞检测,拥塞检测表示为(1)式:Lnew-j≤Lmax (1)
其中,Lmax表示缓冲区最大长度,Lnew-j为节点j的缓冲区预计长度,其计算为(2)式:
Lnew-j=Lcur-i+Lcur-j (2)
其中,Lcur-i为簇头节点i当前的缓冲区队列长度,即簇头节点i将转发给簇头节点j的数据的总长度,Lcur-j为簇头节点j当前的缓冲区队列长度,这里还需利用拥塞指数ρ来进行拥塞检测,拥塞指数ρ反映的是簇头节点j缓冲区长度的变化率表示为(3)式:其中,Lcur-j为簇头节点j当前的缓冲区队列长度,Llast-j是节点j在一个时隙Tslot之前的缓冲区队列长度,Lmax表示缓冲区最大长度,因为在第一次拥塞检测的过程中,如果节点j没有完成簇内的数据收集工作,那么簇头节点j的缓冲区队列长度仍然在增长,此时对簇头节点j进行拥塞检测是不准确的,如果ρ=0,说明簇内数据收集工作已经完成,此时可以进行拥塞检测,如果ρ>0则需要退避一段时间再进行拥塞检测,退避时间表示为(4)式:Tbackoff=|ni-nj|·Tslot (4)
其中,Tslot表示一个时隙的时间,Tbackoff为退避时间,ni,nj分别表示节点i和节点j簇内成员节点的数量,通过(1)式-(4)式来对下一跳节点进行拥塞检测;
2)所述基于控制信息帧结构的拥塞通告策略:在拥塞检测结束后,进入拥塞通告阶段,下一跳点在收到来自其它簇头节点的拥塞检测信息后,下一跳节点需要回复一个允许发送的数据包CTS,将拥塞信息回馈给簇头节点,下一跳节点将CTS数据包包头设置一个1比特的拥塞位CN(congestion level),CN=0表示无拥塞状态,CN=1表示拥塞状态,并将带有拥塞信息的CTS信息发送给簇头节点,簇头节点在收到CTS后通过判断拥塞位CN即可得知所选的下一跳节点是否处于拥塞状态;
3)所述基于邻节点剩余能量与功率控制的拥塞解除策略:如果在拥塞检测阶段检测到下一跳节点处于拥塞状态,则进入拥塞解除阶段,拥塞解除阶段总共分为两个阶段:①拥塞解除第一阶段:簇头节点在收到带有拥塞信息的CTS后,即可确认当前选择的下一跳节点是否会发生拥塞,如果发生拥塞,在当前邻节点范围内,逐级选择剩余能量更小的节点作为自己的下一跳节点,最终找到不会发生拥塞的下一跳节点转发数据;
②拥塞解除第二阶段:如果通过上述的方式没有完成拥塞控制,说明此时簇头节点的邻近区域存在着较为严重的拥塞情况,此时选择增大簇头节点的发送功率,扩大其邻近区域的覆盖范围,寻找新的邻节点进行数据的转发,调整后的发送功率表示为(5)式:P′T-i=PT-i+ΔPT-i (5)
其中,P′T-i为簇头节点i的调整后的新的发送功率,PT-i为簇头节点i当前的发送功率,ΔPT-i为功率步长调节因子表示为(6)式:其中,Eres-i为簇头节点i的剩余能量,Emax为节点的初始能量,Lcur-i为簇头节点i当前的缓冲区队列长度,Lmax表示缓冲区最大长度,PT-i为簇头节点i当前的发送功率,通过(5)式和(6)式找到新的邻节点,然后对新的邻节点进行拥塞检测,从中找到符合(1)式的邻节点进行数据的转发,最终完成拥塞解除。