1、路由问题
路由协议的目的是在源节点和目的节点之间建立可靠的路由,保证数据的传输。传
感器网络由于节点数量多,为了避免由于节点地址带来的大量的负荷,不可能构造一个全球的地址方案;此外,由于节点能量受限且大都处于静止状态等特点,使得传感器网络不能采用传统的基于IP 的路由协议,并且Ad hoc 网络中现有的路由协议,如动态源路由协议(Dynamic Source Routing, DSR)和基于距离矢量的按需路由(Ad hoc On Demand Distance Vector, AODV) 协议等,也不完全适用。为传感器网络设计的路由协议可以分为两类:平面型路由协议和分层路由协议。平面型路由协议中,各传感器节点在网络中的地位或作用是一样的,最典型的平面型无线传感器网络路由协议是信息协商传感器协议(Sensor Protocols for Information via
Negotiation, SPIN)和定向扩散(Directed Diffusion, DD)协议,其它的许多平面型协议都是对这两个协议的某些方面进行的改进。而分层路由协议中,网络中节点的功能是不完全相同的。一般是将网络中的节点分成很多簇,每个簇有一个簇头(Cluster Header,CH)节点和许多一般节点。一般节点负责信息的采集和发送,簇头节点对收到的信息进行处理和转发,并可协调簇内一般节点的发送。低功耗自适应按簇分层(Low Energy Adaptive Clustering Hierarchy, LEACH)协议就是一种典型的分层路由协议。下面分别简要介绍上述三种典型的路由协议,其它的一些协议, 如基于梯度的路由(Gradient-Based Routing, GBR)协议,自组织协议(Self-Organizing Protocol, SOP),和双层数据传播(Two-Tier Data Dissemination, TTDD)协议等,具有相似的基本特点和针对不同应用的特性,具体可参见所列的相应的参考文献。
(1)SPIN 协议
路由协议的目的是在源节点和目的节点之间建立可靠的路由,保证数据的传输。传
感器网络由于节点数量多,为了避免由于节点地址带来的大量的负荷,不可能构造一个全球的地址方案;此外,由于节点能量受限且大都处于静止状态等特点,使得传感器网络不能采用传统的基于IP 的路由协议,并且Ad hoc 网络中现有的路由协议,如动态源路由协议(Dynamic Source Routing, DSR)和基于距离矢量的按需路由(Ad hoc On Demand Distance Vector, AODV) 协议等,也不完全适用。为传感器网络设计的路由协议可以分为两类:平面型路由协议和分层路由协议。平面型路由协议中,各传感器节点在网络中的地位或作用是一样的,最典型的平面型无线传感器网络路由协议是信息协商传感器协议(Sensor Protocols for Information via
Negotiation, SPIN)和定向扩散(Directed Diffusion, DD)协议,其它的许多平面型协议都是对这两个协议的某些方面进行的改进。而分层路由协议中,网络中节点的功能是不完全相同的。一般是将网络中的节点分成很多簇,每个簇有一个簇头(Cluster Header,CH)节点和许多一般节点。一般节点负责信息的采集和发送,簇头节点对收到的信息进行处理和转发,并可协调簇内一般节点的发送。低功耗自适应按簇分层(Low Energy Adaptive Clustering Hierarchy, LEACH)协议就是一种典型的分层路由协议。下面分别简要介绍上述三种典型的路由协议,其它的一些协议, 如基于梯度的路由(Gradient-Based Routing, GBR)协议,自组织协议(Self-Organizing Protocol, SOP),和双层数据传播(Two-Tier Data Dissemination, TTDD)协议等,具有相似的基本特点和针对不同应用的特性,具体可参见所列的相应的参考文献。
(1)SPIN 协议
最初的平面型协议采用泛洪(Flooding)的方法进行数据传播,简单地说就是每个
节点广播其所收到的数据包,这就带来了网络资源的极大的浪费。SPIN 协议的特点是通过数据协商,克服泛洪方法的缺点。数据协商分为三步:
(1)信源节点发布广播消息ADV,告诉周围节点其有新数据要传输;
(2)周围节点中对这个新数据感兴趣的节点向信源节点发请求消息REQ;
(3)信源节点收到REQ 消息后,向感兴趣的节点发送数据包DATA。这就避免了无目的的泛洪。
'数据协商需要定义元数据(Meta-data),这就是协商时采用的最小数据单元,具体的定义随应用的不同而不同。SPIN 协议是一种周期性协议,每隔一定时间,传感器节点就会采集一次数据,并启动数据协商过程,将此数据发送出去。
(2)DD 协议
DD 协议中的路由是通过信息收集节点发起建立的。信息收集节点周期性地向传感
器网络中广播一种称为Interests 的数据包,告诉网络中的节点它需要收集什么样的信息。当Interests 数据包在网络中传播时,收到这一数据包的节点会建立一个“梯度”(Gradient),指向Interests 数据包所来自的节点,Gradient 的值由节点根据周围的信息传播环境而设定。每当一个节点收到Interests 数据包,这个节点就建立了一条或多条到信息收集节点的路径。DD 协议一般取其中最好的一条进行传输。在DD 协议中,数据在传播过程中被不断地进行合并、整合,这样就消除了传输中的冗余,节省了网络资源。
(3) LEACH 协议
作为一种分层协议,LEACH 协议将网络中的节点分为簇头和一般节点。簇头将簇内
的数据进行压缩后集中传送给信息收集节点,从而达到节省网络资源的目的。协议的内容包括簇头的选择和数据传输。在LEACH 协议中,簇头是随机选择的,然后其它节点轮流充当簇头,以平衡各节点之间的能量消耗。在数据传输中,簇内节点采用时分复用(Time-Division Multiple Accessing, TDMA)的方式轮流使用信道资源,而TDMA 中时隙的分配是由簇头完成的。簇之间采用码分多址(Code-Division Multiple Accessing, CDMA)的方式减小相互的干扰,即不同的簇采用不同的正交码同时进行扩频传输。除了将传感器网络的路由协议分为平面型路由协议和分层路由协议以外,还可以根据路由方式的不同,将它们分为多路径协议和单路径协议;或根据信息产生方式的不同,分为周期性路由协议和事件驱动路由协议等。网络能量分配和使用是传感器网络路由协议设计所必须考虑的问题。还有部分应用,对路由协议提出了服务质量(Quality of Service, QoS)保证的要求,需要路由协议提供一定的带宽、时延等的保证。
2、能量问题
在多数情况下,传感器网络中的节点都是由电池供电,电池容量有限,使得节点的
生存时间也受到限制。如果网络中节点因为能量耗尽不能工作,则会带来网络拓扑的改变以及路由的重新建立等问题,甚至可能使得网络分成不连通的部分,造成通信的中断。如何提高能量效率,是无线传感器网络设计的一个重要问题。首先在功能上,由于无线传感器网络大都是为某一专用目的而设计的,去掉不必要的功能,可以节省能量,延长节点的生存时间。因此,无线传感器网络需要考虑两点设计原则:延长网络工作时间、减少不必要的功能,突出专用性。其次,可以设计专门的提高传感器网络能量效率的协议以及采用专门的技术,这些协议和技术涉及到网络的各个层次,如物理层可以采用超宽带无线通信技术,MAC 层可以采用适合节点在休眠和工作状态间切换的接入协议,网络层可以以节点能量作为路由度量等。此外,还可以采用跨层设计的方式,提高网络的能量效率。前面提到的LEACH 协议,就考虑到了传感器网络节点的能量问题,该协议作为一种分层路由协议,通过簇头节点与信息收集节点通信,减少了其它节点的能量消耗。门限敏感能量有效协议(Threshold-Sensitive Energy Efficient Protocols, TEEN)通过设定两个门限值,来减少传输节点所采集、传输的数据,从而节省能量消耗。在该协议中,每个簇头节点向其簇内节点广播其设定的硬门限值和软门限值,使得节点仅传输采集到的其值在设定范围的数据。具体地说,如果节点采集到第一个超过硬门限的值,则将其发送给簇头,此后,节点仅传送满足硬门限条件并且与硬门限值之差不小于软门限值的数据。通过改变门限值,可以不同程度地延长网络的生存时间。信道自适应能量管理(Channel Adaptive Energy Management, CAEM)协议是一种结合物理层和MAC 层的跨层自适应能量管理协议。在该协议中,每个节点具有信令信道和数据信道,簇头通过信令信道发送周期脉冲,簇内的节点根据收到的脉冲判断当前信道质量以及数据信道是否空闲。簇中节点分为监测信道、休眠、传输以及回退状态。由于在休眠状态节点耗能非常少,且节点处于监测状态时仅工作于耗能少的信令信道,从而可以大量节约能量。节点有数据需要发送时,首先根据信令信道监测无线链路的信道质量,当信道空闲且信道质量优于门限时,节点发送数据,并且节点可以根据信道质量的不同,在物理层采用不同的调制方式,以提高信道的利用率。节点发送完数据后,将进入休眠状态,直至有数据需要发送才进入监测信道状态,准备发送数据。仿真表明该协议有效地减少了能量的消耗。
3、跨层设计问题
设计一个传感器网络,使其在不同应用下都能保持最优的性能是非常困难的。目前,研究者在网络协议栈的各层(包括MAC 层、网络层、应用层等)都对能量约束、不同应用要求、网络的差异性等进行了相当的研究,但这些研究往往都局限于网络的某一层,而忽略了各层之间的相互联系。分层的设计方法使设计简化,使互联网稳定、兼容性好,但在无线传感器网络中,却带来了灵活性差、效率不高等缺点。因此,在传感器网络中,需要采用自适应的跨层优化协议,从而可以在能量受限的情况下,满足应用的高吞吐量、低延迟等要求。在跨层设计中,各层协议相互联系,统一设计,如协议的自适应性就要求各层相互协作来完成。网络中的各种变化时间跨度各不相同,比如信噪比的变化很快,用户数的变化较慢等。这就需要首先在不同的层自适应地处理与之相应时间跨度的网络变化,处理不了的,再由其它层来处理。再如网络的能耗方面,也需要各层统一考虑。在物理层降低信息传输速率即可降低能耗,但会对上层应用产生影响;最优的路由方式也有可能因为很快消耗完某些节点的能量,而不能被采用。因此,在跨层协议设计中,需要在能量、业务要求的约束条件下,对各层进行统一的优化,同时,还需要在各层之间适当地传递和共享信息,为最优化设计提供条件。
4、安全问题
同其它无线网络一样,安全问题是无线传感器网络的一个重要问题。由于采用的是
无线传输信道,传感器网络存在窃听、恶意路由、消息篡改等安全问题。同时,无线传感器网络的两个特点使安全问题的解决更为复杂化了,这两个特点是数据在网络中的整合和节点的有限能量和有限处理、存储能力。
数据在网络中的整合可以有效地压缩网络中传输的数据量,节省网络资源,但同时
将数据的内容暴露给了进行整合的节点。因此,需要对进行数据整合的节点进行认证,仅让通过认证的节点进行数据整合,这就带来了节省网络资源和提高网络安全性的折中,需要根据不同应用的要求进行不同的选择。传感器网络保密协议(Secure Network Encryption Protocol, SNEP)对节点设立不同安全等级并在通信节点间采用数据鉴权、加密技术等,防止了数据被截获后造成的信息泄露。
无线传感器网络中的节点通常只有有限的能量,同时处理、存储能力较小,使得一些在一般网络中采用的算法无法执行。比如,在SPIN 中使用的RC5 算法,就
有可能因为运算过于复杂、占用存储单元过多,而不适用于某些传感器网络中。在无线传感器网络的安全设计中,可以通过算法选择,将大部分的实现网络安全的计算量放在信息收集节点或簇头节点处,而减轻一般传感器节点的计算和存储压力,这也可以作为一种可选的解决方案。
节点广播其所收到的数据包,这就带来了网络资源的极大的浪费。SPIN 协议的特点是通过数据协商,克服泛洪方法的缺点。数据协商分为三步:
(1)信源节点发布广播消息ADV,告诉周围节点其有新数据要传输;
(2)周围节点中对这个新数据感兴趣的节点向信源节点发请求消息REQ;
(3)信源节点收到REQ 消息后,向感兴趣的节点发送数据包DATA。这就避免了无目的的泛洪。
'数据协商需要定义元数据(Meta-data),这就是协商时采用的最小数据单元,具体的定义随应用的不同而不同。SPIN 协议是一种周期性协议,每隔一定时间,传感器节点就会采集一次数据,并启动数据协商过程,将此数据发送出去。
(2)DD 协议
DD 协议中的路由是通过信息收集节点发起建立的。信息收集节点周期性地向传感
器网络中广播一种称为Interests 的数据包,告诉网络中的节点它需要收集什么样的信息。当Interests 数据包在网络中传播时,收到这一数据包的节点会建立一个“梯度”(Gradient),指向Interests 数据包所来自的节点,Gradient 的值由节点根据周围的信息传播环境而设定。每当一个节点收到Interests 数据包,这个节点就建立了一条或多条到信息收集节点的路径。DD 协议一般取其中最好的一条进行传输。在DD 协议中,数据在传播过程中被不断地进行合并、整合,这样就消除了传输中的冗余,节省了网络资源。
(3) LEACH 协议
作为一种分层协议,LEACH 协议将网络中的节点分为簇头和一般节点。簇头将簇内
的数据进行压缩后集中传送给信息收集节点,从而达到节省网络资源的目的。协议的内容包括簇头的选择和数据传输。在LEACH 协议中,簇头是随机选择的,然后其它节点轮流充当簇头,以平衡各节点之间的能量消耗。在数据传输中,簇内节点采用时分复用(Time-Division Multiple Accessing, TDMA)的方式轮流使用信道资源,而TDMA 中时隙的分配是由簇头完成的。簇之间采用码分多址(Code-Division Multiple Accessing, CDMA)的方式减小相互的干扰,即不同的簇采用不同的正交码同时进行扩频传输。除了将传感器网络的路由协议分为平面型路由协议和分层路由协议以外,还可以根据路由方式的不同,将它们分为多路径协议和单路径协议;或根据信息产生方式的不同,分为周期性路由协议和事件驱动路由协议等。网络能量分配和使用是传感器网络路由协议设计所必须考虑的问题。还有部分应用,对路由协议提出了服务质量(Quality of Service, QoS)保证的要求,需要路由协议提供一定的带宽、时延等的保证。
2、能量问题
在多数情况下,传感器网络中的节点都是由电池供电,电池容量有限,使得节点的
生存时间也受到限制。如果网络中节点因为能量耗尽不能工作,则会带来网络拓扑的改变以及路由的重新建立等问题,甚至可能使得网络分成不连通的部分,造成通信的中断。如何提高能量效率,是无线传感器网络设计的一个重要问题。首先在功能上,由于无线传感器网络大都是为某一专用目的而设计的,去掉不必要的功能,可以节省能量,延长节点的生存时间。因此,无线传感器网络需要考虑两点设计原则:延长网络工作时间、减少不必要的功能,突出专用性。其次,可以设计专门的提高传感器网络能量效率的协议以及采用专门的技术,这些协议和技术涉及到网络的各个层次,如物理层可以采用超宽带无线通信技术,MAC 层可以采用适合节点在休眠和工作状态间切换的接入协议,网络层可以以节点能量作为路由度量等。此外,还可以采用跨层设计的方式,提高网络的能量效率。前面提到的LEACH 协议,就考虑到了传感器网络节点的能量问题,该协议作为一种分层路由协议,通过簇头节点与信息收集节点通信,减少了其它节点的能量消耗。门限敏感能量有效协议(Threshold-Sensitive Energy Efficient Protocols, TEEN)通过设定两个门限值,来减少传输节点所采集、传输的数据,从而节省能量消耗。在该协议中,每个簇头节点向其簇内节点广播其设定的硬门限值和软门限值,使得节点仅传输采集到的其值在设定范围的数据。具体地说,如果节点采集到第一个超过硬门限的值,则将其发送给簇头,此后,节点仅传送满足硬门限条件并且与硬门限值之差不小于软门限值的数据。通过改变门限值,可以不同程度地延长网络的生存时间。信道自适应能量管理(Channel Adaptive Energy Management, CAEM)协议是一种结合物理层和MAC 层的跨层自适应能量管理协议。在该协议中,每个节点具有信令信道和数据信道,簇头通过信令信道发送周期脉冲,簇内的节点根据收到的脉冲判断当前信道质量以及数据信道是否空闲。簇中节点分为监测信道、休眠、传输以及回退状态。由于在休眠状态节点耗能非常少,且节点处于监测状态时仅工作于耗能少的信令信道,从而可以大量节约能量。节点有数据需要发送时,首先根据信令信道监测无线链路的信道质量,当信道空闲且信道质量优于门限时,节点发送数据,并且节点可以根据信道质量的不同,在物理层采用不同的调制方式,以提高信道的利用率。节点发送完数据后,将进入休眠状态,直至有数据需要发送才进入监测信道状态,准备发送数据。仿真表明该协议有效地减少了能量的消耗。
3、跨层设计问题
设计一个传感器网络,使其在不同应用下都能保持最优的性能是非常困难的。目前,研究者在网络协议栈的各层(包括MAC 层、网络层、应用层等)都对能量约束、不同应用要求、网络的差异性等进行了相当的研究,但这些研究往往都局限于网络的某一层,而忽略了各层之间的相互联系。分层的设计方法使设计简化,使互联网稳定、兼容性好,但在无线传感器网络中,却带来了灵活性差、效率不高等缺点。因此,在传感器网络中,需要采用自适应的跨层优化协议,从而可以在能量受限的情况下,满足应用的高吞吐量、低延迟等要求。在跨层设计中,各层协议相互联系,统一设计,如协议的自适应性就要求各层相互协作来完成。网络中的各种变化时间跨度各不相同,比如信噪比的变化很快,用户数的变化较慢等。这就需要首先在不同的层自适应地处理与之相应时间跨度的网络变化,处理不了的,再由其它层来处理。再如网络的能耗方面,也需要各层统一考虑。在物理层降低信息传输速率即可降低能耗,但会对上层应用产生影响;最优的路由方式也有可能因为很快消耗完某些节点的能量,而不能被采用。因此,在跨层协议设计中,需要在能量、业务要求的约束条件下,对各层进行统一的优化,同时,还需要在各层之间适当地传递和共享信息,为最优化设计提供条件。
4、安全问题
同其它无线网络一样,安全问题是无线传感器网络的一个重要问题。由于采用的是
无线传输信道,传感器网络存在窃听、恶意路由、消息篡改等安全问题。同时,无线传感器网络的两个特点使安全问题的解决更为复杂化了,这两个特点是数据在网络中的整合和节点的有限能量和有限处理、存储能力。
数据在网络中的整合可以有效地压缩网络中传输的数据量,节省网络资源,但同时
将数据的内容暴露给了进行整合的节点。因此,需要对进行数据整合的节点进行认证,仅让通过认证的节点进行数据整合,这就带来了节省网络资源和提高网络安全性的折中,需要根据不同应用的要求进行不同的选择。传感器网络保密协议(Secure Network Encryption Protocol, SNEP)对节点设立不同安全等级并在通信节点间采用数据鉴权、加密技术等,防止了数据被截获后造成的信息泄露。
无线传感器网络中的节点通常只有有限的能量,同时处理、存储能力较小,使得一些在一般网络中采用的算法无法执行。比如,在SPIN 中使用的RC5 算法,就
有可能因为运算过于复杂、占用存储单元过多,而不适用于某些传感器网络中。在无线传感器网络的安全设计中,可以通过算法选择,将大部分的实现网络安全的计算量放在信息收集节点或簇头节点处,而减轻一般传感器节点的计算和存储压力,这也可以作为一种可选的解决方案。