摘 要 在无线传感器网络中,与平面路由协议相比分簇路由协议具有一定优势。本文以leach协议为例,对分簇路由协议进行了分析。leach协议是单跳同构网络协议,本文通过对比单跳网络和多跳网络的能量消耗,说明多跳网络更节能,所以从节约能量的角度出发,用多跳路由的理论对leach协议进行补充,表明在leach协议中采用多跳路由理论的优势。
关键字 分簇路由协议;leach协议;多跳路由;能量消耗
1 引言
无线传感器网络路由协议按照最终形成的拓扑结构,可以划分为平面路由协议和层次路由协议[1]。在平面路由协议中,所有节点的地位是平等的,可扩充性比较差,维护动态变化的路由需要大量的控制信息。在层次结构的网络中,群成员的功能比较简单,不需要维护复杂的路由信息。这大大减少了网络中路由控制信息的数量,具有很好的可扩充性。同其它通信网络一样,传感器网络的主要设计属性之一是可扩展性。随着传感器节点密度的增加,单层网络可能会引起网关节点负载过重。这种过重负载可能会引起通信延迟和不能及时跟踪监测事件。另外,对于覆盖更大区域的大规模传感器网络,由于传感器节点不支持长距离通信,单层网络结构将是不可扩展的。为了使系统能够在不降低服务质量的情况下处理额外的负责和覆盖更大范围的区域,人们采用了分簇的方式组织传感器网络。
分簇式路由协议与其他路由协议相比具有一定的优势[2]:
(1)分簇式路由协议消耗能量少且能量消耗分布均匀,能有效的延长网络寿命,平衡网络负载。wwW.lw881.com
(2)分簇式路由协议是基于某种簇形成策略,选举产生一个较为稳定的子网络,从而减少了拓扑结构变化对路由协议带来的影响。
(3)簇头节点对所在簇内的节点进行管理,能方便地向基站传达节点的各种信息,例如能量、安全性、故障等。另外基站通过头节点可以有效地向网络中其他节点发送命令,这是平面路由所不能有效实现的。
2 leach协议
分簇结构的簇首的选举是基于传感器节点的能量储备情况。leach协议是最早被提出的层次路由协议。虽然有一些层次路由协议独立于leach协议而单独开发的,但大多数层次路由协议是收到leach协议的启发。
2.1 leach算法的物理模型
在leach的路由算法中,使用的能量消耗公式是一阶无线电模式[3](first order radio model)。
leach协议的这个模式基于以下假设:
(1)网络里所有节点完全相同并且能量非常有限。
(2)无线电信号在各个方向上能量消耗相同。
(3)汇聚节点(基站)是固定的,并且离整个无线传感器网络较远。
传感器节点发送k bit数据所消耗的能量为:
传感器节点接收k bit数据所消耗的能量为::
其中是信号放大器的放大倍数。是发送电路和接收电路消耗的能量,由于实际相差不大,在这个模式里面简化为两者相等。而β是由无线电通道决定的常量。d是信号传输的距离。其中,这意味着,信号传输距离越短,能量消耗越少。在发送距离较近时,适用自由空间信道模型,取β=2;而当发送距离较远时,适用多径衰落信道模型,取β=4,也称之为双路径模型[4]。
2.2 leach协议的不足之处
(1)由于每轮固定类首之后再建立簇类,所以簇头的开销比较大,并且离散式区域算法虽然对于节点位置等要求不高,但无法做到最优。
(2)由于leach要求节点之间以及节点与基站之间均可以直接通信,所以网络的扩展性不强,并且不适用于大型网络。
(3)leach的传输距离较远,并且数据融合相对较少,这就要求传输更多的数据到更远的距离,从而加大了能量消耗。
3.2 多跳网络能量分析
在多跳路由协议中,节点能耗与距离的关系可表示为::
其中d是离基站最远的节点与基站的距离,k是任意一节点到基站的距离。由图2可知,节点距离基站较近时能耗很大,距离远时能耗少。
由图2和图3可知,当节点之间的距离较远时,采用多跳路由的方式传输数据更能节省能量,而leach协议的假设前提条件之一便是汇聚节点(基站)是固定的,并且离整个无线传感器网络较远,所以对leach协议而言,采用多跳算法比较能够节约能量。
4 对leach协议的改进
多跳通信能够节约能量,提高网络的负载均衡。源节点通过将数据发往邻近的节点而不是相距很远的簇头,可以达到减少单个节点能耗,平衡网络负载的作用。通过多跳路由的方式来平衡分簇结构网络的负载,它可以有效避免某些簇头节点因为距离基站较远而导致过早死亡,从而延长了网络的生命周期。这包括两个方面,一个是簇头节点间的多跳通信,一个是簇内普通传感器节点的多跳通信[5]。
4.1 簇间采取多跳通信
在leach协议中,各个簇头节点是直接与基站通信,采取一跳通信方式(或称直接通信)。但是簇头节点距离基站往往比较远,远距离的数据传输会大大消耗簇头节点的能量,所以考虑簇间采取多跳通信方式以节省能耗。
4.1.1 参数设置
(1)簇类半径r:簇类覆盖区域的大小是以r为半径的圆形区域,只有在簇头节点通信半径r内的节点才能成为此簇类的成员;
(2)权值w:
其中,eresidual为节点剩余能量,emax为节点初始最大能量,dtobs为节点到基站的距离,dmax为传感器节点范围内离基站最远的距离。这样,距离基站较近且能量足够的簇头节点将优先成为根节点。若发生权值相等的情况,则根据节点的id大小来选择父节点。权值综合考虑了节点能量和距离基站的距离。
4.1.2 簇头节点间多跳路径的形成
簇类形成之后,簇头节点在其覆盖半径r内广播其自身权重(weight)消息,消息包含其节点id以及权值w。各簇头节点比较自身的权值和收到的weight消息中包含的权值,若本节点权值较小,则选择权值最大的节点作为父节点,并发送加入(join)消息通知父节点,权值最大的节点将成为树的根节点。这样就形成了簇头节点间多跳通信的路径。簇头节点沿着路径将收集到的数据进行融合并传送给父节点,一级一级传递直至数据传送到基站。若节点未收到任何weight消息,说明此簇类周围没有其它簇类存在,那么这个节点就直接与基站通信。这种情况可能发生在节点已绝大部分死亡或节点密度小导致簇类的分布较为稀疏时。