3.3 无线传感器网络数据链路层的关键问题
与传统的无线网络相比,无线传感器网络的MAC协议首先要考虑的问题就是减小能量消耗,因此无线传感器网络必须在能量消耗和系统的时延、吞吐量等性能之间进行必要的折中。在无线传感器网络中,MAC协议的多余能量消耗主要体现在以下几个方面。
• 碰撞:在无线信道上,如果有两个节点同时发送数据,那么这两个发送节点都将发射不成功,这会造成能量的大量浪费。
• 持续侦听:在无线传感器网络中的接收节点无法预测数据何时到达,另外每个节点还需要侦听各节点的拥塞状况,因此节点必须始终保持侦听状态,以防特殊情况的发生,但这里包含了许多没必要的侦听,从而浪费了许多能量。
• 控制开销:为了保证无线传感器网络的可靠性,MAC层协议需要使用一些控制分组来调节节点状态,但这些控制分组中不存在有用的数据,因此也要消耗一部分的能量。
在现已提出的无线传感器网络MAC协议中,还有许多问题没有解决,这些问题已经成为无线传感器网络研究中比较热门的关键性技术问题,这些问题的解决能够有效地提高整体网络的性能,下面对这些问题进行简要的归纳。
1. 能量效率问题
在传感器网络中,节点一般都是靠干电池来供电的,但是从无线传感器网络的构成出发,由于无线传感器网络的节点是随机撒播的,在一些人力所不能及的地区,无线传感器网络节点的电池是不可替换的,因此无线传感器网络MAC协议的设计首先要考虑降低能耗,提高节点的寿命。在无线传感器网络MAC协议中,降低能耗的主要方法是进行节点睡眠的调度,降低协议的复杂度。
在无线传感器节点中,能量消耗主要体现在无线通信上面,无线通信模块一般有4个状态,即发送、接收、空闲和睡眠,在这4个状态中,能量消耗逐级递减。为了保证无线传感器网络能够最大限度地节省能量,这就要求节点大部分时间应处在睡眠状态;同时又要求节点能够实时接收到发送给它的数据,因此MAC协议交替使用侦听和睡眠状态。侦听时间过短会影响网络的实时性,侦听时间过长又不利于节省能量,因此协议必须合理选择节点侦听和睡眠的时间比例。另外,还需考虑睡眠期间节点的接收问题和唤醒期间节点收发的最大利用率问题,以最大限度地节省能量。
此外,由于无线传感器网络本身存在一些限制条件,如节点处理能力和通信能力有限等,所以无线传感器网络MAC层协议不能使用非常复杂的协议。例如,一些控制信息或者帧头没有传输有用的信息,这也相当于一种能量的消耗,在设计协议时,应当把这些环节设置得尽量简单些,以减少不必要的能量浪费,延长节点的生命周期。
2. 可扩展性
无线传感器网络与其他无线网络相比,具有规模大、分布密集等特点。其规模大,有时甚至多达成百上千万个节点,如气象监测中使用的节点。受于其自身的限制,无线节点可能由于各种原因(如电池电量耗尽、元件损坏等)而退出网络,或者由于新增加节点而使得网络必须重新布置,有些节点的位置甚至能够移动,网络的节点分布结构会动态变化,因此无线传感器网络的MAC协议必须具备可扩展性。
3. 公平性
在无线传感器网络中,公平性主要体现在两个方面:一方面是每个节点都有相同的权利来访问信道;另一方面就是每个节点的能量消耗保持大概的平衡,从而延长整个网络的寿命。但是由于无线传感器网络是一个无中心的网络,因此要实现无线传感器网络的公平性是比较困难的,一般这方面的实现在上层体现得比较多。
4. 信道共享问题
一般来说,在无线网络中存在三种信道共享方式,即点对点、点对多点、多点对多点,无线传感器网络采用的就是多点对多点共享方式,更准确地说应该是以一种多跳共享方式,每一个节点不受自己通信范围外其他节点的影响,自己可以发送和接收信号,也可以说这是一种信道的空间复用方式。
信道共享带来的第一个问题就是信道上数据的冲突。当同一信道上有两个节点都在发送数据时,若它们相互干扰则将导致数据包发送不成功,这会使数据的时延增加,也将消耗一些不必要的能量,因此避免信道上的冲突是信道共享所必须考虑的一个问题。在现已提出的协议中,采用得最多的就是CSMA/CD协议,碰撞之后随机等待一段时间再发送,可以有效地避免碰撞。
信道共享带来的第二个问题就是串扰。在一个共享的无线信道中,每个节点都能够接收到在信道中传输的数据,但是有许多数据是自己不需要的,接收之后再将其抛弃,在这个过程中也将造成能量的大量浪费。